A single open-source repo gained 551 stars in one day this week and is now one of the fastest-moving projects on GitHub's trending board. The project is code-review-graph (CRG), and it is attacking a problem every engineer who has used an AI coding assistant already knows but rarely names: the agent spends most of its budget re-reading files that have nothing to do with the change it is supposed to review.

Most teams treat this as a cost of doing business. The model reads the repo, the token meter spins, the latency creeps up, and nobody measures how much of that context was actually necessary. CRG makes the waste visible and then eliminates it by parsing your code into a structural graph and handing the agent only the slice that a change touches. Below is a straight comparison of that approach against the naive workflow most people run today.

What code-review-graph actually does

CRG parses your repository with Tree-sitter into a graph of nodes (functions, classes, imports) and edges (calls, inheritance, test coverage). When a file changes, it computes the "blast radius" of that change: every caller, dependent, and test that could be affected. Instead of dumping the whole corpus into the prompt, it hands the assistant a minimal set of files plus a risk score. The minimum viable setup is three commands: pip install code-review-graph, then code-review-graph install to auto-detect your tooling, then code-review-graph build to parse the project. An initial build takes roughly 10 seconds on a 500-file project, and incremental updates land in under 2 seconds because it re-parses only files whose SHA-256 changed.

The graph is exposed to assistants through the Model Context Protocol (MCP), so Claude Code, Codex, Cursor, Windsurf, Zed, Continue, Gemini CLI, Qwen, Kiro, and GitHub Copilot can all query it. A composite GitHub Action runs the same analysis in CI and posts a single sticky risk-scored comment on each pull request, with an optional fail-on-risk merge gate. The knowledge graph is built and queried entirely on your runner, so no source leaves your infrastructure.

The naive alternative: grep, read, repeat

The default workflow has no graph at all. The agent either reads the entire repository, or it greps for an identifier, reads the top few matching files, and calls it context. That approach is better than reading everything, but it is blind to structure. A grep for "authenticate" finds the word; it does not know that the real dependency chain runs through a middleware file three layers away that never uses that exact string. The agent either over-reads (safety margin) or under-reads (missed caller) and then compensates by reading even more on the next turn.

This is the tax nobody invoices. It shows up as slower reviews, higher API bills, and agents that confidently review the wrong surface because the file that actually broke was never in the window. For a 500-file service the waste is annoying. For a 27,000-file monorepo it is the difference between a review that costs a few cents and one that costs a small fortune.

Head-to-head: the numbers that matter

CRG publishes a reproducible benchmark across six real repositories (13 commits total, pinned SHAs, deterministic CPU embeddings). The median per-question token reduction versus reading the whole corpus is about 82x, with a maximum of 528x on the largest repo (fastapi). That 528x figure is the best case, not the average, and the project's own docs say so explicitly, which is rarer than it should be. Here is the full board.

RepositoryNaive corpus tokensGraph query tokensReduction
fastapi951,0712,169528.4x
code-review-graph208,8212,49593.0x
gin166,8681,99091.8x
flask125,0221,98671.4x
express135,9553,46540.6x
httpx89,4922,43838.0x

The key takeaway from the table is consistency, not the headline number. Every repo lands between 38x and 528x, and the realistic baseline (a grep-and-read agent) is closer to the low end, not zero. CRG's impact accuracy benchmark scores 0.71 average F1 against graph-derived ground truth, meaning the files it selects are the right ones most of the time, not a random subset.

Where the graph wins and where it does not

CRG is strongest in exactly the environments where token waste hurts most: large monorepos, legacy codebases with tangled imports, and CI pipelines reviewing pull requests from junior contributors who forget to mention what they touched. Its language coverage is broad (Python, JS/TS, Go, Rust, Java, C/C++, C#, Ruby, Kotlin, Swift, PHP, and roughly two dozen more, including Jupyter notebooks). You can add unsupported languages with a languages.toml file and no fork.

The honest limits: a 10-second initial build is fine for most projects but adds up across hundreds of microrepos if you are a platform team. The accuracy number is 0.71 F1, not 0.99, so for safety-critical changes you still want a human on the diff. And the tool only helps if your assistant actually calls the MCP server; if your agent is configured to read-first, CRG sits unused. That last point is why the one-command install that writes the right MCP config per platform matters more than any benchmark.

What this means for builders

The 551-star day is a signal that engineers are done tolerating context waste as a fixed cost. For solo founders and small teams running AI agents as their de facto junior engineers, a graph like this is the difference between an agent that reviews in seconds for pennies and one that burns a dollar per pull request. The local-first, no-source-leaves-your-machine design also matters for anyone handling customer code under contract.

The broader shift is that "agent context engineering" is becoming its own layer, sitting between your codebase and your model. CRG is one implementation; expect hosted versions and IDE-native equivalents within a year. The teams that adopt the graph layer now will have lower inference bills and faster review cycles than the ones still letting their agents read everything. If your repo is past a few hundred files and your agent bill is climbing, installing a graph-based context tool is one of the highest-leverage, lowest-risk changes you can make this quarter.