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:
parent
acba1a2da0
commit
c766abdb2b
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
||||
|
|
|
|||
|
|
@ -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?
|
||||
|
|
|
|||
17
CLAUDE.md
17
CLAUDE.md
|
|
@ -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
|
||||
|
||||
|
|
|
|||
22
README.md
22
README.md
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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?
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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?
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue