How you use it
Index once, connect an agent, then ask questions instead of reading files.
Clone the engine, point it at a codebase, and let it build the graph. Everything runs and stays on your machine — no code leaves it.
A local code-intelligence engine for AI agents. It indexes a repository into a code graph, then answers targeted questions — symbols, dependencies, effects, contracts, similar code, and blast radius — over MCP and HTTP.
Built into REX, ClassEve’s coding agent, so REX understands large codebases by meaning, not just text.
Free. Get it from GitHub:
You pay for all 1,413 — every single time it asks.
The job is always the same three things: the function, the code it uses from other files, and the code that calls it. We measured what that costs 955 times across 18 public repositories — 2,727,382 lines in 13,954 files, picking the functions at random.
Not an estimate. On an ordinary job your agent searches for the name, opens the 1 files that come back, and reads every line in them.
Both sides were given the same number of tokens to spend, so this is not a trade of cheaper for worse. It is a measurement of what your assistant is handed — not a claim about how it thinks.
There is no service to sign up for and no API key to paste in. The index is a database on your own computer, so nothing gets uploaded and nothing charges you per search. Pull the network cable and try it — the switch does exactly that.
Set how many jobs your agent runs in a day and what you pay per million tokens. The saving per job is measured; the price is yours, because we are not going to quote a rate that changes next month.
Where a function and everything it touches sit in one file, reading is already cheap. Where they are spread across a codebase, only what the question needs is sent. Measured on four codebases.
2,443 files of scripts, release tooling, a website and this engine’s own source: 18,682 tokens a job down to 766 — 96% fewer, and 25× less across the whole run. The function you asked about came back every time, against 1 time in 21 by searching.
Index once, connect an agent, then ask questions instead of reading files.
Clone the engine, point it at a codebase, and let it build the graph. Everything runs and stays on your machine — no code leaves it.
Developer tools — and the agents built on top of them — inspect source one file at a time. For any non-trivial change that means opening many files, tracing transitive effects by hand, and still missing contract assumptions or behaviorally similar code.
Context Zero indexes the repository once into a PostgreSQL-backed code graph, then exposes the same investigation as structured queries: source, callers, callees, effects, tests, invariants, and impact. The goal is practical — make repository context easier to verify, audit, and reuse.
One real job: change a function. To do it safely an assistant must see the function, the code it uses from other files, and the code that calls it. Collecting those three things was measured 955 times — searching and reading files, against one Context Zero request.
Every repository is a public checkout pinned by commit, and the benchmark ships in the engine repository.
Both bars answer identical questions. The baseline is deliberately conservative: capped at the 25 files an agent would plausibly open before giving up, and limited to distinctive symbol names where searching by name is a fair proxy for what an agent would actually do.
Cheap is easy — an empty answer costs nothing. So both sides were given the same tokens to spend, and what came back was checked against the real source code on disk. Searching for a name finds the places that mention it, not the things it needs, which is why the cheaper answer is also the more complete one.
Four of the eighteen repositories, in four languages. What decides the gap is not repository size but how many files you have to open to answer one question.
Where a function and everything it touches sit in one file, reading is already cheap; where they are scattered, a capsule replaces work that no longer fits in a context window. Both sides draw on the same indexed set of files.
Savings shown are token reduction against the exact-symbol baseline: Express 53.8% · GitHub CLI 70.7% · OkHttp 90.1% · Django 89.2%.
Measured against the self-ingest snapshot on consumer-grade hardware — no server hardware, no clustering.
The engine indexing its own source, measured 2026-09-08: symbol extraction, relation resolution, dispatch resolution, lineage, effect signatures, contract mining and concept families — 47 seconds from a cold start, no failures.
Clone the repository and run it yourself.
TypeScript and JavaScript use full AST analysis through the TypeScript compiler; Python uses LibCST; the rest use tree-sitter with language-specific walkers.
Tokens are estimated as ceil(bytes / 4) — a deterministic approximation chosen so runs are repeatable; exact counts differ by model, but the ratios hold. Every figure on this page reproduces with the benchmark in the repository. Absolute timings vary with corpus, hardware and database configuration.
Reproduce the per-repository figures on your own repository with node scripts/bench-context-quality.mjs 60 /path/to/your/repo, and the ingest figures with node scripts/bench-e2e.mjs /path/to/your/repo name --fresh. The full method, every per-repository table, and the jobs where reading the files was cheaper are in BENCHMARKS.md.
Context packages — source, dependencies, contracts, and effects in one call, with a five-level degradation ladder.
Structural, behavioral, contract, homolog, and historical impact analysis, with severity and confidence scoring.
Every function classified pure / read-only / read-write / side-effecting, with the effects propagated transitively.
Input and output types, error and security contracts, guard clauses, and invariants extracted from the source.
Find code by what it does — TF-IDF plus MinHash LSH similarity. No external APIs.
One call returns source, blast radius, callers, tests, and contracts — replacing eight or more separate lookups.
The graph follows the code. Edits are folded into the snapshot seconds after they hit disk — no scheduled job, no editor plugin.
Fourteen languages across thirteen grammars: TypeScript, JavaScript, Python, C, C++, Go, Rust, Java, C#, Ruby, Kotlin, Swift, PHP, and Bash — C is parsed by the C++ grammar. TypeScript and JavaScript use full AST analysis through the TypeScript compiler; Python uses LibCST; the rest use tree-sitter with language-specific walkers. Thirteen analysis engines are exposed through sixty-one MCP tools.