Dogfooding: our own wiki
Hallouminate maintains its own wiki with hallouminate. The repo declares
itself as a [[repository]], so its knowledge base is searchable as the
repo:hallouminate:wiki corpus from any checkout. The wiki lives at
.hallouminate/wiki/
and is the canonical, durable record of how the project actually works â the
source these docs are distilled from.
Two corpora, two lifecycles:
| Where | Indexed as | Lifecycle | Holds |
|---|---|---|---|
.hallouminate/wiki/ |
repo:hallouminate:wiki |
durable across sessions | architecture, conventions, protocols, âwhy this designâ notes |
.cheese/ |
cheese-local |
transient per-task | per-task agent reports |
Whatâs in the wiki
Section titled âWhatâs in the wikiâThe entries are written for an LLM working in the repo â they carry
file:line and commit citations these human-facing docs summarize:
- architecture â the sliced-bread layout and dependency direction.
- mcp-surface â the ten MCP tools, params, and error mapping.
- daemon-and-cli â why thereâs a daemon, the JSON-line socket protocol, the CLI surface, and the lock order.
- corpus-walker â gitignore-aware corpus walking and the explicit-root opt-in.
- config-layering â the XDG baseline plus repo-layer merge.
- wiki-conventions â how to author entries without contradicting the indexer.
Read it the way an LLM would
Section titled âRead it the way an LLM wouldâIf you have hallouminate installed and the MCP server registered, an agent working in this repo queries the wiki directly:
list_tree { corpus: "repo:hallouminate:wiki" }ground { corpus: "repo:hallouminate:wiki", query: "why is there a daemon" }read_markdown { corpus: "repo:hallouminate:wiki", path: "daemon-and-cli.md" }From the CLI:
hallouminate ground "socket resolution order" --corpus repo:hallouminate:wikiKeeping it current
Section titled âKeeping it currentâThe repoâs AGENTS.md
instructs every coding agent to refresh the wiki after a change lands on
main â but only when the change altered durable knowledge (architecture,
conventions, protocols, the MCP tool surface, a âwhy this designâ decision).
Routine bug fixes and transient per-task output stay out; thatâs what
.cheese/ is for.
Updates go through the MCP (read_markdown â add_markdown with
overwrite: true), not raw file edits, so the LanceDB index and the ancestor
index.md link lists stay in sync. When the wiki is edited on disk directly,
re-sync with:
hallouminate index --corpus repo:hallouminate:wikiThat loop â author through the tool, search through the tool, keep the index honest â is the product proving itself on its own source.