Skip to main content
Glama

Ever watched your coding agent grep blind through a repo, open three files it didn't need, and burn fifteen thousand tokens just to answer "who calls this function"? That's the problem dekko exists to fix.

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.

The result: 10x-300x fewer tokens than a plain Read/Grep workflow on the everyday tasks (orientation, outlining a large file, a symbol's callers), measured across 7 real, unmodified open-source repos on dekko 0.43.77. The floor, a small grep-friendly local symbol, is about 2.5x. The full breakdown is right below.

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, 172k symbols) on dekko 0.43.77, dekko's structured queries used 10x–300x fewer tokens than the equivalent Read/Grep workflow for the same task (repo orientation, outlining a large file, tracing a symbol's callers).

Task

Example repo (scale)

dekko

Read/Grep

Savings

Repo orientation (summary)

awesome-go (10 files)

359 tok

~16,328 tok

~45x

Repo orientation (summary)

claude-buddy (57 files)

~349 tok

~113,514 tok (every source file)

~325x

Outline a large file

claude-code REPL.tsx (5,005 lines)

~1,154 tok

~223,963 tok

~194x

Outline a large file

cline SdkController.ts (84 KB)

1,803 tok

~21,023 tok

~11.7x

Outline a directory

zed crates/git_ui/src (32 files)

~35,778 tok

~418,520 tok

~11.7x

Callers of a symbol

claude-code errorMessage

~602 tok

~18,521 tok (323+ grep hits)

~31x

Callers of a symbol

zed MultiWorkspace.new (22 sites, 8 files)

~809 tok

~381,446 tok (read the caller files)

~471x

External-API usage

claude-code chalk

~798 tok

~8,099 tok

~10x

Bundled context (workset)

awesome-go ToHTML

263 tok

4,104 tok

~16x

dekko's cost stays roughly flat per query while Read/Grep scales with file/repo size, so the ratio grows with scale. It's fast in wall-clock terms too: mapping dekko's own ~4,300-symbol codebase from a cold cache takes about 5 seconds on all cores, an incremental remap after an edit is well under a second, and queries against the resulting map return instantly. The win isn't universal — small, self-contained files and already-grep-friendly local symbols see little benefit (the floor measured was about 2.5x). See benchmarks/real-world-repos/ for the full per-task breakdown, methodology, the original 2026-08 study, and the correctness caveats it raised and how they were closed.

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.

Related MCP server: repository-analyzer-mcp

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 43 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. If your repo has languages outside the default Tier-1 set (Python, C, C++, JS/TS, Go, Java, Kotlin, Rust), dekko map will say so per file; install dekko[all] for 43 more languages (see Install) and re-run. The list says how well each one is read.

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

Related MCP Connectors

Related MCP Servers