Eine Codebasis rein. Zwei Handbücher raus — eines liest dein Team, mit dem anderen findet dein Agent den Weg.
Dein Coding-Agent greppt nach einem Symbol, findet drei der sieben Stellen, auf die es ankommt, und liefert eine halbe Änderung. Das ist kein Denkfehler, sondern ein Routing-Fehler. Handbooks gibt ihm die Karte.
# komplette Pipeline, offline, kein API-Schlüssel, ~30 s
pnpm install && pnpm build
pnpm demoMitgeliefertes Beispielprojekt, mitgeliefertes Mock-LLM. Null Tokens verbraucht.
Sieben Befehle, eine Schleife
Türkise Schritte sind deterministisch — kein LLM, kein Netzwerk, beliebig oft in CI wiederholbar. Gelbe Schritte sprechen mit deinem Endpunkt und cachen, was sie lernen.
- 1
analyzeKEIN LLMParst jede Datei in einen typisierten Aufrufgraphen.
- 2
generateLLMKarten, Etappen, Prosa, etappenübergreifender Zustand.
- 3
renderKEIN LLMMarkdown, HTML, Agentenindex, llms.txt.
- 4
skillKEIN LLMPaketiert es für deinen Coding-Agenten.
- 5
planLLMVerortet eine Änderung in byte-exakte Edits.
- 6
applyKEIN LLMAlles-oder-nichts-Patch, mit Rollback.
- 7
resyncLLMSchreibt das Handbuch fort. Kein Neuaufbau.
- Wie jede Phase funktioniert →
Warum du dem Gelesenen trauen kannst
Fakten kommen aus einem Parser
tree-sitter baut den Aufrufgraphen: Funktionen, aufgelöste Kanten, Grenzaufrufe und die Aufrufe, die es nicht auflösen konnte — in Quarantäne gestellt, niemals geraten. Diese Schicht berührt nie ein LLM und ist deshalb in jedem Lauf dieselbe.
Prosa liegt darüber — und sagt es
Ein LLM schreibt, wozu eine Datei da ist und wie ein Subsystem zusammenhängt, immer im Graphen verankert. Wo es scheitert, wird die Struktur trotzdem ausgeliefert — mit leerer Beschreibung. Ein fehlender Satz ist besser als ein erfundener.
Zum Routen gebaut, nicht zum Lesen
Die Ausgabe beantwortet: „Welche Dateien, Funktionen und Zustände muss diese Änderung anfassen?“ — auch die verstreuten, nicht offensichtlichen, die eine Textsuche übersieht. Dann liest der Planner an jeder Adresse den echten Quelltext.
Anwenden ist absichtlich langweilig
Anker müssen byte-exakt und eindeutig passen. Alles wird geprüft, bevor irgendetwas geschrieben wird. Jede berührte Datei wird mit ihrem Hash von vor dem Patch gesichert, damit das Rollback beweisen kann, was es wiederherstellt.
Es bleibt inkrementell aktuell
Resync vergleicht den alten Aufrufgraphen mit dem neuen und regeneriert nur, was sich wirklich geändert hat. Drei Dateien angefasst, für drei Dateien bezahlt. Dokumentation verrottet nicht mehr, weil ihre Aktualisierung nicht mehr teuer ist.
Und es legt seine eigenen Grenzen offen
Sprachen, die der konfigurationsgetriebene Analyzer liest, werden im Überblick namentlich genannt — „Best-Effort-Aufrufbeziehungen“ können damit nie als „exakt“ gelesen werden.
Analysetreue →Ein Lauf. Sechs Lieferformate.
Die Generierung ist der teure Teil, und sie passiert einmal. Alles darunter ist ein deterministisches Re-Rendering, das du bei jedem Commit laufen lassen kannst.
Markdown-Handbuch
Überblick · Index · eine Seite pro Etappe · Zustandsregister-Tabelle
Mehrseitige HTML-Site
Sticky-TOC, Breadcrumbs, Theme-Umschalter — läuft über file://
Eine eigenständige Seite
eine einzelne .html, die du mailen oder an ein Ticket hängen kannst
Agenten-Locator-Index
Aufgabe · Kernkonzepte · Zustand · Exemplare · Co-Change-Hinweise
llms.txt + llms-full.txt
die llms.txt-Konvention, plus das Ganze flach in einer Datei
Agenten-SKILL-Paket
SKILL.md + references/ + ein Inhalts-Hash pro Datei
Fang mit dem kostenlosen Befehl an
handbook analyze braucht nie einen API-Schlüssel. Lass ihn über dein Repo laufen, sieh dir die Datei- und Funktionszahlen an und entscheide dann, ob der Rest einen einzigen Token wert ist.