Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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:

WhereIndexed asLifecycleHolds
.hallouminate/wiki/repo:hallouminate:wikidurable across sessionsarchitecture, conventions, protocols, “why this design” notes
.cheese/cheese-localtransient per-taskper-task agent reports

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 nine 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

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:wiki

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_markdownadd_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:wiki

That loop — author through the tool, search through the tool, keep the index honest — is the product proving itself on its own source.