Everything around a symbol, already joined.
Definition, source, callers, callees, value references, blast radius, and covering tests arrive as one bounded response.
- definition
- auth/service.go:84
- callers
- 6 exact edges
- covering tests
- 8 selected
Local-first code intelligence
Give coding agents a cited map of definitions, callers, blast radius, and tests—before they change the code. One local binary, exposed over MCP and CLI.
brew install abdul-hamid-achik/tap/codemapcodemap_impact("Store.NodeAtLine")Measured on a real repository
A hermetic 60-session A/B on go-git, modelled with the shipped core profile and agent playbook. Directional results, negative runs included.
Read the benchmark methodology →One graph, three surfaces
codemap joins semantic intent to structural relationships, then preserves the evidence an agent needs to act safely.
Search by name, exact text, or meaning. Every hit lands on a real symbol.
semantic "jwt validation"Join definitions, calls, callback references, imports, and annotations.
context authenticateUserReturn blast radius, covering tests, and confidence before code is changed.
review --fail-on-risk highBuilt for agent loops
Fast enough for every edit, explicit enough for automation, and useful even when embeddings or language servers are unavailable.
Definition, source, callers, callees, value references, blast radius, and covering tests arrive as one bounded response.
No vague “best effort.” Call-graph and impact reports carry explicit confidence signals.
Map the current diff to affected code, untested hotspots, and one risk band.
Vector + BM25 retrieval hands durable selectors to the graph—not loose snippets.
Structural queries work offline after indexing. Semantic retrieval can use local Ollama—or an explicitly configured remote endpoint.
The difference, in one question
Store.NodeAtLine?”● Grep("NodeAtLine") ● Read(internal/graph/queries.go) ● Grep("NodeAtLine(") ● Read(internal/app/service_grep.go) ● Read(internal/app/symbol_at_batch.go) … 19 more greps and reads
● codemap_impact("Store.NodeAtLine")
{
"direct_callers": 7,
"blast_radius": 23,
"covering_tests": 13,
"call_graph": "resolved"
}Illustrative real-repository response shape. The measured benchmark above contains the reproducible aggregate result and methodology.
Fits the loop you already use
Install the same structural workflow in your coding harness and in pull-request automation.
Register the MCP server without clobbering existing configuration, then install a playbook that teaches the agent when to use codemap.
codemap agent setup claude-codePost one sticky impact report and fail only on the risk or test-coverage rules your team chooses.
jobs:
review:
uses: abdul-hamid-achik/codemap/
.github/workflows/codemap-review-reusable.yml@main
with:
fail-on-untested: 'true'
fail-on-risk: 'high'Configure the CI review gate →Start with one repository
Install codemap, index the repository, and ask your first structural question.
codemap initcodemap index --precisecodemap context YourSymbol