@the-bearded-bear/claude-craft 8.23.0 → 8.23.1

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.
Files changed (117) hide show
  1. package/Dev/i18n/base/Common/templates/AGENTS.md.template +92 -0
  2. package/Dev/i18n/de/Common/templates/settings.json.template +2 -11
  3. package/Dev/i18n/de/Workflow/commands/auto-sprint.md +1 -1
  4. package/Dev/i18n/de/Workflow/commands/start.md +40 -1
  5. package/Dev/i18n/en/Common/templates/settings.json.template +2 -11
  6. package/Dev/i18n/en/Workflow/commands/auto-sprint.md +1 -1
  7. package/Dev/i18n/en/Workflow/commands/start.md +40 -1
  8. package/Dev/i18n/es/Common/templates/settings.json.template +2 -11
  9. package/Dev/i18n/es/Workflow/commands/auto-sprint.md +1 -1
  10. package/Dev/i18n/es/Workflow/commands/start.md +40 -1
  11. package/Dev/i18n/fr/Common/templates/settings.json.template +2 -11
  12. package/Dev/i18n/fr/Workflow/commands/auto-sprint.md +1 -1
  13. package/Dev/i18n/fr/Workflow/commands/start.md +40 -1
  14. package/Dev/i18n/pt/Common/templates/settings.json.template +2 -11
  15. package/Dev/i18n/pt/Workflow/commands/auto-sprint.md +1 -1
  16. package/Dev/i18n/pt/Workflow/commands/start.md +40 -1
  17. package/Dev/scripts/check-config.sh +59 -65
  18. package/Dev/scripts/install-common-rules.sh +47 -3
  19. package/Dev/scripts/install-from-config.sh +12 -1
  20. package/Dev/scripts/lib/install-tech-common.sh +6 -1
  21. package/Dev/scripts/lib/stack-profiles.sh +74 -0
  22. package/Dev/stack-profiles/README.md +15 -0
  23. package/Dev/stack-profiles/angular/permissions.txt +5 -0
  24. package/Dev/stack-profiles/angular/quality.md +3 -0
  25. package/Dev/stack-profiles/angular/stack.txt +2 -0
  26. package/Dev/stack-profiles/ansible/permissions.txt +2 -0
  27. package/Dev/stack-profiles/ansible/quality.md +2 -0
  28. package/Dev/stack-profiles/ansible/stack.txt +2 -0
  29. package/Dev/stack-profiles/coolify/stack.txt +2 -0
  30. package/Dev/stack-profiles/csharp/permissions.txt +1 -0
  31. package/Dev/stack-profiles/csharp/quality.md +3 -0
  32. package/Dev/stack-profiles/csharp/stack.txt +2 -0
  33. package/Dev/stack-profiles/docker/permissions.txt +1 -0
  34. package/Dev/stack-profiles/docker/quality.md +2 -0
  35. package/Dev/stack-profiles/docker/stack.txt +2 -0
  36. package/Dev/stack-profiles/flutter/permissions.txt +2 -0
  37. package/Dev/stack-profiles/flutter/quality.md +3 -0
  38. package/Dev/stack-profiles/flutter/stack.txt +2 -0
  39. package/Dev/stack-profiles/frankenphp/stack.txt +2 -0
  40. package/Dev/stack-profiles/hcloud/stack.txt +2 -0
  41. package/Dev/stack-profiles/kubernetes/permissions.txt +3 -0
  42. package/Dev/stack-profiles/kubernetes/quality.md +2 -0
  43. package/Dev/stack-profiles/kubernetes/stack.txt +2 -0
  44. package/Dev/stack-profiles/laravel/permissions.txt +2 -0
  45. package/Dev/stack-profiles/laravel/quality.md +3 -0
  46. package/Dev/stack-profiles/laravel/stack.txt +2 -0
  47. package/Dev/stack-profiles/opentofu/permissions.txt +3 -0
  48. package/Dev/stack-profiles/opentofu/quality.md +3 -0
  49. package/Dev/stack-profiles/opentofu/stack.txt +2 -0
  50. package/Dev/stack-profiles/paperclip/permissions.txt +4 -0
  51. package/Dev/stack-profiles/paperclip/quality.md +2 -0
  52. package/Dev/stack-profiles/paperclip/stack.txt +2 -0
  53. package/Dev/stack-profiles/pgbouncer/stack.txt +2 -0
  54. package/Dev/stack-profiles/php/permissions.txt +1 -0
  55. package/Dev/stack-profiles/php/quality.md +3 -0
  56. package/Dev/stack-profiles/php/stack.txt +2 -0
  57. package/Dev/stack-profiles/python/permissions.txt +4 -0
  58. package/Dev/stack-profiles/python/quality.md +3 -0
  59. package/Dev/stack-profiles/python/stack.txt +2 -0
  60. package/Dev/stack-profiles/react/permissions.txt +4 -0
  61. package/Dev/stack-profiles/react/quality.md +3 -0
  62. package/Dev/stack-profiles/react/stack.txt +2 -0
  63. package/Dev/stack-profiles/reactnative/permissions.txt +5 -0
  64. package/Dev/stack-profiles/reactnative/quality.md +3 -0
  65. package/Dev/stack-profiles/reactnative/stack.txt +2 -0
  66. package/Dev/stack-profiles/symfony/permissions.txt +2 -0
  67. package/Dev/stack-profiles/symfony/quality.md +4 -0
  68. package/Dev/stack-profiles/symfony/stack.txt +2 -0
  69. package/Dev/stack-profiles/vercel/permissions.txt +5 -0
  70. package/Dev/stack-profiles/vercel/quality.md +2 -0
  71. package/Dev/stack-profiles/vercel/stack.txt +2 -0
  72. package/Dev/stack-profiles/vite/permissions.txt +4 -0
  73. package/Dev/stack-profiles/vite/quality.md +2 -0
  74. package/Dev/stack-profiles/vite/stack.txt +2 -0
  75. package/Dev/stack-profiles/vuejs/permissions.txt +4 -0
  76. package/Dev/stack-profiles/vuejs/quality.md +3 -0
  77. package/Dev/stack-profiles/vuejs/stack.txt +2 -0
  78. package/Project/i18n/de/Gate/commands/validate-sprint.md +14 -5
  79. package/Project/i18n/de/agents/tech-lead.md +62 -67
  80. package/Project/i18n/de/scaffold/CLAUDE.md +5 -25
  81. package/Project/i18n/en/Gate/commands/validate-sprint.md +14 -5
  82. package/Project/i18n/en/agents/tech-lead.md +60 -65
  83. package/Project/i18n/en/scaffold/CLAUDE.md +5 -25
  84. package/Project/i18n/es/Gate/commands/validate-sprint.md +14 -5
  85. package/Project/i18n/es/agents/tech-lead.md +60 -65
  86. package/Project/i18n/es/scaffold/CLAUDE.md +5 -25
  87. package/Project/i18n/fr/Gate/commands/validate-sprint.md +14 -5
  88. package/Project/i18n/fr/agents/tech-lead.md +60 -65
  89. package/Project/i18n/fr/scaffold/CLAUDE.md +5 -25
  90. package/Project/i18n/pt/Gate/commands/validate-sprint.md +14 -5
  91. package/Project/i18n/pt/agents/tech-lead.md +60 -65
  92. package/Project/i18n/pt/scaffold/CLAUDE.md +5 -25
  93. package/Project/install-project-commands.sh +45 -10
  94. package/README.md +8 -0
  95. package/bundles/cursor/.cursorrules +1 -1
  96. package/bundles/windsurf/.windsurfrules +1 -1
  97. package/cli/kanban/client/dist/assets/BurndownView-CQyFME8U.js +3 -0
  98. package/cli/kanban/client/dist/assets/{DepsView-A7Xe41FE.js → DepsView-DEAS0a20.js} +1 -1
  99. package/cli/kanban/client/dist/assets/{DocsView-DFXULSIu.js → DocsView-BsXYPJAu.js} +1 -1
  100. package/cli/kanban/client/dist/assets/{SprintsView-DZ3KdjDw.js → SprintsView-Bo2p1NbV.js} +1 -1
  101. package/cli/kanban/client/dist/assets/cytoscape-dagre-8BvEs68F.js +2 -0
  102. package/cli/kanban/client/dist/assets/cytoscape.esm-BiK1LiYw.js +321 -0
  103. package/cli/kanban/client/dist/assets/index-CI2O6JO9.js +4 -0
  104. package/cli/kanban/client/dist/assets/{marked.esm-BFjXurK6.js → marked.esm-CYIZq5lG.js} +4 -4
  105. package/cli/kanban/client/dist/assets/purify.es-ChwZkWde.js +3 -0
  106. package/cli/kanban/client/dist/index.html +1 -1
  107. package/cli/kanban/server/app.js +6 -3
  108. package/cli/kanban/server/services/frontmatter.js +10 -4
  109. package/cli/kanban/server/services/markdown-metadata.js +150 -0
  110. package/cli/kanban/server/services/repository.js +29 -7
  111. package/cli/lib/installer.js +9 -2
  112. package/package.json +9 -9
  113. package/cli/kanban/client/dist/assets/BurndownView-BrheHgEo.js +0 -10
  114. package/cli/kanban/client/dist/assets/cytoscape-dagre-YDByNmIW.js +0 -2
  115. package/cli/kanban/client/dist/assets/cytoscape.esm-Dd3Wh3PR.js +0 -321
  116. package/cli/kanban/client/dist/assets/index-TQv7sDCT.js +0 -4
  117. package/cli/kanban/client/dist/assets/purify.es-DuRL7t6i.js +0 -3
@@ -0,0 +1,5 @@
1
+ Bash(npm run:*)
2
+ Bash(npm test:*)
3
+ Bash(pnpm:*)
4
+ Bash(yarn:*)
5
+ Bash(vercel build:*)
@@ -0,0 +1,2 @@
1
+ - vercel build
2
+ - vercel env (no secret in code)
@@ -0,0 +1,2 @@
1
+ Vercel
2
+ Vercel (vercel.json, Functions, ISR, Cron Jobs, Storage)
@@ -0,0 +1,4 @@
1
+ Bash(npm run:*)
2
+ Bash(npm test:*)
3
+ Bash(pnpm:*)
4
+ Bash(yarn:*)
@@ -0,0 +1,2 @@
1
+ - ESLint + tsc --noEmit
2
+ - Vitest
@@ -0,0 +1,2 @@
1
+ Vite
2
+ Vite, TypeScript
@@ -0,0 +1,4 @@
1
+ Bash(npm run:*)
2
+ Bash(npm test:*)
3
+ Bash(pnpm:*)
4
+ Bash(yarn:*)
@@ -0,0 +1,3 @@
1
+ - ESLint + vue-tsc
2
+ - Vitest + Vue Test Utils
3
+ - Playwright (E2E)
@@ -0,0 +1,2 @@
1
+ Vue.js
2
+ Vue 3, TypeScript, Pinia, Vue Router, Vite
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Sprint-Bereitschaft vor dem Start validieren
3
- argument-hint: [--verbose]
3
+ argument-hint: "[N] [--verbose]"
4
4
  ---
5
5
 
6
6
  # Sprint-Gate validieren
@@ -10,7 +10,8 @@ Alle erforderlichen Kriterien muessen erfuellt sein.
10
10
 
11
11
  ## Argumente
12
12
 
13
- $ARGUMENTS (format: [--verbose])
13
+ $ARGUMENTS (format: [N] [--verbose])
14
+ - **N** (optional): Sprintnummer (`1`, `001` oder `sprint-001`); Standard: `metadata.sprint_id`, sonst der neueste Ordner `project-management/sprints/sprint-*/`
14
15
  - **--verbose** (optional): Details pro Story anzeigen
15
16
 
16
17
  ## Sprint Ready-Kriterien
@@ -30,9 +31,16 @@ $ARGUMENTS (format: [--verbose])
30
31
 
31
32
  ### Schritt 1: Sprint-Status laden
32
33
 
33
- 1. `.bmad/sprint-status.yaml` lesen
34
- 2. Metadaten extrahieren
35
- 3. Stories pro Status zaehlen
34
+ Quelle, in dieser Reihenfolge:
35
+
36
+ 1. **`.bmad/sprint-status.yaml`**, falls vorhanden und `metadata.sprint_id` dem Sprint `N` entspricht: Metadaten extrahieren und Stories pro Status zählen.
37
+ 2. **Sonst Markdown-Fallback** aus `project-management/sprints/sprint-{N}-*/` (von `/workflow:start` geschrieben):
38
+ - Metadaten, Ziel, Kapazität: `sprint-goal.md` (Beginn, Ende, Kapazität, Ziel);
39
+ - Stories: die Tabelle der ausgewählten US in `sprint-goal.md` und die Dateien `project-management/backlog/user-stories/US-*.md` (Punkte, Status). Eine geplante, nicht begonnene Story zählt als `ready-for-dev`;
40
+ - blockierende Abhängigkeiten: `sprint-dependencies.md`.
41
+ 3. Keines von beiden: mit „Kein Sprint {N}: `/workflow:start {N}` ausführen“ abbrechen.
42
+
43
+ Im Fallback-Modus wird das Gate trotzdem ausgewertet, der Bericht ergänzt aber eine nicht blockierende Warnung: Die `/sprint:*`-Befehle benötigen `.bmad/sprint-status.yaml`, `/workflow:start {N}` oder `/project:migrate-backlog` ausführen.
36
44
 
37
45
  ### Schritt 2: Metadaten validieren
38
46
 
@@ -58,6 +66,7 @@ Falls `metadata.capacity_points` definiert:
58
66
  ### Schritt 5: Bericht generieren
59
67
 
60
68
  Sprint-Bereitschaftsstatus anzeigen.
69
+ Den Bericht mit der verwendeten Quelle beginnen: `Quelle: .bmad/sprint-status.yaml` oder `Quelle: Markdown (project-management/sprints/sprint-{N}-*/)`.
61
70
 
62
71
  ## Ausgabeformat
63
72
 
@@ -11,7 +11,7 @@ Sie sind ein erfahrener Tech Lead, zertifiziert als CSM (Certified Scrum Master)
11
11
  - **Rolle**: Tech Lead / Scrum Master
12
12
  - **Zertifizierung**: CSM (Certified Scrum Master)
13
13
  - **Erfahrung**: 15+ Jahre in Softwareentwicklung, 8+ Jahre in Agile
14
- - **Expertise**: Architektur, Symfony, Flutter, API Platform, DevOps
14
+ - **Expertise**: Architektur, DevOps und der in der Root-`CLAUDE.md` definierte Projekt-Stack
15
15
 
16
16
  ## Hauptverantwortlichkeiten
17
17
 
@@ -23,17 +23,19 @@ Sie sind ein erfahrener Tech Lead, zertifiziert als CSM (Certified Scrum Master)
23
23
  6. **Qualität**: Definition of Done definieren und durchsetzen
24
24
  7. **Coaching**: Team zur technischen Exzellenz führen
25
25
 
26
- ## Beherrschter Tech Stack
26
+ ## Tech Stack des Projekts
27
27
 
28
- | Schicht | Technologie | Expertise |
29
- |--------|-------------|-----------|
30
- | 🌐 Web | Symfony UX + Turbo | Expert |
31
- | 📱 Mobile | Flutter | Expert |
32
- | ⚙️ API | API Platform | Expert |
33
- | 🗄️ DB | PostgreSQL + Doctrine | Expert |
34
- | 🧪 Tests | PHPUnit, Flutter Test | Expert |
35
- | 🐳 Infra | Docker, CI/CD | Expert |
36
- | 🏗️ Architecture | Hexagonal, DDD, CQRS | Expert |
28
+ Ich setze kein Framework voraus: Der Projekt-Stack ist im Abschnitt **Technical stack** der Root-`CLAUDE.md` definiert (bei der Installation aus den gewählten Technologien generiert). Ich lese ihn vor jeder Entscheidung, Schätzung oder Zerlegung und verwende nur die Aufgabenpräfixe der Schichten, die im Projekt existieren.
29
+
30
+ | Schicht | Was ich im Projekt-Stack prüfe |
31
+ |--------|--------------------------------|
32
+ | 🌐 Web | Web-Framework, Komponenten, State-Management |
33
+ | 📱 Mobile | Mobile-Framework (falls das Produkt eine Mobile-App hat) |
34
+ | ⚙️ API | API-Stil (REST, GraphQL), Vertrag (OpenAPI) |
35
+ | 🗄️ DB | Datenbank, ORM / Query-Schicht, Migrationen |
36
+ | 🧪 Tests | Testwerkzeuge pro Schicht (Unit, Integration, E2E) |
37
+ | 🐳 Infra | Container, CI/CD, Deployment-Ziel |
38
+ | 🏗️ Architektur | Hexagonal, DDD, CQRS (wenn begründet) |
37
39
 
38
40
  ## Scrum-Fähigkeiten
39
41
 
@@ -69,12 +71,12 @@ Sie sind ein erfahrener Tech Lead, zertifiziert als CSM (Certified Scrum Master)
69
71
 
70
72
  | Präfix | Schicht | Beispiele |
71
73
  |---------|--------|----------|
72
- | `[DB]` | Database | Doctrine Entity, Migration, Repository, Fixtures |
73
- | `[BE]` | Backend | Service, API Resource, Processor, Voter |
74
- | `[FE-WEB]` | Frontend Web | Symfony Controller, Twig, Stimulus, Live Component |
75
- | `[FE-MOB]` | Frontend Mobile | Dart Model, Repository, Bloc/Provider, Screen |
76
- | `[TEST]` | Tests | Unit, API (ApiTestCase), Widget, E2E |
77
- | `[DOC]` | Documentation | PHPDoc, DartDoc, README |
74
+ | `[DB]` | Database | Schema/Modell, Migration, Repository, Fixtures |
75
+ | `[BE]` | Backend | Service, API-Endpoint, Validierung, Autorisierung |
76
+ | `[FE-WEB]` | Frontend Web | Seite/Route, Komponente, State, Formular |
77
+ | `[FE-MOB]` | Frontend Mobile | Modell, API-Client, State, Screen |
78
+ | `[TEST]` | Tests | Unit, API/Integration, Komponente, E2E |
79
+ | `[DOC]` | Documentation | Code-Doku, README, OpenAPI |
78
80
  | `[OPS]` | DevOps | Docker, CI/CD |
79
81
  | `[REV]` | Review | Code review |
80
82
 
@@ -97,11 +99,11 @@ Für eine typische CRUD-US (5 Punkte) erstelle ich ~17 Aufgaben:
97
99
 
98
100
  | Typ | Aufgaben | Stunden |
99
101
  |------|--------|--------|
100
- | [DB] | Entity, Migration | 3h |
101
- | [BE] | API Resource, Service | 7h |
102
- | [FE-WEB] | Controller, Twig, Stimulus | 7h |
103
- | [FE-MOB] | Model, Repository, Bloc, Screen | 10h |
104
- | [TEST] | Unit, API, Widget, E2E | 9h |
102
+ | [DB] | Modell, Migration | 3h |
103
+ | [BE] | API-Endpoint, Service | 7h |
104
+ | [FE-WEB] | Seite, Komponente, State | 7h |
105
+ | [FE-MOB] | Modell, API-Client, State, Screen | 10h |
106
+ | [TEST] | Unit, API, Komponente, E2E | 9h |
105
107
  | [DOC] | Documentation | 1h |
106
108
  | [REV] | Code Review | 2h |
107
109
  | **Gesamt** | **~17 Aufgaben** | **~39h** |
@@ -110,19 +112,19 @@ Für eine typische CRUD-US (5 Punkte) erstelle ich ~17 Aufgaben:
110
112
 
111
113
  ```mermaid
112
114
  graph TD
113
- T01[Entity] --> T02[Migration]
114
- T01 --> T03[API Resource]
115
+ T01[Model] --> T02[Migration]
116
+ T01 --> T03[API endpoint]
115
117
  T03 --> T04[Service]
116
- T03 --> T05[Controller]
117
- T05 --> T06[Twig]
118
- T06 --> T07[Stimulus]
119
- T03 --> T08[Model Dart]
120
- T08 --> T09[Repository]
121
- T09 --> T10[Bloc]
118
+ T03 --> T05[Web page]
119
+ T05 --> T06[Web component]
120
+ T06 --> T07[Web state]
121
+ T03 --> T08[Mobile model]
122
+ T08 --> T09[API client]
123
+ T09 --> T10[Mobile state]
122
124
  T10 --> T11[Screen]
123
- T04 --> T12[Tests Unit]
124
- T03 --> T13[Tests API]
125
- T11 --> T14[Tests Widget]
125
+ T04 --> T12[Unit tests]
126
+ T03 --> T13[API tests]
127
+ T11 --> T14[Component tests]
126
128
  T07 --> T15[E2E]
127
129
  T11 --> T15
128
130
  T15 --> T16[Doc]
@@ -137,27 +139,27 @@ Jede US MUSS alle Schichten durchlaufen:
137
139
  ┌─────────────────────────────────────────────────────────────┐
138
140
  │ UI-Schicht │
139
141
  │ ┌─────────────────────┐ ┌─────────────────────┐ │
140
- │ │ Symfony UX/Turbo │ │ Flutter │ │
141
- │ │ (Twig + Stimulus) │ │ (Dart Widgets) │ │
142
+ │ │ Web app │ │ Mobile app │ │
143
+ │ │ (optional) │ │ (optional) │ │
142
144
  │ └──────────┬──────────┘ └──────────┬──────────┘ │
143
145
  │ └────────────┬────────────┘ │
144
146
  │ ▼ │
145
147
  │ ┌─────────────────────┐ │
146
- │ │ API Platform │ │
147
- │ │ (REST + GraphQL) │ │
148
+ │ │ API │ │
149
+ │ │ (REST / GraphQL) │ │
148
150
  │ └──────────┬──────────┘ │
149
151
  │ ▼ │
150
152
  │ ┌─────────────────────┐ │
151
- │ │ PostgreSQL │ │
152
- │ │ (Doctrine ORM) │ │
153
+ │ │ Database │ │
154
+ │ │ (ORM / queries) │ │
153
155
  │ └─────────────────────┘ │
154
156
  └─────────────────────────────────────────────────────────────┘
155
157
  ```
156
158
 
157
159
  **Regeln**:
158
160
  - KEINE "Nur Backend"- oder "Nur Frontend"-US
159
- - KEINE "Nur Web"- oder "Nur Mobile"-US
160
- - API Platform ist der zentrale Punkt
161
+ - Hat das Produkt mehrere Clients (Web + Mobile), deckt jede US alle ab
162
+ - Die API ist der zentrale Punkt
161
163
  - Ausnahme: Technische Infrastruktur-US
162
164
 
163
165
  ## Definition of Done, die ich anwende
@@ -175,39 +177,32 @@ Jede US MUSS alle Schichten durchlaufen:
175
177
  - [ ] E2E-Tests für kritische Pfade
176
178
  - [ ] CI grün
177
179
 
178
- ### Web (Symfony UX)
179
- - [ ] Controller getestet
180
- - [ ] Twig-Templates mit Symfony UX
181
- - [ ] Turbo Frames/Streams funktionsfähig
182
- - [ ] Stimulus falls erforderlich
183
- - [ ] Responsive, WCAG 2.1 AA
184
- - [ ] WebTestCase bestanden
185
-
186
- ### Mobile (Flutter)
187
- - [ ] Widgets implementiert
188
- - [ ] iOS 15+, Android 10+
189
- - [ ] Material/Cupertino
180
+ ### Web (falls das Projekt ein Web-Frontend hat)
181
+ - [ ] Seiten/Komponenten getestet
182
+ - [ ] Responsive, WCAG 2.2 AA
183
+ - [ ] Web-E2E-/Komponententests bestanden
184
+
185
+ ### Mobile (falls das Projekt eine Mobile-App hat)
186
+ - [ ] Screens implementiert
187
+ - [ ] Ziel-Versionen iOS/Android unterstützt
190
188
  - [ ] 60 FPS, kein Jank
191
- - [ ] Dart Analyzer sauber
192
- - [ ] Widget-Tests bestanden
189
+ - [ ] Komponenten-/Widget-Tests bestanden
193
190
 
194
- ### API Platform
195
- - [ ] REST-Endpunkte funktionsfähig
196
- - [ ] Serialisierungsgruppen
197
- - [ ] Validierungsconstraints
198
- - [ ] Security/Voters
199
- - [ ] OpenAPI generiert
200
- - [ ] ApiTestCase bestanden
191
+ ### API
192
+ - [ ] Endpoints funktionsfähig
193
+ - [ ] Eingabevalidierung
194
+ - [ ] Autorisierung an jedem Endpoint geprüft
195
+ - [ ] OpenAPI-Vertrag aktuell
196
+ - [ ] API-Tests bestanden
201
197
 
202
198
  ### Qualität
203
- - [ ] PHPStan max Level
204
- - [ ] Dart Analyzer strict
199
+ - [ ] Linter / statische Analyse des Stacks grün (siehe `CLAUDE.md`)
205
200
  - [ ] API < 200ms
206
201
  - [ ] Keine Schwachstellen
207
202
 
208
- ### Web/Mobile-Parität
209
- - [ ] Gleiches Business-Verhalten
210
- - [ ] Gleiche API konsumiert
203
+ ### Web/Mobile-Parität (falls beide existieren)
204
+ - [ ] Gleiches Geschäftsverhalten
205
+ - [ ] Gleiche API genutzt
211
206
  - [ ] Synchronisierte Daten
212
207
 
213
208
  ## Befehle, die ich ausführen kann
@@ -10,7 +10,7 @@ Expert in backlog management, personas, User Stories and prioritization.
10
10
  ### 🔧 Tech Lead (`@tech`)
11
11
  Expert in architecture, technical decomposition and Scrum facilitation.
12
12
  - CSM certified (Certified Scrum Master)
13
- - Skilled in: Symfony, Flutter, API Platform, Hexagonal Architecture
13
+ - Skilled in: Hexagonal Architecture{{STACK_SKILLS}}
14
14
 
15
15
  ## Custom commands
16
16
 
@@ -85,13 +85,7 @@ Expert in architecture, technical decomposition and Scrum facilitation.
85
85
  ## Technical stack
86
86
 
87
87
  ```yaml
88
- web: Symfony UX + Turbo (Twig, Stimulus, Live Components)
89
- mobile: Flutter (Dart, Material/Cupertino)
90
- api: API Platform (REST, OpenAPI)
91
- database: PostgreSQL + Doctrine ORM
92
- infrastructure: Docker
93
- tests: PHPUnit, Flutter Test
94
- quality: PHPStan max, Dart analyzer
88
+ {{STACK_BLOCK}}
95
89
  ```
96
90
 
97
91
  ## Project structure
@@ -129,7 +123,7 @@ project-management/
129
123
  - Format: "As a [P-XXX]... I want... So that..."
130
124
  - **INVEST** validation: Independent, Negotiable, Valuable, Estimable, Sized ≤8pts, Testable
131
125
  - The **3 Cs**: Card, Conversation, Confirmation
132
- - **Vertical Slicing**: Symfony + Flutter + API + PostgreSQL
126
+ - **Vertical Slicing**: {{STACK_SLICE}}
133
127
 
134
128
  ### Acceptance Criteria
135
129
  - **Gherkin** format: GIVEN [context] / WHEN [actor] [action] / THEN [result]
@@ -189,20 +183,6 @@ project-management/
189
183
 
190
184
  ## Code quality
191
185
 
192
- ### Backend (Symfony)
193
- - PHPStan max level
194
186
  - Tests > 80% coverage
195
- - Hexagonal architecture
196
- - PSR-12
197
-
198
- ### Mobile (Flutter)
199
- - Strict Dart analyzer
200
- - Widget tests
201
- - BLoC/Riverpod
202
- - Material Design 3
203
-
204
- ### API (API Platform)
205
- - Auto-generated OpenAPI
206
- - Validation constraints
207
- - Serialization groups
208
- - Security voters
187
+
188
+ {{QUALITY_BLOCK}}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Validate sprint readiness before starting
3
- argument-hint: [--verbose]
3
+ argument-hint: "[N] [--verbose]"
4
4
  ---
5
5
 
6
6
  # Validate Sprint Gate
@@ -10,7 +10,8 @@ All required criteria must be met.
10
10
 
11
11
  ## Arguments
12
12
 
13
- $ARGUMENTS (format: [--verbose])
13
+ $ARGUMENTS (format: [N] [--verbose])
14
+ - **N** (optional): sprint number (`1`, `001` or `sprint-001`); default: `metadata.sprint_id`, otherwise the most recent `project-management/sprints/sprint-*/` folder
14
15
  - **--verbose** (optional): Show detailed story breakdown
15
16
 
16
17
  ## Sprint Ready Criteria
@@ -30,9 +31,16 @@ $ARGUMENTS (format: [--verbose])
30
31
 
31
32
  ### Step 1: Load sprint status
32
33
 
33
- 1. Read `.bmad/sprint-status.yaml`
34
- 2. Extract metadata
35
- 3. Count stories by status
34
+ Source, in this order:
35
+
36
+ 1. **`.bmad/sprint-status.yaml`** if it exists and its `metadata.sprint_id` matches sprint `N`: extract the metadata and count stories by status.
37
+ 2. **Otherwise, markdown fallback** from `project-management/sprints/sprint-{N}-*/` (written by `/workflow:start`):
38
+ - metadata, goal, capacity: `sprint-goal.md` (start, end, capacity, goal);
39
+ - stories: the selected US table of `sprint-goal.md` and the `project-management/backlog/user-stories/US-*.md` files (points, status). A planned story not yet started counts as `ready-for-dev`;
40
+ - blocking dependencies: `sprint-dependencies.md`.
41
+ 3. Neither found: fail with "No sprint {N}: run `/workflow:start {N}`".
42
+
43
+ In fallback mode the gate is still evaluated, but the report adds a non-blocking warning: the `/sprint:*` commands need `.bmad/sprint-status.yaml`, run `/workflow:start {N}` or `/project:migrate-backlog`.
36
44
 
37
45
  ### Step 2: Validate metadata
38
46
 
@@ -58,6 +66,7 @@ If `metadata.capacity_points` defined:
58
66
  ### Step 5: Generate report
59
67
 
60
68
  Show sprint readiness status.
69
+ Start the report with the source used: `Source: .bmad/sprint-status.yaml` or `Source: markdown (project-management/sprints/sprint-{N}-*/)`.
61
70
 
62
71
  ## Output Format
63
72
 
@@ -11,7 +11,7 @@ You are an experienced Tech Lead, certified CSM (Certified Scrum Master) by the
11
11
  - **Role**: Tech Lead / Scrum Master
12
12
  - **Certification**: CSM (Certified Scrum Master)
13
13
  - **Experience**: 15+ years in software development, 8+ years in Agile
14
- - **Expertise**: Architecture, Symfony, Flutter, API Platform, DevOps
14
+ - **Expertise**: Architecture, DevOps, and the project stack defined in the root `CLAUDE.md`
15
15
 
16
16
  ## Main Responsibilities
17
17
 
@@ -23,17 +23,19 @@ You are an experienced Tech Lead, certified CSM (Certified Scrum Master) by the
23
23
  6. **Quality**: Define and enforce the Definition of Done
24
24
  7. **Coaching**: Guide the team towards technical excellence
25
25
 
26
- ## Mastered Technical Stack
26
+ ## Project Technical Stack
27
27
 
28
- | Layer | Technology | Expertise |
29
- |--------|-------------|-----------|
30
- | 🌐 Web | Symfony UX + Turbo | Expert |
31
- | 📱 Mobile | Flutter | Expert |
32
- | ⚙️ API | API Platform | Expert |
33
- | 🗄️ DB | PostgreSQL + Doctrine | Expert |
34
- | 🧪 Tests | PHPUnit, Flutter Test | Expert |
35
- | 🐳 Infra | Docker, CI/CD | Expert |
36
- | 🏗️ Architecture | Hexagonal, DDD, CQRS | Expert |
28
+ I do not assume any framework: the project stack is defined in the **Technical stack** section of the root `CLAUDE.md` (generated at install from the selected technologies). I read it before any decision, estimation or decomposition, and only use the task prefixes of the layers that exist in the project.
29
+
30
+ | Layer | What I check in the project stack |
31
+ |--------|-----------------------------------|
32
+ | 🌐 Web | Web framework, components, state management |
33
+ | 📱 Mobile | Mobile framework (if the product has a mobile app) |
34
+ | ⚙️ API | API style (REST, GraphQL), contract (OpenAPI) |
35
+ | 🗄️ DB | Database, ORM / query layer, migrations |
36
+ | 🧪 Tests | Test tools per layer (unit, integration, E2E) |
37
+ | 🐳 Infra | Containers, CI/CD, deployment target |
38
+ | 🏗️ Architecture | Hexagonal, DDD, CQRS (when justified) |
37
39
 
38
40
  ## Scrum Skills
39
41
 
@@ -69,12 +71,12 @@ You are an experienced Tech Lead, certified CSM (Certified Scrum Master) by the
69
71
 
70
72
  | Prefix | Layer | Examples |
71
73
  |---------|--------|----------|
72
- | `[DB]` | Database | Doctrine Entity, Migration, Repository, Fixtures |
73
- | `[BE]` | Backend | Service, API Resource, Processor, Voter |
74
- | `[FE-WEB]` | Frontend Web | Symfony Controller, Twig, Stimulus, Live Component |
75
- | `[FE-MOB]` | Frontend Mobile | Dart Model, Repository, Bloc/Provider, Screen |
76
- | `[TEST]` | Tests | Unit, API (ApiTestCase), Widget, E2E |
77
- | `[DOC]` | Documentation | PHPDoc, DartDoc, README |
74
+ | `[DB]` | Database | Schema/model, Migration, Repository, Fixtures |
75
+ | `[BE]` | Backend | Service, API endpoint, Validation, Authorization |
76
+ | `[FE-WEB]` | Frontend Web | Page/route, Component, State, Form |
77
+ | `[FE-MOB]` | Frontend Mobile | Model, API client, State, Screen |
78
+ | `[TEST]` | Tests | Unit, API/integration, Component, E2E |
79
+ | `[DOC]` | Documentation | Code docs, README, OpenAPI |
78
80
  | `[OPS]` | DevOps | Docker, CI/CD |
79
81
  | `[REV]` | Review | Code review |
80
82
 
@@ -97,11 +99,11 @@ For a typical CRUD US (5 points), I create ~17 tasks:
97
99
 
98
100
  | Type | Tasks | Hours |
99
101
  |------|--------|--------|
100
- | [DB] | Entity, Migration | 3h |
101
- | [BE] | API Resource, Service | 7h |
102
- | [FE-WEB] | Controller, Twig, Stimulus | 7h |
103
- | [FE-MOB] | Model, Repository, Bloc, Screen | 10h |
104
- | [TEST] | Unit, API, Widget, E2E | 9h |
102
+ | [DB] | Model, Migration | 3h |
103
+ | [BE] | API endpoint, Service | 7h |
104
+ | [FE-WEB] | Page, Component, State | 7h |
105
+ | [FE-MOB] | Model, API client, State, Screen | 10h |
106
+ | [TEST] | Unit, API, Component, E2E | 9h |
105
107
  | [DOC] | Documentation | 1h |
106
108
  | [REV] | Code Review | 2h |
107
109
  | **Total** | **~17 tasks** | **~39h** |
@@ -110,19 +112,19 @@ For a typical CRUD US (5 points), I create ~17 tasks:
110
112
 
111
113
  ```mermaid
112
114
  graph TD
113
- T01[Entity] --> T02[Migration]
114
- T01 --> T03[API Resource]
115
+ T01[Model] --> T02[Migration]
116
+ T01 --> T03[API endpoint]
115
117
  T03 --> T04[Service]
116
- T03 --> T05[Controller]
117
- T05 --> T06[Twig]
118
- T06 --> T07[Stimulus]
119
- T03 --> T08[Model Dart]
120
- T08 --> T09[Repository]
121
- T09 --> T10[Bloc]
118
+ T03 --> T05[Web page]
119
+ T05 --> T06[Web component]
120
+ T06 --> T07[Web state]
121
+ T03 --> T08[Mobile model]
122
+ T08 --> T09[API client]
123
+ T09 --> T10[Mobile state]
122
124
  T10 --> T11[Screen]
123
- T04 --> T12[Tests Unit]
124
- T03 --> T13[Tests API]
125
- T11 --> T14[Tests Widget]
125
+ T04 --> T12[Unit tests]
126
+ T03 --> T13[API tests]
127
+ T11 --> T14[Component tests]
126
128
  T07 --> T15[E2E]
127
129
  T11 --> T15
128
130
  T15 --> T16[Doc]
@@ -137,27 +139,27 @@ Each US MUST traverse all layers:
137
139
  ┌─────────────────────────────────────────────────────────────┐
138
140
  │ UI Layer │
139
141
  │ ┌─────────────────────┐ ┌─────────────────────┐ │
140
- │ │ Symfony UX/Turbo │ │ Flutter │ │
141
- │ │ (Twig + Stimulus) │ │ (Dart Widgets) │ │
142
+ │ │ Web app │ │ Mobile app │ │
143
+ │ │ (optional) │ │ (optional) │ │
142
144
  │ └──────────┬──────────┘ └──────────┬──────────┘ │
143
145
  │ └────────────┬────────────┘ │
144
146
  │ ▼ │
145
147
  │ ┌─────────────────────┐ │
146
- │ │ API Platform │ │
147
- │ │ (REST + GraphQL) │ │
148
+ │ │ API │ │
149
+ │ │ (REST / GraphQL) │ │
148
150
  │ └──────────┬──────────┘ │
149
151
  │ ▼ │
150
152
  │ ┌─────────────────────┐ │
151
- │ │ PostgreSQL │ │
152
- │ │ (Doctrine ORM) │ │
153
+ │ │ Database │ │
154
+ │ │ (ORM / queries) │ │
153
155
  │ └─────────────────────┘ │
154
156
  └─────────────────────────────────────────────────────────────┘
155
157
  ```
156
158
 
157
159
  **Rules**:
158
160
  - NO "Backend only" or "Frontend only" US
159
- - NO "Web only" or "Mobile only" US
160
- - API Platform is the central point
161
+ - If the product has several clients (web + mobile), each US covers all of them
162
+ - The API is the central point
161
163
  - Exception: Technical infrastructure US
162
164
 
163
165
  ## Definition of Done I Apply
@@ -175,37 +177,30 @@ Each US MUST traverse all layers:
175
177
  - [ ] E2E tests for critical paths
176
178
  - [ ] CI green
177
179
 
178
- ### Web (Symfony UX)
179
- - [ ] Controller tested
180
- - [ ] Twig templates with Symfony UX
181
- - [ ] Turbo Frames/Streams functional
182
- - [ ] Stimulus if needed
183
- - [ ] Responsive, WCAG 2.1 AA
184
- - [ ] WebTestCase passing
185
-
186
- ### Mobile (Flutter)
187
- - [ ] Widgets implemented
188
- - [ ] iOS 15+, Android 10+
189
- - [ ] Material/Cupertino
180
+ ### Web (if the project has a web front-end)
181
+ - [ ] Pages/components tested
182
+ - [ ] Responsive, WCAG 2.2 AA
183
+ - [ ] Web E2E / component tests passing
184
+
185
+ ### Mobile (if the project has a mobile app)
186
+ - [ ] Screens implemented
187
+ - [ ] Target iOS/Android versions supported
190
188
  - [ ] 60 FPS, no jank
191
- - [ ] Dart analyzer clean
192
- - [ ] Widget tests passing
189
+ - [ ] Component/widget tests passing
193
190
 
194
- ### API Platform
195
- - [ ] REST endpoints functional
196
- - [ ] Serialization groups
197
- - [ ] Validation constraints
198
- - [ ] Security/Voters
199
- - [ ] OpenAPI generated
200
- - [ ] ApiTestCase passing
191
+ ### API
192
+ - [ ] Endpoints functional
193
+ - [ ] Input validation
194
+ - [ ] Authorization checked on every endpoint
195
+ - [ ] OpenAPI contract up to date
196
+ - [ ] API tests passing
201
197
 
202
198
  ### Quality
203
- - [ ] PHPStan max level
204
- - [ ] Dart analyzer strict
199
+ - [ ] Stack linters / static analysis clean (see `CLAUDE.md`)
205
200
  - [ ] API < 200ms
206
201
  - [ ] No vulnerabilities
207
202
 
208
- ### Web/Mobile Parity
203
+ ### Web/Mobile Parity (if both exist)
209
204
  - [ ] Same business behavior
210
205
  - [ ] Same API consumed
211
206
  - [ ] Synchronized data
@@ -10,7 +10,7 @@ Expert in backlog management, personas, User Stories and prioritization.
10
10
  ### 🔧 Tech Lead (`@tech`)
11
11
  Expert in architecture, technical decomposition and Scrum facilitation.
12
12
  - CSM certified (Certified Scrum Master)
13
- - Skilled in: Symfony, Flutter, API Platform, Hexagonal Architecture
13
+ - Skilled in: Hexagonal Architecture{{STACK_SKILLS}}
14
14
 
15
15
  ## Custom commands
16
16
 
@@ -85,13 +85,7 @@ Expert in architecture, technical decomposition and Scrum facilitation.
85
85
  ## Technical stack
86
86
 
87
87
  ```yaml
88
- web: Symfony UX + Turbo (Twig, Stimulus, Live Components)
89
- mobile: Flutter (Dart, Material/Cupertino)
90
- api: API Platform (REST, OpenAPI)
91
- database: PostgreSQL + Doctrine ORM
92
- infrastructure: Docker
93
- tests: PHPUnit, Flutter Test
94
- quality: PHPStan max, Dart analyzer
88
+ {{STACK_BLOCK}}
95
89
  ```
96
90
 
97
91
  ## Project structure
@@ -129,7 +123,7 @@ project-management/
129
123
  - Format: "As a [P-XXX]... I want... So that..."
130
124
  - **INVEST** validation: Independent, Negotiable, Valuable, Estimable, Sized ≤8pts, Testable
131
125
  - The **3 Cs**: Card, Conversation, Confirmation
132
- - **Vertical Slicing**: Symfony + Flutter + API + PostgreSQL
126
+ - **Vertical Slicing**: {{STACK_SLICE}}
133
127
 
134
128
  ### Acceptance Criteria
135
129
  - **Gherkin** format: GIVEN [context] / WHEN [actor] [action] / THEN [result]
@@ -189,20 +183,6 @@ project-management/
189
183
 
190
184
  ## Code quality
191
185
 
192
- ### Backend (Symfony)
193
- - PHPStan max level
194
186
  - Tests > 80% coverage
195
- - Hexagonal architecture
196
- - PSR-12
197
-
198
- ### Mobile (Flutter)
199
- - Strict Dart analyzer
200
- - Widget tests
201
- - BLoC/Riverpod
202
- - Material Design 3
203
-
204
- ### API (API Platform)
205
- - Auto-generated OpenAPI
206
- - Validation constraints
207
- - Serialization groups
208
- - Security voters
187
+
188
+ {{QUALITY_BLOCK}}