Source-first developer preview

Your agent should
take notes you
can read.

Kedu keeps a written history of your AI coding sessions as plain files you own — so the next agent picks up where the last one left off.

~/project — claude code
# end of a real session — you tell the agent what mattered /kedu log what we decided and what's next record a17f3c:4 → .kedu/short.jsonl updated .kedu/STATE.md # next day, a different agent, same repo /kedu search the auth decision a17f3c:4 chose JWT over sessions — see body d80b91:2 rejected approach + why

The problem

Hard-won context dies with the thread.

You explain the architecture, the decisions, the dead ends, what's half-finished. Then the session ends — and all of that understanding evaporates. Next time, you start over.

01

It dies with the thread

Close the chat or hit the context limit, and the shared understanding is simply gone.

02

It doesn't move between tools

Switch from Claude Code to Cursor — or hand off to a teammate — and the new agent knows nothing.

03

It's locked to a vendor

Platform "memory" lives on someone else's servers. You can't read it, edit it, or take it with you.

04

It gets summarized away

Long sessions are compacted into lossy recaps — and the detail you needed is the first thing dropped.

The idea

Treat your agent like a secretary. Kedu is the ledger.

You direct the agent; it takes the notes. Nothing is logged silently in the background — you decide what gets recorded.

CAPTURE

You ask, it writes it down

Record a whole session, or point at the specific things worth keeping. The agent drafts the note; you stay in control of what's saved.

PRESERVE

Stored exactly, never re-summarized

Kedu keeps the record as-is — it won't evict or compress it the way a context window does.

RETRIEVE

Pull only what's relevant

Deterministic keyword and regex search across every record — no embeddings, no fuzzy guessing.

HAND OFF

The next agent reads it first

Claude, Codex, Kiro, Cursor — or whatever comes next — starts from the same written record of what happened.

REASON

Work from notes you can trust

The model reasons from real records you can open, diff, and audit — not memory it invented.

Cross-agent continuity

One project history. Every agent reads it.

Kedu doesn't try to become the agent. It gives whatever tool you're using the same durable handoff record — stored in your repo and your home directory.

Claude Code Codex Cursor Kiro whatever comes next

What Kedu is not

Intentionally small. Honestly scoped.

Vector memory / RAG
No embeddings, no fuzzy similarity guessing. It finds records by exact filters and keywords.
A search engine
It surfaces likely-relevant records; the model decides what actually matters. There's no ranking score.
An agent framework
It doesn't run or steer agents. It records sessions and hands context to whatever agent you use.
Platform memory
Your records are local files you own — not memory held on a vendor's servers.

Try it in five minutes

From clone to first handoff.

Install from source, wire it into your agent, log a decision — then open a different agent in the same repo and watch it recover the thread.

Source-first only for now. There's no npm install -g kedu, brew install kedu, or pip install kedu yet — package-manager releases come after the preview.
zsh — install & init
# 1 · install from source $ git clone https://github.com/jasonshrepo/kedu.git $ cd kedu && bash install.sh # 2 · wire it into a real repo $ cd ~/path/to/project $ kedu init --host claude CLAUDE.md, SessionEnd hook, skills installed # 3 · in the agent: save, then hand off /kedu log what we decided and what's next /kedu search the last decision

Local ownership

Records live under your project and ~/.kedu. Read, diff, edit, back up, redact.

Lossless after capture

Once saved, a record is preserved — not repeatedly summarized down into a lossy recap.

Redaction & clean uninstall

Scrub secrets at write-time or after the fact. Uninstall never deletes your records.

刻牍 · to inscribe records

Stop re-explaining the same project to every agent.