@the-bearded-bear/claude-craft 5.0.0 → 5.1.0-next.6023ffb

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 (38) hide show
  1. package/Dev/i18n/de/Common/commands/recette.md +244 -0
  2. package/Dev/i18n/en/Common/commands/ralph-sprint.md +58 -0
  3. package/Dev/i18n/en/Common/commands/recette.md +244 -0
  4. package/Dev/i18n/es/Common/commands/recette.md +244 -0
  5. package/Dev/i18n/fr/Common/commands/ralph-sprint.md +58 -0
  6. package/Dev/i18n/fr/Common/commands/recette.md +244 -0
  7. package/Dev/i18n/pt/Common/commands/recette.md +244 -0
  8. package/Dev/scripts/install-angular-rules.sh +1 -1
  9. package/Dev/scripts/install-common-rules.sh +1 -1
  10. package/Dev/scripts/install-csharp-rules.sh +1 -1
  11. package/Dev/scripts/install-flutter-rules.sh +1 -1
  12. package/Dev/scripts/install-laravel-rules.sh +1 -1
  13. package/Dev/scripts/install-php-rules.sh +1 -1
  14. package/Dev/scripts/install-python-rules.sh +1 -1
  15. package/Dev/scripts/install-react-rules.sh +1 -1
  16. package/Dev/scripts/install-reactnative-rules.sh +1 -1
  17. package/Dev/scripts/install-symfony-rules.sh +1 -1
  18. package/Dev/scripts/install-vuejs-rules.sh +1 -1
  19. package/Project/agents/qa-recette.yaml +207 -0
  20. package/README.md +23 -3
  21. package/Tools/Ralph/lib/sprint-conductor.sh +304 -3
  22. package/Tools/Recette/lib/browser-executor.sh +794 -0
  23. package/Tools/Recette/lib/chrome-check.sh +307 -0
  24. package/Tools/Recette/lib/plan-generator.sh +544 -0
  25. package/Tools/Recette/lib/regression-detector.sh +487 -0
  26. package/Tools/Recette/lib/report-generator.sh +584 -0
  27. package/Tools/Recette/lib/session.sh +516 -0
  28. package/Tools/Recette/lib/test-generator.sh +576 -0
  29. package/Tools/Recette/templates/feature.feature.template +53 -0
  30. package/Tools/Recette/templates/functional-test.php.template +99 -0
  31. package/Tools/Recette/templates/report.md.template +141 -0
  32. package/Tools/Recette/templates/unit-test.php.template +70 -0
  33. package/Tools/i18n/recette/de.sh +156 -0
  34. package/Tools/i18n/recette/en.sh +156 -0
  35. package/Tools/i18n/recette/es.sh +156 -0
  36. package/Tools/i18n/recette/fr.sh +156 -0
  37. package/Tools/i18n/recette/pt.sh +156 -0
  38. package/package.json +1 -1
@@ -0,0 +1,244 @@
1
+ ---
2
+ description: Automatisierte Akzeptanztests mit Claude in Chrome
3
+ argument-hint: --scope=<story|epic|sprint|task> --id=<target-id> [--resume|--record-gif|--dry-run]
4
+ ---
5
+
6
+ # QA Recette - Automatisierte Akzeptanztests
7
+
8
+ Fuehrt automatisierte Akzeptanztests (Recette) auf Webanwendungen mit Claude in Chrome fuer Browser-Automatisierung durch. Dieses System implementiert die **Goldene Regel**: Ein behobener Fehler darf NIE wieder auftreten.
9
+
10
+ ## Argumente
11
+
12
+ **$ARGUMENTS**
13
+
14
+ - `--scope=<type>`: Testumfang (story, epic, sprint, task)
15
+ - `--id=<target-id>`: Ziel-Identifikator (z.B. US-001, EPIC-01, Sprint-3)
16
+ - `--resume=<session-id>`: Von einer vorherigen Sitzung fortsetzen
17
+ - `--record-gif`: GIF der Ausfuehrung aufzeichnen
18
+ - `--dry-run`: Plan generieren ohne Tests auszufuehren
19
+ - `--base-url=<url>`: Basis-URL ueberschreiben
20
+
21
+ ## Hauptfunktionen
22
+
23
+ | Funktion | Beschreibung |
24
+ |----------|--------------|
25
+ | **Umfassende Plaene** | Generiert umfassende Testplaene aus Akzeptanzkriterien |
26
+ | **Browser-Automatisierung** | Verwendet Claude in Chrome fuer echte Browser-Tests |
27
+ | **Sitzungswiederherstellung** | Checkpoint-basierte Fortsetzung fuer unterbrochene Sitzungen |
28
+ | **Goldene Regel** | Automatische Regressionstestgenerierung fuer alle Fehler |
29
+ | **Lebende Dokumentation** | Pflegt Testdokumentation mit Rueckverfolgbarkeit |
30
+ | **Regressionserkennung** | Vergleicht Laeufe zur Erkennung von Regressionen |
31
+
32
+ ## Voraussetzungen
33
+
34
+ 1. **Claude in Chrome Extension**: Version 1.0.36 oder hoeher
35
+ 2. **Chrome Browser**: Geoeffnet mit aktiver Extension
36
+ 3. **Claude Code**: Gestartet mit `--chrome` Flag oder `/chrome` Befehl
37
+
38
+ ```bash
39
+ # Claude Code mit Chrome-Unterstuetzung starten
40
+ claude --chrome
41
+
42
+ # Oder Chrome in bestehender Sitzung aktivieren
43
+ /chrome
44
+ ```
45
+
46
+ ## Prozess
47
+
48
+ ### 1. Verifizierung
49
+
50
+ Der Befehl prueft zuerst, ob Chrome MCP verfuegbar ist:
51
+
52
+ ```
53
+ ┌─────────────────────────────────────────┐
54
+ │ 1. check_chrome_mcp() │
55
+ │ - MCP claude-in-chrome vorhanden? │
56
+ │ - Extension verbunden? │
57
+ │ - Website-Berechtigungen OK? │
58
+ └─────────────────────────────────────────┘
59
+ ```
60
+
61
+ ### 2. Testplan-Generierung
62
+
63
+ Generiert einen umfassenden Testplan, der abdeckt:
64
+
65
+ | Kategorie | Beschreibung |
66
+ |-----------|--------------|
67
+ | `acceptance_criteria_validation` | Tests fuer jedes AC |
68
+ | `edge_cases` | Randbedingungen |
69
+ | `error_scenarios` | Fehlerbehandlung |
70
+ | `ui_ux_verification` | UI/UX-Konsistenz |
71
+ | `performance_checks` | Ladezeiten |
72
+ | `security_basics` | XSS, CSRF, Injection |
73
+
74
+ ### 3. Testausfuehrung
75
+
76
+ Jeder Test wird ueber Chrome ausgefuehrt:
77
+
78
+ ```
79
+ Test TC-001
80
+ ├── Schritt 1: navigate → /login
81
+ ├── Schritt 2: type → #email = "user@test.com"
82
+ ├── Schritt 3: click → button[type='submit']
83
+ └── Assertions
84
+ ├── url_matches → ^.*/dashboard$
85
+ └── element_visible → .welcome-message
86
+ ```
87
+
88
+ ### 4. Fehler → Test → Regression
89
+
90
+ Wenn ein Fehler erkannt wird:
91
+
92
+ ```
93
+ 1. Fehler waehrend Recette erkannt
94
+
95
+
96
+ 2. Klassifizierung (visual, interaction, validation, logic, security, API)
97
+
98
+
99
+ 3. Tests nach Typ generieren:
100
+ - Logic/Validation → Unit-Test
101
+ - API/Service → Funktionstest
102
+ - Benutzerfluss → Behat-Feature
103
+
104
+
105
+ 4. Zum Regressionsregister mit @regression Tag hinzufuegen
106
+
107
+
108
+ 5. Bug beheben (TDD-Workflow)
109
+
110
+
111
+ 6. Verifizieren: alle Regressionstests bestehen
112
+ ```
113
+
114
+ ## Schnellstart-Beispiele
115
+
116
+ ```bash
117
+ # Eine bestimmte Story testen
118
+ /qa:recette --scope=story --id=US-001
119
+
120
+ # Alle Stories eines Sprints testen
121
+ /qa:recette --scope=sprint --id=Sprint-3
122
+
123
+ # Dry Run um Testplan zu sehen
124
+ /qa:recette --scope=story --id=US-001 --dry-run
125
+
126
+ # Unterbrochene Sitzung fortsetzen
127
+ /qa:recette --scope=story --id=US-001 --resume=REC-20260130-143022
128
+
129
+ # Ausfuehrung als GIF aufzeichnen
130
+ /qa:recette --scope=story --id=US-001 --record-gif
131
+ ```
132
+
133
+ ## Sitzungswiederherstellung
134
+
135
+ Sitzungen werden nach jedem Test gespeichert:
136
+
137
+ ```yaml
138
+ # .recette/sessions/{session-id}/state.yaml
139
+ session:
140
+ id: "REC-20260130-143022"
141
+ status: "paused"
142
+
143
+ progress:
144
+ current_test_index: 5
145
+ tests:
146
+ total: 15
147
+ passed: 4
148
+ failed: 1
149
+ pending: 10
150
+
151
+ recovery:
152
+ resumable: true
153
+ resume_from:
154
+ test_id: "TC-005"
155
+ step_index: 0
156
+ ```
157
+
158
+ Zum Fortsetzen:
159
+
160
+ ```bash
161
+ /qa:recette --scope=story --id=US-001 --resume=REC-20260130-143022
162
+ ```
163
+
164
+ ## Regressionsregister
165
+
166
+ Alle erkannten Fehler werden verfolgt:
167
+
168
+ ```yaml
169
+ # .recette/regression/registry.yaml
170
+ entries:
171
+ - id: "REG-001"
172
+ error_id: "ERR-001"
173
+ source:
174
+ scope: "story"
175
+ target_id: "US-001"
176
+ generated_tests:
177
+ - type: "unit"
178
+ path: "tests/Unit/Auth/LoginErrorTest.php"
179
+ - type: "behat"
180
+ path: "features/auth/login_error.feature"
181
+ fix:
182
+ status: "verified"
183
+ ```
184
+
185
+ ## Ausgabestruktur
186
+
187
+ ```
188
+ .recette/
189
+ ├── plans/ # Testplaene (YAML)
190
+ │ └── story-US-001-plan.yaml
191
+ ├── sessions/ # Sitzungszustaende
192
+ │ └── REC-20260130-143022/
193
+ │ ├── state.yaml
194
+ │ ├── screenshots/
195
+ │ ├── checkpoints/
196
+ │ └── logs/
197
+ ├── regression/ # Regressions-Suite
198
+ │ ├── registry.yaml
199
+ │ └── tests/
200
+ │ ├── Unit/
201
+ │ ├── Functional/
202
+ │ └── Behat/
203
+ ├── metrics/ # Historische Daten
204
+ │ └── history.jsonl
205
+ └── reports/ # Generierte Berichte
206
+ └── REC-20260130-143022-report.md
207
+ ```
208
+
209
+ ## Verwandte Befehle
210
+
211
+ | Befehl | Beschreibung |
212
+ |--------|--------------|
213
+ | `/qa:recette-status` | Sitzungsstatus anzeigen |
214
+ | `/qa:recette-regression` | Regressionstests anzeigen |
215
+ | `/qa:recette-report` | Bericht generieren |
216
+ | `/qa:validate` | Story AC validieren |
217
+ | `/qa:automate` | Automatisierte Tests erstellen |
218
+
219
+ ## Chrome-Faehigkeiten
220
+
221
+ | Kategorie | Aktionen |
222
+ |-----------|----------|
223
+ | **Navigation** | navigate, back, forward, refresh |
224
+ | **Interaktion** | click, type, fill_form, scroll, hover |
225
+ | **Lesen** | DOM-Zustand, Element-Text, Attribute |
226
+ | **Debugging** | Konsolen-Logs, Netzwerkanfragen, Fehler |
227
+ | **Erfassung** | Screenshot, GIF-Aufnahme |
228
+
229
+ ## Fehlermeldungen
230
+
231
+ | Fehler | Loesung |
232
+ |--------|---------|
233
+ | "MCP nicht erkannt" | `claude --chrome` oder `/chrome` ausfuehren |
234
+ | "Extension nicht verbunden" | Chrome oeffnen, Extension pruefen |
235
+ | "Berechtigung erforderlich" | Extension auf der Domain autorisieren |
236
+ | "Version veraltet" | Chrome Extension auf v1.0.36+ aktualisieren |
237
+
238
+ ## Best Practices
239
+
240
+ 1. **Mit Dry-Run beginnen**: Testplan vor Ausfuehrung pruefen
241
+ 2. **Spezifische Scopes verwenden**: Stories einzeln testen fuer bessere Nachverfolgung
242
+ 3. **Regressionen pruefen**: `.recette/regression/` nach jedem Lauf konsultieren
243
+ 4. **GIF-Aufnahme aktivieren**: Zum Debuggen komplexer Fehler
244
+ 5. **Basis-URL pflegen**: Im Plan fuer konsistente Tests konfigurieren
@@ -108,6 +108,61 @@ The conductor stops when any condition is met:
108
108
  | Stop window | 06:00 | Time-based stop (for overnight) |
109
109
  | Critical escalation | - | Pauses on critical issues |
110
110
 
111
+ ## Parallel Processing
112
+
113
+ When `--parallel N` is specified, the ASC processes stories in parallel waves:
114
+
115
+ ### How It Works
116
+
117
+ 1. **Dependency Graph**: The ASC builds a dependency graph from `blocked_by` relationships
118
+ 2. **Wave Processing**: Stories are processed in waves based on dependency satisfaction
119
+ 3. **Slot Management**: Up to N concurrent sessions, limited by CPU/memory thresholds
120
+ 4. **Sequential Merge**: Git branches are merged sequentially to avoid conflicts
121
+
122
+ ```
123
+ Wave 1: [US-001, US-002, US-003] ← Independent stories (no blockers)
124
+ ↓ ↓ ↓
125
+ Session Session Session
126
+ ↓ ↓ ↓
127
+ Complete Complete Complete
128
+
129
+ Wave 2: [US-004, US-005] ← Depend on US-001/US-002 (now done)
130
+ ↓ ↓
131
+ Session Session
132
+ ↓ ↓
133
+ Complete Complete
134
+ ```
135
+
136
+ ### Dependency Handling
137
+
138
+ Stories are only scheduled when their dependencies are satisfied:
139
+
140
+ ```yaml
141
+ # sprint-status.yaml
142
+ stories:
143
+ US-001:
144
+ status: ready-for-dev
145
+ blocked_by: [] # ✓ Can start immediately
146
+ US-002:
147
+ status: ready-for-dev
148
+ blocked_by: [] # ✓ Can start immediately
149
+ US-003:
150
+ status: ready-for-dev
151
+ blocked_by: [US-001] # ✗ Waits for US-001 completion
152
+ ```
153
+
154
+ ### Resource Limits
155
+
156
+ ```yaml
157
+ # ralph-autonomous.yml
158
+ parallel:
159
+ enabled: true
160
+ max_concurrent: 3
161
+ resource_limits:
162
+ cpu_percent: 80 # Don't spawn if CPU > 80%
163
+ mem_percent: 80 # Don't spawn if memory > 80%
164
+ ```
165
+
111
166
  ## Quick Start Examples
112
167
 
113
168
  ```bash
@@ -117,6 +172,9 @@ The conductor stops when any condition is met:
117
172
  # Parallel processing with 3 sessions
118
173
  /common:ralph-sprint "Sprint 3" --parallel 3
119
174
 
175
+ # Combined: parallel overnight
176
+ /common:ralph-sprint "Sprint 3" --parallel 3 --overnight
177
+
120
178
  # Supervised mode (confirm each story)
121
179
  /common:ralph-sprint "Sprint 3" --supervised
122
180
 
@@ -0,0 +1,244 @@
1
+ ---
2
+ description: Automated acceptance testing with Claude in Chrome
3
+ argument-hint: --scope=<story|epic|sprint|task> --id=<target-id> [--resume|--record-gif|--dry-run]
4
+ ---
5
+
6
+ # QA Recette - Automated Acceptance Testing
7
+
8
+ Execute automated acceptance tests (recette) on web applications using Claude in Chrome for browser automation. This system implements the **Golden Rule**: A fixed bug should NEVER reappear.
9
+
10
+ ## Arguments
11
+
12
+ **$ARGUMENTS**
13
+
14
+ - `--scope=<type>`: Scope of testing (story, epic, sprint, task)
15
+ - `--id=<target-id>`: Target identifier (e.g., US-001, EPIC-01, Sprint-3)
16
+ - `--resume=<session-id>`: Resume from a previous session
17
+ - `--record-gif`: Record GIF of test execution
18
+ - `--dry-run`: Generate plan without executing tests
19
+ - `--base-url=<url>`: Override base URL for testing
20
+
21
+ ## Key Features
22
+
23
+ | Feature | Description |
24
+ |---------|-------------|
25
+ | **Comprehensive Plans** | Generates exhaustive test plans from acceptance criteria |
26
+ | **Browser Automation** | Uses Claude in Chrome for real browser testing |
27
+ | **Session Recovery** | Checkpoint-based resume for interrupted sessions |
28
+ | **Golden Rule** | Automatic regression test generation for all errors |
29
+ | **Living Documentation** | Maintains test documentation with traceability |
30
+ | **Regression Detection** | Compares runs to detect regressions |
31
+
32
+ ## Prerequisites
33
+
34
+ 1. **Claude in Chrome Extension**: Version 1.0.36 or higher
35
+ 2. **Chrome Browser**: Open with the extension active
36
+ 3. **Claude Code**: Started with `--chrome` flag or `/chrome` command
37
+
38
+ ```bash
39
+ # Start Claude Code with Chrome support
40
+ claude --chrome
41
+
42
+ # Or enable Chrome in existing session
43
+ /chrome
44
+ ```
45
+
46
+ ## Process
47
+
48
+ ### 1. Verification
49
+
50
+ The command first verifies Chrome MCP is available:
51
+
52
+ ```
53
+ ┌─────────────────────────────────────────┐
54
+ │ 1. check_chrome_mcp() │
55
+ │ - MCP claude-in-chrome present? │
56
+ │ - Extension connected? │
57
+ │ - Site permissions OK? │
58
+ └─────────────────────────────────────────┘
59
+ ```
60
+
61
+ ### 2. Test Plan Generation
62
+
63
+ Generates comprehensive test plan covering:
64
+
65
+ | Category | Description |
66
+ |----------|-------------|
67
+ | `acceptance_criteria_validation` | Tests for each AC |
68
+ | `edge_cases` | Boundary conditions |
69
+ | `error_scenarios` | Error handling |
70
+ | `ui_ux_verification` | UI/UX consistency |
71
+ | `performance_checks` | Load times |
72
+ | `security_basics` | XSS, CSRF, injection |
73
+
74
+ ### 3. Test Execution
75
+
76
+ Each test is executed via Chrome:
77
+
78
+ ```
79
+ Test TC-001
80
+ ├── Step 1: navigate → /login
81
+ ├── Step 2: type → #email = "user@test.com"
82
+ ├── Step 3: click → button[type='submit']
83
+ └── Assertions
84
+ ├── url_matches → ^.*/dashboard$
85
+ └── element_visible → .welcome-message
86
+ ```
87
+
88
+ ### 4. Error → Test → Regression
89
+
90
+ When an error is detected:
91
+
92
+ ```
93
+ 1. Error detected during recette
94
+
95
+
96
+ 2. Classification (visual, interaction, validation, logic, security, API)
97
+
98
+
99
+ 3. Generate tests based on type:
100
+ - Logic/Validation → Unit test
101
+ - API/Service → Functional test
102
+ - User flow → Behat feature
103
+
104
+
105
+ 4. Add to regression registry with @regression tag
106
+
107
+
108
+ 5. Fix the bug (TDD workflow)
109
+
110
+
111
+ 6. Verify: all regression tests pass
112
+ ```
113
+
114
+ ## Quick Start Examples
115
+
116
+ ```bash
117
+ # Test a specific story
118
+ /qa:recette --scope=story --id=US-001
119
+
120
+ # Test all stories in a sprint
121
+ /qa:recette --scope=sprint --id=Sprint-3
122
+
123
+ # Dry run to see the test plan
124
+ /qa:recette --scope=story --id=US-001 --dry-run
125
+
126
+ # Resume an interrupted session
127
+ /qa:recette --scope=story --id=US-001 --resume=REC-20260130-143022
128
+
129
+ # Record execution as GIF
130
+ /qa:recette --scope=story --id=US-001 --record-gif
131
+ ```
132
+
133
+ ## Session Recovery
134
+
135
+ Sessions are checkpointed after each test:
136
+
137
+ ```yaml
138
+ # .recette/sessions/{session-id}/state.yaml
139
+ session:
140
+ id: "REC-20260130-143022"
141
+ status: "paused"
142
+
143
+ progress:
144
+ current_test_index: 5
145
+ tests:
146
+ total: 15
147
+ passed: 4
148
+ failed: 1
149
+ pending: 10
150
+
151
+ recovery:
152
+ resumable: true
153
+ resume_from:
154
+ test_id: "TC-005"
155
+ step_index: 0
156
+ ```
157
+
158
+ To resume:
159
+
160
+ ```bash
161
+ /qa:recette --scope=story --id=US-001 --resume=REC-20260130-143022
162
+ ```
163
+
164
+ ## Regression Registry
165
+
166
+ All detected errors are tracked:
167
+
168
+ ```yaml
169
+ # .recette/regression/registry.yaml
170
+ entries:
171
+ - id: "REG-001"
172
+ error_id: "ERR-001"
173
+ source:
174
+ scope: "story"
175
+ target_id: "US-001"
176
+ generated_tests:
177
+ - type: "unit"
178
+ path: "tests/Unit/Auth/LoginErrorTest.php"
179
+ - type: "behat"
180
+ path: "features/auth/login_error.feature"
181
+ fix:
182
+ status: "verified"
183
+ ```
184
+
185
+ ## Output Structure
186
+
187
+ ```
188
+ .recette/
189
+ ├── plans/ # Test plans (YAML)
190
+ │ └── story-US-001-plan.yaml
191
+ ├── sessions/ # Session states
192
+ │ └── REC-20260130-143022/
193
+ │ ├── state.yaml
194
+ │ ├── screenshots/
195
+ │ ├── checkpoints/
196
+ │ └── logs/
197
+ ├── regression/ # Regression suite
198
+ │ ├── registry.yaml
199
+ │ └── tests/
200
+ │ ├── Unit/
201
+ │ ├── Functional/
202
+ │ └── Behat/
203
+ ├── metrics/ # Historical data
204
+ │ └── history.jsonl
205
+ └── reports/ # Generated reports
206
+ └── REC-20260130-143022-report.md
207
+ ```
208
+
209
+ ## Related Commands
210
+
211
+ | Command | Description |
212
+ |---------|-------------|
213
+ | `/qa:recette-status` | Show session status |
214
+ | `/qa:recette-regression` | View regression tests |
215
+ | `/qa:recette-report` | Generate report |
216
+ | `/qa:validate` | Validate story AC |
217
+ | `/qa:automate` | Create automated tests |
218
+
219
+ ## Chrome Capabilities
220
+
221
+ | Category | Actions |
222
+ |----------|---------|
223
+ | **Navigation** | navigate, back, forward, refresh |
224
+ | **Interaction** | click, type, fill_form, scroll, hover |
225
+ | **Reading** | DOM state, element text, attributes |
226
+ | **Debugging** | Console logs, network requests, errors |
227
+ | **Capture** | Screenshot, record GIF |
228
+
229
+ ## Error Messages
230
+
231
+ | Error | Solution |
232
+ |-------|----------|
233
+ | "MCP not detected" | Run `claude --chrome` or `/chrome` |
234
+ | "Extension not connected" | Open Chrome, verify extension |
235
+ | "Permission required" | Allow extension on the domain |
236
+ | "Version outdated" | Update Chrome extension to v1.0.36+ |
237
+
238
+ ## Best Practices
239
+
240
+ 1. **Start with dry-run**: Verify the test plan before execution
241
+ 2. **Use specific scopes**: Test stories individually for better tracking
242
+ 3. **Review regressions**: Check `.recette/regression/` after each run
243
+ 4. **Enable GIF recording**: For debugging complex failures
244
+ 5. **Maintain base URL**: Configure in plan for consistent testing