A team-shared, git-native knowledge base for AI coding sessions.
Built up in your repo, reviewed and versioned like code, with no extra infrastructure to run.
How it works · Installation · Daily use · Knowledge packs · Troubleshooting
Coding assistants forget everything between sessions. Kenkeep salvages the gold nuggets from your past conversations and discards the rest, so the detail you explained two weeks ago is there the next time the assistant needs it.
Kenkeep is a team-shared, git-native knowledge base for AI coding assistants. Conventions, gotchas, module names, and the reasons behind decisions get captured from your sessions, curated by a human, committed to the repo, and injected back into every future session.
|
|
|
|
|
|
|
One markdown file per fact, accumulated from real coding sessions and stored in your repo. It travels with |
Nothing reaches the knowledge base without a human approving it. Every addition is an ordinary git diff you review in a commit or PR, with the full history there to blame or revert. |
|
No daemons, services, databases, or vector stores. Kenkeep is Node and git. Nothing to provision, host, keep alive, or secure. |
It runs inside the assistant you already pay for: Claude Code, Codex, Cursor, OpenCode, or Copilot. There is no separate key to obtain, store, or rotate. |
- Capture is automatic. When a session ends, a hook saves the transcript.
- Curate is yours to start. Run
/kk-curateand the assistant drafts one note per durable fact, then walks you through any contradiction with a note you already have. - Review is yours to decide. Read the notes with
git diffand commit the ones you want. - Recall is automatic. Every new session starts with the root catalog and descends only into the notes the task needs, so the payload stays small as the base grows.
A note curate can't place still doesn't get stuck: it lands at the nodes/ root, and the next npx kenkeep init --upgrade files it from its own edges and tags, or removes it when it matches nothing in the tree. npx kenkeep node sweep does the same on demand between upgrades. Both leave the result uncommitted, so you accept it with git commit and reject it with git restore.
Full walkthrough: How it works.
npx kenkeep init --harnesses claude
npx kenkeep doctorSwap claude for codex, cursor, opencode, or copilot, or pass a comma-separated list. Per-harness details, including where GitHub Copilot CLI keeps its hooks and skills, are in Installation.
Then code as usual. When the assistant nudges you, run /kk-curate in your session. New notes land under .ai/kenkeep/nodes/. Review them with git diff and commit the ones you want to keep.
|
If your repo already has READMEs, ADRs, or module docs, seed the knowledge base from them. Inside a session: The scan starts at the repo root and honors |
Mid-session, mention |
A pack is a reviewed nodes/ tree published for a framework, platform, or shared domain. Import one and it lands as a single isolated branch in your own knowledge base:
npx kenkeep pack import e0ipso/kenkeep-pack-drupal
npx kenkeep pack import https://github.com/e0ipso/kenkeep-pack-drupal --as drupalImport is deterministic and never calls an LLM. Colliding note ids are skipped with a warning. Full guide: Knowledge packs.
Full documentation: https://kenkeep.canpicasoft.com
Working on the package itself? See CONTRIBUTING.md.

