A compounding LLM-maintained knowledge wiki. Synthesis of Andrej Karpathy's persistent-wiki gist and milla-jovovich's mempalace, with an automation layer on top for conversation mining, URL harvesting, human-in-the-loop staging, staleness decay, and hygiene. Includes: - 11 pipeline scripts (extract, summarize, index, harvest, stage, hygiene, maintain, sync, + shared library) - Full docs: README, SETUP, ARCHITECTURE, DESIGN-RATIONALE, CUSTOMIZE - Example CLAUDE.md files (wiki schema + global instructions) tuned for the three-collection qmd setup - 171-test pytest suite (cross-platform, runs in ~1.3s) - MIT licensed
6.0 KiB
Global Claude Code Instructions — Wiki Section
What this is: Content to add to your global ~/.claude/CLAUDE.md
(the user-level instructions Claude Code reads at the start of every
session, regardless of which project you're in). These instructions tell
Claude how to consult the wiki from outside the wiki directory.
Where to paste it: Append these sections to ~/.claude/CLAUDE.md.
Don't overwrite the whole file — this is additive.
Copy everything below this line into your global ~/.claude/CLAUDE.md:
Wake-Up Context
At the start of each session, read ~/projects/wiki/context/wake-up.md
for a briefing on active projects, recent decisions, and current
concerns. This provides conversation continuity across sessions.
LLM Wiki — When to Consult It
Before creating API endpoints, Docker configs, CI pipelines, or making
architectural decisions, check the wiki at ~/projects/wiki/ for
established patterns and decisions.
The wiki captures the why behind patterns — not just what to do, but the reasoning, constraints, alternatives rejected, and environment- specific differences. It compounds over time as projects discover new knowledge.
When to read from the wiki (query mode):
- Creating any operational endpoint (/health, /version, /status)
- Setting up secrets management in a new service
- Writing Dockerfiles or docker-compose configurations
- Configuring CI/CD pipelines
- Adding database users or migrations
- Making architectural decisions that should be consistent across projects
When to write back to the wiki (ingest mode):
- When you discover something new that should apply across projects
- When a project reveals an exception or edge case to an existing pattern
- When a decision is made that future projects should follow
- When the human explicitly says "add this to the wiki"
Human-initiated wiki writes go directly to the live wiki with
origin: manual. Script-initiated writes go through staging/ first.
See the wiki's own CLAUDE.md for the full ingest protocol.
LLM Wiki — How to Search It
Use the qmd CLI for fast, structured search. DO NOT read index.md
for large queries — it's only for full-catalog browsing. DO NOT grep the
wiki manually when qmd is available.
The wiki has three qmd collections. Pick the right one for the question:
Default collection: wiki (live content)
For "what's our current pattern for X?" type questions. This is the
default — no -c flag needed.
# Keyword search (fast, BM25)
qmd search "health endpoint version" --json -n 5
# Semantic search (finds conceptually related pages)
qmd vsearch "how should API endpoints be structured" --json -n 5
# Best quality — hybrid BM25 + vector + LLM re-ranking
qmd query "health endpoint" --json -n 5
# Then read the matched page
cat ~/projects/wiki/patterns/health-endpoints.md
Archive collection: wiki-archive (stale / superseded)
For "what was our OLD pattern before we changed it?" questions. This is
excluded from default searches; query explicitly with -c wiki-archive.
# "Did we used to use Alpine? Why did we stop?"
qmd search "alpine" -c wiki-archive --json -n 5
# Semantic search across archive
qmd vsearch "container base image considerations" -c wiki-archive --json -n 5
When you cite content from an archived page, tell the user it's archived and may be outdated.
Conversations collection: wiki-conversations (mined session transcripts)
For "when did we discuss this, and what did we decide?" questions. This is the mined history of your actual Claude Code sessions — decisions, debugging breakthroughs, design discussions. Excluded from default searches because transcripts would flood results.
# "When did we decide to use staging?"
qmd search "staging review workflow" -c wiki-conversations --json -n 5
# "What debugging did we do around Docker networking?"
qmd vsearch "docker network conflicts" -c wiki-conversations --json -n 5
Useful for:
- Tracing the reasoning behind a decision back to the session where it was made
- Finding a solution to a problem you remember solving but didn't write up
- Context-gathering when returning to a project after time away
Searching across all collections
Rarely needed, but for "find everything on this topic across time":
qmd search "topic" -c wiki -c wiki-archive -c wiki-conversations --json -n 10
LLM Wiki — Rules When Citing
- Always use
--jsonfor structured qmd output. Never try to parse prose. - Flag
confidence: lowpages to the user when citing. The content may be aging out. - Flag
status: pendingpages (instaging/) as unverified when citing: "Note: this is from a pending wiki page that has not been human-reviewed yet." - Flag archived pages as "archived and may be outdated" when citing.
- Use
index.mdfor browsing only, not for targeted lookups.qmdis faster and more accurate. - Prefer semantic search for conceptual queries, keyword search for specific names/terms.
LLM Wiki — Quick Reference
~/projects/wiki/CLAUDE.md— Full wiki schema and operations (read this when working IN the wiki)~/projects/wiki/index.md— Content catalog (browse the full wiki)~/projects/wiki/patterns/— How things should be built~/projects/wiki/decisions/— Why we chose this approach~/projects/wiki/environments/— Where environments differ~/projects/wiki/concepts/— Foundational ideas~/projects/wiki/raw/— Immutable source material (never modify)~/projects/wiki/staging/— Pending automated content (flag when citing)~/projects/wiki/archive/— Stale content (flag when citing)~/projects/wiki/conversations/— Session history (search via-c wiki-conversations)
End of additions for ~/.claude/CLAUDE.md.
See also the wiki's own CLAUDE.md at the wiki root — that file tells
the agent how to maintain the wiki when working inside it. This file
(the global one) tells the agent how to consult the wiki from anywhere
else.