Wiki
In-repo markdown wiki under wiki/. Three triggers — pick one from the user request:
| Trigger | When | Reference |
|---|---|---|
| init | No usable wiki/ yet; user asks to create/generate/bootstrap the wiki |
references/init-and-update.md (init path) + references/structure-and-format.md |
| update | wiki/ exists; user asks to refresh/sync/update after code changes |
references/init-and-update.md (update path) + references/structure-and-format.md |
| ask | User asks how/where/why about the repo and wiki/ should be the primary source |
references/ask.md |
| install | User asks to refresh wiki automatically and keep wiki up to date | references/install.md. |
Hard rules
- Never wipe an existing
wiki/. If it exists with real content, use update (even if the user said "generate" or "rebuild"). Only init when there is no usable wiki. - Prefer small surgical edits on update. No formatting-only churn. No-op is success when nothing relevant changed.
- Respect
.wikiignoreat repo root and all.gitignorepatterns — never read excluded paths. See references/wikiignore.md. - Never read or document secrets, credentials, or
.envfiles (.env.exampleplaceholders are OK).
Init (summary)
- If
wiki/already has content → switch to update. - Survey the repo (targeted, not every file).
- Write
wiki/_plan.md(pages, evidence, open questions). - Execute the plan using toc-and-layout.md and page-writing.md.
- Assemble: listings, root
log.md,.wiki-meta.json. - Ensure top-level
AGENTS.md/CLAUDE.mdkeep a short wiki pointer (agents-pointer). - Write repo-root
.wikiignorewhen missing (wikiignore). - Delete
wiki/_plan.md. Report what was created.
Update (summary)
- Diff against
.wiki-meta.jsoncommitHash(and uncommitted changes). - Soft budget: few source files changed → touch few wiki pages; skip cosmetic edits.
- Optional short
wiki/_plan.mdfor the edit list; delete it when done. - Edit in place. Refresh listings/
log.md/meta only if content changed. - Keep the AGENTS/CLAUDE wiki pointer present (agents-pointer).
- If nothing relevant changed, leave every file untouched and say the wiki is current.
Ask (summary)
Answer from wiki/ first; cite pages; verify source only when the wiki looks stale or incomplete. See ask.md.
Output
wiki/ with concept pages (frontmatter + type), listing index.md files, root log.md, and .wiki-meta.json. Plus a short pointer in top-level AGENTS.md and/or CLAUDE.md.