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?
- Ist die Entscheidung endgültig oder revisierbar?
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

View File

@ -2,13 +2,13 @@ Erstelle eine neue User Story.
1. Lies docs/templates/user-story.md als Vorlage
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)
3. Frage den User (sofern nicht aus dem Kontext bekannt):
- Wer ist die Rolle (z.B. Sachbearbeiter, Administrator)?
- Was soll die Funktion sein?
- Welchen Nutzen bringt das?
- 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
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
## 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
- Entscheidung: "Phase N abgeschlossen, Wechsel zu Phase N+1"
- 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:
- 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]

View File

@ -2,7 +2,7 @@ Lies folgende Dateien in dieser Reihenfolge, ohne sofort zu handeln:
1. CLAUDE.md
2. task.md der aktiven Phase (siehe "Aktiver Scope" in CLAUDE.md)
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:
- Was ist das Gesamtziel des Projekts?

View File

@ -3,7 +3,7 @@
## 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 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.
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.
@ -24,7 +24,7 @@ Regel: Keine Datei in legacy/ wird verändert. Nur lesen.
## Aktiver Scope
Aktuelle Phase: 1 — 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/**
## Konventionen
@ -40,12 +40,15 @@ 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
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
status.md — Aktueller Stand
decisions-log.md — Entscheidungsprotokoll (append-only)
user-stories/ — User Stories (eine Datei pro Story)
C_integration/ — Phase 3: Umsetzung
D_integration/ — Phase 4: Umsetzung
task.md — Aufgabendefinition & Definition of Done
status.md — Aktueller Stand
templates/ — Vorlagen (read-only, nie direkt editieren)
@ -67,14 +70,14 @@ 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)
4. docs/C_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
2. Entscheidungen in docs/C_planning/decisions-log.md eintragen
3. In task.md abgeschlossene Punkte markieren
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
The project has three phases, each in its own directory:
The project has four phases, each in its own directory:
| Phase | Directory | Purpose |
|-------|-----------|---------|
| 1 — Discovery | `docs/A_discovery/` | Understand the legacy system |
| 2 — Planning | `docs/B_planning/` | Design the new system |
| 3 — Integration | `docs/C_integration/` | Build and migrate |
| 1 — Discovery | `docs/A_discovery/` | Understand the legacy system (What IS?) |
| 2 — Zielbild | `docs/B_target/` | Define the target vision, technology-agnostic (What SHOULD be?) |
| 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).
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
@ -119,13 +120,13 @@ eine passende Konfiguration. Falls nicht vorhanden:
## 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).
**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.
**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
free number automatically.
@ -155,9 +156,10 @@ CLAUDE.md — Project memory (Claude reads this first)
README.md — You are here
legacy/ — Legacy code (read-only)
docs/
A_discovery/ — Phase 1 working directory
B_planning/ — Phase 2 working directory + decisions log
C_integration/ — Phase 3 working directory
A_discovery/ — Phase 1: Understand the legacy system
B_target/ — Phase 2: Target vision (technology-agnostic)
C_planning/ — Phase 3: Architecture & technology decisions
D_integration/ — Phase 4: Build and migrate
templates/ — Document templates (read-only reference)
rules/ — Constraints Claude follows automatically
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: —
Session-Nr.: 0
@ -11,7 +11,7 @@ Wartet auf Abschluss von Phase 1 (Discovery).
## Nächste Schritte
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
- 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: —
Session-Nr.: 0
@ -7,14 +7,14 @@ Session-Nr.: 0
— Phase noch nicht gestartet —
## Aktueller Stand
Wartet auf Abschluss von Phase 2 (Planung).
Wartet auf Abschluss von Phase 3 (Planung).
## Nächste Schritte
1. Phase 2 abschließen
1. Phase 3 abschließen
2. Implementierung gemäß Umsetzungsplan beginnen
## Offene Fragen / Blocker
- Abhängig von Phase 2
- Abhängig von Phase 3
## Nicht angefasst (bewusst ausgeklammert)
- Noch keine

View File

@ -1,14 +1,14 @@
# Phase 3 — Umsetzung
# Phase 4 — Umsetzung
## Ziel
Das neue System auf Basis der Planungsergebnisse implementieren,
den Legacy-Code ablösen und die Migration durchführen.
## 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
- [ ] Legacy-Funktionalität vollständig abgedeckt
- [ ] Dokumentation aktualisiert
## 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
Welche anderen Discovery-Dokumente oder Entscheidungen hängen damit zusammen?
- docs/A_discovery/___
- docs/B_planning/decisions-log.md → Eintrag vom ___
- docs/C_planning/decisions-log.md → Eintrag vom ___
## Nächste Schritte
Was muss auf Basis dieses Dokuments als nächstes passieren?

View File

@ -1,5 +1,5 @@
Am Ende der Session, bevor du aufhörst:
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
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
2. docs/A_discovery/task.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:
- Was ist das Gesamtziel des Projekts?

View File

@ -1,7 +1,7 @@
- Never write to legacy/ — read-only, no exceptions
- Never write to docs/templates/ — read-only, use as reference only
- 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
- CLAUDE.md is only modified during phase transitions
- Never delete or rename existing discovery documents or decision entries