02 · First sync
Why this matters
llmwiki turns dormant JSONL transcripts into a searchable wiki. The first sync is the "aha" moment: minutes after install, you can browse sessions you'd forgotten you ran last month.
Step 1 — Check status first
See what the last sync recorded (and whether anything is quarantined) without writing:
python3 -m llmwiki sync --status
Expected output (numbers vary):
Last sync: never (or pre-upgrade state file)
No per-adapter counters recorded (run `llmwiki sync` first).
Quarantined sources: 0
Trusted. Nothing is written. When you're ready, run a real sync.
Step 2 — Run the real sync
python3 -m llmwiki sync
Expected ending:
✓ wrote 665 session pages under raw/sessions/
✓ ingested into wiki/ (30 projects, 647 sources)
✓ auto-build: wrote site/ (687 HTML files, 61 MB)
raw/ is immutable (never hand-edit). wiki/ is where your agent's
output lives. site/ is the browsable static site.
Step 3 — Open the site
The site is plain files. Open site/index.html in a browser:
open site/index.html # macOS
xdg-open site/index.html # Linux
start site\index.html # Windows
You'll see:
- Home — project grid + activity heatmap
- Projects — one card per project, freshness badge
- Sessions — sortable table of every session
- Graph — interactive force-directed knowledge graph
- Search — Cmd+K command palette, fuzzy match across every page
Step 4 — (Optional) Cost preview before running synthesis
python3 -m llmwiki synth --estimate
Output (numbers vary):
627 new sessions, prefix 3,944 tok
Model: claude-sonnet-4-6 (first write)
Prefix: 3,944 tok $0.0148
...
Batch total: $17.98 (model claude-sonnet-4-6)
Nothing is called. Numbers are pre-spend estimates using the rate card
in llmwiki/cache.py. Actual numbers come back in usage on each API
response.
Verify
From the terminal:
ls wiki/sources | wc -l # ≥ 1
ls site/sessions | wc -l # ≥ 1
ls site/index.html site/highlight.min.js # the home page and its assets
From the browser: click into any project → any session → every inline
code block is syntax-highlighted, every [[wikilink]] resolves.
Troubleshooting
no sources found — python3 -m llmwiki adapters must show at least one configured ✓. If every line says -, the agent hasn't created sessions in the standard paths yet. Run the agent once and retry.
Permission denied on ~/.claude/projects/ — the adapter reads; it never writes. Check file permissions: ls -la ~/.claude/projects/ | head -3.
Site loads but is empty — you may have only run sync --status, or synthesis hasn't filled wiki/sources/ yet. Run llmwiki sync then llmwiki synth (or llmwiki all, which does both and rebuilds the site).
Next
→ 03 · Use with Claude Code — the slash-command workflow that keeps your wiki fresh without you thinking about it.