Your AI agent stops reading files one by one. It understands the whole codebase.
Code Explorer pre-indexes your entire repository into a queryable knowledge graph β every function, class, call and import β and serves it to any AI agent over MCP. Ask "who calls this?" or "what breaks if I change it?" and get a precise answer in milliseconds, instead of reading file after file.
$ gitnexus impact executePlan --direction both Downstream (symbols affected by a change): Depth 1 (7) Depth 2 (39) Depth 3 (4) Depth 4 (7) Depth 5 (4) Upstream (symbols that affect this): Depth 1 (1) Depth 2 (13) Depth 3 (22) β¦ β 136 symbols, 5 levels β 0.65 s no files read Β· whole-repo graph
Real run on a 1,984-file codebase. A text search can't compute that transitive blast radius at all.
The problem it solves
AI coding assistants (Claude Code, Cursor, Copilotβ¦) read source files one at a time, on demand.
- They read dozens of files to follow a single call chain.
- They start from scratch every conversation.
- They fill the context window with raw code, leaving no room to reason.
- And a text search can't compute a transitive blast radius β
grepfinds where a name appears, not the chain of things that break three hops away.
Code Explorer pre-computes all of that, once, into a graph that lives on disk and answers structural questions instantly.
The gain, measured
Real numbers from indexing a 1,984-file TypeScript codebase (the Code Buddy agent itself), measured 2026-07-03.
Question: "What breaks if I change executePlan?"
| Agent alone (grep + read) | Agent + Code Explorer | |
|---|---|---|
| Method | grep finds 4 files that mention the name | one impact call |
| Cost | reading them β 35,000 tokens (est.) | 0.65 s Β· one call |
| Answer | direct mentions only β the transitive blast radius is uncomputable by text search | 136 affected symbols (75 up + 61 down), 5 levels deep |
The point isn't only the token saving on this query. It's capability: the complete transitive impact is something a text-search agent simply can't produce reliably β it gives up after a few hops or guesses. The graph returns it in one call.
What the graph gives your agent
Pre-indexed knowledge graph
Your whole repo parsed into symbols and typed relationships β functions, classes, calls, imports, hierarchy. Persists on disk, queryable in one call.
Blast-radius analysis
impact <symbol> traces upstream callers, downstream callees and transitive impact β the single highest-value habit before any refactor.
30 tools over MCP
context, impact, find_cycles, detect_changes, cypher and more β to any MCP agent: Claude Code, Cursor, VS Code.
14 languages
JS, TypeScript, Python, Java, C, C++, C#, Go, Rust, Ruby, PHP, Kotlin, Swift, Razor β via tree-sitter, plus deep legacy ASP.NET MVC support.
100% local & offline
The graph is a snapshot you own. No cloud, no API, no telemetry β runs entirely on your machine.
Honest static analysis
Read-only by design. Call edges through dynamic imports may be missed β so "dead code" is a candidate, not proof. A fast, precise navigation aid, stated plainly.
Quick start
# 1. Build (release, ~35 MB binary)
cargo build --release # binary at target/release/gitnexus
# 2. Index your repo once (re-run with --incremental after changes)
gitnexus analyze .
# 3. Point your agent at it over MCP
gitnexus mcp-install # writes .mcp.json for Claude Code
# β¦or add it manually: { "command": "gitnexus", "args": ["mcp"] }
Verify: your agent should report "gitnexus Β· 30 tools".
License
PolyForm Noncommercial 1.0.0. Free to use, study, test and build on for any non-commercial purpose β personal projects, research, education, evaluation. Commercial use requires a separate license β open an issue or get in touch.