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:5173That's it. Open Claude Code in your project directory and it will pick up CLAUDE.md automatically.
klonode init— scan + generate routing graph +CONTEXT.mdfilesklonode status— see routing coverage and healthklonode optimize— self-improve routing from access telemetryklonode export— dump the routing graph as JSON
A SvelteKit app for working with multiple Claude sessions at once:
- Multi-session chat — run 4+ Claude CLIs in parallel, each on a different task
- Chief Organizer (CO) agent — full-repo access with Opus 1M context for project-wide work
- Tree + graph view of your routing structure
- GitHub tab showing commits, branches, PRs, and issues
- Live tool-use stream — see every file Claude reads or edits in real time
@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 |
- Scan — walk the repo respecting
.gitignore, detect languages - Analyze — extract exports, API routes, dependencies, patterns
- Build graph — classify directories into 5 ICM layers (based on Jake Van Clief's Interpreted Context Methodology)
- Generate — write
CLAUDE.md(L0), rootCONTEXT.md(L1), and per-directoryCONTEXT.md(L2) files - Route — when you query via the UI, Klonode scores the query against the graph and loads only matching
CONTEXT.mdfiles 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.