Graphify is a CLI tool and library that extracts structural and semantic knowledge graphs from source code across 36+ programming languages. It parses files using tree-sitter grammars, builds a graph of nodes (functions, classes, modules, etc.) and edges (calls, imports, inheritance, etc.), performs community detection via Leiden/Louvain, and generates reports, wikis, and exports to formats like Obsidian, Neo4j, and FalkorDB. The system integrates with AI coding assistants through an MCP server (stdio/HTTP), skill files (SKILL.md, CLAUDE.md), and git hooks for automatic graph updates. Key entry points include `graphify extract`, `graphify query`, `graphify serve`, and `graphify install`. External dependencies include tree-sitter grammars, LLM APIs (OpenAI, Anthropic, Gemini, Ollama), and optional databases. The architecture is modular: per-language extractors in `graphify/extractors/`, graph assembly in `build.py`, clustering in `cluster.py`, and export in `export.py`. The codebase demonstrates strong engineering practices with extensive tests, atomic file writes, security validation (SSRF, path traversal), and cross-platform support.
Exa MCP Server is a Model Context Protocol server that connects AI agents to Exa's web search and research capabilities. It provides a standardized interface for agents to perform web searches, fetch webpage content, run multi-step research agents, and access other Exa functionalities. The architecture features clear separation of concerns with API handlers for Vercel deployment, core MCP server logic, tool implementations for each Exa capability, and utility functions for authentication, logging, and error handling. Key entry points include stdio CLI for local usage and Vercel HTTP functions for cloud deployment. The system handles authentication via API keys or OAuth, implements rate limiting for free tier users, and includes mechanisms to prevent API key leakage between requests.
GritQL is a declarative query language and CLI tool for searching, linting, and transforming source code across many programming languages (JS/TS, Python, Java, Go, Rust, Ruby, PHP, SQL, etc.). The repository implements a Rust workspace comprising a pattern-matching engine (grit-pattern-matcher) that compiles GritQL patterns into executable AST-based matchers, a CLI client (grit) with commands like `apply`, `check`, `list`, `patterns`, and `lsp`, an LSP server for IDE integration, WebAssembly bindings for browser use (playground), and Node.js NAPI bindings for programmatic access. Patterns are authored in `.grit` files or embedded in Markdown with sample-based testing. The system uses tree-sitter parsers (vendored grammars) to parse source files, supports pattern caching for performance, and includes authentication, analytics, and remote module resolution. The architecture is modular: core pattern matching is isolated in `crates/grit-pattern-matcher`, pattern compilation in `crates/core`, language support in `crates/language`, and UX in `crates/cli`. The documentation site (Next.js with Markdoc) provides an interactive playground. External dependencies include tree-sitter parsers, NAPI-RS, WebAssembly tooling, and optional LLM APIs for AI-assisted patterns.
gitcrawl is a Go-based CLI and library for ingesting GitHub repository data (issues, PRs, comments, reviews, code files, workflow runs) into a local SQLite database, then searching and analyzing that data offline. It exposes commands like `gitcrawl sync owner/repo`, `gitcrawl search issues`, and `gitcrawl code index`, with optional full-text code search. The architecture is a layered CLI: a command layer, a GitHub GraphQL/REST client with rate-limit guarding, a sqlc-generated SQLite data-access layer, and a small TUI built on bubbletea/lipgloss. It also includes a separate metrics store with strict database-ownership validation and idempotent writes.