refactor: restructure from 3-phase to 4-phase model

Separate "what to build" (Zielbild) from "how to build it" (Planning):
- Phase 1: Discovery (unchanged)
- Phase 2: Zielbild / Target Vision (new, technology-agnostic)
- Phase 3: Planning / Architecture & Technology (was Phase 2)
- Phase 4: Integration / Implementation (was Phase 3)

Rename directories: B_planning→B_target, C_integration→D_integration,
add C_planning. Move decisions-log.md to C_planning.
Update all references across commands, rules, templates, and docs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
beo3000 2026-03-21 15:18:23 +01:00
parent acba1a2da0
commit c766abdb2b
22 changed files with 94 additions and 53 deletions

View File

@ -7,5 +7,5 @@ Erstelle einen neuen Eintrag im Entscheidungsprotokoll.
- Welche Alternativen wurden verworfen und warum? - Welche Alternativen wurden verworfen und warum?
- Ist die Entscheidung endgültig oder revisierbar? - Ist die Entscheidung endgültig oder revisierbar?
3. Fülle das Template mit den Antworten aus 3. Fülle das Template mit den Antworten aus
4. Füge den Eintrag OBEN in docs/B_planning/decisions-log.md ein (nach dem Header) 4. Füge den Eintrag OBEN in docs/C_planning/decisions-log.md ein (nach dem Header)
5. Bestehende Einträge werden NIEMALS verändert 5. Bestehende Einträge werden NIEMALS verändert

View File

@ -2,13 +2,13 @@ Erstelle eine neue User Story.
1. Lies docs/templates/user-story.md als Vorlage 1. Lies docs/templates/user-story.md als Vorlage
2. Ermittle die nächste freie Story-Nummer: 2. Ermittle die nächste freie Story-Nummer:
- Lies bestehende Dateien in docs/B_planning/user-stories/ - Lies bestehende Dateien in docs/B_target/user-stories/
- Nächste Nummer = höchste vorhandene + 1 (oder US-001 wenn noch keine existiert) - Nächste Nummer = höchste vorhandene + 1 (oder US-001 wenn noch keine existiert)
3. Frage den User (sofern nicht aus dem Kontext bekannt): 3. Frage den User (sofern nicht aus dem Kontext bekannt):
- Wer ist die Rolle (z.B. Sachbearbeiter, Administrator)? - Wer ist die Rolle (z.B. Sachbearbeiter, Administrator)?
- Was soll die Funktion sein? - Was soll die Funktion sein?
- Welchen Nutzen bringt das? - Welchen Nutzen bringt das?
- Aus welchem Teil des Legacy-Systems leitet sich das ab? - Aus welchem Teil des Legacy-Systems leitet sich das ab?
4. Erstelle die Datei als docs/B_planning/user-stories/US-NNN-kurztitel.md 4. Erstelle die Datei als docs/B_target/user-stories/US-NNN-kurztitel.md
5. Setze das Erstelldatum auf heute 5. Setze das Erstelldatum auf heute
6. Trage einen Verweis in docs/B_planning/status.md ein 6. Trage einen Verweis in docs/B_target/status.md ein

View File

@ -6,7 +6,7 @@ Führe einen Phasenwechsel durch.
3. Falls nein: Liste die offenen Punkte und frage den User, ob trotzdem gewechselt werden soll 3. Falls nein: Liste die offenen Punkte und frage den User, ob trotzdem gewechselt werden soll
## Phasenwechsel durchführen ## Phasenwechsel durchführen
1. Erstelle einen Eintrag in docs/B_planning/decisions-log.md: 1. Erstelle einen Eintrag in docs/C_planning/decisions-log.md:
- Typ: Prozess - Typ: Prozess
- Entscheidung: "Phase N abgeschlossen, Wechsel zu Phase N+1" - Entscheidung: "Phase N abgeschlossen, Wechsel zu Phase N+1"
- Offene Punkte aus der alten Phase dokumentieren - Offene Punkte aus der alten Phase dokumentieren

View File

@ -9,7 +9,7 @@ Führe den Session-Abschluss durch. Lies zuerst CLAUDE.md um die aktive Phase zu
2. **Entscheidungen protokollieren** — Falls in dieser Session Entscheidungen getroffen wurden: 2. **Entscheidungen protokollieren** — Falls in dieser Session Entscheidungen getroffen wurden:
- Erstelle für jede Entscheidung einen Eintrag nach docs/templates/decisions-log-entry.md - Erstelle für jede Entscheidung einen Eintrag nach docs/templates/decisions-log-entry.md
- Füge ihn oben in docs/B_planning/decisions-log.md ein - Füge ihn oben in docs/C_planning/decisions-log.md ein
3. **task.md aktualisieren** — Markiere abgeschlossene Definition-of-Done-Punkte mit [x] 3. **task.md aktualisieren** — Markiere abgeschlossene Definition-of-Done-Punkte mit [x]

View File

@ -2,7 +2,7 @@ Lies folgende Dateien in dieser Reihenfolge, ohne sofort zu handeln:
1. CLAUDE.md 1. CLAUDE.md
2. task.md der aktiven Phase (siehe "Aktiver Scope" in CLAUDE.md) 2. task.md der aktiven Phase (siehe "Aktiver Scope" in CLAUDE.md)
3. status.md der aktiven Phase 3. status.md der aktiven Phase
4. docs/B_planning/decisions-log.md (nur die letzten 5 Einträge) 4. docs/C_planning/decisions-log.md (nur die letzten 5 Einträge)
Fasse danach in 3-5 Sätzen zusammen: Fasse danach in 3-5 Sätzen zusammen:
- Was ist das Gesamtziel des Projekts? - Was ist das Gesamtziel des Projekts?

View File

@ -3,7 +3,7 @@
## Ziel ## 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? 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: 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 Projektgerüst mit vier Phasen (Discovery, Zielbild, 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. 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. 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. Und schließlich Templates für die wiederkehrenden Dokumente, die Claude Code als Vorlage nutzt und nie selbst verändert.
@ -24,7 +24,7 @@ Regel: Keine Datei in legacy/ wird verändert. Nur lesen.
## Aktiver Scope ## Aktiver Scope
Aktuelle Phase: 1 — Discovery Aktuelle Phase: 1 — Discovery
Arbeitsverzeichnis: docs/A_discovery/ Arbeitsverzeichnis: docs/A_discovery/
Schreibrechte: docs/A_discovery/**, docs/B_planning/decisions-log.md Schreibrechte: docs/A_discovery/**, docs/C_planning/decisions-log.md
Keine Änderungen an: src/**, legacy/**, docs/templates/** Keine Änderungen an: src/**, legacy/**, docs/templates/**
## Konventionen ## Konventionen
@ -40,12 +40,15 @@ docs/
A_discovery/ — Phase 1: Analyse des Legacy-Codes A_discovery/ — Phase 1: Analyse des Legacy-Codes
task.md — Aufgabendefinition & Definition of Done task.md — Aufgabendefinition & Definition of Done
status.md — Aktueller Stand (wird jede Session aktualisiert) status.md — Aktueller Stand (wird jede Session aktualisiert)
B_planning/ — Phase 2: Architektur & Entscheidungen B_target/ — Phase 2: Zielbild (technologieunabhängig)
task.md — Aufgabendefinition & Definition of Done
status.md — Aktueller Stand
user-stories/ — User Stories (eine Datei pro Story)
C_planning/ — Phase 3: Architektur & Technologie-Entscheidungen
task.md — Aufgabendefinition & Definition of Done task.md — Aufgabendefinition & Definition of Done
status.md — Aktueller Stand status.md — Aktueller Stand
decisions-log.md — Entscheidungsprotokoll (append-only) decisions-log.md — Entscheidungsprotokoll (append-only)
user-stories/ — User Stories (eine Datei pro Story) D_integration/ — Phase 4: Umsetzung
C_integration/ — Phase 3: Umsetzung
task.md — Aufgabendefinition & Definition of Done task.md — Aufgabendefinition & Definition of Done
status.md — Aktueller Stand status.md — Aktueller Stand
templates/ — Vorlagen (read-only, nie direkt editieren) templates/ — Vorlagen (read-only, nie direkt editieren)
@ -67,14 +70,14 @@ Nutze `/project:session-start` oder manuell:
1. Diese Datei lesen 1. Diese Datei lesen
2. task.md der aktiven Phase lesen 2. task.md der aktiven Phase lesen
3. status.md der aktiven Phase lesen 3. status.md der aktiven Phase lesen
4. docs/B_planning/decisions-log.md lesen (letzte 5 Einträge) 4. docs/C_planning/decisions-log.md lesen (letzte 5 Einträge)
5. Kurze Zusammenfassung, dann Session-Ziel mit dem User klären 5. Kurze Zusammenfassung, dann Session-Ziel mit dem User klären
6. Auf Bestätigung warten 6. Auf Bestätigung warten
## Session-Ende ## Session-Ende
Nutze `/project:session-end` oder manuell: Nutze `/project:session-end` oder manuell:
1. status.md der aktiven Phase aktualisieren 1. status.md der aktiven Phase aktualisieren
2. Entscheidungen in docs/B_planning/decisions-log.md eintragen 2. Entscheidungen in docs/C_planning/decisions-log.md eintragen
3. In task.md abgeschlossene Punkte markieren 3. In task.md abgeschlossene Punkte markieren
4. Offene Fragen oder nächste Schritte explizit notieren 4. Offene Fragen oder nächste Schritte explizit notieren

View File

@ -13,16 +13,17 @@ Keeps context coherent across sessions by storing everything in files — not in
## How It Works ## How It Works
The project has three phases, each in its own directory: The project has four phases, each in its own directory:
| Phase | Directory | Purpose | | Phase | Directory | Purpose |
|-------|-----------|---------| |-------|-----------|---------|
| 1 — Discovery | `docs/A_discovery/` | Understand the legacy system | | 1 — Discovery | `docs/A_discovery/` | Understand the legacy system (What IS?) |
| 2 — Planning | `docs/B_planning/` | Design the new system | | 2 — Zielbild | `docs/B_target/` | Define the target vision, technology-agnostic (What SHOULD be?) |
| 3 — Integration | `docs/C_integration/` | Build and migrate | | 3 — Planning | `docs/C_planning/` | Architecture and technology decisions (HOW to build it?) |
| 4 — Integration | `docs/D_integration/` | Build and migrate (DO it) |
Each phase has a `task.md` (what needs to be done) and a `status.md` (where we are). Each phase has a `task.md` (what needs to be done) and a `status.md` (where we are).
Decisions are tracked in `docs/B_planning/decisions-log.md` across all phases. Decisions are tracked in `docs/C_planning/decisions-log.md` across all phases.
## Session Workflow ## Session Workflow
@ -119,13 +120,13 @@ eine passende Konfiguration. Falls nicht vorhanden:
## User Stories ## User Stories
User stories are created during Phase 2 (Planning) and bridge the gap between User stories are created during Phase 2 (Zielbild) and bridge the gap between
"what the legacy system does" (Discovery) and "what we build" (Integration). "what the legacy system does" (Discovery) and "what we build" (Integration).
**Creating stories:** Use `/project:new-user-story`. Claude will ask for the role, **Creating stories:** Use `/project:new-user-story`. Claude will ask for the role,
the desired capability, and the business value — then generate a story file from template. the desired capability, and the business value — then generate a story file from template.
**Where they live:** `docs/B_planning/user-stories/US-NNN-short-title.md` — one file per story. **Where they live:** `docs/B_target/user-stories/US-NNN-short-title.md` — one file per story.
**Numbering:** Stories are numbered sequentially (US-001, US-002, ...). Claude picks the next **Numbering:** Stories are numbered sequentially (US-001, US-002, ...). Claude picks the next
free number automatically. free number automatically.
@ -155,9 +156,10 @@ CLAUDE.md — Project memory (Claude reads this first)
README.md — You are here README.md — You are here
legacy/ — Legacy code (read-only) legacy/ — Legacy code (read-only)
docs/ docs/
A_discovery/ — Phase 1 working directory A_discovery/ — Phase 1: Understand the legacy system
B_planning/ — Phase 2 working directory + decisions log B_target/ — Phase 2: Target vision (technology-agnostic)
C_integration/ — Phase 3 working directory C_planning/ — Phase 3: Architecture & technology decisions
D_integration/ — Phase 4: Build and migrate
templates/ — Document templates (read-only reference) templates/ — Document templates (read-only reference)
rules/ — Constraints Claude follows automatically rules/ — Constraints Claude follows automatically
batch-orchestration.md — Rules for batch/subagent execution batch-orchestration.md — Rules for batch/subagent execution

View File

@ -1,16 +0,0 @@
# Phase 2 — Planung
## Ziel
Auf Basis der Discovery-Ergebnisse die Architektur, Technologie-Entscheidungen
und den Umsetzungsplan für das neue System definieren.
## Ergebnisse (Definition of Done)
- [ ] docs/B_planning/architecture.md — Systemarchitektur, Komponenten, Schnittstellen
- [ ] docs/B_planning/tech-stack.md — Technologie-Entscheidungen mit Begründung
- [ ] docs/B_planning/migration-strategy.md — Wie wird vom alten zum neuen System migriert?
- [ ] docs/B_planning/user-stories/ — User Stories aus Discovery-Ergebnissen abgeleitet
- [ ] docs/B_planning/implementation-plan.md — Priorisierte Arbeitspakete
## Nicht in Scope
- Implementierung von Code
- KI-Modell-Training oder -Evaluation

View File

@ -1,4 +1,4 @@
# Status — Phase 2: Planung # Status — Phase 2: Zielbild
Letzte Aktualisierung: — Letzte Aktualisierung: —
Session-Nr.: 0 Session-Nr.: 0
@ -11,7 +11,7 @@ Wartet auf Abschluss von Phase 1 (Discovery).
## Nächste Schritte ## Nächste Schritte
1. Phase 1 abschließen 1. Phase 1 abschließen
2. Discovery-Ergebnisse als Input für Architekturentscheidungen nutzen 2. Discovery-Ergebnisse als Input für User Stories und Anforderungen nutzen
## Offene Fragen / Blocker ## Offene Fragen / Blocker
- Abhängig von Phase 1 - Abhängig von Phase 1

17
docs/B_target/task.md Normal file
View File

@ -0,0 +1,17 @@
# Phase 2 — Zielbild
## Ziel
Auf Basis der Discovery-Ergebnisse ein technologieunabhängiges Zielbild definieren:
Was soll das neue System können? Für wen? Mit welchen Prioritäten?
## Ergebnisse (Definition of Done)
- [ ] docs/B_target/user-stories/ — User Stories aus Discovery-Ergebnissen und neuen Anforderungen
- [ ] docs/B_target/requirements.md — Funktionale und nicht-funktionale Anforderungen
- [ ] docs/B_target/ai-strategy.md — KI-Integrationsstrategie (welche Prozesse, welche Daten)
- [ ] docs/B_target/migration-scope.md — Was bleibt, was wird neu, was fällt weg
- [ ] docs/B_target/priorities.md — Priorisierung (Must/Should/Could/Won't)
## Nicht in Scope
- Technologie-Entscheidungen (Tech-Stack, Frameworks)
- Systemarchitektur
- Implementierung von Code

20
docs/C_planning/status.md Normal file
View File

@ -0,0 +1,20 @@
# Status — Phase 3: Planung
Letzte Aktualisierung: —
Session-Nr.: 0
## Erledigtes
— Phase noch nicht gestartet —
## Aktueller Stand
Wartet auf Abschluss von Phase 2 (Zielbild).
## Nächste Schritte
1. Phase 2 abschließen
2. Zielbild-Ergebnisse als Input für Architekturentscheidungen nutzen
## Offene Fragen / Blocker
- Abhängig von Phase 2
## Nicht angefasst (bewusst ausgeklammert)
- Noch keine

15
docs/C_planning/task.md Normal file
View File

@ -0,0 +1,15 @@
# Phase 3 — Planung
## Ziel
Auf Basis des Zielbilds die Architektur, Technologie-Entscheidungen
und den Umsetzungsplan für das neue System definieren.
## Ergebnisse (Definition of Done)
- [ ] docs/C_planning/architecture.md — Systemarchitektur, Komponenten, Schnittstellen
- [ ] docs/C_planning/tech-stack.md — Technologie-Entscheidungen mit Begründung
- [ ] docs/C_planning/migration-strategy.md — Wie wird vom alten zum neuen System migriert?
- [ ] docs/C_planning/implementation-plan.md — Priorisierte Arbeitspakete
## Nicht in Scope
- Implementierung von Code
- KI-Modell-Training oder -Evaluation

View File

View File

@ -1,4 +1,4 @@
# Status — Phase 3: Umsetzung # Status — Phase 4: Umsetzung
Letzte Aktualisierung: — Letzte Aktualisierung: —
Session-Nr.: 0 Session-Nr.: 0
@ -7,14 +7,14 @@ Session-Nr.: 0
— Phase noch nicht gestartet — — Phase noch nicht gestartet —
## Aktueller Stand ## Aktueller Stand
Wartet auf Abschluss von Phase 2 (Planung). Wartet auf Abschluss von Phase 3 (Planung).
## Nächste Schritte ## Nächste Schritte
1. Phase 2 abschließen 1. Phase 3 abschließen
2. Implementierung gemäß Umsetzungsplan beginnen 2. Implementierung gemäß Umsetzungsplan beginnen
## Offene Fragen / Blocker ## Offene Fragen / Blocker
- Abhängig von Phase 2 - Abhängig von Phase 3
## Nicht angefasst (bewusst ausgeklammert) ## Nicht angefasst (bewusst ausgeklammert)
- Noch keine - Noch keine

View File

@ -1,14 +1,14 @@
# Phase 3 — Umsetzung # Phase 4 — Umsetzung
## Ziel ## Ziel
Das neue System auf Basis der Planungsergebnisse implementieren, Das neue System auf Basis der Planungsergebnisse implementieren,
den Legacy-Code ablösen und die Migration durchführen. den Legacy-Code ablösen und die Migration durchführen.
## Ergebnisse (Definition of Done) ## Ergebnisse (Definition of Done)
- [ ] Neues System implementiert gemäß Architektur aus Phase 2 - [ ] Neues System implementiert gemäß Architektur aus Phase 3
- [ ] Datenmigration durchgeführt und verifiziert - [ ] Datenmigration durchgeführt und verifiziert
- [ ] Legacy-Funktionalität vollständig abgedeckt - [ ] Legacy-Funktionalität vollständig abgedeckt
- [ ] Dokumentation aktualisiert - [ ] Dokumentation aktualisiert
## Nicht in Scope ## Nicht in Scope
- Wird in Phase 2 definiert - Wird in Phase 3 definiert

View File

@ -36,7 +36,7 @@ Dinge, die unklar geblieben sind oder nur vermutet werden.
## Querverweise ## Querverweise
Welche anderen Discovery-Dokumente oder Entscheidungen hängen damit zusammen? Welche anderen Discovery-Dokumente oder Entscheidungen hängen damit zusammen?
- docs/A_discovery/___ - docs/A_discovery/___
- docs/B_planning/decisions-log.md → Eintrag vom ___ - docs/C_planning/decisions-log.md → Eintrag vom ___
## Nächste Schritte ## Nächste Schritte
Was muss auf Basis dieses Dokuments als nächstes passieren? Was muss auf Basis dieses Dokuments als nächstes passieren?

View File

@ -1,5 +1,5 @@
Am Ende der Session, bevor du aufhörst: Am Ende der Session, bevor du aufhörst:
1. Aktualisiere docs/A_discovery/status.md (bzw. aktive Phase) mit dem aktuellen Stand 1. Aktualisiere docs/A_discovery/status.md (bzw. aktive Phase) mit dem aktuellen Stand
2. Trage getroffene Entscheidungen in docs/B_planning/decisions-log.md ein 2. Trage getroffene Entscheidungen in docs/C_planning/decisions-log.md ein
3. Markiere in task.md der aktiven Phase, was abgeschlossen ist 3. Markiere in task.md der aktiven Phase, was abgeschlossen ist
4. Notiere offene Fragen oder nächste Schritte explizit 4. Notiere offene Fragen oder nächste Schritte explizit

View File

@ -2,7 +2,7 @@ Lies zunächst diese Dateien in dieser Reihenfolge, ohne sofort zu handeln:
1. CLAUDE.md 1. CLAUDE.md
2. docs/A_discovery/task.md (bzw. aktive Phase) 2. docs/A_discovery/task.md (bzw. aktive Phase)
3. docs/A_discovery/status.md (bzw. aktive Phase) 3. docs/A_discovery/status.md (bzw. aktive Phase)
4. docs/B_planning/decisions-log.md (nur die letzten 5 Einträge) 4. docs/C_planning/decisions-log.md (nur die letzten 5 Einträge)
Fasse danach in 3-5 Sätzen zusammen: Fasse danach in 3-5 Sätzen zusammen:
- Was ist das Gesamtziel des Projekts? - Was ist das Gesamtziel des Projekts?

View File

@ -1,7 +1,7 @@
- Never write to legacy/ — read-only, no exceptions - Never write to legacy/ — read-only, no exceptions
- Never write to docs/templates/ — read-only, use as reference only - Never write to docs/templates/ — read-only, use as reference only
- Only write to the active phase directory defined in CLAUDE.md "Aktiver Scope" - Only write to the active phase directory defined in CLAUDE.md "Aktiver Scope"
- docs/B_planning/decisions-log.md is always writable (append-only, never edit existing entries) - docs/C_planning/decisions-log.md is always writable (append-only, never edit existing entries)
- Before any file write: verify target path is within allowed scope - Before any file write: verify target path is within allowed scope
- CLAUDE.md is only modified during phase transitions - CLAUDE.md is only modified during phase transitions
- Never delete or rename existing discovery documents or decision entries - Never delete or rename existing discovery documents or decision entries