@the-bearded-bear/claude-craft 8.17.2 → 8.18.0-next.8a8021c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Dev/i18n/de/Workflow/commands/auto-sprint.md +198 -0
- package/Dev/i18n/en/Workflow/commands/auto-sprint.md +198 -0
- package/Dev/i18n/es/Workflow/commands/auto-sprint.md +197 -0
- package/Dev/i18n/fr/Workflow/commands/auto-sprint.md +197 -0
- package/Dev/i18n/pt/Workflow/commands/auto-sprint.md +198 -0
- package/README.md +12 -4
- package/bundles/cursor/.cursorrules +3 -3
- package/bundles/windsurf/.windsurfrules +3 -3
- package/package.json +1 -1
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: End-to-End-Sprint-Orchestrator (Start -> Zerlegung -> Validierung -> Implementierung -> PR -> CI -> Review -> Retro -> Merge)
|
|
3
|
+
argument-hint: "<N> [--auto-merge] [--max-fix-attempts=2] [--max-workers=3] [--base=main] [--dry-run] [--overnight]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Auto Sprint — End-to-End-Sprint-Orchestrator
|
|
7
|
+
|
|
8
|
+
Sie agieren als **Product Owner / Scrum Master** und steuern einen vollständigen Sprint von der Eröffnung bis zum Merge
|
|
9
|
+
in einem **einzigen Befehl**. Jede Zeremonie läuft in einem **isolierten Unter-Agenten**: Das eigene
|
|
10
|
+
Kontextfenster des Unter-Agenten ersetzt das manuelle `/clear` zwischen den Schritten, sodass der
|
|
11
|
+
Orchestrator-Kontext schlank bleibt. Die Implementierungsphase wird **von Ihnen als Dirigent** übernommen
|
|
12
|
+
(gleiche Logik wie `/team:sprint`), um verschachtelte Agent Teams zu vermeiden.
|
|
13
|
+
|
|
14
|
+
Dies automatisiert, was zuvor sechs manuelle Befehle mit einem `/clear` dazwischen erforderte:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/workflow:start N -> /project:decompose-tasks 00N -> /gate:validate-sprint 00N
|
|
18
|
+
-> /team:sprint "sprint-00N" -> /workflow:review N -> /workflow:retro N
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
…und ergänzt dies um: Branch, Commit, Pull Request, CI-Überwachung und Merge.
|
|
22
|
+
|
|
23
|
+
## Argumente
|
|
24
|
+
|
|
25
|
+
$ARGUMENTS
|
|
26
|
+
|
|
27
|
+
- `<N>` : Sprint-Nummer (z.B. `5`). **Erforderlich.**
|
|
28
|
+
- `--auto-merge` : Merge automatisch durchführen, sobald CI grün und DoD bestanden ist. **Standard: AUS** — der
|
|
29
|
+
Befehl pausiert und wartet auf ein explizites menschliches GO vor dem Merge (berücksichtigt „review obligatoire",
|
|
30
|
+
Regel 09, und das Karpathy-Prinzip „kein Auto-Merge ohne menschliche Review").
|
|
31
|
+
- `--max-fix-attempts=2` : Maximale automatische Korrekturversuche pro fehlgeschlagenem Gate vor dem Abbruch (Standard: 2).
|
|
32
|
+
- `--max-workers=3` : Maximale parallele Entwickler-Worker in der Implementierungsphase (Standard: 2, Maximum: 3).
|
|
33
|
+
- `--base=main` : Basis-Branch für den PR (Standard: `main`).
|
|
34
|
+
- `--dry-run` : Gibt die geplanten 9 Phasen und den aufgelösten Sprint-Kontext aus und hält dann an. **Keine Schreibvorgänge.**
|
|
35
|
+
- `--overnight` : Wird an die Implementierungsphase weitergegeben (begrenzt, stoppt um 6 Uhr morgens).
|
|
36
|
+
|
|
37
|
+
## Voraussetzungen
|
|
38
|
+
|
|
39
|
+
- Claude Code v2.1.32+ mit Agent Teams Unterstützung
|
|
40
|
+
- `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` gesetzt
|
|
41
|
+
- `gh` CLI authentifiziert (PR erstellen / Prüfungen / Merge)
|
|
42
|
+
- Docker verfügbar (alle Tests laufen über Docker — siehe Projekt-CLAUDE.md)
|
|
43
|
+
- BMAD v6-Projekt mit vorhandener `.bmad/sprint-status.yaml`
|
|
44
|
+
|
|
45
|
+
> Falls eine Voraussetzung fehlt, sofort mit einer klaren, handlungsorientierten Meldung abbrechen. Eine Phase nicht stillschweigend überspringen.
|
|
46
|
+
|
|
47
|
+
## Normalisierung der Sprint-Nummer
|
|
48
|
+
|
|
49
|
+
Die verketteten Befehle sind sich über das Format uneinig. **Einmalig** in Phase 0 normalisieren und die richtige Form
|
|
50
|
+
an jede Phase übergeben:
|
|
51
|
+
|
|
52
|
+
| Phase | Erwartetes Format |
|
|
53
|
+
|-------|-------------------|
|
|
54
|
+
| `start`, `review`, `retro` | Reine Zahl `N` (z.B. `5`) |
|
|
55
|
+
| `decompose-tasks` | Null-aufgefüllt `00N` (z.B. `005`) |
|
|
56
|
+
| `team:sprint` (Implementierung) | Freier Sprint-Name, aus Ordner / Status-Datei aufgelöst |
|
|
57
|
+
|
|
58
|
+
Den Sprint-Ordner durch Glob-Suche `project-management/sprints/sprint-{N}-*/` auflösen und
|
|
59
|
+
`.bmad/sprint-status.yaml` für den kanonischen Sprint-Namen und die Story-Liste lesen.
|
|
60
|
+
|
|
61
|
+
## Prozess
|
|
62
|
+
|
|
63
|
+
### Phase 0 — Normalisieren & Branch anlegen (direkt)
|
|
64
|
+
|
|
65
|
+
1. `<N>` und Flags parsen. `N`, `00N`, Sprint-Slug und Sprint-Name ableiten.
|
|
66
|
+
2. `project-management/sprints/sprint-{N}-*/` und `.bmad/sprint-status.yaml` auflösen.
|
|
67
|
+
**Abbruch**, falls weder das eine noch das andere existiert (nichts zu orchestrieren).
|
|
68
|
+
3. Sicherstellen, dass der Working Tree sauber ist und `--base` aktuell ist. **Abbruch** bei schmutzigem Tree.
|
|
69
|
+
4. Den Feature-Branch `feature/sprint-{N}-<slug>` von `--base` erstellen / auschecken
|
|
70
|
+
(Regel 09: `main` immer deployfähig — nie direkt auf dem Basis-Branch arbeiten).
|
|
71
|
+
5. Bei `--dry-run`: aufgelösten Kontext + die 9 geplanten Phasen ausgeben und **hier stoppen**.
|
|
72
|
+
|
|
73
|
+
### Phase 1 — Start (Unter-Agent)
|
|
74
|
+
|
|
75
|
+
Einen isolierten Unter-Agenten starten:
|
|
76
|
+
|
|
77
|
+
> „Lesen Sie `.claude/commands/workflow/start.md` und führen Sie es für Sprint **N** aus.
|
|
78
|
+
> Erstellen Sie die Sprint-Ordnerstruktur, `sprint-goal.md` und die Vor-Sprint-Checkliste.
|
|
79
|
+
> Geben Sie eine knappe Zusammenfassung (< 50 Tokens) und die Liste der erstellten Dateien zurück."
|
|
80
|
+
|
|
81
|
+
### Phase 2 — Zerlegung (Unter-Agent)
|
|
82
|
+
|
|
83
|
+
> „Lesen Sie `.claude/commands/project/decompose-tasks.md` und führen Sie es für Sprint **00N** aus.
|
|
84
|
+
> Generieren Sie die Task-Dateien je US, `task-board.md` und den Abhängigkeitsgraphen.
|
|
85
|
+
> Geben Sie eine knappe Zusammenfassung und die erstellten Dateien zurück."
|
|
86
|
+
|
|
87
|
+
### Phase 3 — Gate-Validierung (Unter-Agent + Auto-Korrektur-Schleife)
|
|
88
|
+
|
|
89
|
+
> „Lesen Sie `.claude/commands/gate/validate-sprint.md` und führen Sie es für Sprint **00N** aus.
|
|
90
|
+
> Geben Sie PASS/FAIL, die Punktzahl und die Liste der fehlgeschlagenen Kriterien zurück."
|
|
91
|
+
|
|
92
|
+
**Bei FAIL → Auto-Korrektur-Schleife** (bis zu `--max-fix-attempts`):
|
|
93
|
+
- Einen Korrektur-Unter-Agenten starten, der die gemeldeten Lücken direkt in den Sprint-Dateien behebt
|
|
94
|
+
(Stories nicht `ready-for-dev`, fehlende Schätzungen, ungelöste Abhängigkeiten).
|
|
95
|
+
- Den Validierungs-Unter-Agenten erneut starten.
|
|
96
|
+
- Falls nach `--max-fix-attempts` immer noch fehlgeschlagen → **Abbruch** mit dem Korrekturbericht.
|
|
97
|
+
|
|
98
|
+
### Phase 4 — Implementierung (Sie = Dirigent)
|
|
99
|
+
|
|
100
|
+
Direkt die **`/team:sprint`-Dirigenten-Rolle übernehmen** (kein verschachteltes Agent Team starten):
|
|
101
|
+
|
|
102
|
+
1. `.bmad/sprint-status.yaml` lesen; Stories mit Status `ready-for-dev` filtern.
|
|
103
|
+
2. Datei-Domain-Unabhängigkeit analysieren (`**/Shared/**`, `**/Common/**`, `**/Utils/**`,
|
|
104
|
+
`**/Helpers/**` Überschneidungen markieren → beim gleichen Worker sequenzieren).
|
|
105
|
+
3. Kosten über `Tools/AgentTeams/lib/cost-estimator.sh` schätzen (Fast-Mode-Blockierungsschutz
|
|
106
|
+
und `--max-cost` falls vorhanden berücksichtigen).
|
|
107
|
+
4. `TaskCreate` für einen Entwickler-Worker pro unabhängiger Story (max. `--max-workers`), schlanker Kontext
|
|
108
|
+
(nur `@.claude/references/<project-tech>/CLAUDE.md`). Worker folgen TDD Rot/Grün/Refactoring
|
|
109
|
+
mit **Docker**-Testbefehlen.
|
|
110
|
+
5. `TaskList` alle 30 Sekunden abfragen (nach 3 inaktiven Abfragen auf 60 Sekunden zurückgehen). `TaskList`
|
|
111
|
+
alle 5 Worker-Abschlüsse aktualisieren (Kontext-Kompaktierungs-Absicherung). Worker-Abschlussmeldungen
|
|
112
|
+
auf < 50 Tokens begrenzen.
|
|
113
|
+
6. **DoD** pro Story validieren; `in-progress -> review` in `sprint-status.yaml`
|
|
114
|
+
über das Single-Writer-Pattern umstellen.
|
|
115
|
+
|
|
116
|
+
**Bei DoD-Verfehlung einer Story → Auto-Korrektur-Schleife** (gleiche Wiederholungsanzahl): Worker mit den
|
|
117
|
+
fehlgeschlagenen Prüfungen erneut beauftragen; nach `--max-fix-attempts` die Story als `blocked` markieren und fortfahren.
|
|
118
|
+
|
|
119
|
+
### Phase 5 — Commit & PR (direkt)
|
|
120
|
+
|
|
121
|
+
1. Die Implementierung mit **Conventional Commits** committen (soweit möglich atomar pro Story).
|
|
122
|
+
2. Den Feature-Branch pushen.
|
|
123
|
+
3. Einen **Entwurfs**-PR gegen `--base` über `gh pr create` öffnen (Titel + Beschreibung mit Sprint-Ziel,
|
|
124
|
+
gelieferten Stories und DoD-Status).
|
|
125
|
+
|
|
126
|
+
### Phase 6 — CI-Überwachung (direkt + Auto-Korrektur-Schleife)
|
|
127
|
+
|
|
128
|
+
1. CI überwachen: `gh pr checks --watch` (ca. 30s-Abfrage).
|
|
129
|
+
2. **Bei Rot → Auto-Korrektur-Schleife** (bis zu `--max-fix-attempts`): Protokolle des fehlgeschlagenen Jobs lesen
|
|
130
|
+
(`gh run view --log-failed`), einen Korrektur-Unter-Agenten starten, committen + pushen, erneut überwachen.
|
|
131
|
+
3. Nach `--max-fix-attempts` immer noch rot → **Abbruch** mit dem Bericht über fehlgeschlagene Prüfungen.
|
|
132
|
+
|
|
133
|
+
### Phase 7 — Review (Unter-Agent)
|
|
134
|
+
|
|
135
|
+
> „Lesen Sie `.claude/commands/workflow/review.md` und führen Sie es für Sprint **N** aus (verwendet
|
|
136
|
+
> `git log` / `gh pr` zum Sammeln von Sprint-Daten). Erstellen Sie `sprint-review.md`. Geben Sie eine knappe Zusammenfassung zurück."
|
|
137
|
+
|
|
138
|
+
### Phase 8 — Retro (Unter-Agent)
|
|
139
|
+
|
|
140
|
+
> „Lesen Sie `.claude/commands/workflow/retro.md` und führen Sie es für Sprint **N** aus.
|
|
141
|
+
> Erstellen Sie `sprint-retro.md` mit SMART-Maßnahmen. Geben Sie eine knappe Zusammenfassung zurück."
|
|
142
|
+
|
|
143
|
+
### Phase 9 — Merge (direkt, gesperrt)
|
|
144
|
+
|
|
145
|
+
- **Falls `--auto-merge`** UND CI ist grün UND DoD bestanden:
|
|
146
|
+
`gh pr ready` dann `gh pr merge --squash --delete-branch`.
|
|
147
|
+
- **Andernfalls (Standard)**: **pausieren**. Die abschließende Zusammenfassung, den PR-Link, den CI-Status und den
|
|
148
|
+
DoD-Bericht präsentieren, dann **auf ein explizites menschliches GO warten** bevor gemergt wird.
|
|
149
|
+
|
|
150
|
+
> **Merge-Fehler werden gemeldet, nie hartcodiert.** Falls der Merge durch Branch-Schutz blockiert wird,
|
|
151
|
+
> diesen melden und `--admin` vorschlagen. Falls er blockiert wird, weil der PR `.github/workflows/` berührt
|
|
152
|
+
> und dem Token der `workflow`-Scope fehlt, diesen melden und einen manuellen Squash-und-Push vorschlagen.
|
|
153
|
+
> Keine repository-spezifischen Eigenheiten in diesen generischen Befehl einbauen.
|
|
154
|
+
|
|
155
|
+
## Abschlussbericht
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
================================================================
|
|
159
|
+
AUTO SPRINT — Zusammenfassung
|
|
160
|
+
================================================================
|
|
161
|
+
Sprint : sprint-<N>-<slug>
|
|
162
|
+
Branch : feature/sprint-<N>-<slug>
|
|
163
|
+
Basis : <base>
|
|
164
|
+
PR : <url> (CI: <grün|rot>)
|
|
165
|
+
----------------------------------------------------------------
|
|
166
|
+
Phase | Status | Anmerkungen
|
|
167
|
+
-----------------------|---------|---------------------------------------
|
|
168
|
+
0 Normalisieren | OK | <N>/00<N>, Branch bereit
|
|
169
|
+
1 Start | OK | sprint-goal.md
|
|
170
|
+
2 Zerlegung | OK | N Task-Dateien
|
|
171
|
+
3 Gate-Validierung | OK | Punktzahl X% (Y Korrekturversuche)
|
|
172
|
+
4 Implementierung | OK | A/B Stories, C blockiert
|
|
173
|
+
5 Commit + PR | OK | <url>
|
|
174
|
+
6 CI-Überwachung | OK | grün (Z Korrekturversuche)
|
|
175
|
+
7 Review | OK | sprint-review.md
|
|
176
|
+
8 Retro | OK | sprint-retro.md
|
|
177
|
+
9 Merge | PAUSIERT| wartet auf menschliches GO (oder GEMERGT)
|
|
178
|
+
================================================================
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Fehlerbehandlung
|
|
182
|
+
|
|
183
|
+
| Situation | Verhalten |
|
|
184
|
+
|-----------|-----------|
|
|
185
|
+
| Sprint-Ordner / Status-Datei fehlt | Abbruch in Phase 0 |
|
|
186
|
+
| Working Tree schmutzig | Abbruch in Phase 0 |
|
|
187
|
+
| Gate-Validierung schlägt nach Wiederholungen fehl | Abbruch mit Korrekturbericht |
|
|
188
|
+
| Story-DoD-Verfehlung nach Wiederholungen | Als `blocked` markieren, fortfahren, am Ende berichten |
|
|
189
|
+
| CI rot nach Wiederholungen | Abbruch mit Bericht über fehlgeschlagene Prüfungen |
|
|
190
|
+
| Merge blockiert (Schutz / Scope) | Fehler melden + vorgeschlagenes Flag, nicht erzwingen |
|
|
191
|
+
| Agent Teams nicht verfügbar | Abbruch von Phase 4 mit Setup-Hinweis (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`) |
|
|
192
|
+
|
|
193
|
+
## Hinweise
|
|
194
|
+
|
|
195
|
+
- **Keine verschachtelten Agent Teams**: Die Dirigenten-Rolle in Phase 4 selbst übernehmen.
|
|
196
|
+
- **Auto-Merge ist opt-in** und absichtlich hinter einem Flag gesperrt.
|
|
197
|
+
- **Docker ist obligatorisch** für Tests (Projekt-CLAUDE.md).
|
|
198
|
+
- Die Isolation der Unter-Agenten ersetzt `/clear` — jeden Unter-Agenten-Bericht knapp halten.
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: End-to-end sprint orchestrator (start -> decompose -> validate -> implement -> PR -> CI -> review -> retro -> merge)
|
|
3
|
+
argument-hint: "<N> [--auto-merge] [--max-fix-attempts=2] [--max-workers=3] [--base=main] [--dry-run] [--overnight]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Auto Sprint — End-to-End Sprint Orchestrator
|
|
7
|
+
|
|
8
|
+
You act as **Product Owner / Scrum Master** and drive a full sprint from kick-off to merge
|
|
9
|
+
in a **single command**. Each ceremony runs inside an **isolated sub-agent**: the sub-agent's
|
|
10
|
+
own context window replaces the manual `/clear` between steps, so your orchestrator context
|
|
11
|
+
stays lean. The implementation phase is run by **you as conductor** (same logic as
|
|
12
|
+
`/team:sprint`) to avoid nesting Agent Teams.
|
|
13
|
+
|
|
14
|
+
This automates what was previously six manual commands with a `/clear` in between:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/workflow:start N -> /project:decompose-tasks 00N -> /gate:validate-sprint 00N
|
|
18
|
+
-> /team:sprint "sprint-00N" -> /workflow:review N -> /workflow:retro N
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
…and adds: branch, commit, Pull Request, CI watch, and merge.
|
|
22
|
+
|
|
23
|
+
## Arguments
|
|
24
|
+
|
|
25
|
+
$ARGUMENTS
|
|
26
|
+
|
|
27
|
+
- `<N>` : Sprint number (e.g. `5`). **Required.**
|
|
28
|
+
- `--auto-merge` : Merge automatically once CI is green and DoD passes. **Default: OFF** — the
|
|
29
|
+
command pauses and waits for an explicit human GO before merging (honors "review obligatoire",
|
|
30
|
+
rule 09, and the Karpathy "no auto-merge without human review" principle).
|
|
31
|
+
- `--max-fix-attempts=2` : Max auto-fix retries per failing gate before aborting (default: 2).
|
|
32
|
+
- `--max-workers=3` : Max parallel dev workers in the implementation phase (default: 2, max: 3).
|
|
33
|
+
- `--base=main` : Base branch for the PR (default: `main`).
|
|
34
|
+
- `--dry-run` : Print the planned 9 phases and the resolved sprint context, then stop. **No writes.**
|
|
35
|
+
- `--overnight` : Pass-through to the implementation phase (bounded, stops at 6am).
|
|
36
|
+
|
|
37
|
+
## Prerequisites
|
|
38
|
+
|
|
39
|
+
- Claude Code v2.1.32+ with Agent Teams support
|
|
40
|
+
- `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` set
|
|
41
|
+
- `gh` CLI authenticated (PR create / checks / merge)
|
|
42
|
+
- Docker available (all tests run via Docker — see project CLAUDE.md)
|
|
43
|
+
- BMAD v6 project with `.bmad/sprint-status.yaml` present
|
|
44
|
+
|
|
45
|
+
> If a prerequisite is missing, abort early with a clear, actionable message. Do not silently skip a phase.
|
|
46
|
+
|
|
47
|
+
## Sprint number normalization
|
|
48
|
+
|
|
49
|
+
The chained commands disagree on format. Normalize **once** in Phase 0 and pass the right form
|
|
50
|
+
to each phase:
|
|
51
|
+
|
|
52
|
+
| Phase | Expected form |
|
|
53
|
+
|-------|---------------|
|
|
54
|
+
| `start`, `review`, `retro` | bare `N` (e.g. `5`) |
|
|
55
|
+
| `decompose-tasks` | zero-padded `00N` (e.g. `005`) |
|
|
56
|
+
| `team:sprint` (implementation) | free-form sprint name resolved from the folder / status file |
|
|
57
|
+
|
|
58
|
+
Resolve the sprint folder by globbing `project-management/sprints/sprint-{N}-*/` and read
|
|
59
|
+
`.bmad/sprint-status.yaml` for the canonical sprint name and story list.
|
|
60
|
+
|
|
61
|
+
## Process
|
|
62
|
+
|
|
63
|
+
### Phase 0 — Normalize & branch (inline)
|
|
64
|
+
|
|
65
|
+
1. Parse `<N>` and flags. Derive `N`, `00N`, sprint slug, and sprint name.
|
|
66
|
+
2. Resolve `project-management/sprints/sprint-{N}-*/` and `.bmad/sprint-status.yaml`.
|
|
67
|
+
**Abort** if neither exists (nothing to orchestrate).
|
|
68
|
+
3. Verify the working tree is clean and `--base` is up to date. **Abort** if dirty.
|
|
69
|
+
4. Create / checkout the feature branch `feature/sprint-{N}-<slug>` from `--base`
|
|
70
|
+
(rule 09: `main` always deployable — never work directly on the base branch).
|
|
71
|
+
5. If `--dry-run`: print the resolved context + the 9 planned phases and **stop here**.
|
|
72
|
+
|
|
73
|
+
### Phase 1 — Start (sub-agent)
|
|
74
|
+
|
|
75
|
+
Spawn one isolated sub-agent:
|
|
76
|
+
|
|
77
|
+
> "Read `.claude/commands/workflow/start.md` and execute it for sprint **N**.
|
|
78
|
+
> Create the sprint folder structure, `sprint-goal.md`, and the pre-sprint checklist.
|
|
79
|
+
> Return a terse summary (< 50 tokens) and the list of files created."
|
|
80
|
+
|
|
81
|
+
### Phase 2 — Decompose (sub-agent)
|
|
82
|
+
|
|
83
|
+
> "Read `.claude/commands/project/decompose-tasks.md` and execute it for sprint **00N**.
|
|
84
|
+
> Generate the per-US task files, `task-board.md`, and the dependency graph.
|
|
85
|
+
> Return a terse summary and the files created."
|
|
86
|
+
|
|
87
|
+
### Phase 3 — Validate gate (sub-agent + auto-fix loop)
|
|
88
|
+
|
|
89
|
+
> "Read `.claude/commands/gate/validate-sprint.md` and run it for sprint **00N**.
|
|
90
|
+
> Return PASS/FAIL, the score, and the list of failing criteria."
|
|
91
|
+
|
|
92
|
+
**On FAIL → auto-fix loop** (up to `--max-fix-attempts`):
|
|
93
|
+
- Spawn a remediation sub-agent that fixes the reported gaps (stories not `ready-for-dev`,
|
|
94
|
+
missing estimates, unresolved dependencies) directly in the sprint files.
|
|
95
|
+
- Re-run the validation sub-agent.
|
|
96
|
+
- If still failing after `--max-fix-attempts` → **abort** with the remediation report.
|
|
97
|
+
|
|
98
|
+
### Phase 4 — Implement (you = conductor)
|
|
99
|
+
|
|
100
|
+
Assume the **`/team:sprint` conductor role directly** (do **not** spawn a nested Agent Team):
|
|
101
|
+
|
|
102
|
+
1. Read `.bmad/sprint-status.yaml`; filter stories at `ready-for-dev`.
|
|
103
|
+
2. Analyze file-domain independence (flag `**/Shared/**`, `**/Common/**`, `**/Utils/**`,
|
|
104
|
+
`**/Helpers/**` overlaps → sequence in the same worker).
|
|
105
|
+
3. Estimate cost via `Tools/AgentTeams/lib/cost-estimator.sh` (honor the Fast Mode blocking
|
|
106
|
+
guard and `--max-cost` if present).
|
|
107
|
+
4. `TaskCreate` one dev worker per independent story (max `--max-workers`), lean context
|
|
108
|
+
(only `@.claude/references/<project-tech>/CLAUDE.md`). Workers follow TDD Red/Green/Refactor
|
|
109
|
+
with **Docker** test commands.
|
|
110
|
+
5. Poll `TaskList` every 30s (back off to 60s after 3 idle polls). Refresh `TaskList`
|
|
111
|
+
every 5 worker completions (context-compaction mitigation). Cap worker completion messages
|
|
112
|
+
at < 50 tokens.
|
|
113
|
+
6. Validate the **DoD** per story; transition `in-progress -> review` in `sprint-status.yaml`
|
|
114
|
+
via the single-writer pattern.
|
|
115
|
+
|
|
116
|
+
**On DoD miss for a story → auto-fix loop** (same retry budget): re-task the worker with the
|
|
117
|
+
failing checks; after `--max-fix-attempts`, mark the story `blocked` and continue.
|
|
118
|
+
|
|
119
|
+
### Phase 5 — Commit & PR (inline)
|
|
120
|
+
|
|
121
|
+
1. Commit the implementation with **Conventional Commits** (atomic per story where possible).
|
|
122
|
+
2. Push the feature branch.
|
|
123
|
+
3. Open a **draft** PR against `--base` via `gh pr create` (title + body summarizing the sprint
|
|
124
|
+
goal, stories delivered, and DoD status).
|
|
125
|
+
|
|
126
|
+
### Phase 6 — CI watch (inline + auto-fix loop)
|
|
127
|
+
|
|
128
|
+
1. Watch CI: `gh pr checks --watch` (poll ~30s).
|
|
129
|
+
2. **On red → auto-fix loop** (up to `--max-fix-attempts`): read the failing job logs
|
|
130
|
+
(`gh run view --log-failed`), spawn a fix sub-agent, commit + push, re-watch.
|
|
131
|
+
3. After `--max-fix-attempts` still red → **abort** with the failing-check report.
|
|
132
|
+
|
|
133
|
+
### Phase 7 — Review (sub-agent)
|
|
134
|
+
|
|
135
|
+
> "Read `.claude/commands/workflow/review.md` and execute it for sprint **N** (it uses
|
|
136
|
+
> `git log` / `gh pr` to gather sprint data). Produce `sprint-review.md`. Return a terse summary."
|
|
137
|
+
|
|
138
|
+
### Phase 8 — Retro (sub-agent)
|
|
139
|
+
|
|
140
|
+
> "Read `.claude/commands/workflow/retro.md` and execute it for sprint **N**.
|
|
141
|
+
> Produce `sprint-retro.md` with SMART action items. Return a terse summary."
|
|
142
|
+
|
|
143
|
+
### Phase 9 — Merge (inline, gated)
|
|
144
|
+
|
|
145
|
+
- **If `--auto-merge`** AND CI is green AND DoD passed:
|
|
146
|
+
`gh pr ready` then `gh pr merge --squash --delete-branch`.
|
|
147
|
+
- **Otherwise (default)**: **pause**. Present the final summary, the PR link, CI status, and the
|
|
148
|
+
DoD report, then **wait for an explicit human GO** before merging.
|
|
149
|
+
|
|
150
|
+
> **Merge errors are surfaced, never hardcoded.** If the merge is blocked by branch protection,
|
|
151
|
+
> report it and suggest `--admin`. If it is blocked because the PR touches `.github/workflows/`
|
|
152
|
+
> and the token lacks the `workflow` scope, report that and suggest a manual squash-and-push.
|
|
153
|
+
> Do not bake repository-specific quirks into this generic command.
|
|
154
|
+
|
|
155
|
+
## Final report
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
================================================================
|
|
159
|
+
AUTO SPRINT — Summary
|
|
160
|
+
================================================================
|
|
161
|
+
Sprint : sprint-<N>-<slug>
|
|
162
|
+
Branch : feature/sprint-<N>-<slug>
|
|
163
|
+
Base : <base>
|
|
164
|
+
PR : <url> (CI: <green|red>)
|
|
165
|
+
----------------------------------------------------------------
|
|
166
|
+
Phase | Status | Notes
|
|
167
|
+
-----------------|--------|---------------------------------------
|
|
168
|
+
0 Normalize | OK | <N>/00<N>, branch ready
|
|
169
|
+
1 Start | OK | sprint-goal.md
|
|
170
|
+
2 Decompose | OK | N task files
|
|
171
|
+
3 Validate gate | OK | score X% (Y fix attempts)
|
|
172
|
+
4 Implement | OK | A/B stories, C blocked
|
|
173
|
+
5 Commit + PR | OK | <url>
|
|
174
|
+
6 CI watch | OK | green (Z fix attempts)
|
|
175
|
+
7 Review | OK | sprint-review.md
|
|
176
|
+
8 Retro | OK | sprint-retro.md
|
|
177
|
+
9 Merge | PAUSED | awaiting human GO (or MERGED)
|
|
178
|
+
================================================================
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Error handling
|
|
182
|
+
|
|
183
|
+
| Situation | Behavior |
|
|
184
|
+
|-----------|----------|
|
|
185
|
+
| Sprint folder / status file missing | Abort in Phase 0 |
|
|
186
|
+
| Working tree dirty | Abort in Phase 0 |
|
|
187
|
+
| Validate gate fails after retries | Abort with remediation report |
|
|
188
|
+
| Story DoD miss after retries | Mark `blocked`, continue, report at the end |
|
|
189
|
+
| CI red after retries | Abort with failing-check report |
|
|
190
|
+
| Merge blocked (protection / scope) | Surface the error + suggested flag, do not force |
|
|
191
|
+
| Agent Teams unavailable | Abort Phase 4 with a setup hint (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`) |
|
|
192
|
+
|
|
193
|
+
## Notes
|
|
194
|
+
|
|
195
|
+
- **No nested Agent Teams**: you run the conductor role yourself in Phase 4.
|
|
196
|
+
- **Auto-merge is opt-in** and intentionally gated behind a flag.
|
|
197
|
+
- **Docker is mandatory** for tests (project CLAUDE.md).
|
|
198
|
+
- Sub-agent isolation is what replaces `/clear` — keep each sub-agent report terse.
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Orquestador de sprint de extremo a extremo (inicio -> descomposición -> validación -> implementación -> PR -> CI -> revisión -> retro -> merge)
|
|
3
|
+
argument-hint: "<N> [--auto-merge] [--max-fix-attempts=2] [--max-workers=3] [--base=main] [--dry-run] [--overnight]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Auto Sprint — Orquestador de Sprint de Extremo a Extremo
|
|
7
|
+
|
|
8
|
+
Actúas como **Product Owner / Scrum Master** y conduces un sprint completo desde el arranque hasta el merge
|
|
9
|
+
en un **único comando**. Cada ceremonia se ejecuta dentro de un **sub-agente aislado**: la ventana de
|
|
10
|
+
contexto propia del sub-agente reemplaza el `/clear` manual entre pasos, de modo que el contexto del
|
|
11
|
+
orquestador se mantiene liviano. La fase de implementación la ejecutas **tú como conductor** (misma lógica
|
|
12
|
+
que `/team:sprint`) para evitar el anidamiento de Agent Teams.
|
|
13
|
+
|
|
14
|
+
Esto automatiza lo que antes eran seis comandos manuales con un `/clear` de por medio:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/workflow:start N -> /project:decompose-tasks 00N -> /gate:validate-sprint 00N
|
|
18
|
+
-> /team:sprint "sprint-00N" -> /workflow:review N -> /workflow:retro N
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
…y añade: rama, commit, Pull Request, vigilancia de CI y merge.
|
|
22
|
+
|
|
23
|
+
## Argumentos
|
|
24
|
+
|
|
25
|
+
$ARGUMENTS
|
|
26
|
+
|
|
27
|
+
- `<N>` : Número de sprint (p. ej. `5`). **Obligatorio.**
|
|
28
|
+
- `--auto-merge` : Realiza el merge automáticamente una vez que la CI esté en verde y el DoD se haya aprobado. **Por defecto: DESACTIVADO** — el
|
|
29
|
+
comando hace una pausa y espera una confirmación humana explícita antes de hacer el merge (respeta la "revisión obligatoria",
|
|
30
|
+
regla 09, y el principio Karpathy de "no auto-merge sin revisión humana").
|
|
31
|
+
- `--max-fix-attempts=2` : Máximo de reintentos de corrección automática por gate fallido antes de abortar (por defecto: 2).
|
|
32
|
+
- `--max-workers=3` : Máximo de workers de desarrollo en paralelo durante la fase de implementación (por defecto: 2, máximo: 3).
|
|
33
|
+
- `--base=main` : Rama base para la PR (por defecto: `main`).
|
|
34
|
+
- `--dry-run` : Muestra las 9 fases planificadas y el contexto de sprint resuelto, luego se detiene. **Sin escrituras.**
|
|
35
|
+
- `--overnight` : Se pasa directamente a la fase de implementación (acotada, se detiene a las 6 a.m.).
|
|
36
|
+
|
|
37
|
+
## Requisitos previos
|
|
38
|
+
|
|
39
|
+
- Claude Code v2.1.32+ con soporte de Agent Teams
|
|
40
|
+
- `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` configurado
|
|
41
|
+
- CLI `gh` autenticada (creación de PR / checks / merge)
|
|
42
|
+
- Docker disponible (todos los tests se ejecutan vía Docker — ver CLAUDE.md del proyecto)
|
|
43
|
+
- Proyecto BMAD v6 con `.bmad/sprint-status.yaml` presente
|
|
44
|
+
|
|
45
|
+
> Si falta algún requisito previo, abortar de inmediato con un mensaje claro y accionable. No omitir ninguna fase en silencio.
|
|
46
|
+
|
|
47
|
+
## Normalización del número de sprint
|
|
48
|
+
|
|
49
|
+
Los comandos encadenados difieren en el formato esperado. Normalizar **una sola vez** en la Fase 0 y pasar
|
|
50
|
+
la forma correcta a cada fase:
|
|
51
|
+
|
|
52
|
+
| Fase | Formato esperado |
|
|
53
|
+
|------|-----------------|
|
|
54
|
+
| `start`, `review`, `retro` | `N` simple (p. ej. `5`) |
|
|
55
|
+
| `decompose-tasks` | `00N` con ceros iniciales (p. ej. `005`) |
|
|
56
|
+
| `team:sprint` (implementación) | nombre libre de sprint resuelto desde la carpeta / archivo de estado |
|
|
57
|
+
|
|
58
|
+
Resolver la carpeta del sprint mediante un glob `project-management/sprints/sprint-{N}-*/` y leer
|
|
59
|
+
`.bmad/sprint-status.yaml` para obtener el nombre canónico del sprint y la lista de historias.
|
|
60
|
+
|
|
61
|
+
## Proceso
|
|
62
|
+
|
|
63
|
+
### Fase 0 — Normalización y rama (en línea)
|
|
64
|
+
|
|
65
|
+
1. Parsear `<N>` y los flags. Derivar `N`, `00N`, el slug del sprint y el nombre del sprint.
|
|
66
|
+
2. Resolver `project-management/sprints/sprint-{N}-*/` y `.bmad/sprint-status.yaml`.
|
|
67
|
+
**Abortar** si ninguno existe (no hay nada que orquestar).
|
|
68
|
+
3. Verificar que el árbol de trabajo esté limpio y que `--base` esté actualizado. **Abortar** si está sucio.
|
|
69
|
+
4. Crear / hacer checkout de la rama de feature `feature/sprint-{N}-<slug>` desde `--base`
|
|
70
|
+
(regla 09: `main` siempre desplegable — nunca trabajar directamente sobre la rama base).
|
|
71
|
+
5. Si `--dry-run`: mostrar el contexto resuelto + las 9 fases planificadas y **detenerse aquí**.
|
|
72
|
+
|
|
73
|
+
### Fase 1 — Inicio (sub-agente)
|
|
74
|
+
|
|
75
|
+
Lanzar un sub-agente aislado:
|
|
76
|
+
|
|
77
|
+
> "Lee `.claude/commands/workflow/start.md` y ejecútalo para el sprint **N**.
|
|
78
|
+
> Crea la estructura de carpetas del sprint, `sprint-goal.md` y el checklist previo al sprint.
|
|
79
|
+
> Devuelve un resumen breve (< 50 tokens) y la lista de archivos creados."
|
|
80
|
+
|
|
81
|
+
### Fase 2 — Descomposición (sub-agente)
|
|
82
|
+
|
|
83
|
+
> "Lee `.claude/commands/project/decompose-tasks.md` y ejecútalo para el sprint **00N**.
|
|
84
|
+
> Genera los archivos de tareas por historia de usuario, `task-board.md` y el grafo de dependencias.
|
|
85
|
+
> Devuelve un resumen breve y los archivos creados."
|
|
86
|
+
|
|
87
|
+
### Fase 3 — Validación de gate (sub-agente + bucle de corrección automática)
|
|
88
|
+
|
|
89
|
+
> "Lee `.claude/commands/gate/validate-sprint.md` y ejecútalo para el sprint **00N**.
|
|
90
|
+
> Devuelve PASS/FAIL, la puntuación y la lista de criterios fallidos."
|
|
91
|
+
|
|
92
|
+
**En caso de FAIL → bucle de corrección automática** (hasta `--max-fix-attempts`):
|
|
93
|
+
- Lanzar un sub-agente de remediación que corrija los gaps reportados (historias no en `ready-for-dev`,
|
|
94
|
+
estimaciones faltantes, dependencias no resueltas) directamente en los archivos del sprint.
|
|
95
|
+
- Volver a ejecutar el sub-agente de validación.
|
|
96
|
+
- Si sigue fallando tras `--max-fix-attempts` → **abortar** con el informe de remediación.
|
|
97
|
+
|
|
98
|
+
### Fase 4 — Implementación (tú = conductor)
|
|
99
|
+
|
|
100
|
+
Asumir directamente el **rol de conductor de `/team:sprint`** (**no** lanzar un Agent Team anidado):
|
|
101
|
+
|
|
102
|
+
1. Leer `.bmad/sprint-status.yaml`; filtrar historias en estado `ready-for-dev`.
|
|
103
|
+
2. Analizar la independencia de dominio de archivos (marcar solapamientos de `**/Shared/**`, `**/Common/**`, `**/Utils/**`,
|
|
104
|
+
`**/Helpers/**` → secuenciar en el mismo worker).
|
|
105
|
+
3. Estimar el coste mediante `Tools/AgentTeams/lib/cost-estimator.sh` (respetar el bloqueo de modo Fast
|
|
106
|
+
y `--max-cost` si está presente).
|
|
107
|
+
4. `TaskCreate` con un worker de desarrollo por historia independiente (máximo `--max-workers`), contexto mínimo
|
|
108
|
+
(solo `@.claude/references/<project-tech>/CLAUDE.md`). Los workers siguen el ciclo TDD Rojo/Verde/Refactorizar
|
|
109
|
+
con comandos de test vía **Docker**.
|
|
110
|
+
5. Sondear `TaskList` cada 30s (ralentizar a 60s tras 3 sondeos sin actividad). Actualizar `TaskList`
|
|
111
|
+
cada 5 completaciones de workers (mitigación de compactación de contexto). Limitar los mensajes de
|
|
112
|
+
completación de workers a < 50 tokens.
|
|
113
|
+
6. Validar el **DoD** por historia; hacer la transición `in-progress -> review` en `sprint-status.yaml`
|
|
114
|
+
mediante el patrón de escritor único.
|
|
115
|
+
|
|
116
|
+
**En caso de fallo de DoD en una historia → bucle de corrección automática** (mismo presupuesto de reintentos): re-asignar la historia al worker con los checks fallidos; tras `--max-fix-attempts`, marcar la historia como `blocked` y continuar.
|
|
117
|
+
|
|
118
|
+
### Fase 5 — Commit y PR (en línea)
|
|
119
|
+
|
|
120
|
+
1. Hacer commit de la implementación con **Conventional Commits** (atómico por historia cuando sea posible).
|
|
121
|
+
2. Hacer push de la rama de feature.
|
|
122
|
+
3. Abrir una PR en modo **borrador** contra `--base` mediante `gh pr create` (título + cuerpo que resuma el
|
|
123
|
+
objetivo del sprint, las historias entregadas y el estado del DoD).
|
|
124
|
+
|
|
125
|
+
### Fase 6 — Vigilancia de CI (en línea + bucle de corrección automática)
|
|
126
|
+
|
|
127
|
+
1. Vigilar la CI: `gh pr checks --watch` (sondeo cada ~30s).
|
|
128
|
+
2. **En rojo → bucle de corrección automática** (hasta `--max-fix-attempts`): leer los logs del job fallido
|
|
129
|
+
(`gh run view --log-failed`), lanzar un sub-agente de corrección, hacer commit + push, y volver a vigilar.
|
|
130
|
+
3. Tras `--max-fix-attempts` todavía en rojo → **abortar** con el informe del check fallido.
|
|
131
|
+
|
|
132
|
+
### Fase 7 — Revisión (sub-agente)
|
|
133
|
+
|
|
134
|
+
> "Lee `.claude/commands/workflow/review.md` y ejecútalo para el sprint **N** (usa
|
|
135
|
+
> `git log` / `gh pr` para recopilar los datos del sprint). Produce `sprint-review.md`. Devuelve un resumen breve."
|
|
136
|
+
|
|
137
|
+
### Fase 8 — Retrospectiva (sub-agente)
|
|
138
|
+
|
|
139
|
+
> "Lee `.claude/commands/workflow/retro.md` y ejecútalo para el sprint **N**.
|
|
140
|
+
> Produce `sprint-retro.md` con puntos de acción SMART. Devuelve un resumen breve."
|
|
141
|
+
|
|
142
|
+
### Fase 9 — Merge (en línea, con gate)
|
|
143
|
+
|
|
144
|
+
- **Si `--auto-merge`** Y la CI está en verde Y el DoD ha pasado:
|
|
145
|
+
`gh pr ready` seguido de `gh pr merge --squash --delete-branch`.
|
|
146
|
+
- **En caso contrario (por defecto)**: **pausa**. Presentar el resumen final, el enlace a la PR, el estado de la CI y el
|
|
147
|
+
informe del DoD, luego **esperar una confirmación humana explícita** antes de hacer el merge.
|
|
148
|
+
|
|
149
|
+
> **Los errores de merge se muestran, nunca se ignoran.** Si el merge está bloqueado por protección de rama,
|
|
150
|
+
> informar de ello y sugerir `--admin`. Si está bloqueado porque la PR toca `.github/workflows/`
|
|
151
|
+
> y el token no tiene el scope `workflow`, informar de ello y sugerir un squash-and-push manual.
|
|
152
|
+
> No incorporar quirks específicos del repositorio en este comando genérico.
|
|
153
|
+
|
|
154
|
+
## Informe final
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
================================================================
|
|
158
|
+
AUTO SPRINT — Resumen
|
|
159
|
+
================================================================
|
|
160
|
+
Sprint : sprint-<N>-<slug>
|
|
161
|
+
Rama : feature/sprint-<N>-<slug>
|
|
162
|
+
Base : <base>
|
|
163
|
+
PR : <url> (CI: <verde|roja>)
|
|
164
|
+
----------------------------------------------------------------
|
|
165
|
+
Fase | Estado | Notas
|
|
166
|
+
----------------------|---------|---------------------------------------
|
|
167
|
+
0 Normalización | OK | <N>/00<N>, rama lista
|
|
168
|
+
1 Inicio | OK | sprint-goal.md
|
|
169
|
+
2 Descomposición | OK | N archivos de tareas
|
|
170
|
+
3 Validación de gate | OK | puntuación X% (Y intentos de corrección)
|
|
171
|
+
4 Implementación | OK | A/B historias, C bloqueadas
|
|
172
|
+
5 Commit + PR | OK | <url>
|
|
173
|
+
6 Vigilancia CI | OK | verde (Z intentos de corrección)
|
|
174
|
+
7 Revisión | OK | sprint-review.md
|
|
175
|
+
8 Retrospectiva | OK | sprint-retro.md
|
|
176
|
+
9 Merge | EN PAUSA| esperando confirmación humana (o MERGEADO)
|
|
177
|
+
================================================================
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Manejo de errores
|
|
181
|
+
|
|
182
|
+
| Situación | Comportamiento |
|
|
183
|
+
|-----------|---------------|
|
|
184
|
+
| Carpeta de sprint / archivo de estado ausente | Abortar en la Fase 0 |
|
|
185
|
+
| Árbol de trabajo sucio | Abortar en la Fase 0 |
|
|
186
|
+
| Gate de validación falla tras reintentos | Abortar con informe de remediación |
|
|
187
|
+
| Fallo de DoD en historia tras reintentos | Marcar `blocked`, continuar, informar al final |
|
|
188
|
+
| CI en rojo tras reintentos | Abortar con informe del check fallido |
|
|
189
|
+
| Merge bloqueado (protección / scope) | Mostrar el error + flag sugerido, no forzar |
|
|
190
|
+
| Agent Teams no disponible | Abortar la Fase 4 con una pista de configuración (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`) |
|
|
191
|
+
|
|
192
|
+
## Notas
|
|
193
|
+
|
|
194
|
+
- **Sin Agent Teams anidados**: tú ejecutas el rol de conductor directamente en la Fase 4.
|
|
195
|
+
- **El auto-merge es opt-in** e intencionalmente requiere pasar un flag explícito.
|
|
196
|
+
- **Docker es obligatorio** para los tests (CLAUDE.md del proyecto).
|
|
197
|
+
- El aislamiento de sub-agentes es lo que reemplaza el `/clear` — mantener cada informe de sub-agente breve.
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Orchestrateur de sprint de bout en bout (démarrage -> décomposition -> validation -> implémentation -> PR -> CI -> revue -> rétro -> merge)
|
|
3
|
+
argument-hint: "<N> [--auto-merge] [--max-fix-attempts=2] [--max-workers=3] [--base=main] [--dry-run] [--overnight]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Auto Sprint — Orchestrateur de Sprint de Bout en Bout
|
|
7
|
+
|
|
8
|
+
Tu joues le rôle de **Product Owner / Scrum Master** et tu pilotes un sprint complet, du lancement au merge,
|
|
9
|
+
en **une seule commande**. Chaque cérémonie s'exécute dans un **sous-agent isolé** : la fenêtre de contexte
|
|
10
|
+
propre au sous-agent remplace le `/clear` manuel entre les étapes, ce qui permet à ton contexte d'orchestrateur
|
|
11
|
+
de rester léger. La phase d'implémentation est conduite **par toi en tant que chef d'orchestre** (même logique
|
|
12
|
+
que `/team:sprint`) afin d'éviter l'imbrication d'Agent Teams.
|
|
13
|
+
|
|
14
|
+
Cette commande automatise ce qui nécessitait auparavant six commandes manuelles avec un `/clear` entre chaque :
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/workflow:start N -> /project:decompose-tasks 00N -> /gate:validate-sprint 00N
|
|
18
|
+
-> /team:sprint "sprint-00N" -> /workflow:review N -> /workflow:retro N
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
…et ajoute : branche, commit, Pull Request, surveillance CI et merge.
|
|
22
|
+
|
|
23
|
+
## Arguments
|
|
24
|
+
|
|
25
|
+
$ARGUMENTS
|
|
26
|
+
|
|
27
|
+
- `<N>` : Numéro du sprint (ex. `5`). **Obligatoire.**
|
|
28
|
+
- `--auto-merge` : Merge automatiquement dès que la CI est verte et que la DoD est validée. **Défaut : DÉSACTIVÉ** — la
|
|
29
|
+
commande se met en pause et attend un GO humain explicite avant de merger (respecte la règle de « revue obligatoire »,
|
|
30
|
+
règle 09, et le principe Karpathy « pas d'auto-merge sans revue humaine »).
|
|
31
|
+
- `--max-fix-attempts=2` : Nombre maximal de tentatives de correction automatique par gate échoué avant abandon (défaut : 2).
|
|
32
|
+
- `--max-workers=3` : Nombre maximal de workers dev parallèles pendant la phase d'implémentation (défaut : 2, max : 3).
|
|
33
|
+
- `--base=main` : Branche de base pour la PR (défaut : `main`).
|
|
34
|
+
- `--dry-run` : Affiche les 9 phases planifiées et le contexte de sprint résolu, puis s'arrête. **Aucune écriture.**
|
|
35
|
+
- `--overnight` : Transmis à la phase d'implémentation (borné, s'arrête à 6h).
|
|
36
|
+
|
|
37
|
+
## Prérequis
|
|
38
|
+
|
|
39
|
+
- Claude Code v2.1.32+ avec le support Agent Teams
|
|
40
|
+
- `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` défini
|
|
41
|
+
- CLI `gh` authentifié (création de PR / checks / merge)
|
|
42
|
+
- Docker disponible (tous les tests s'exécutent via Docker — voir le CLAUDE.md du projet)
|
|
43
|
+
- Projet BMAD v6 avec `.bmad/sprint-status.yaml` présent
|
|
44
|
+
|
|
45
|
+
> Si un prérequis est manquant, abandonner immédiatement avec un message clair et actionnable. Ne jamais ignorer silencieusement une phase.
|
|
46
|
+
|
|
47
|
+
## Normalisation du numéro de sprint
|
|
48
|
+
|
|
49
|
+
Les commandes chaînées ne s'accordent pas sur le format. Normaliser **une seule fois** en Phase 0 et transmettre
|
|
50
|
+
la bonne forme à chaque phase :
|
|
51
|
+
|
|
52
|
+
| Phase | Forme attendue |
|
|
53
|
+
|-------|----------------|
|
|
54
|
+
| `start`, `review`, `retro` | `N` brut (ex. `5`) |
|
|
55
|
+
| `decompose-tasks` | `00N` avec zéros (ex. `005`) |
|
|
56
|
+
| `team:sprint` (implémentation) | nom libre du sprint résolu depuis le dossier / fichier de statut |
|
|
57
|
+
|
|
58
|
+
Résoudre le dossier du sprint via glob `project-management/sprints/sprint-{N}-*/` et lire
|
|
59
|
+
`.bmad/sprint-status.yaml` pour le nom canonique du sprint et la liste de stories.
|
|
60
|
+
|
|
61
|
+
## Processus
|
|
62
|
+
|
|
63
|
+
### Phase 0 — Normalisation & branche (inline)
|
|
64
|
+
|
|
65
|
+
1. Parser `<N>` et les drapeaux. Dériver `N`, `00N`, le slug et le nom du sprint.
|
|
66
|
+
2. Résoudre `project-management/sprints/sprint-{N}-*/` et `.bmad/sprint-status.yaml`.
|
|
67
|
+
**Abandonner** si aucun des deux n'existe (rien à orchestrer).
|
|
68
|
+
3. Vérifier que l'arbre de travail est propre et que `--base` est à jour. **Abandonner** si sale.
|
|
69
|
+
4. Créer / basculer sur la branche feature `feature/sprint-{N}-<slug>` depuis `--base`
|
|
70
|
+
(règle 09 : `main` toujours déployable — ne jamais travailler directement sur la branche de base).
|
|
71
|
+
5. Si `--dry-run` : afficher le contexte résolu + les 9 phases planifiées et **s'arrêter ici**.
|
|
72
|
+
|
|
73
|
+
### Phase 1 — Démarrage (sous-agent)
|
|
74
|
+
|
|
75
|
+
Instancier un sous-agent isolé :
|
|
76
|
+
|
|
77
|
+
> « Lis `.claude/commands/workflow/start.md` et exécute-le pour le sprint **N**.
|
|
78
|
+
> Crée la structure de dossier du sprint, `sprint-goal.md`, et la checklist pré-sprint.
|
|
79
|
+
> Retourne un résumé concis (< 50 tokens) et la liste des fichiers créés. »
|
|
80
|
+
|
|
81
|
+
### Phase 2 — Décomposition (sous-agent)
|
|
82
|
+
|
|
83
|
+
> « Lis `.claude/commands/project/decompose-tasks.md` et exécute-le pour le sprint **00N**.
|
|
84
|
+
> Génère les fichiers de tâches par US, `task-board.md`, et le graphe de dépendances.
|
|
85
|
+
> Retourne un résumé concis et les fichiers créés. »
|
|
86
|
+
|
|
87
|
+
### Phase 3 — Validation du gate (sous-agent + boucle de correction automatique)
|
|
88
|
+
|
|
89
|
+
> « Lis `.claude/commands/gate/validate-sprint.md` et exécute-le pour le sprint **00N**.
|
|
90
|
+
> Retourne PASS/FAIL, le score et la liste des critères échoués. »
|
|
91
|
+
|
|
92
|
+
**En cas d'ÉCHEC → boucle de correction automatique** (jusqu'à `--max-fix-attempts`) :
|
|
93
|
+
- Instancier un sous-agent de remédiation qui corrige les écarts signalés (stories non `ready-for-dev`,
|
|
94
|
+
estimations manquantes, dépendances non résolues) directement dans les fichiers du sprint.
|
|
95
|
+
- Relancer le sous-agent de validation.
|
|
96
|
+
- Si toujours en échec après `--max-fix-attempts` → **abandonner** avec le rapport de remédiation.
|
|
97
|
+
|
|
98
|
+
### Phase 4 — Implémentation (tu = chef d'orchestre)
|
|
99
|
+
|
|
100
|
+
Prendre **directement le rôle de conducteur `/team:sprint`** (ne **pas** instancier un Agent Team imbriqué) :
|
|
101
|
+
|
|
102
|
+
1. Lire `.bmad/sprint-status.yaml` ; filtrer les stories à `ready-for-dev`.
|
|
103
|
+
2. Analyser l'indépendance des domaines de fichiers (signaler les chevauchements `**/Shared/**`, `**/Common/**`, `**/Utils/**`,
|
|
104
|
+
`**/Helpers/**` → séquencer dans le même worker).
|
|
105
|
+
3. Estimer le coût via `Tools/AgentTeams/lib/cost-estimator.sh` (respecter le garde Fast Mode bloquant
|
|
106
|
+
et `--max-cost` si présent).
|
|
107
|
+
4. `TaskCreate` un worker dev par story indépendante (max `--max-workers`), contexte réduit
|
|
108
|
+
(uniquement `@.claude/references/<project-tech>/CLAUDE.md`). Les workers suivent le cycle TDD Rouge/Vert/Refactor
|
|
109
|
+
avec des commandes de test **Docker**.
|
|
110
|
+
5. Interroger `TaskList` toutes les 30s (reculer à 60s après 3 sondages sans activité). Rafraîchir `TaskList`
|
|
111
|
+
toutes les 5 complétion de worker (atténuation de la compaction de contexte). Limiter les messages de
|
|
112
|
+
complétion de worker à < 50 tokens.
|
|
113
|
+
6. Valider la **DoD** par story ; faire passer l'état `in-progress -> review` dans `sprint-status.yaml`
|
|
114
|
+
via le pattern single-writer.
|
|
115
|
+
|
|
116
|
+
**En cas de non-respect de la DoD pour une story → boucle de correction automatique** (même budget de tentatives) : reconfier la story au worker avec les vérifications en échec ; après `--max-fix-attempts`, marquer la story `blocked` et continuer.
|
|
117
|
+
|
|
118
|
+
### Phase 5 — Commit & PR (inline)
|
|
119
|
+
|
|
120
|
+
1. Commiter l'implémentation avec les **Conventional Commits** (atomique par story dans la mesure du possible).
|
|
121
|
+
2. Pousser la branche feature.
|
|
122
|
+
3. Ouvrir une PR en **brouillon** contre `--base` via `gh pr create` (titre + corps résumant l'objectif
|
|
123
|
+
du sprint, les stories livrées et l'état de la DoD).
|
|
124
|
+
|
|
125
|
+
### Phase 6 — Surveillance CI (inline + boucle de correction automatique)
|
|
126
|
+
|
|
127
|
+
1. Surveiller la CI : `gh pr checks --watch` (sondage ~30s).
|
|
128
|
+
2. **En cas d'échec → boucle de correction automatique** (jusqu'à `--max-fix-attempts`) : lire les logs du job échoué
|
|
129
|
+
(`gh run view --log-failed`), instancier un sous-agent de correction, commiter + pousser, relancer la surveillance.
|
|
130
|
+
3. Après `--max-fix-attempts` toujours en échec → **abandonner** avec le rapport de vérifications échouées.
|
|
131
|
+
|
|
132
|
+
### Phase 7 — Revue (sous-agent)
|
|
133
|
+
|
|
134
|
+
> « Lis `.claude/commands/workflow/review.md` et exécute-le pour le sprint **N** (il utilise
|
|
135
|
+
> `git log` / `gh pr` pour collecter les données du sprint). Produis `sprint-review.md`. Retourne un résumé concis. »
|
|
136
|
+
|
|
137
|
+
### Phase 8 — Rétrospective (sous-agent)
|
|
138
|
+
|
|
139
|
+
> « Lis `.claude/commands/workflow/retro.md` et exécute-le pour le sprint **N**.
|
|
140
|
+
> Produis `sprint-retro.md` avec des actions SMART. Retourne un résumé concis. »
|
|
141
|
+
|
|
142
|
+
### Phase 9 — Merge (inline, gardé)
|
|
143
|
+
|
|
144
|
+
- **Si `--auto-merge`** ET CI verte ET DoD validée :
|
|
145
|
+
`gh pr ready` puis `gh pr merge --squash --delete-branch`.
|
|
146
|
+
- **Sinon (défaut)** : **se mettre en pause**. Présenter le résumé final, le lien PR, l'état CI et le
|
|
147
|
+
rapport DoD, puis **attendre un GO humain explicite** avant de merger.
|
|
148
|
+
|
|
149
|
+
> **Les erreurs de merge sont remontées, jamais codées en dur.** Si le merge est bloqué par la protection de branche,
|
|
150
|
+
> le signaler et suggérer `--admin`. S'il est bloqué parce que la PR touche `.github/workflows/`
|
|
151
|
+
> et que le token n'a pas le scope `workflow`, le signaler et suggérer un squash-and-push manuel.
|
|
152
|
+
> Ne pas intégrer les particularités d'un dépôt spécifique dans cette commande générique.
|
|
153
|
+
|
|
154
|
+
## Rapport final
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
================================================================
|
|
158
|
+
AUTO SPRINT — Résumé
|
|
159
|
+
================================================================
|
|
160
|
+
Sprint : sprint-<N>-<slug>
|
|
161
|
+
Branche : feature/sprint-<N>-<slug>
|
|
162
|
+
Base : <base>
|
|
163
|
+
PR : <url> (CI: <vert|rouge>)
|
|
164
|
+
----------------------------------------------------------------
|
|
165
|
+
Phase | Statut | Notes
|
|
166
|
+
-------------------|--------|---------------------------------------
|
|
167
|
+
0 Normalisation | OK | <N>/00<N>, branche prête
|
|
168
|
+
1 Démarrage | OK | sprint-goal.md
|
|
169
|
+
2 Décomposition | OK | N fichiers de tâches
|
|
170
|
+
3 Validation gate | OK | score X% (Y tentatives de correction)
|
|
171
|
+
4 Implémentation | OK | A/B stories, C bloquées
|
|
172
|
+
5 Commit + PR | OK | <url>
|
|
173
|
+
6 Surveillance CI | OK | vert (Z tentatives de correction)
|
|
174
|
+
7 Revue | OK | sprint-review.md
|
|
175
|
+
8 Rétro | OK | sprint-retro.md
|
|
176
|
+
9 Merge | EN ATTENTE | attente GO humain (ou MERGÉ)
|
|
177
|
+
================================================================
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Gestion des erreurs
|
|
181
|
+
|
|
182
|
+
| Situation | Comportement |
|
|
183
|
+
|-----------|--------------|
|
|
184
|
+
| Dossier sprint / fichier de statut absent | Abandon en Phase 0 |
|
|
185
|
+
| Arbre de travail sale | Abandon en Phase 0 |
|
|
186
|
+
| Gate de validation échoué après tentatives | Abandon avec rapport de remédiation |
|
|
187
|
+
| DoD story non respectée après tentatives | Marquer `blocked`, continuer, signaler en fin |
|
|
188
|
+
| CI en échec après tentatives | Abandon avec rapport de vérifications échouées |
|
|
189
|
+
| Merge bloqué (protection / scope) | Remonter l'erreur + drapeau suggéré, ne pas forcer |
|
|
190
|
+
| Agent Teams indisponible | Abandon Phase 4 avec indication de configuration (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`) |
|
|
191
|
+
|
|
192
|
+
## Notes
|
|
193
|
+
|
|
194
|
+
- **Pas d'Agent Teams imbriqués** : tu exécutes toi-même le rôle de conducteur en Phase 4.
|
|
195
|
+
- **L'auto-merge est opt-in** et intentionnellement conditionné à un drapeau.
|
|
196
|
+
- **Docker est obligatoire** pour les tests (CLAUDE.md du projet).
|
|
197
|
+
- L'isolation des sous-agents remplace `/clear` — garder chaque rapport de sous-agent concis.
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Orquestrador de sprint completo de ponta a ponta (início -> decomposição -> validação -> implementação -> PR -> CI -> revisão -> retro -> merge)
|
|
3
|
+
argument-hint: "<N> [--auto-merge] [--max-fix-attempts=2] [--max-workers=3] [--base=main] [--dry-run] [--overnight]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Auto Sprint — Orquestrador de Sprint de Ponta a Ponta
|
|
7
|
+
|
|
8
|
+
Você age como **Product Owner / Scrum Master** e conduz um sprint completo desde o início até o merge
|
|
9
|
+
em um **único comando**. Cada cerimônia é executada dentro de um **sub-agente isolado**: a própria
|
|
10
|
+
janela de contexto do sub-agente substitui o `/clear` manual entre as etapas, mantendo o contexto
|
|
11
|
+
do orquestrador enxuto. A fase de implementação é executada por **você como maestro** (mesma lógica
|
|
12
|
+
de `/team:sprint`) para evitar o aninhamento de Agent Teams.
|
|
13
|
+
|
|
14
|
+
Isso automatiza o que anteriormente eram seis comandos manuais com `/clear` entre eles:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/workflow:start N -> /project:decompose-tasks 00N -> /gate:validate-sprint 00N
|
|
18
|
+
-> /team:sprint "sprint-00N" -> /workflow:review N -> /workflow:retro N
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
…e adiciona: branch, commit, Pull Request, monitoramento de CI e merge.
|
|
22
|
+
|
|
23
|
+
## Argumentos
|
|
24
|
+
|
|
25
|
+
$ARGUMENTS
|
|
26
|
+
|
|
27
|
+
- `<N>` : Número do sprint (ex: `5`). **Obrigatório.**
|
|
28
|
+
- `--auto-merge` : Faz o merge automaticamente quando a CI estiver verde e o DoD aprovado. **Padrão: DESATIVADO** — o
|
|
29
|
+
comando pausa e aguarda um GO humano explícito antes de fazer o merge (respeita "revisão obrigatória",
|
|
30
|
+
regra 09, e o princípio Karpathy "sem auto-merge sem revisão humana").
|
|
31
|
+
- `--max-fix-attempts=2` : Máximo de tentativas de correção automática por gate com falha antes de abortar (padrão: 2).
|
|
32
|
+
- `--max-workers=3` : Máximo de workers de desenvolvimento em paralelo na fase de implementação (padrão: 2, máximo: 3).
|
|
33
|
+
- `--base=main` : Branch base para o PR (padrão: `main`).
|
|
34
|
+
- `--dry-run` : Exibe as 9 fases planejadas e o contexto do sprint resolvido, depois para. **Nenhuma escrita.**
|
|
35
|
+
- `--overnight` : Repassado para a fase de implementação (limitado, para às 6h).
|
|
36
|
+
|
|
37
|
+
## Pré-requisitos
|
|
38
|
+
|
|
39
|
+
- Claude Code v2.1.32+ com suporte a Agent Teams
|
|
40
|
+
- `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` definido
|
|
41
|
+
- CLI `gh` autenticado (criação de PR / verificações / merge)
|
|
42
|
+
- Docker disponível (todos os testes são executados via Docker — veja o CLAUDE.md do projeto)
|
|
43
|
+
- Projeto BMAD v6 com `.bmad/sprint-status.yaml` presente
|
|
44
|
+
|
|
45
|
+
> Se um pré-requisito estiver ausente, aborte imediatamente com uma mensagem clara e acionável. Não pule uma fase silenciosamente.
|
|
46
|
+
|
|
47
|
+
## Normalização do número do sprint
|
|
48
|
+
|
|
49
|
+
Os comandos encadeados divergem no formato. Normalize **uma única vez** na Fase 0 e passe a forma
|
|
50
|
+
correta para cada fase:
|
|
51
|
+
|
|
52
|
+
| Fase | Formato esperado |
|
|
53
|
+
|------|-----------------|
|
|
54
|
+
| `start`, `review`, `retro` | `N` simples (ex: `5`) |
|
|
55
|
+
| `decompose-tasks` | `00N` com zeros à esquerda (ex: `005`) |
|
|
56
|
+
| `team:sprint` (implementação) | nome de sprint em formato livre resolvido a partir da pasta / arquivo de status |
|
|
57
|
+
|
|
58
|
+
Resolva a pasta do sprint fazendo glob de `project-management/sprints/sprint-{N}-*/` e leia
|
|
59
|
+
`.bmad/sprint-status.yaml` para obter o nome canônico do sprint e a lista de histórias.
|
|
60
|
+
|
|
61
|
+
## Processo
|
|
62
|
+
|
|
63
|
+
### Fase 0 — Normalizar e criar branch (inline)
|
|
64
|
+
|
|
65
|
+
1. Analise `<N>` e as flags. Derive `N`, `00N`, o slug e o nome do sprint.
|
|
66
|
+
2. Resolva `project-management/sprints/sprint-{N}-*/` e `.bmad/sprint-status.yaml`.
|
|
67
|
+
**Aborte** se nenhum existir (nada a orquestrar).
|
|
68
|
+
3. Verifique se a árvore de trabalho está limpa e se `--base` está atualizado. **Aborte** se estiver suja.
|
|
69
|
+
4. Crie / faça checkout do branch de feature `feature/sprint-{N}-<slug>` a partir de `--base`
|
|
70
|
+
(regra 09: `main` sempre implantável — nunca trabalhe diretamente no branch base).
|
|
71
|
+
5. Se `--dry-run`: exiba o contexto resolvido + as 9 fases planejadas e **pare aqui**.
|
|
72
|
+
|
|
73
|
+
### Fase 1 — Início (sub-agente)
|
|
74
|
+
|
|
75
|
+
Inicie um sub-agente isolado:
|
|
76
|
+
|
|
77
|
+
> "Leia `.claude/commands/workflow/start.md` e execute para o sprint **N**.
|
|
78
|
+
> Crie a estrutura de pastas do sprint, `sprint-goal.md` e o checklist pré-sprint.
|
|
79
|
+
> Retorne um resumo conciso (< 50 tokens) e a lista de arquivos criados."
|
|
80
|
+
|
|
81
|
+
### Fase 2 — Decomposição (sub-agente)
|
|
82
|
+
|
|
83
|
+
> "Leia `.claude/commands/project/decompose-tasks.md` e execute para o sprint **00N**.
|
|
84
|
+
> Gere os arquivos de tarefas por US, `task-board.md` e o grafo de dependências.
|
|
85
|
+
> Retorne um resumo conciso e os arquivos criados."
|
|
86
|
+
|
|
87
|
+
### Fase 3 — Validação do gate (sub-agente + loop de correção automática)
|
|
88
|
+
|
|
89
|
+
> "Leia `.claude/commands/gate/validate-sprint.md` e execute para o sprint **00N**.
|
|
90
|
+
> Retorne PASS/FAIL, a pontuação e a lista de critérios com falha."
|
|
91
|
+
|
|
92
|
+
**Em caso de FAIL → loop de correção automática** (até `--max-fix-attempts`):
|
|
93
|
+
- Inicie um sub-agente de remediação que corrige as lacunas reportadas (histórias sem `ready-for-dev`,
|
|
94
|
+
estimativas ausentes, dependências não resolvidas) diretamente nos arquivos do sprint.
|
|
95
|
+
- Execute novamente o sub-agente de validação.
|
|
96
|
+
- Se ainda falhar após `--max-fix-attempts` → **aborte** com o relatório de remediação.
|
|
97
|
+
|
|
98
|
+
### Fase 4 — Implementação (você = maestro)
|
|
99
|
+
|
|
100
|
+
Assuma diretamente o **papel de maestro de `/team:sprint`** (**não** inicie um Agent Team aninhado):
|
|
101
|
+
|
|
102
|
+
1. Leia `.bmad/sprint-status.yaml`; filtre histórias em `ready-for-dev`.
|
|
103
|
+
2. Analise a independência por domínio de arquivo (sinalize sobreposições de `**/Shared/**`, `**/Common/**`, `**/Utils/**`,
|
|
104
|
+
`**/Helpers/**` → sequencie no mesmo worker).
|
|
105
|
+
3. Estime o custo via `Tools/AgentTeams/lib/cost-estimator.sh` (respeite o bloqueio de Fast Mode
|
|
106
|
+
e `--max-cost` se presente).
|
|
107
|
+
4. `TaskCreate` um worker de desenvolvimento por história independente (máximo `--max-workers`), contexto enxuto
|
|
108
|
+
(apenas `@.claude/references/<project-tech>/CLAUDE.md`). Os workers seguem TDD Red/Green/Refactor
|
|
109
|
+
com comandos de teste via **Docker**.
|
|
110
|
+
5. Consulte `TaskList` a cada 30s (recue para 60s após 3 polls ociosos). Atualize `TaskList`
|
|
111
|
+
a cada 5 conclusões de worker (mitigação de compactação de contexto). Limite as mensagens de conclusão
|
|
112
|
+
de worker a < 50 tokens.
|
|
113
|
+
6. Valide o **DoD** por história; faça a transição `in-progress -> review` em `sprint-status.yaml`
|
|
114
|
+
via o padrão de gravação única.
|
|
115
|
+
|
|
116
|
+
**Em caso de falha no DoD de uma história → loop de correção automática** (mesmo orçamento de tentativas): re-atribua o worker com as
|
|
117
|
+
verificações que falharam; após `--max-fix-attempts`, marque a história como `blocked` e continue.
|
|
118
|
+
|
|
119
|
+
### Fase 5 — Commit e PR (inline)
|
|
120
|
+
|
|
121
|
+
1. Faça o commit da implementação com **Conventional Commits** (atômico por história quando possível).
|
|
122
|
+
2. Faça push do branch de feature.
|
|
123
|
+
3. Abra um PR **rascunho** contra `--base` via `gh pr create` (título + corpo resumindo o objetivo do sprint,
|
|
124
|
+
as histórias entregues e o status do DoD).
|
|
125
|
+
|
|
126
|
+
### Fase 6 — Monitoramento de CI (inline + loop de correção automática)
|
|
127
|
+
|
|
128
|
+
1. Monitore a CI: `gh pr checks --watch` (poll a cada ~30s).
|
|
129
|
+
2. **Em caso de falha → loop de correção automática** (até `--max-fix-attempts`): leia os logs do job com falha
|
|
130
|
+
(`gh run view --log-failed`), inicie um sub-agente de correção, faça commit + push, monitore novamente.
|
|
131
|
+
3. Após `--max-fix-attempts` ainda com falha → **aborte** com o relatório de verificações com falha.
|
|
132
|
+
|
|
133
|
+
### Fase 7 — Revisão (sub-agente)
|
|
134
|
+
|
|
135
|
+
> "Leia `.claude/commands/workflow/review.md` e execute para o sprint **N** (ele usa
|
|
136
|
+
> `git log` / `gh pr` para coletar os dados do sprint). Produza `sprint-review.md`. Retorne um resumo conciso."
|
|
137
|
+
|
|
138
|
+
### Fase 8 — Retrospectiva (sub-agente)
|
|
139
|
+
|
|
140
|
+
> "Leia `.claude/commands/workflow/retro.md` e execute para o sprint **N**.
|
|
141
|
+
> Produza `sprint-retro.md` com itens de ação SMART. Retorne um resumo conciso."
|
|
142
|
+
|
|
143
|
+
### Fase 9 — Merge (inline, com gate)
|
|
144
|
+
|
|
145
|
+
- **Se `--auto-merge`** E a CI estiver verde E o DoD aprovado:
|
|
146
|
+
`gh pr ready` depois `gh pr merge --squash --delete-branch`.
|
|
147
|
+
- **Caso contrário (padrão)**: **pause**. Apresente o resumo final, o link do PR, o status da CI e o
|
|
148
|
+
relatório do DoD, depois **aguarde um GO humano explícito** antes de fazer o merge.
|
|
149
|
+
|
|
150
|
+
> **Erros de merge são expostos, nunca ignorados.** Se o merge for bloqueado por proteção de branch,
|
|
151
|
+
> informe e sugira `--admin`. Se for bloqueado porque o PR toca `.github/workflows/`
|
|
152
|
+
> e o token não tem o escopo `workflow`, informe e sugira um squash-and-push manual.
|
|
153
|
+
> Não incorpore peculiaridades específicas do repositório neste comando genérico.
|
|
154
|
+
|
|
155
|
+
## Relatório final
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
================================================================
|
|
159
|
+
AUTO SPRINT — Resumo
|
|
160
|
+
================================================================
|
|
161
|
+
Sprint : sprint-<N>-<slug>
|
|
162
|
+
Branch : feature/sprint-<N>-<slug>
|
|
163
|
+
Base : <base>
|
|
164
|
+
PR : <url> (CI: <verde|vermelha>)
|
|
165
|
+
----------------------------------------------------------------
|
|
166
|
+
Fase | Status | Notas
|
|
167
|
+
-----------------|--------|---------------------------------------
|
|
168
|
+
0 Normalizar | OK | <N>/00<N>, branch pronto
|
|
169
|
+
1 Início | OK | sprint-goal.md
|
|
170
|
+
2 Decomposição | OK | N arquivos de tarefas
|
|
171
|
+
3 Validar gate | OK | pontuação X% (Y tentativas de correção)
|
|
172
|
+
4 Implementação | OK | A/B histórias, C bloqueadas
|
|
173
|
+
5 Commit + PR | OK | <url>
|
|
174
|
+
6 Monitor CI | OK | verde (Z tentativas de correção)
|
|
175
|
+
7 Revisão | OK | sprint-review.md
|
|
176
|
+
8 Retrospectiva | OK | sprint-retro.md
|
|
177
|
+
9 Merge | PAUSADO| aguardando GO humano (ou MERGED)
|
|
178
|
+
================================================================
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Tratamento de erros
|
|
182
|
+
|
|
183
|
+
| Situação | Comportamento |
|
|
184
|
+
|----------|---------------|
|
|
185
|
+
| Pasta do sprint / arquivo de status ausente | Abortar na Fase 0 |
|
|
186
|
+
| Árvore de trabalho suja | Abortar na Fase 0 |
|
|
187
|
+
| Gate de validação falha após tentativas | Abortar com relatório de remediação |
|
|
188
|
+
| Falha no DoD da história após tentativas | Marcar como `blocked`, continuar, reportar ao final |
|
|
189
|
+
| CI vermelha após tentativas | Abortar com relatório de verificações com falha |
|
|
190
|
+
| Merge bloqueado (proteção / escopo) | Expor o erro + flag sugerida, não forçar |
|
|
191
|
+
| Agent Teams indisponível | Abortar Fase 4 com dica de configuração (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`) |
|
|
192
|
+
|
|
193
|
+
## Notas
|
|
194
|
+
|
|
195
|
+
- **Sem Agent Teams aninhados**: você executa o papel de maestro diretamente na Fase 4.
|
|
196
|
+
- **Auto-merge é opt-in** e intencionalmente protegido por uma flag.
|
|
197
|
+
- **Docker é obrigatório** para os testes (CLAUDE.md do projeto).
|
|
198
|
+
- O isolamento do sub-agente é o que substitui o `/clear` — mantenha cada relatório de sub-agente conciso.
|
package/README.md
CHANGED
|
@@ -26,7 +26,15 @@ Plus **11 stack-specific reviewers** (@symfony-reviewer, @react-reviewer, @pytho
|
|
|
26
26
|
[](https://opensource.org/licenses/MIT)
|
|
27
27
|
[](https://dashboard.stryker-mutator.io/reports/github.com/TheBeardedBearSAS/claude-craft/main)
|
|
28
28
|
|
|
29
|
-
A comprehensive framework for AI-assisted development with [Claude Code](https://claude.ai/code). Install standardized rules, agents, and commands for your projects across multiple technology stacks — **31 specialized agents (+39 infra agents on-demand),
|
|
29
|
+
A comprehensive framework for AI-assisted development with [Claude Code](https://claude.ai/code). Install standardized rules, agents, and commands for your projects across multiple technology stacks — **31 specialized agents (+39 infra agents on-demand), 126 commands across 15 namespaces (220 total), 55 skills**, all token-optimized via `context: fork` and sub-agent model routing.
|
|
30
|
+
|
|
31
|
+
## What's New in v8.18.0
|
|
32
|
+
|
|
33
|
+
**Nouvelle commande `/workflow:auto-sprint` (2026-06-27, v8.18.0) :**
|
|
34
|
+
|
|
35
|
+
- **Orchestrateur de sprint de bout en bout** : une seule commande joue le rôle Product Owner / Scrum Master et enchaîne `start → decompose → validate → implement → PR → CI watch → review → retro → merge`. Chaque cérémonie tourne dans un **sous-agent au contexte isolé** — l'isolation remplace le `/clear` manuel entre étapes ; la phase d'implémentation assume le rôle conductor **inline** (réutilise `/team:sprint`).
|
|
36
|
+
- **PR + CI + merge intégrés** (`gh`) : `--auto-merge` opt-in (défaut : pause + GO humain) ; échec de gate (validate KO / CI rouge / DoD miss) → **auto-fix loop** borné (`--max-fix-attempts`).
|
|
37
|
+
- **5 langues** (`Dev/i18n/{en,fr,es,de,pt}`) ; compteurs réalignés **126 core / 220 total** commandes.
|
|
30
38
|
|
|
31
39
|
## What's New in v8.17.2
|
|
32
40
|
|
|
@@ -96,7 +104,7 @@ A comprehensive framework for AI-assisted development with [Claude Code](https:/
|
|
|
96
104
|
- **MIT-only strict (v8.8.0)** -- Claude Craft est 100 % open-source MIT, aucune licence commerciale ou enterprise. Stratégie open-core abandonnée.
|
|
97
105
|
- **Parité i18n stricte (v8.8.2)** -- la CI bloque désormais si un fichier traduit est à < 80 % de la taille de l'anglais. Dette i18n résorbée (gap 101 → 0).
|
|
98
106
|
- **Branding the-bearded-bear.com (v8.10.1)** -- migration complète des domaines vers `the-bearded-bear.com`, normalisation de l'organisation GitHub.
|
|
99
|
-
- **
|
|
107
|
+
- **126 commandes sur 15 namespaces** (220 total avec infra/projet) -- namespace `/paperclip:*` (8 commandes) ajouté, 55 skills disponibles.
|
|
100
108
|
- **Claude Code 2.1.168** -- version recommandée (Opus 4.8, Dynamic Workflows, `effort: ultracode`).
|
|
101
109
|
|
|
102
110
|
> ← Versions antérieures (v8.0 → v8.7) : voir le [CHANGELOG](CHANGELOG.md) et [.claude/COMPATIBILITY.md](.claude/COMPATIBILITY.md).
|
|
@@ -214,7 +222,7 @@ These are the commands you'll use most:
|
|
|
214
222
|
| `/common:ralph-run "task"` | Run Claude in continuous loop until task is done |
|
|
215
223
|
| `/qa:recette` | Automated acceptance testing via Chrome |
|
|
216
224
|
|
|
217
|
-
See [CLI Reference](docs/CLI-REFERENCE.md) for all
|
|
225
|
+
See [CLI Reference](docs/CLI-REFERENCE.md) for all 126 commands across 15 core namespaces (220 total including infra and project management).
|
|
218
226
|
|
|
219
227
|
## Installation
|
|
220
228
|
|
|
@@ -296,7 +304,7 @@ Context usage is optimized: ~3,500 tokens always loaded vs ~70,000 if everything
|
|
|
296
304
|
| [Installation](docs/INSTALLATION.md) | All installation methods |
|
|
297
305
|
| [Configuration](docs/CONFIGURATION.md) | Project configuration |
|
|
298
306
|
| [CLI Reference](docs/CLI-REFERENCE.md) | Full CLI documentation |
|
|
299
|
-
| [Commands](docs/COMMANDS.md) | All
|
|
307
|
+
| [Commands](docs/COMMANDS.md) | All 126 commands |
|
|
300
308
|
| [Agents](docs/AGENTS.md) | All 31 default agents (+ 39 infra on-demand) |
|
|
301
309
|
| [Skills](docs/SKILLS.md) | Best practices reference |
|
|
302
310
|
| [Technologies](docs/TECHNOLOGIES.md) | Stack-specific guides |
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
# Claude-Craft - Multi-Technology Framework
|
|
10
10
|
|
|
11
|
-
**Version:** 8.
|
|
11
|
+
**Version:** 8.18.0 | **Languages:** en, fr, es, de, pt
|
|
12
12
|
|
|
13
|
-
A comprehensive AI-assisted development framework for Claude Code with 11 technology stacks, 31 specialized agents (+39 infra agents on-demand),
|
|
13
|
+
A comprehensive AI-assisted development framework for Claude Code with 11 technology stacks, 31 specialized agents (+39 infra agents on-demand), 126 commands across 15 namespaces, and BMAD v6 project management.
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -53,7 +53,7 @@ See `@.claude/INDEX.md` for condensed checklists and patterns.
|
|
|
53
53
|
|
|
54
54
|
---
|
|
55
55
|
|
|
56
|
-
## Available Commands (15 namespaces,
|
|
56
|
+
## Available Commands (15 namespaces, 126 commands)
|
|
57
57
|
|
|
58
58
|
Core: `/common:*`, `/workflow:*`, `/team:*`, `/qa:*`, `/uiux:*` | Tech: `/symfony:*`, `/react:*`, `/flutter:*`, `/python:*`, `/angular:*`, `/vuejs:*`, `/laravel:*`, `/reactnative:*`, `/csharp:*`, `/php:*`, `/paperclip:*` | Infra (via `@devops-engineer`): Docker 29.6.0, Coolify v4.1.2, K8s 1.36.1, OpenTofu 1.12.2, Ansible 2.21.1, FrankenPHP 1.12.4, PgBouncer 1.25.2 | Project: `/sprint:*`, `/gate:*`, `/project:*`
|
|
59
59
|
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
# Claude-Craft - Multi-Technology Framework
|
|
10
10
|
|
|
11
|
-
**Version:** 8.
|
|
11
|
+
**Version:** 8.18.0 | **Languages:** en, fr, es, de, pt
|
|
12
12
|
|
|
13
|
-
A comprehensive AI-assisted development framework for Claude Code with 11 technology stacks, 31 specialized agents (+39 infra agents on-demand),
|
|
13
|
+
A comprehensive AI-assisted development framework for Claude Code with 11 technology stacks, 31 specialized agents (+39 infra agents on-demand), 126 commands across 15 namespaces, and BMAD v6 project management.
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -53,7 +53,7 @@ See `@.claude/INDEX.md` for condensed checklists and patterns.
|
|
|
53
53
|
|
|
54
54
|
---
|
|
55
55
|
|
|
56
|
-
## Available Commands (15 namespaces,
|
|
56
|
+
## Available Commands (15 namespaces, 126 commands)
|
|
57
57
|
|
|
58
58
|
Core: `/common:*`, `/workflow:*`, `/team:*`, `/qa:*`, `/uiux:*` | Tech: `/symfony:*`, `/react:*`, `/flutter:*`, `/python:*`, `/angular:*`, `/vuejs:*`, `/laravel:*`, `/reactnative:*`, `/csharp:*`, `/php:*`, `/paperclip:*` | Infra (via `@devops-engineer`): Docker 29.6.0, Coolify v4.1.2, K8s 1.36.1, OpenTofu 1.12.2, Ansible 2.21.1, FrankenPHP 1.12.4, PgBouncer 1.25.2 | Project: `/sprint:*`, `/gate:*`, `/project:*`
|
|
59
59
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@the-bearded-bear/claude-craft",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.18.0-next.8a8021c",
|
|
4
4
|
"description": "A comprehensive framework for AI-assisted development with Claude Code. Install standardized rules, agents, and commands for your projects.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "cli/index.js",
|