dekko is a fast, offline, dependency-free static code map generator and codebase indexer for LLM coding agents. It scans a repository with tree-sitter (no model tokens spent parsing) and writes:
MAP.md— a human-readable map: a per-directory overview, an embedded architecture diagram, load-bearing/orchestrator rankings, then every file's functions/methods with signatures, doc lines, and who calls and is called by whom.map.json— the same graph in machine-readable form.
On top of the map, dekko gives an agent a token-cheap way to answer
questions like "what does this file contain," "who calls this function,"
and "what do I need to safely change this" — without reading whole files.
It ships as a CLI, a Claude Code /map plugin + MCP server
(Model Context Protocol), and
works with Cline too.
Why dekko?
Most agent workflows gather context by reading whole files or grepping
across a repo — expensive, and it throws away structure (who calls
what, what a function's fan-in/fan-out looks like). dekko instead
parses the repo once into a call graph and answers targeted questions
against it. Measured across 7 real, unmodified open-source repos
(Go, TypeScript, Java, Rust, Python/C++ — up to 14k files), dekko's
structured queries used 3x–200x fewer tokens than the equivalent
Read/Grep workflow for the same task (repo orientation, outlining a
large file, tracing a symbol's callers/callees).
| Task | Example repo (scale) | dekko | Read/Grep | Savings |
|---|---|---|---|---|
Repo orientation (summary) |
awesome-go (10 files) | 308 tok | ~15,271 tok | ~50x |
Repo orientation (summary) |
cline (2,730 files) | 1,202 tok | ~4,020 tok | ~3.3x |
| Outline a large file | claude-code main.tsx (4,683 lines) |
1,017 tok | 200,981 tok | ~197x |
| Outline a large file | zed editor.rs (12,554 lines) |
1,996 tok | 115,109 tok | ~58x |
Symbol lookup (query_symbol + callers/callees) |
tensorflow Graph class |
~811 tok | 61,656 tok | ~76x |
Symbol lookup (query_symbol + callers/callees) |
spring-boot prepareContext |
759 tok | ~18,460 tok | ~24x |
Bundled context (workset) |
zed | 2,984 tok | ~5,903+ tok (targeted) / ~164,571 tok (whole file) | ~2x / ~55x |
Bundled context (workset) |
awesome-go | 617 tok | ~6,136 tok | ~10x |
dekko's cost stays roughly flat per query while Read/Grep scales
with file/repo size, so the ratio grows with scale. The win isn't
universal — small,
self-contained files and already-grep-friendly local symbols see
little to no benefit, and a few cases in the raw data are void because
the cheap answer was also an incomplete one. See
benchmarks/real-world-repos/
for the full per-task breakdown, methodology, and correctness caveats.
Compared to tag-index tools like ctags/gtags, dekko resolves actual
call edges (not just definitions), ranks files by load-bearing-ness,
and speaks directly to agents over MCP or the CLI — no editor plugin
required.
Install
uv tool install dekko # or: pip install dekko / pipx install dekko
dekko --claude-install # add the /map command + MCP server to Claude Code, then restart
Extras (dekko[all] for ~55 more languages, dekko[search] for
embedding search), installing from a local clone, and uninstalling are
in docs/install.md.
Quick start
cd my-project
dekko map # writes .dekko/MAP.md + .dekko/map.json
dekko summary # ~40-line digest: dirs, hotspots, entry points
.dekko/ is git-ignored by default; the map regenerates on demand, so
you rarely need to run dekko map again by hand.
Documentation
- docs/install.md — installation, extras, local clone, uninstall
- docs/cli.md — every CLI command, symbol targets, excluding files, notes, daemon mode, language support
- docs/claude-code.md — the
/mapplugin, push hooks, Claude Code skills, the MCP server, and Cline
Learn more
- CHANGELOG.md — per-version history
- CONTRIBUTING.md — dev setup, testing, releasing
- benchmarks/ — token-efficiency measurements, including a 7-repo real-world comparison against a plain Read/Grep workflow
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dekko-0.31.1.tar.gz.
File metadata
- Download URL: dekko-0.31.1.tar.gz
- Upload date:
- Size: 761.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8c7a99866dc8b5de789160e8865bcb9af33d6498a82c89c2a80766a203db9fc
|
|
| MD5 |
280683ccda2d7fdd19643a086e8cf2a8
|
|
| BLAKE2b-256 |
0349d81a953f08fcad9574f7e45bb8fdd03dc315613daeda5bf47668e99d2435
|
Provenance
The following attestation bundles were made for dekko-0.31.1.tar.gz:
Publisher:
release.yml on aahlijia/dekko
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dekko-0.31.1.tar.gz -
Subject digest:
d8c7a99866dc8b5de789160e8865bcb9af33d6498a82c89c2a80766a203db9fc - Sigstore transparency entry: 2466501465
- Sigstore integration time:
-
Permalink:
aahlijia/dekko@cb88e74fd6dc7be3583d24dc68a311ff3af4ec03 -
Branch / Tag:
refs/tags/v0.31.1 - Owner: https://github.com/aahlijia
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cb88e74fd6dc7be3583d24dc68a311ff3af4ec03 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dekko-0.31.1-py3-none-any.whl.
File metadata
- Download URL: dekko-0.31.1-py3-none-any.whl
- Upload date:
- Size: 280.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8e288e3920296dccb3aa3a18a3ef66da1c30a196db7baebc988127175fac475
|
|
| MD5 |
18dce4da44fff716ed27eaf7367cc25b
|
|
| BLAKE2b-256 |
ce1134235b2d7af4e7ee5875790e7f982da6291c8474b1c65c705ac94bd47f05
|
Provenance
The following attestation bundles were made for dekko-0.31.1-py3-none-any.whl:
Publisher:
release.yml on aahlijia/dekko
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dekko-0.31.1-py3-none-any.whl -
Subject digest:
d8e288e3920296dccb3aa3a18a3ef66da1c30a196db7baebc988127175fac475 - Sigstore transparency entry: 2466501477
- Sigstore integration time:
-
Permalink:
aahlijia/dekko@cb88e74fd6dc7be3583d24dc68a311ff3af4ec03 -
Branch / Tag:
refs/tags/v0.31.1 - Owner: https://github.com/aahlijia
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cb88e74fd6dc7be3583d24dc68a311ff3af4ec03 -
Trigger Event:
push
-
Statement type: