CodeGraph is a local-first, cross-language code intelligence engine designed to give AI coding agents structured knowledge of a codebase: symbols, references, call graphs, import graphs, inheritance, routes, and framework-specific dynamic dispatch. It indexes source with tree-sitter WASM grammars (or an optional native Rust kernel for speed), stores the resulting graph in SQLite with FTS5, then resolves cross-file references and synthesizes edges for indirect patterns like web frameworks, DI containers, callbacks, and event dispatch. The primary interfaces are a CLI (codegraph), an MCP server exposing tools for agents, an embeddable programmatic API, and a Svelte web viewer.
GitNexus is a graph-powered code intelligence platform that indexes any codebase into a knowledge graph, then exposes it through MCP tools and a web UI. It supports 14+ languages with deep scope-based resolution (RFC #909), cross-file type inference, control-flow graphs (CFG), program dependence graphs (PDG), taint analysis, and hybrid search (BM25 + semantic + RRF). The system has two main components: a CLI/MCP server (Node.js) for AI agent integration with tools like Cursor, Claude Code, and Codex; and a web UI (React + Vite) for visual graph exploration. The architecture is a multi-phase ingestion pipeline: scan → structure → parse → scope resolution → clustering → process detection → search indexing. The codebase demonstrates strong engineering with comprehensive test coverage (1100+ tests), a shared types package (gitnexus-shared), vendored tree-sitter grammars with prebuilt binaries, Docker containerization with cosign signing, and CI/CD with security scanning. The eval harness for SWE-bench evaluation shows research-grade rigor. Key architectural decisions include the registry-primary scope resolution system, the language provider pattern with compile-time exhaustive dispatch, and the worker pool for parallel parsing with self-healing capabilities.
Serena is a production-grade MCP (Model Context Protocol) server that provides AI coding agents with deep code intelligence across 40+ programming languages. It acts as an 'IDE for your agent', offering symbol-level retrieval, editing, refactoring, and debugging capabilities by orchestrating Language Server Protocol (LSP) backends. The system is designed to integrate with AI clients like Claude Code, Codex, Copilot, and Grok, exposing a rich set of tools for file manipulation, symbol navigation, memory persistence, and project configuration. Architecturally, Serena is a Python application with a CLI entry point that starts an MCP server, a Flask-based web dashboard for monitoring and configuration, and a hooks system for client-side pre-tool-use events. Its core is the `solidlsp` package, a custom synchronous LSP abstraction layer that manages the lifecycle of 40+ language servers (Python, TypeScript, Rust, Go, Java, etc.), handling initialization, capability negotiation, and request/response framing. The `interprompt` library provides a sandboxed Jinja templating engine for prompt generation, and the memory manager persists project-specific context across sessions. Key features include: multi-language symbol search, references, definitions, hover, rename, and diagnostics; a code editor abstraction supporting both LSP and JetBrains backends; a configurable tool registry with automatic discovery; and a comprehensive test suite with per-language integration tests. The project emphasizes reproducibility through pinned dependency versions and SHA256 verification for downloaded language server binaries, though this creates a maintenance burden as versions must be manually updated.
ZLS (Zig Language Server) is a comprehensive implementation of the Language Server Protocol (LSP) for the Zig programming language. Written entirely in Zig, it provides rich IDE features including code completion, go-to-definition, hover information, semantic tokens, inlay hints, code actions, diagnostics, document symbols, folding ranges, signature help, and workspace symbol search. The server integrates with Zig's build system via the Build System Protocol (BSP) and can run `zig ast-check` for diagnostics, or use its own built-in semantic analysis engine. Architecturally, ZLS is a monolithic LSP server with a modular design. The core `Server` struct manages workspaces, document stores (`DocumentStore`), configuration (`Config`), and dispatches requests to feature modules under `src/features/`. The `Analyser` struct in `src/analysis.zig` provides type inference and symbol resolution using an `InternPool` for deduplicated type/value storage. A newer analysis backend under `src/analyser/` (InternPool, StringPool, degibberish) is partly implemented but not yet fully integrated. The test suite is extensive, with over 9,000 lines of completion tests alone, using a custom testing framework and placeholder-based assertions. Key dependencies include `known-folders` for platform-specific directory discovery, `diffz` for text diffing, `lsp_kit` for LSP protocol types, and `tracy` for profiling. The build system is managed via `build.zig` with dependency definitions in `build.zig.zon`. ZLS is highly configurable through a JSON configuration file, with options for snippets, inlay hints, build-on-save, and more. It is actively maintained, targets Zig master, and has a strong focus on correctness and performance, though some areas (like generic resolution and combinatorial types) remain heuristic-based.
LeanKG is a Go-based knowledge graph engine for AI-assisted development. It indexes source code from multi-language repositories into a graph of elements (functions, types, classes) and relationships (calls, imports, implements), stored in SQLite or PostgreSQL with optional vector embeddings for semantic search. The system provides a CLI, REST API, MCP (Model Context Protocol) server, and a React web UI (force-directed graph, file tree, code panel). Core capabilities include incremental indexing with three-signal change detection, a four-tier query ladder (cold/exact/fuzzy/semantic), impact analysis with blast radius, organizational knowledge management (incidents, notes, env reports), ontology matching, federation across servers, and token-budgeted compression for AI tool integration. The architecture is modular: the store backend interface supports SQLite and PostgreSQL with a shared migration ledger; indexing uses regex extractors for 40+ languages with an optional tree-sitter CGO tier; embeddings use a provider abstraction (OpenAI-compatible, llama.cpp sidecar, deterministic). The codebase is well-structured with extensive tests, hermetic test patterns, and deterministic output design. Notable reusability includes the compress package (shell output, git diff), auth token system, store abstraction pattern, and A/B benchmarking harness.
This repository is a monorepo implementing a Language Server Protocol (LSP) integration for JupyterLab, consisting of a Python backend (`jupyter-lsp`) and a TypeScript frontend (`jupyterlab-lsp`). The backend manages multiple language server processes (Python, R, Julia, bash, SQL, etc.) via WebSocket proxying, file system shadowing for disk-based servers, and configurable spec discovery. The frontend provides LSP features (autocompletion, diagnostics, hover, jump-to-definition, rename, signature help, syntax highlighting) as JupyterLab plugins, with custom CodeMirror 6 extensions, a diagnostics panel, and a status bar. The architecture includes virtual documents for notebook cells with IPython magic handling, foreign code extraction (e.g., `%%R`, `%%sql`), and a settings schema system that dynamically populates language server configuration UIs. The codebase is well-tested with Python unit tests, TypeScript unit tests, and Robot Framework acceptance tests running in CI. While the core functionality is robust, there is moderate technical drift due to reliance on undocumented JupyterLab internal APIs, fragile regex-based magic parsing, and some deprecated language server specifications.