The missing standard library
for Claude Code.
Six modules. One vault. Memory that compounds across repos, code intelligence that crosses service boundaries, daily routines that carry themselves forward — all sharing state, none paying the MCP-schema tax.
One library. Six closed gaps.
Each module shares state through one vault, one CLI, one stamped CLAUDE.md rule. None registers an MCP tool schema. None duplicates a Claude Code primitive. Click any module below for the deep dive.
MemoryCopper
Recall, save, vault CRUD. The rest of the library compounds back into it.
recalltap copper savestore copper notescribe Code intelligenceBronze
Cross-repo graph with HTTP-route edges. Symbol nav and coordinated rename through Serena's LSP.
graphburn bronze symbolburn iron renameburn steel Daily workflowAtium
Action items that carry themselves forward. One-shot archive. Mon–Fri EOD launchd routine.
daily newatium new archivegold routine install eodroutine install eod DeliberationSteel
Seven-persona deliberative council, spawned in parallel, synthesized into a structured verdict.
synodsynod DesktopBrass
Banner / dialog / sticky notifications, wired into the EOD routine and the /save skill.
notify bannerflare banner notify dialogflare dialog notify stickyflare sticky HealthIron
End-to-end install check. The first memory tool that tells you when recall is failing you.
doctorpulse doctor --recall-auditpulse --recall-audit Two benches we keep honest.
Reproducible numbers from bench/recall-v0/ and bench/mcp-tax-v0/ in the repo. Run them yourself.
First-turn token cost
Standing tool-schema tax on a cold session, before you've typed a prompt.
Recall quality at scale
hit@1 with rerank, on hand-authored gold notes plus same-domain distractors.
| vault | metalmind | qmd 2.1.0 |
|---|---|---|
| 12 notes | 90% | 85% |
| 100 notes | 90% | 70% |
| 500 notes | 90% | 85% |
| 1,000 notes | 90% | 80% |
Cold session. Old decision. One bash call.
Fresh terminal. Claude has zero context. The stamped CLAUDE.md rule teaches it to reach for tap copper on its own — sub-100ms loopback HTTP, no MCP tool registered, the answer comes from your vault verbatim.
Different tools, different bets.
Native /memory wins below ~50 notes in one repo. metalmind earns its install cost once knowledge crosses repo boundaries — and where you want the rest of the standard library too.
Honest read on standing tokens: our ~519 is one-time prose in CLAUDE.md that teaches Claude
when to recall — work that qmd skips. qmd wins the row, but the Scope and hit@1 rows above are
where metalmind earns it back. Pick whichever bet matches the work.
Five steps. A few minutes. Reversible to zero.
- 01 Prereq check — Python, uv, git, Claude Code v2.1+
- 02 Vault scaffold — at ~/Knowledge/ or wherever you point it
- 03 Python engines — sqlite-vec + fastembed via uv tool install
- 04 Watcher — launchd on macOS, systemd --user on Linux
- 05 MCP fallback + memory routing — optional, opt-in
Every command does one job.
Themed Scadrial verbs and classic aliases — both always resolve. Pick a flavor at init; theming is cosmetic.
Three patterns that compound.
The cookbook lives in the repo. Three highest-impact patterns first; the rest follows the same shape.
Write notes Claude finds
Frontmatter discipline first: project: is the strongest discoverability signal. Tags are cross-cutting themes, not categories. Use kind:slug shortcuts so renames don't break references. Recall before writing — duplicates are the most expensive mistake.
Recall hygiene
Default tap copper covers 90% of cases — start there. Escalate to --deep when one hit is right but you want adjacent context, --expand for broad research. If two rephrasings still miss, you genuinely don't have the note — write it.
What lives where
Plans/ for implementation plans (dated), Learnings/ for durable cross-session lessons, Work/ for project-scoped decisions. Daily/ is a logbook, not a knowledge base — promote insights to Learnings/ when you spot them.