Skip to content

[ Loslegen / specs-and-todos ]

Specs und Todos ​

Zwei Wege, Arbeit festzuhalten. Ein Todo ist eine Notiz für später: eine kleine Sache, geparkt in einer Datei. Eine Spec ist ein Vertrag für jetzt: ein geschriebener Plan mit Schritten und Prüfungen, den ein Agent ausführt und ein unabhängiger Reviewer abnimmt. Die meiste Arbeit braucht keins von beiden.

Was brauche ich? ​

SituationNutzeBeispiel
Kleine Änderung, in dieser Session erledigtnichts — einfach fragen„Tippfehler im Footer korrigieren"
Kleine Änderung, nicht jetztTodo/todo Upload bei abgelaufenem Token wiederholen
Mehrere kleine, unabhängige Punkte für späterje ein Tododrei Funde aus einem Review
Eine größere Übergabe an einen anderen AgentenSpecein /wave-Slice, über der Größenschwelle
Mehr als 5 Schritte oder mehr als 6 Dateien über 2+ SubsystemeSpec„Dark Mode für Shop und Admin"
Eine Entscheidung, die du vorher treffen musstSpec (oder Todo mit --status decision)„Stripe oder Mollie?"
Du willst einen geschriebenen PlanSpec„Plan das durch"

Faustregel: Ein Todo merkt sich etwas, eine Spec verpflichtet. Eine kleine Sache, die nur auf eine spätere Session wartet, ist ein Todo, keine Übergabe.

Todos ​

Ein Todo ist eine Markdown-Datei unter devkit/todos/<id>.md mit ID, Titel, Status, Abhängigkeiten und Notiz. Sie liegt in Git, jeder Worktree sieht dieselbe Liste.

Im Alltag ​

Du tippstWas passiert
/todo <text> oder todo: <text>Parkt den Text als neue Datei und committet nur diese. Es wird nichts umgesetzt.
/todo oder /todo listListet alle Todos mit Zustand.
/todo nextBearbeitet das älteste bereite Todo.
/todo next --parallel NBis zu N Todos ohne gemeinsame Dateien parallel per Delegate.
/todo pick <id>Bearbeitet genau dieses Todo.

Der Agent bietet Todos für Nebenarbeit selbst an und parkt in langen Sessions von sich aus.

Was „ein Todo bearbeiten" heißt ​

Ein Lauf besitzt genau ein Todo, vom Claim bis zum Commit:

  1. Claim — das Todo wird für diesen Worktree gesperrt, eine parallele Session kann es nicht nehmen.
  2. Isolieren — ein sauberer Checkout arbeitet direkt; ein schmutziger bekommt einen eigenen todo/<id>-Worktree.
  3. Umsetzen — nur dieses Todo.
  4. Prüfen — die Projektprüfungen und die betroffenen Tests müssen grün sein.
  5. Commit — ein Commit mit dem Fix, der gelöschten Todo-Datei und dem Trailer Todo: <id>.

Ein roter Check oder eine offene Frage gibt das Todo frei — mit Notiz, und nur die Dateien dieses Laufs werden zurückgesetzt.

Zustände in /todo list ​

ZustandBedeutung
openBereit. /todo next wählt daraus.
claimedWird gerade bearbeitet.
blockedWartet auf ein anderes Todo aus dependencies.
decisionBraucht erst eine menschliche Entscheidung; kann nicht geclaimt werden.
specIst zur Spec geworden; dort geht es weiter.
doneErledigt.

Mehrere Punkte auf einmal parken ergibt je eine Todo-Datei; bearbeitet wird bewusst eins pro Lauf, damit jeder Fix ein prüfbarer Commit ist.

Für die laufende Arbeit führt devkit todo plan einen Plan pro Worktree über Sessions und Runtimes; die Statuszeile zeigt ihn, plan park macht Offenes zu Todos.

Specs ​

Eine Spec ist ein in sich vollständiger Markdown-Vertrag: Eine frische Session oder ein anderes Modell kann sie ohne den Chat ausführen. Sie trägt Ziel, Schritte mit Verify-Befehlen, Abnahmekriterien und den Dateiumfang. /spec wählt die günstigste sichere Route:

RouteWannWas du bekommst
todoAufgeschoben oder mehrere unabhängige KleinigkeitenTodo-Dateien, keine Spec
directKlein genug für jetztKurzer Auftrag im Chat, keine Datei
compactEin Spec-Auslöser greift — Größe, größere Übergabe, offene Entscheidung oder dein WunschKurze Spec-Datei
fullSpec nötig, dazu hohes Risiko, irreversible Migration, Sicherheitsgrenze, öffentlicher Vertrag, 3+ Subsysteme oder neue ArchitekturVolle Spec; unabhängiges Authoring-Review außer bei dokumentierter Ausnahme

Lebenszyklus ​

PhaseWas passiert
/spec "<ziel>"Schreibt und validiert den Plan und zeigt eine Zusammenfassung; korrigiere sie, wenn er dich falsch verstand.
/spec-work NNNDer Start ist die Freigabe — keine extra Frage. Eine frische Session ist günstiger, weil die Spec alles mitbringt.
Umsetzen und prüfenJeder Schritt und jedes Abnahmekriterium wird grün.
Unabhängiges ReviewEin separater Reviewer prüft den Diff gegen den Vertrag; grüne ACs allein zählen nie.
CompletedDie Spec ist fertig; du committest mit /commit.

Status ​

StatusBedeutung
draftGeschrieben, startbereit.
in-progress/spec-work setzt um.
pausedBewusst angehalten; das Progress Log sagt, wo.
in-reviewCode eingefroren, Reviewer prüft.
blockedEine Stop-Bedingung oder wiederholter Fehler braucht dich.
completedReview bestanden, Datei verlässt die aktive Liste.

Wenn sich etwas ändert ​

SituationTu das
Session mitten im Lauf beendetNochmal /spec-work NNN — setzt beim ersten offenen Schritt fort.
Plan passt nicht mehr zum Code oder Umfang wächst/spec-update NNN "<änderung>" — schreibt den Vertrag neu und öffnet betroffene Schritte.
Kleiner Fix nach completedEinfach fragen — die Spec ist jetzt ein Protokoll.
Mehrere freigegebene Specs auf verschiedenen Dateien/wave führt sie parallel in Worktrees aus.
Arbeit über Schwester-Repositories/workspace schreibt eine Spec pro Repository.

Verwandt ​

Interne Doku — onedot-devkit · devkit

devkitdevkit syncdevkit statusdevkit doctordevkit helpInterne Doku · ONEDOT digital crew