Cut your Claude Code token bill in half. Klonode scans any codebase and generates intelligent
CONTEXT.mdfiles so AI assistants navigate straight to the right code — no wasted exploration.
Every Claude Code session burns tokens on the same thing: searching. Claude reads files it doesn't need, greps blindly, and asks "where is X?" before it can fix anything. On a large project, half your API bill pays for exploration.
Klonode runs once over your repo and builds a 5-layer routing graph:
CLAUDE.md ← "where am I?" (always loaded, 800 tokens)
├── CONTEXT.md ← "where do I go?" (task routing, 300 tokens)
│ ├── app/CONTEXT.md ← domain-specific details (1500 tokens)
│ ├── game/CONTEXT.md
│ └── prisma/CONTEXT.md
└── ...
Claude reads CLAUDE.md → picks the right folder → reads only that CONTEXT.md → knows exactly which files to open. No more blind search.
In internal benchmarks across 12 tasks on a 568-file Next.js + Three.js project:
| Metric | Without Klonode | With Klonode | Saved |
|---|---|---|---|
| Avg tokens / task | 137K | 71K | 48% |
| Avg cost / task | $0.21 | $0.09 | 57% |
| Wins out of 12 | — | 9 | 75% |
# 1. Install
git clone https://github.com/smorchj/klonode.git
cd klonode
pnpm install
pnpm --filter @klonode/core build
pnpm --filter @klonode/cli build
# 2. Generate routing for your own project
node packages/cli/dist/cli.js init /path/to/your/project
# 3. Start the workstation UI (optional)
cd packages/ui && pnpm dev
# → http://localhost:5173
That's it. Open Claude Code in your project directory and it will pick up CLAUDE.md automatically.
klonode init — scan + generate routing graph + CONTEXT.md filesklonode status — see routing coverage and healthklonode optimize — self-improve routing from access telemetryklonode export — dump the routing graph as JSONA SvelteKit app for working with multiple Claude sessions at once:
@klonode/core — analyzer, generator, routing graph. Pure TypeScript, no browser APIs. Embed it in your own tooling.
| Klonode | Cursor rules | .cursorrules |
Manual CLAUDE.md | |
|---|---|---|---|---|
| Automatic generation | ✓ | ✗ | ✗ | ✗ |
| Scales to large repos | ✓ | ⚠ | ✗ | ✗ |
| Per-directory context | ✓ | ✗ | ✗ | ✗ |
| Reads actual source | ✓ | ✗ | ✗ | ⚠ |
| Works with any AI assistant | ✓ | Cursor only | Cursor only | Claude only |
| Self-improving via telemetry | ✓ | ✗ | ✗ | ✗ |
| Package | Purpose |
|---|---|
@klonode/core |
Analyzer, generator, routing graph model |
@klonode/cli |
klonode init / status / optimize / update / export |
@klonode/ui |
SvelteKit workstation |
.gitignore, detect languagesCLAUDE.md (L0), root CONTEXT.md (L1), and per-directory CONTEXT.md (L2) filesCONTEXT.md files as context🚧 Early alpha (v0.1.0). Interfaces may change. Core pipeline works end-to-end.
We actively want contributors. Start with good first issues — adding language support, framework detectors, or UI polish are all great entry points.
See CONTRIBUTING.md for setup and guidelines.
If Klonode saves you tokens, a ⭐ helps others find it.