kenkeep Index
Bundle OKF 0.1 · 0 conceitos · e0ipso/kenkeep
Open source Repository Open in the app JSON README (API)
About
# kenkeep Index
> kenkeep navigation: the injected body above is the root index node, the top-level catalog of branches and root-level leaves. Do not expect the whole knowledge base here; descend on demand. Read the root index node, pick one or more branches whose intent and tags match your task (several branches can be relevant), and read those branch `index.md` nodes. Descend further only where the task needs it, opening only the leaves you have confirmed are relevant. Follow each leaf's `relates_to` and `depends_on` cross edges to reach related leaves in other branches. You decide how deep to go per branch.
> This index only orients you; leaves hold the durable guidance. Open at least one relevant leaf before acting.
## Subfolders
- Load [`bootstrap/`](bootstrap/index.md) for more information on seeding the knowledge base from existing docs via /kk-bootstrap; read when bootstrapping a repo or folding new docs in.
- Load [`cli/`](cli/index.md) for more information on the init/upgr
Details
- Kind
- OKF bundles
- Topic
- AI, RAG & memory
- Publisher
- e0ipso
- Origin
- okf_github
- Category
- dados
- Version
- 0.1
- Stars
- 26
- Forks
- 3
- Open pull requests
- 3
- Last push
- 2026-09-02T08:41:39Z
- Repository state
- ativo
- Language
- JavaScript
- License
- MIT
- Added
- 2026-09-09 19:04:11
- Updated
- 2026-09-09 19:04:11
- Origin id
e0ipso/kenkeep:.ai/kenkeep/nodes/index.md
README
<p align="center"> <img src="docs/assets/images/kenkeep-hero.png" alt="kenkeep: AI coding sessions are curated into a reviewed, git-tracked knowledge library" width="100%"> </p> <h1 align="center">kenkeep</h1> <p align="center"> <strong>A team-shared, git-native knowledge base for AI coding sessions.</strong><br> Built up in your repo, reviewed and versioned like code, with no extra infrastructure to run. </p> <p align="center"> <a href="https://www.npmjs.com/package/kenkeep"><img src="https://img.shields.io/npm/v/kenkeep?style=flat-square&label=npm&color=D14781&labelColor=2b2230" alt="npm version"></a> <a href="https://github.com/e0ipso/kenkeep/actions/workflows/test.yml"><img src="https://img.shields.io/github/actions/workflow/status/e0ipso/kenkeep/test.yml?style=flat-square&label=tests&color=D14781&labelColor=2b2230" alt="tests"></a> <a href="package.json"><img src="https://img.shields.io/node/v/kenkeep?style=flat-square&color=D14781&labelColor=2b2230" alt="node version"></a> <a href="LICENSE"><img src="https://img.shields.io/npm/l/kenkeep?style=flat-square&color=D14781&labelColor=2b2230" alt="MIT license"></a> </p> <p align="center"> <a href="https://kenkeep.canpicasoft.com/how-it-works.html">How it works</a> · <a href="https://kenkeep.canpicasoft.com/installation.html">Installation</a> · <a href="https://kenkeep.canpicasoft.com/daily-use.html">Daily use</a> · <a href="https://kenkeep.canpicasoft.com/knowledge-packs.html">Knowledge packs</a> · <a href="https://kenkeep.canpicasoft.com/troubleshooting.html">Troubleshooting</a> </p> --- Coding assistants forget about everything in past sessions. Kenkeep creates a system that **salvages the gold nuggets in your past conversations**, and discards the rest. This way, the assistant can use that important detail you shared two weeks ago, without you even worrying about it. Kenkeep is a **team-shared, git-native knowledge base** for AI coding assistants. Your AI conversations produce a steady stream of project-specific knowledge (conventions, gotchas, named modules, decision rationale), and most of it evaporates when the session ends. This tool captures it, asks a human to curate it, commits it to the repo, and injects it back into every future session. ## Overview <table> <tr> <td width="33%" valign="top"> <a href="docs/assets/images/kenkeep-slide-01.png"> <img src="docs/assets/images/kenkeep-slide-01.png" alt="Your AI sessions have value. Don't lose it." width="100%" /> </a> </td> <td width="33%" valign="top"> <a href="docs/assets/images/kenkeep-slide-02.png"> <img src="docs/assets/images/kenkeep-slide-02.png" alt="How Kenkeep captures knowledge in three simple ways." width="100%" /> </a> </td> <td width="33%" valign="top"> <a href="docs/assets/images/kenkeep-slide-03.png"> <img src="docs/assets/images/kenkeep-slide-03.png" alt="Right knowledge at the right time through progressive disclosure." width="100%" /> </a> </td> </tr> <tr> <td width="33%" valign="top"> <a href="docs/assets/images/kenkeep-slide-04.png"> <img src="docs/assets/images/kenkeep-slide-04.png" alt="Why teams love Kenkeep." width="100%" /> </a> </td> <td width="33%" valign="top"> <a href="docs/assets/images/kenkeep-slide-05.png"> <img src="docs/assets/images/kenkeep-slide-05.png" alt="Privacy-first and open-source." width="100%" /> </a> </td> <td width="33%" valign="top"> <a href="docs/assets/images/kenkeep-slide-06.png"> <img src="docs/assets/images/kenkeep-slide-06.png" alt="Turn AI interactions into long-term advantage." width="100%" /> </a> </td> </tr> </table> ## Why kenkeep <table> <tr> <td width="50%" valign="top"> <img src="docs/assets/icons/users.svg" width="28" height="28" alt="" /> ### Built up and shared across your team The knowledge base grows in your repo as plain markdown, one node per fact, accumulated from real coding sessions. The `nodes/` tree is a conformant [Open Knowledge Format (OKF v0.1)](https://github.com/GoogleCloudPlatform/knowledge-catalog/blob/main/okf/SPEC.md) bundle — an open, vendor-neutral format any OKF tool can read — with kenkeep's own fields carried under the self-describing `kk_` extension namespace. It travels with the project through `git pull`, so every teammate works from the same conventions instead of rediscovering them on their own laptop. </td> <td width="50%" valign="top"> <img src="docs/assets/icons/git-pull-request.svg" width="28" height="28" alt="" /> ### Reviewed and versioned like code Nothing reaches the knowledge base without a human approving it. Every addition or change is an ordinary git diff you review in a commit or PR, with the full history there to inspect, blame, or revert like any other code. </td> </tr> <tr> <td width="50%" valign="top"> <img src="docs/assets/icons/server-off.svg" width="28" height="28" alt="" /> ### No extra infrastructure No daemons, services, databases, or vector stores. kenkeep is just Node and git, so there is nothing to provision, host, or keep alive, and nothing new to secure. </td> <td width="50%" valign="top"> <img src="docs/assets/icons/key-round.svg" width="28" height="28" alt="" /> ### No API keys It all runs from within the assistant of your choice, on the subscription you already pay for. There is no separate API key to obtain, store, or rotate. </td> </tr> </table> ## How it works <p align="center"> <img src="docs/assets/images/kenkeep-infography.png" alt="kenkeep knowledge lifecycle: capture transcripts, curate them into reviewed notes, and inject them back into every session" width="100%"> </p> kenkeep runs a loop around your AI sessions. Capture and recall happen on their own; you trigger curation, and you decide what to keep: - **Capture** (automatic): when a session ends, a hook saves the transcript. - **Curate** (you run `/kk-curate`): the AI drafts proposed notes under `nodes/`, then walks you through any contradictions with an existing note. - **Review** (you decide): inspect the notes with `git diff`, then commit the ones you want to keep. - **Recall** (automatic): at the start of every session a hook injects only the root index; the assistant descends by relevance, opening just the notes it needs (**progressive disclosure**), so the payload stays small as the base grows. <p align="center"> <img src="docs/assets/images/progressive-disclosure.png" alt="kenkeep progressive disclosure: load the root index node, select relevant branches by intent and tags, descend into those branch indexes, then open only the confirmed-relevant leaf nodes and follow their cross-edges" width="100%"> </p> Full walkthrough: [How it works](https://kenkeep.canpicasoft.com/how-it-works.html). ## Quick start ```sh npx kenkeep init --harnesses claude npx kenkeep doctor ``` Swap `claude` for `codex`, `cursor`, `opencode`, or `copilot` (or pass a comma-separated list). For GitHub Copilot CLI, `npx kenkeep init --harnesses copilot` installs the skills under `.github/skills/` (Copilot's documented project skill location) and keeps the adapter's hook scripts under the project-local `.copilot/` directory, registering them in the repo-level `.github/hooks/kk.json` (Copilot loads repo-level hooks before user-level; nothing is written to `~/.copilot/`). Then code normally. When you want to turn captured material into knowledge nodes, run `/kk-curate` inside your harness session (also `/kk-add`, `/kk-bootstrap`). The skills are context-aware and walk you through conflict resolution. New nodes appear in `nodes/`; review with `git diff` and commit the ones you want to keep. <table> <tr> <td width="50%" valign="top"> <img src="docs/assets/icons/sprout.svg" width="28" height="28" alt="" /> ### Seed from existing docs If your repo already has READMEs, ADRs, or module docs, seed the knowledge base from them. Inside a harness session: ``` /kk-bootstrap ``` The scan walks the repo root, filtered by `.kkignore` (generated by `init`, uses [gitignore-style syntax](https://git-scm.com/docs/gitignore)). Edit `.kkignore` to exclude directories you don't want scanned. Review the resulting nodes under `nodes/` with `git diff` and commit the ones you want to keep. </td> <td width="50%" valign="top"> <img src="docs/assets/icons/message-square-plus.svg" width="28" height="28" alt="" /> ### Add knowledge manually At any time during a session you can use `/kk-add` to make sure the assistant remembers a message. Just casually mention it, and you're done: Example: ``` No, you got that wrong. This project aims to maximize code re-use, instead of duplication. Adapt and extend the abstractions to fit this use case. Also, /kk-add this. ``` </td> </tr> </table> ## Knowledge packs Knowledge packs let teams publish a reviewed `.ai/kenkeep/nodes/` tree for a framework, platform, or shared domain and graft it into another project as one isolated branch: ```sh npx kenkeep pack import e0ipso/kenkeep-pack-drupal npx kenkeep pack import https://github.com/e0ipso/kenkeep-pack-drupal --as drupal ``` Imports are deterministic and LLM-free. Colliding node ids are skipped with a warning, and any structural rebalancing happens later through the normal curation workflow. See the full guide: **[Knowledge packs](https://kenkeep.canpicasoft.com/knowledge-packs.html)**. ## Documentation Full documentation: **<https://kenkeep.canpicasoft.com>** For maintainers of this package itself, see [CONTRIBUTING.md](CONTRIBUTING.md). ## License [MIT](LICENSE)