← Docs hub

Maintainer architecture one-pager

Audience: code reviewers and new maintainers. If you're a user, read ../architecture.md instead — that one is written for contributors. This page is the 5-minute "what can land where, and what should never land anywhere" version.

The three layers (Karpathy)

┌─────────────────────────────────────────────────┐
│  raw/sessions/             IMMUTABLE            │
│    • converted .jsonl → .md                     │
│    • gitignored — never lands in a PR          │
│    • owned by llmwiki/convert.py + adapters    │
└───────────────────┬─────────────────────────────┘
                    ▼ reads
┌─────────────────────────────────────────────────┐
│  wiki/                     LLM-MAINTAINED       │
│    • sources/ entities/ concepts/ syntheses/   │
│      projects/                                  │
│    • gitignored; the tracked example vault      │
│      lives in demo/wiki/                        │
│    • owned by Claude Code slash commands       │
└───────────────────┬─────────────────────────────┘
                    ▼ reads
┌─────────────────────────────────────────────────┐
│  site/                     GENERATED            │
│    • static HTML + AI exports                   │
│    • gitignored                                 │
│    • owned by llmwiki/build.py                  │
└─────────────────────────────────────────────────┘

The eight build layers (details in docs/architecture.md)

Layer What lives here PR surface
L0 Raw Converters + adapters llmwiki/convert.py, llmwiki/adapters/
L1 Wiki Slash commands + conventions CLAUDE.md, .claude/commands/, seed files
L2 Site HTML builder + CSS/JS strings llmwiki/build.py, llmwiki/viz_*.py
L3 Viewer Browser-side JS baked into build.py inline JS string inside build.py
L4 Distribution Setup scripts, packaging setup.sh, setup.bat, pyproject.toml
L5 Schema Steering + schemas + reference docs docs/, AGENTS.md, .kiro/
L6 Adapters Session-store parsers llmwiki/adapters/<agent>.py
L7 CI/Ops Workflows + tests + release automation .github/workflows/, tests/

What must NEVER land in a PR

What maintainers CAN accept

Read REVIEW_CHECKLIST.md for the full bar. TL;DR:

Decision log pointer

Declined ideas go in DECLINED.md. Before proposing a big refactor, grep DECLINED.md for it first — we may have considered and rejected it already.

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date