A small CRM codebase that demonstrates the agent-maintained wiki pattern: project knowledge lives in the repo as small markdown pages, and your coding agent reads the relevant ones before a change and updates them after.
Read the write-up: The Wiki That Never Goes Stale
.
├── CLAUDE.md router: always loaded — code map, docs index, standing rules
├── AGENTS.md points other coding agents at CLAUDE.md
├── docs/ the wiki: one OKF page per topic
├── prompts/
│ ├── bootstrap.md one-time prompt that generates the wiki for your repo
│ └── standing-rules.md rules to paste into your own CLAUDE.md
├── src/ sample CRM: contacts, deals, pipeline
├── tests/ node:test specs, one file per module
└── .github/
├── pull_request_template.md docs checklist on every PR
└── workflows/ci.yml runs tests; fails PRs that change src/ without docs/
Requires Node 24+. TypeScript runs directly — no build step, no dependencies.
git clone https://github.com/infonex/agent-maintained-wiki.git
cd agent-maintained-wiki
npm testThen open your coding agent in the folder and ask:
Can a deal skip from lead to proposal?
It should answer from docs/pipeline.md without reading the whole codebase. Next, ask it to add a negotiation stage after proposal, and check that docs/pipeline.md and docs/gotchas.md change alongside the code.
- Bootstrap. Open your agent at the repo root, fill in the placeholders in
prompts/bootstrap.md, and paste it. Review the generated pages as a team. - Add the rules. Copy
prompts/standing-rules.mdinto yourCLAUDE.md. - Wire the gate. Copy the PR template and the
docsjob fromci.yml, then create adocs-not-neededlabel for PRs with no docs impact.
Every page follows Google Cloud's Open Knowledge Format (OKF): plain markdown with a YAML header. OKF requires only type; module, updated and status help the agent pick the right pages and judge how fresh they are.
---
type: concept
module: deals
updated: 2026-09-14
status: current
---
# DealsBuilds on Andrej Karpathy's LLM Wiki pattern and Google Cloud's Open Knowledge Format.