# Projekt Framework "Planung der Planung" ## Ziel Das Ziel dieses Projektes ist die Planung der Planung für ein Reverse-Engineering-Projekt — also nicht das eigentliche Reverse-Engineering-Projekt, sondern die Frage: Wie strukturiere ich ein komplexes, multi-session Claude Code Projekt so, dass es kohärent bleibt? Konkret erarbeitet haben wir: Ein Projektgerüst mit drei Clustern (Discovery, Planung, Umsetzung), einer zentralen CLAUDE.md als Projekt-Gedächtnis, und dem Prinzip dass das Projekt in Dateien lebt — nicht in Sessions. Ein Session-Protokoll mit festem Einstiegs- und Abschluss-Muster, das den Kontext jeder Session zuverlässig wiederherstellt. Die konkreten ersten Schritte, um von einem leeren Ordner mit Legacy-Code zu einem startbereiten Projektgerüst zu kommen — bevor auch nur eine Zeile Legacy-Code angefasst wird. Und schließlich Templates für die wiederkehrenden Dokumente, die Claude Code als Vorlage nutzt und nie selbst verändert. Der rote Faden war durchgehend: Struktur vor Inhalt. Das Gerüst steht, bevor die eigentliche Arbeit beginnt. ## Legacy-Code Liegt in: legacy/ Regel: Keine Datei in legacy/ wird verändert. Nur lesen. ## Regeln @rules/framework-constraints.md @rules/session-protocol.md ## Aktiver Scope Aktuelle Phase: 1 — Discovery Arbeitsverzeichnis: docs/A_discovery/ Schreibrechte: docs/A_discovery/**, docs/B_planning/decisions-log.md Keine Änderungen an: src/**, legacy/**, docs/templates/** ## Konventionen - Entscheidungen immer in decisions-log.md eintragen (oben anfügen, nie editieren) - Jede Session endet mit aktuellem status.md - Offene Fragen explizit notieren, nicht stillschweigend überspringen ## Verzeichnisstruktur ``` legacy/ — Legacy-Code (read-only) docs/ A_discovery/ — Phase 1: Analyse des Legacy-Codes task.md — Aufgabendefinition & Definition of Done status.md — Aktueller Stand (wird jede Session aktualisiert) B_planning/ — Phase 2: Architektur & Entscheidungen task.md — Aufgabendefinition & Definition of Done status.md — Aktueller Stand decisions-log.md — Entscheidungsprotokoll (append-only) C_integration/ — Phase 3: Umsetzung task.md — Aufgabendefinition & Definition of Done status.md — Aktueller Stand templates/ — Vorlagen (read-only, nie direkt editieren) rules/ — Regeln für Claude (automatisch geladen) .claude/commands/ — Projekt-Commands (/project:...) ``` ## Workflow-Commands - `/project:session-start` — Session beginnen (Kontext laden, Session-Ziel klären) - `/project:session-end` — Session abschließen (Status, Entscheidungen, offene Fragen) - `/project:decision` — Neue Entscheidung im Log protokollieren - `/project:new-discovery` — Neues Discovery-Dokument aus Template anlegen - `/project:phase-transition` — Phasenwechsel durchführen (DoD prüfen, CLAUDE.md aktualisieren) ## Session-Einstieg Nutze `/project:session-start` oder manuell: 1. Diese Datei lesen 2. task.md der aktiven Phase lesen 3. status.md der aktiven Phase lesen 4. docs/B_planning/decisions-log.md lesen (letzte 5 Einträge) 5. Kurze Zusammenfassung, dann Session-Ziel mit dem User klären 6. Auf Bestätigung warten ## Session-Ende Nutze `/project:session-end` oder manuell: 1. status.md der aktiven Phase aktualisieren 2. Entscheidungen in docs/B_planning/decisions-log.md eintragen 3. In task.md abgeschlossene Punkte markieren 4. Offene Fragen oder nächste Schritte explizit notieren ## Phasenwechsel Ein Phasenwechsel erfolgt über `/project:phase-transition` wenn: - Alle Definition-of-Done-Punkte in task.md der aktuellen Phase [x] sind - Der User den Wechsel bestätigt Dabei wird: Decision-Log-Eintrag erstellt, neue Phase vorbereitet, CLAUDE.md aktualisiert.