Skip to main content

dekko

CI PyPI Downloads Python License: MIT Ruff

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 /map plugin, 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

dekko-0.31.1.tar.gz (761.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dekko-0.31.1-py3-none-any.whl (280.8 kB view details)

Uploaded Python 3

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

Hashes for dekko-0.31.1.tar.gz
Algorithm Hash digest
SHA256 d8c7a99866dc8b5de789160e8865bcb9af33d6498a82c89c2a80766a203db9fc
MD5 280683ccda2d7fdd19643a086e8cf2a8
BLAKE2b-256 0349d81a953f08fcad9574f7e45bb8fdd03dc315613daeda5bf47668e99d2435

See more details on using hashes here.

Provenance

The following attestation bundles were made for dekko-0.31.1.tar.gz:

Publisher: release.yml on aahlijia/dekko

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for dekko-0.31.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d8e288e3920296dccb3aa3a18a3ef66da1c30a196db7baebc988127175fac475
MD5 18dce4da44fff716ed27eaf7367cc25b
BLAKE2b-256 ce1134235b2d7af4e7ee5875790e7f982da6291c8474b1c65c705ac94bd47f05

See more details on using hashes here.

Provenance

The following attestation bundles were made for dekko-0.31.1-py3-none-any.whl:

Publisher: release.yml on aahlijia/dekko

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page