Show HN: Show HN: Kage – A framework to AI agent collaborate memory

kage181 pts0 comments

Kage — a framework for collaborative agent memory

Git-native memory for coding agents<br>Your coding agent forgets everything. Kage gives it memory that's verified against your code.

Open, git-native memory your team's coding agents read and write together.<br>Every lesson an agent learns becomes a file in your repo: versioned in git,<br>reviewed in pull requests, shared across the whole team. Kage checks each one<br>against your code, so deleted and stale citations get caught before they<br>mislead anyone.

npx -y @kage-core/kage-graph-mcp install<br>{this.textContent='copied';setTimeout(()=>this.textContent='copy',1200)})">copy

One command sets up everything, then restart your agent. Or just tell your agent:

Set up Kage in this repo (https://github.com/kage-core/Kage): run npx -y @kage-core/kage-graph-mcp install, then tell me to restart you.<br>{this.textContent='copied';setTimeout(()=>this.textContent='copy',1200)})">copy

Install in 60s<br>★ Star on GitHub<br>Read the docs

100/100 trust benchmark ·<br>0 dependencies ·<br>no account, no API key ·<br>free & open source —<br>or try it before installing anything: npx -y @kage-core/kage-graph-mcp scan --project .

Kage · savings receiptexample week

412K tokens saved<br>this week≈ $6.18

Recalls served from memory38

Stale memories caught & withheld4

Hallucinated citations rejected2

Caller questions answered from the graph11

your numbers, from your repo · kage gains or the viewer's live feed

How it works<br>Install once. It runs itself.

1 · Install<br>One command creates repo memory, builds the code graph, and auto-wires every agent on your machine.

2 · It takes notes<br>Learnings become packets — explicit or auto-distilled — and every citation is verified against your repo before it's written.

3 · Sessions start warm<br>A "previously…" digest opens each session; verified memory is injected the moment the agent reads a cited file.

4 · Diffs get checked<br>kage pr check warns when your change invalidates team memory — before the PR lands.

Capture — with proof<br>It takes notes. Then it checks them.

Learnings become packets as the agent works — explicitly, or auto-distilled from the session with a signal gate. Every citation is validated against your repo before it's written. A memory citing a file that doesn't exist is refused on the spot.

How a packet earns trust →

gotcha09:24

Don't merge the retry paths — one uses idempotency keys<br>✓ citations verified · src/payments/retry.ts · fingerprinted

decision09:41

Auth uses jose, not jsonwebtoken — CVE in the transitive dep<br>✓ citations verified · src/auth/session.ts · fingerprinted

refused09:52

"Use the helper in src/ghost.ts"<br>✗ rejected on write — no such path in this repo

stale10:05

Legacy retry helper is the fallback<br>⊘ withheld from recall — cited file deleted since capture

Recall — already warm<br>Every session starts knowing.

A "previously…" digest and a timeline of recent memory open each session automatically — and when the agent reads a file, verified packets citing that file are injected right then. Each recall prints the receipt.

Watch memory stream in, live →

SessionStart · injected~800 tokens

# Previously (Kage)<br>Working on: payment retry consolidation<br>Learned: retry paths must stay separate (gotcha, 2d)<br>Drafts awaiting review: 1 · kage inbox

# Recent memory<br>[a3f9c2e1] gotcha retry paths — idempotency keys (2d)<br>[7b21d4f8] decision auth uses jose, not jsonwebtoken (5d)<br>[e8c50a93] runbook npm test --prefix mcp before release (1w)

↳ saved ~12K tokens vs re-reading source

Catch — before it merges<br>Your diff gets fact-checked.

No other memory tool does this: when your change invalidates what the team knows, kage pr check says so — in the same review as the code, with the fix one command away.

The stale-catch commands →

⚠ Your changes invalidated 2 team memories

Auth uses jose, not jsonwebtoken<br>cites src/auth/session.ts — file changed in this diff<br>fix: kage reverify --packet auth-jose · or kage supersede

Webhook retries are capped at 3<br>cites src/webhooks/retry.ts — constant removed<br>fix: kage learn (update) — then this warning disappears

Sync — no account<br>Memory that follows you.

Personal memory lives in ~/.kage/memory and syncs over a private git remote you own. Conflicts resolve newest-wins with both versions kept — and synced packets are re-verified against the local checkout before any recall trusts them.

The sync & cloud design →

git@github.com:you/kage-memory.git● synced · 2 machines

kage syncyour remote, your keys

$ kage sync<br>pushed 2, pulled 1, resolved 0<br>$ kage learn --personal --learning "Always run the full suite before releasing"<br>✓ captured · personal · re-verified on every machine

Compare<br>Remembering is solved. Trusting isn't.

Capture-everything memory solves remembering. Kage solves trusting what's remembered — and a memory system that never re-verifies its own claims gets less trustworthy the longer you use it.

Kage<br>claude-mem<br>mem0 / Zep

Automatic capture + session-start recall<br>via SDK

Hallucinated citations...

kage memory agent before verified file

Related Articles