codemap โ a project brain for your AI. Give LLMs instant architectural context without burning tokens.
# macOS/Linux
brew tap JordanCoin/tap && brew install codemap
# Windows
scoop bucket add codemap https://github.com/JordanCoin/scoop-codemap
scoop install codemapOther options: Releases |
go install| Build from source
codemap . # Project tree
codemap --only swift . # Just Swift files
codemap --exclude .xcassets,Fonts,.png . # Hide assets
codemap --depth 2 . # Limit depth
codemap --diff # What changed vs main
codemap --deps . # Dependency flow
codemap handoff . # Save cross-agent handoff summary
codemap github.com/user/repo # Remote GitHub repo| Flag | Description |
|---|---|
--depth, -d <n> |
Limit tree depth (0 = unlimited) |
--only <exts> |
Only show files with these extensions |
--exclude <patterns> |
Exclude files matching patterns |
--diff |
Show files changed vs main branch |
--ref <branch> |
Branch to compare against (with --diff) |
--deps |
Dependency flow mode |
--importers <file> |
Check who imports a file |
--skyline |
City skyline visualization |
--animate |
Animate the skyline (use with --skyline) |
--json |
Output JSON |
Note: Flags must come before the path/URL:
codemap --json github.com/user/repo
Smart pattern matching โ no quotes needed:
.pngโ any.pngfileFontsโ any/Fonts/directory*Test*โ glob pattern
See what you're working on:
codemap --diff
codemap --diff --ref developโญโโโโโโโโโโโโโโโโโโโโโโโโโโโ myproject โโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ Changed: 4 files | +156 -23 lines vs main โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โโโ api/
โ โโโ (new) auth.go โ handlers.go (+45 -12)
โโโ โ main.go (+29 -3)
โ handlers.go is used by 3 other files
See how your code connects:
codemap --deps .โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ MyApp - Dependency Flow โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Go: chi, zap, testify โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Backend โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
server โโโโถ validate โโโโถ rules, config
api โโโโถ handlers, middleware
HUBS: config (12โ), api (8โ), utils (5โ)
codemap --skyline --animateAnalyze any public GitHub or GitLab repo without cloning it yourself:
codemap github.com/anthropics/anthropic-cookbook
codemap https://github.com/user/repo
codemap gitlab.com/user/repoUses a shallow clone to a temp directory (fast, no history, auto-cleanup). If you already have the repo cloned locally, codemap will use your local copy instead.
18 languages for dependency analysis: Go, Python, JavaScript, TypeScript, Rust, Ruby, C, C++, Java, Swift, Kotlin, C#, PHP, Bash, Lua, Scala, Elixir, Solidity
Powered by ast-grep. Install via
brew install ast-grepfor--depsmode.
Hooks (Recommended) โ Automatic context at session start, before/after edits, and more. โ See docs/HOOKS.md
MCP Server โ Deep integration with project analysis + handoff tools. โ See docs/MCP.md
codemap now supports a shared handoff artifact so you can switch between agents (Claude, Codex, MCP clients) without re-briefing.
codemap handoff . # Build + save layered handoff artifacts
codemap handoff --latest . # Read latest saved artifact
codemap handoff --json . # Machine-readable handoff payload
codemap handoff --since 2h . # Limit timeline lookback window
codemap handoff --prefix . # Stable prefix layer only
codemap handoff --delta . # Recent delta layer only
codemap handoff --detail a.go . # Lazy-load full detail for one changed file
codemap handoff --no-save . # Build/read without writing artifactsWhat it captures (layered for cache reuse):
prefix(stable): hub summaries + repo file-count contextdelta(dynamic): changed file stubs (path,hash,status,size), risk files, recent events, next steps- deterministic hashes:
prefix_hash,delta_hash,combined_hash - cache metrics: reuse ratio + unchanged bytes vs previous handoff
Artifacts written:
.codemap/handoff.latest.json(full artifact).codemap/handoff.prefix.json(stable prefix snapshot).codemap/handoff.delta.json(dynamic delta snapshot).codemap/handoff.metrics.log(append-only metrics stream, one JSON line per save)
Save defaults:
- CLI saves by default; use
--no-saveto make generation read-only. - MCP does not save by default; set
save=trueto persist artifacts.
Compatibility note:
- legacy top-level fields (
changed_files,risk_files, etc.) are still included for compatibility and will be removed in a future schema version after migration.
Why this matters:
- default transport is compact stubs (low context cost)
- full per-file context is lazy-loaded only when needed (
--detail/file=...) - output is deterministic and budgeted to reduce context churn across agent turns
Hook integration:
session-stopwrites.codemap/handoff.latest.jsonsession-startshows a compact recent handoff summary (24h freshness window)
CLAUDE.md โ Add to your project root to teach Claude when to run codemap:
cp /path/to/codemap/CLAUDE.md your-project/- Diff mode, Skyline mode, Dependency flow
- Tree depth limiting (
--depth) - File filtering (
--only,--exclude) - Claude Code hooks & MCP server
- Cross-agent handoff artifact (
.codemap/handoff.latest.json) - Remote repo support (GitHub, GitLab)
- Enhanced analysis (entry points, key types)
- Fork โ 2. Branch โ 3. Commit โ 4. PR
MIT

