Fast, deterministic codebase indexing for LLM-powered workflows.
Built on oxc-parser for high-performance AST analysis.
No native binaries. No friction.
Runs on Node.js or Bun.
Walkmap is a high-performance codebase indexer designed for LLM agents, code automation, and developer tooling.
It parses your entire repository and produces a structured, queryable representation of your code — enabling:
- Smarter AI agents
- Faster code navigation
- Reliable automation pipelines
- Incremental analysis at scale
Walkmap analyzes every .ts, .tsx, .js, and .jsx file and generates:
- Symbols — functions, classes, interfaces, enums, variables, arrows (with signatures + locations)
- Call graph — function-to-function relationships
- Type hierarchy —
extends/implements - API surface — exported symbols per file
- Imports / exports graph (
imports/importedBy) - Entrypoint detection
- Dead code detection (heuristic)
- Code chunks — semantic slices with full text (LLM-friendly)
- Test mapping — source ↔ test files
- Environment usage —
process.env.*
- TODO extraction —
TODO,FIXME,HACK, etc. - Complexity analysis — McCabe + hotspots
- Orphan file detection
Walkmap goes beyond indexing — it generates semantic artifacts to guide AI systems:
- Workspace manifest
- Pipeline description
- Glossary & FAQ
- Embeddings manifest (RAG-ready)
- Dependency rationale
- Contracts & invariants
npm install -D walkmap
npx walkmapbun add -d walkmap
bunx walkmapnpm install -g walkmap
walkmapRun in the root of your project:
npx walkmapOr via script:
{
"scripts": {
"walkmap": "walkmap",
"walkmap:force": "walkmap --force"
}
}| Flag | Description |
|---|---|
--force |
Ignore cache and re-index everything |
--quiet |
Minimal logs |
--verbose |
Show cache hits and indexed files |
--json |
Output structured JSON (CI-friendly) |
--no-inject |
Disable CLAUDE.md / AGENTS.md injection |
-j, --concurrency <n> |
Parallel parsing (default: 8) |
Walkmap is optimized for large codebases via incremental indexing:
metadata.json→ file hash tracking.workspace/cache/per_file.json→ cached extraction
Only modified files are re-parsed.
You can force a full rebuild:
npx walkmap --forceAll artifacts are generated under:
.workspace/
repo_map.json— file metadatasymbols.json— extracted symbolsimport_graph.json— dependency graphchunks.json— LLM-friendly code slicesdead_code.json— unused exports / orphan filescall_graph.json— function relationshipscomplexity.json— hotspotsenv_vars.json— env usagetest_map.json— test associations
workspace_manifest.jsonentrypoints.jsonpipeline.jsonglossary.jsonfaq_llm.jsonembeddings_manifest.jsondependency_rationale.jsonexternal_contracts.json
Walkmap skips common directories by default:
node_modules.gitdist
You can extend this using:
.walkmapignore
npm install
npm run build
npm run typecheck
npm run generateForce re-index:
npm run generate:forceRun built version:
node dist/index.js --jsonPipeline:
walk → filter → parse → assemble → write
Powered by:
- Parser: oxc-parser (Rust-based, high performance)
- Runtime: Node.js ≥ 18 / Bun
- CLI: lightweight, no native bindings
- LLM agents (Claude, GPT, custom pipelines)
- RAG over codebases
- Code search & navigation
- Static analysis tooling
- Developer productivity platforms
MIT
