Back to the catalog

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> &nbsp;·&nbsp;
  <a href="https://kenkeep.canpicasoft.com/installation.html">Installation</a> &nbsp;·&nbsp;
  <a href="https://kenkeep.canpicasoft.com/daily-use.html">Daily use</a> &nbsp;·&nbsp;
  <a href="https://kenkeep.canpicasoft.com/knowledge-packs.html">Knowledge packs</a> &nbsp;·&nbsp;
  <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)

More