@the-bearded-bear/claude-craft 8.26.0 → 8.27.0
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/base/Common/commands/aliases.md +48 -48
- package/Dev/i18n/base/Common/skills/sub-agents-patterns/SKILL.md +1 -0
- package/Dev/i18n/de/Common/agents/devops-engineer.md +19 -14
- package/Dev/i18n/de/Common/agents/migration-specialist.md +10 -15
- package/Dev/i18n/de/Common/agents/mlops-engineer.md +19 -15
- package/Dev/i18n/de/Common/agents/ralph-conductor.md +4 -15
- package/Dev/i18n/de/Common/agents/refactoring-specialist.md +0 -9
- package/Dev/i18n/de/Common/agents/tdd-coach.md +0 -9
- package/Dev/i18n/de/Common/agents/uiux-orchestrator.md +0 -9
- package/Dev/i18n/de/Common/commands/ralph-run.md +52 -0
- package/Dev/i18n/de/Common/commands/research-context7.md +5 -253
- package/Dev/i18n/de/Common/rules/12-context-management.md +10 -8
- package/Dev/i18n/de/Common/templates/settings.json.template +4 -0
- package/Dev/i18n/de/Python/skills/coding-standards/SKILL.md +1 -1
- package/Dev/i18n/de/Python/skills/testing-python/SKILL.md +1 -1
- package/Dev/i18n/de/Python/skills/tooling/SKILL.md +1 -1
- package/Dev/i18n/de/Symfony/commands/check-security.md +20 -20
- package/Dev/i18n/de/Symfony/skills/aggregates/SKILL.md +1 -1
- package/Dev/i18n/de/Symfony/skills/async/SKILL.md +1 -1
- package/Dev/i18n/de/Symfony/skills/cqrs/SKILL.md +1 -1
- package/Dev/i18n/de/Symfony/skills/domain-events/SKILL.md +1 -1
- package/Dev/i18n/de/Symfony/skills/i18n/SKILL.md +1 -1
- package/Dev/i18n/de/Symfony/skills/multitenant/SKILL.md +1 -1
- package/Dev/i18n/de/Symfony/skills/value-objects/SKILL.md +1 -1
- package/Dev/i18n/de/Team/commands/audit.md +29 -4
- package/Dev/i18n/de/Team/commands/delivery.md +29 -4
- package/Dev/i18n/de/Team/commands/security.md +31 -4
- package/Dev/i18n/de/Team/commands/sprint.md +30 -5
- package/Dev/i18n/de/UIUX/commands/audit.md +1 -30
- package/Dev/i18n/de/UIUX/commands/component-spec.md +1 -5
- package/Dev/i18n/de/UIUX/commands/orchestrator.md +5 -98
- package/Dev/i18n/de/Workflow/commands/auto-sprint.md +7 -4
- package/Dev/i18n/de/Workflow/commands/plan.md +1 -2
- package/Dev/i18n/en/Common/agents/devops-engineer.md +19 -14
- package/Dev/i18n/en/Common/agents/migration-specialist.md +10 -15
- package/Dev/i18n/en/Common/agents/mlops-engineer.md +19 -15
- package/Dev/i18n/en/Common/agents/ralph-conductor.md +4 -15
- package/Dev/i18n/en/Common/agents/refactoring-specialist.md +0 -9
- package/Dev/i18n/en/Common/agents/tdd-coach.md +0 -9
- package/Dev/i18n/en/Common/agents/uiux-orchestrator.md +0 -9
- package/Dev/i18n/en/Common/commands/ralph-run.md +52 -0
- package/Dev/i18n/en/Common/commands/research-context7.md +5 -253
- package/Dev/i18n/en/Common/rules/12-context-management.md +12 -10
- package/Dev/i18n/en/Common/templates/settings.json.template +4 -0
- package/Dev/i18n/en/Python/skills/coding-standards/SKILL.md +1 -1
- package/Dev/i18n/en/Python/skills/testing-python/SKILL.md +1 -1
- package/Dev/i18n/en/Python/skills/tooling/SKILL.md +1 -1
- package/Dev/i18n/en/Symfony/commands/check-security.md +20 -20
- package/Dev/i18n/en/Symfony/skills/aggregates/SKILL.md +1 -1
- package/Dev/i18n/en/Symfony/skills/async/SKILL.md +1 -1
- package/Dev/i18n/en/Symfony/skills/cqrs/SKILL.md +1 -1
- package/Dev/i18n/en/Symfony/skills/domain-events/SKILL.md +1 -1
- package/Dev/i18n/en/Symfony/skills/i18n/SKILL.md +1 -1
- package/Dev/i18n/en/Symfony/skills/multitenant/SKILL.md +1 -1
- package/Dev/i18n/en/Symfony/skills/value-objects/SKILL.md +1 -1
- package/Dev/i18n/en/Team/commands/audit.md +29 -4
- package/Dev/i18n/en/Team/commands/delivery.md +29 -4
- package/Dev/i18n/en/Team/commands/security.md +31 -4
- package/Dev/i18n/en/Team/commands/sprint.md +30 -5
- package/Dev/i18n/en/UIUX/commands/audit.md +1 -30
- package/Dev/i18n/en/UIUX/commands/component-spec.md +1 -5
- package/Dev/i18n/en/UIUX/commands/orchestrator.md +5 -98
- package/Dev/i18n/en/Workflow/commands/auto-sprint.md +7 -4
- package/Dev/i18n/en/Workflow/commands/plan.md +1 -2
- package/Dev/i18n/es/Common/agents/devops-engineer.md +19 -14
- package/Dev/i18n/es/Common/agents/migration-specialist.md +10 -15
- package/Dev/i18n/es/Common/agents/mlops-engineer.md +19 -15
- package/Dev/i18n/es/Common/agents/ralph-conductor.md +4 -15
- package/Dev/i18n/es/Common/agents/refactoring-specialist.md +0 -9
- package/Dev/i18n/es/Common/agents/tdd-coach.md +0 -9
- package/Dev/i18n/es/Common/agents/uiux-orchestrator.md +0 -9
- package/Dev/i18n/es/Common/commands/ralph-run.md +52 -0
- package/Dev/i18n/es/Common/commands/research-context7.md +5 -253
- package/Dev/i18n/es/Common/rules/12-context-management.md +9 -7
- package/Dev/i18n/es/Common/templates/settings.json.template +4 -0
- package/Dev/i18n/es/Python/skills/coding-standards/SKILL.md +1 -1
- package/Dev/i18n/es/Python/skills/testing-python/SKILL.md +1 -1
- package/Dev/i18n/es/Python/skills/tooling/SKILL.md +1 -1
- package/Dev/i18n/es/Symfony/commands/check-security.md +20 -20
- package/Dev/i18n/es/Symfony/skills/aggregates/SKILL.md +1 -1
- package/Dev/i18n/es/Symfony/skills/async/SKILL.md +1 -1
- package/Dev/i18n/es/Symfony/skills/cqrs/SKILL.md +1 -1
- package/Dev/i18n/es/Symfony/skills/domain-events/SKILL.md +1 -1
- package/Dev/i18n/es/Symfony/skills/i18n/SKILL.md +1 -1
- package/Dev/i18n/es/Symfony/skills/multitenant/SKILL.md +1 -1
- package/Dev/i18n/es/Symfony/skills/value-objects/SKILL.md +1 -1
- package/Dev/i18n/es/Team/commands/audit.md +29 -4
- package/Dev/i18n/es/Team/commands/delivery.md +29 -4
- package/Dev/i18n/es/Team/commands/security.md +31 -4
- package/Dev/i18n/es/Team/commands/sprint.md +30 -5
- package/Dev/i18n/es/UIUX/commands/audit.md +1 -30
- package/Dev/i18n/es/UIUX/commands/component-spec.md +1 -5
- package/Dev/i18n/es/UIUX/commands/orchestrator.md +5 -98
- package/Dev/i18n/es/Workflow/commands/auto-sprint.md +7 -4
- package/Dev/i18n/es/Workflow/commands/plan.md +1 -2
- package/Dev/i18n/fr/Common/agents/devops-engineer.md +19 -14
- package/Dev/i18n/fr/Common/agents/migration-specialist.md +10 -15
- package/Dev/i18n/fr/Common/agents/mlops-engineer.md +19 -15
- package/Dev/i18n/fr/Common/agents/ralph-conductor.md +4 -15
- package/Dev/i18n/fr/Common/agents/refactoring-specialist.md +0 -9
- package/Dev/i18n/fr/Common/agents/tdd-coach.md +0 -9
- package/Dev/i18n/fr/Common/agents/uiux-orchestrator.md +0 -9
- package/Dev/i18n/fr/Common/commands/ralph-run.md +52 -0
- package/Dev/i18n/fr/Common/commands/research-context7.md +5 -253
- package/Dev/i18n/fr/Common/rules/12-context-management.md +10 -8
- package/Dev/i18n/fr/Common/templates/settings.json.template +4 -0
- package/Dev/i18n/fr/React/commands/check-compliance.md +1 -1
- package/Dev/i18n/fr/React/commands/check-security.md +2 -2
- package/Dev/i18n/fr/Symfony/commands/check-security.md +20 -20
- package/Dev/i18n/fr/Symfony/skills/aggregates/SKILL.md +1 -1
- package/Dev/i18n/fr/Symfony/skills/async/SKILL.md +1 -1
- package/Dev/i18n/fr/Symfony/skills/cqrs/SKILL.md +1 -1
- package/Dev/i18n/fr/Symfony/skills/domain-events/SKILL.md +1 -1
- package/Dev/i18n/fr/Symfony/skills/i18n/SKILL.md +1 -1
- package/Dev/i18n/fr/Symfony/skills/multitenant/SKILL.md +1 -1
- package/Dev/i18n/fr/Symfony/skills/value-objects/SKILL.md +1 -1
- package/Dev/i18n/fr/Team/commands/audit.md +29 -4
- package/Dev/i18n/fr/Team/commands/delivery.md +29 -4
- package/Dev/i18n/fr/Team/commands/security.md +31 -4
- package/Dev/i18n/fr/Team/commands/sprint.md +30 -5
- package/Dev/i18n/fr/UIUX/commands/audit.md +1 -30
- package/Dev/i18n/fr/UIUX/commands/component-spec.md +1 -5
- package/Dev/i18n/fr/UIUX/commands/orchestrator.md +5 -98
- package/Dev/i18n/fr/Workflow/commands/auto-sprint.md +7 -4
- package/Dev/i18n/fr/Workflow/commands/plan.md +1 -2
- package/Dev/i18n/pt/Common/agents/devops-engineer.md +19 -14
- package/Dev/i18n/pt/Common/agents/migration-specialist.md +10 -15
- package/Dev/i18n/pt/Common/agents/mlops-engineer.md +19 -15
- package/Dev/i18n/pt/Common/agents/ralph-conductor.md +4 -15
- package/Dev/i18n/pt/Common/agents/refactoring-specialist.md +0 -9
- package/Dev/i18n/pt/Common/agents/tdd-coach.md +0 -9
- package/Dev/i18n/pt/Common/agents/uiux-orchestrator.md +0 -9
- package/Dev/i18n/pt/Common/commands/ralph-run.md +52 -0
- package/Dev/i18n/pt/Common/commands/research-context7.md +5 -253
- package/Dev/i18n/pt/Common/rules/12-context-management.md +9 -7
- package/Dev/i18n/pt/Common/templates/settings.json.template +4 -0
- package/Dev/i18n/pt/Python/skills/coding-standards/SKILL.md +1 -1
- package/Dev/i18n/pt/Python/skills/testing-python/SKILL.md +1 -1
- package/Dev/i18n/pt/Python/skills/tooling/SKILL.md +1 -1
- package/Dev/i18n/pt/Symfony/commands/check-security.md +20 -20
- package/Dev/i18n/pt/Symfony/skills/aggregates/SKILL.md +1 -1
- package/Dev/i18n/pt/Symfony/skills/async/SKILL.md +1 -1
- package/Dev/i18n/pt/Symfony/skills/cqrs/SKILL.md +1 -1
- package/Dev/i18n/pt/Symfony/skills/domain-events/SKILL.md +1 -1
- package/Dev/i18n/pt/Symfony/skills/i18n/SKILL.md +1 -1
- package/Dev/i18n/pt/Symfony/skills/multitenant/SKILL.md +1 -1
- package/Dev/i18n/pt/Symfony/skills/value-objects/SKILL.md +1 -1
- package/Dev/i18n/pt/Team/commands/audit.md +29 -4
- package/Dev/i18n/pt/Team/commands/delivery.md +29 -4
- package/Dev/i18n/pt/Team/commands/security.md +31 -4
- package/Dev/i18n/pt/Team/commands/sprint.md +30 -5
- package/Dev/i18n/pt/UIUX/commands/audit.md +1 -30
- package/Dev/i18n/pt/UIUX/commands/component-spec.md +1 -5
- package/Dev/i18n/pt/UIUX/commands/orchestrator.md +5 -98
- package/Dev/i18n/pt/Workflow/commands/auto-sprint.md +7 -4
- package/Dev/i18n/pt/Workflow/commands/plan.md +1 -2
- package/Dev/scripts/install-common-rules.sh +8 -0
- package/README.md +12 -8
- package/Tools/Ralph/lib/checkpoint.sh +3 -3
- package/Tools/Ralph/lib/circuit-breaker.sh +10 -10
- package/Tools/Ralph/lib/context-manager.sh +56 -65
- package/Tools/Ralph/lib/context-reconstruction.sh +46 -79
- package/Tools/Ralph/lib/dod-templates.sh +2 -2
- package/Tools/Ralph/lib/dod-validator.sh +18 -18
- package/Tools/Ralph/lib/escalation-service.sh +9 -7
- package/Tools/Ralph/lib/hooks-generator.sh +2 -1
- package/Tools/Ralph/lib/loop-finalizer.sh +1 -1
- package/Tools/Ralph/lib/loop.sh +44 -10
- package/Tools/Ralph/lib/metrics-exporter.sh +1 -1
- package/Tools/Ralph/lib/parallel-manager.sh +173 -88
- package/Tools/Ralph/lib/project-detector.sh +3 -3
- package/Tools/Ralph/lib/recovery-engine.sh +8 -8
- package/Tools/Ralph/lib/session.sh +2 -2
- package/Tools/Ralph/lib/sprint-conductor.sh +167 -124
- package/Tools/Ralph/lib/sprint-progress.sh +9 -9
- package/Tools/Ralph/ralph.sh +66 -38
- package/Tools/StatusLine/statusline.sh +0 -0
- package/Tools/i18n/ralph/de.sh +165 -33
- package/Tools/i18n/ralph/en.sh +132 -0
- package/Tools/i18n/ralph/es.sh +209 -77
- package/Tools/i18n/ralph/fr.sh +234 -102
- package/Tools/i18n/ralph/pt.sh +227 -95
- package/bundles/cursor/.cursorrules +3 -3
- package/bundles/windsurf/.windsurfrules +3 -3
- package/cli/lib/doctor.js +1 -1
- package/config/removed-commands.yaml +61 -1
- package/package.json +1 -1
|
@@ -55,7 +55,7 @@ docker run --rm -v $(pwd):/app php:8.5-cli cat /app/config/packages/security.yam
|
|
|
55
55
|
|
|
56
56
|
### Étape 3 : OWASP Top 10 - Injection
|
|
57
57
|
|
|
58
|
-
####
|
|
58
|
+
#### A05:2025 – Injection (SQL, NoSQL, OS, LDAP) (3 points)
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
61
|
# Vérifier l'utilisation de requêtes préparées
|
|
@@ -79,9 +79,9 @@ docker run --rm -v $(pwd):/app php:8.5-cli grep -rE "\"SELECT.*\\..*\$" /app/src
|
|
|
79
79
|
|
|
80
80
|
**Points obtenus** : ___/3
|
|
81
81
|
|
|
82
|
-
### Étape 4 : OWASP Top 10 -
|
|
82
|
+
### Étape 4 : OWASP Top 10 - Authentication Failures
|
|
83
83
|
|
|
84
|
-
#### A07:
|
|
84
|
+
#### A07:2025 – Authentication Failures (3 points)
|
|
85
85
|
|
|
86
86
|
```bash
|
|
87
87
|
# Vérifier la configuration des mots de passe
|
|
@@ -104,9 +104,9 @@ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "RateLimiter" /app/config --i
|
|
|
104
104
|
|
|
105
105
|
**Points obtenus** : ___/3
|
|
106
106
|
|
|
107
|
-
### Étape 5 : OWASP Top 10 -
|
|
107
|
+
### Étape 5 : OWASP Top 10 - Cryptographic Failures
|
|
108
108
|
|
|
109
|
-
####
|
|
109
|
+
#### A04:2025 – Cryptographic Failures (3 points)
|
|
110
110
|
|
|
111
111
|
```bash
|
|
112
112
|
# Vérifier les secrets dans le code
|
|
@@ -131,7 +131,7 @@ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "SECURE_SCHEME" /app/.env.exa
|
|
|
131
131
|
|
|
132
132
|
### Étape 6 : OWASP Top 10 - Broken Access Control
|
|
133
133
|
|
|
134
|
-
#### A01:
|
|
134
|
+
#### A01:2025 – Broken Access Control (3 points)
|
|
135
135
|
|
|
136
136
|
```bash
|
|
137
137
|
# Vérifier les Voters
|
|
@@ -156,7 +156,7 @@ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "@IsGranted" /app/src --inclu
|
|
|
156
156
|
|
|
157
157
|
### Étape 7 : OWASP Top 10 - XSS et CSRF
|
|
158
158
|
|
|
159
|
-
####
|
|
159
|
+
#### A05:2025 – Injection : XSS (Cross-Site Scripting) (2 points)
|
|
160
160
|
|
|
161
161
|
```bash
|
|
162
162
|
# Vérifier l'auto-échappement Twig
|
|
@@ -179,7 +179,7 @@ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "|raw" /app/templates --inclu
|
|
|
179
179
|
|
|
180
180
|
**Points obtenus** : ___/2
|
|
181
181
|
|
|
182
|
-
####
|
|
182
|
+
#### A01:2025 – Broken Access Control : CSRF (Cross-Site Request Forgery) (2 points)
|
|
183
183
|
|
|
184
184
|
```bash
|
|
185
185
|
# Vérifier CSRF protection
|
|
@@ -201,7 +201,7 @@ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "csrf_protection" /app/config
|
|
|
201
201
|
|
|
202
202
|
### Étape 8 : OWASP Top 10 - Autres Vulnérabilités
|
|
203
203
|
|
|
204
|
-
####
|
|
204
|
+
#### A02:2025 – Security Misconfiguration (2 points)
|
|
205
205
|
|
|
206
206
|
```bash
|
|
207
207
|
# Vérifier le mode debug
|
|
@@ -224,7 +224,7 @@ docker run --rm -v $(pwd):/app php:8.5-cli composer audit
|
|
|
224
224
|
|
|
225
225
|
**Points obtenus** : ___/2
|
|
226
226
|
|
|
227
|
-
####
|
|
227
|
+
#### A03:2025 – Software Supply Chain Failures (1 point)
|
|
228
228
|
|
|
229
229
|
```bash
|
|
230
230
|
# Audit de sécurité Composer
|
|
@@ -398,16 +398,16 @@ Fixed in: 5.4.25
|
|
|
398
398
|
OWASP TOP 10 - RÉSUMÉ
|
|
399
399
|
=================================================
|
|
400
400
|
|
|
401
|
-
A01:
|
|
402
|
-
A02:
|
|
403
|
-
A03:
|
|
404
|
-
A04:
|
|
405
|
-
A05:
|
|
406
|
-
A06:
|
|
407
|
-
A07:
|
|
408
|
-
A08:
|
|
409
|
-
A09:
|
|
410
|
-
A10:
|
|
401
|
+
A01:2025 - Broken Access Control : [✅|⚠️|❌]
|
|
402
|
+
A02:2025 - Security Misconfiguration : [✅|⚠️|❌]
|
|
403
|
+
A03:2025 - Software Supply Chain Failures : [✅|⚠️|❌]
|
|
404
|
+
A04:2025 - Cryptographic Failures : [✅|⚠️|❌]
|
|
405
|
+
A05:2025 - Injection : [✅|⚠️|❌]
|
|
406
|
+
A06:2025 - Insecure Design : [✅|⚠️|❌]
|
|
407
|
+
A07:2025 - Authentication Failures : [✅|⚠️|❌]
|
|
408
|
+
A08:2025 - Software or Data Integrity Failures : [✅|⚠️|❌]
|
|
409
|
+
A09:2025 - Logging & Alerting Failures : [✅|⚠️|❌]
|
|
410
|
+
A10:2025 - Mishandling of Exceptional Conditions : [✅|⚠️|❌]
|
|
411
411
|
|
|
412
412
|
=================================================
|
|
413
413
|
CONFORMITÉ RGPD
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cqrs
|
|
3
|
-
description: Règle 07 : CQRS - Command Query Responsibility Segregation. Use when implementing DDD patterns.
|
|
3
|
+
description: "Règle 07 : CQRS - Command Query Responsibility Segregation. Use when implementing DDD patterns."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Règle 07 : CQRS - Command Query Responsibility Segregation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: multitenant
|
|
3
|
-
description: Règle 08 : Multitenant - Isolation et Sécurité. Use when working with multitenant.
|
|
3
|
+
description: "Règle 08 : Multitenant - Isolation et Sécurité. Use when working with multitenant."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Règle 08 : Multitenant - Isolation et Sécurité
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Équipe d'Audit Complet - Audit multi-technologie parallèle
|
|
3
|
-
argument-hint: "[--techs=auto|tech1,tech2] [--max-workers=4]"
|
|
2
|
+
description: Équipe d'Audit Complet - Audit multi-technologie parallèle par sous-agents (Agent Teams en option)
|
|
3
|
+
argument-hint: "[--techs=auto|tech1,tech2] [--max-workers=4] [--engine=subagents|teams]"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Équipe d'Audit Complet - Audit Multi-Technologie Parallèle
|
|
@@ -13,15 +13,40 @@ $ARGUMENTS
|
|
|
13
13
|
|
|
14
14
|
- `--techs=auto` : Auto-détection des technologies (par défaut). Ou spécifier en séparant par des virgules : `--techs=symfony,react`
|
|
15
15
|
- `--max-workers=4` : Nombre maximum de workers auditeurs en parallèle (par défaut : 4, max : 4)
|
|
16
|
+
- `--engine=subagents` : Moteur d'exécution (par défaut : `subagents`). Options : `subagents` (délégation à des sous-agents via l'outil `Agent`, aucun prérequis), `teams` (Agent Teams expérimental). Voir « Moteur d'exécution »
|
|
16
17
|
- `--output-dir=<path>` : Répertoire de sortie personnalisé pour les résultats d'audit
|
|
17
18
|
- `--dry-run` : Afficher la composition de l'équipe et le coût estimé sans exécuter
|
|
18
19
|
- `--skip-aggregation` : Sortir les résultats par stack sans les fusionner
|
|
19
20
|
- `--sequential` : Exécuter les audits séquentiellement au lieu de les paralléliser (pas de surcoût Agent Teams). Utile pour les projets mono-technologie ou quand les Agent Teams ne sont pas disponibles.
|
|
20
21
|
|
|
22
|
+
## Moteur d'exécution (`--engine`)
|
|
23
|
+
|
|
24
|
+
Le moteur par défaut ne dépend d'aucune fonctionnalité expérimentale : la commande fonctionne même si `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` n'est pas défini.
|
|
25
|
+
|
|
26
|
+
| Moteur | Activation | Prérequis | Comportement |
|
|
27
|
+
|--------|------------|-----------|--------------|
|
|
28
|
+
| `subagents` (défaut) | aucun flag ou `--engine=subagents` | Aucun (outil `Agent` natif) | La session courante joue le rôle de leader et délègue chaque tâche de worker à un sous-agent via l'outil `Agent` (modèle du worker passé par le paramètre `model`). Les sous-agents indépendants sont lancés dans un même message pour s'exécuter en parallèle ; chacun écrit son résultat dans son répertoire isolé et ne renvoie qu'un résumé court. Les workers ne communiquent pas entre eux : le leader relaie. Fonctionne en interactif, avec `claude -p` et en CI. |
|
|
29
|
+
| `teams` | `--engine=teams` | `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`, Claude Code v2.1.32+ | Équipe Agent Teams : workers persistants coordonnés par `TaskCreate` / `TaskList` / `SendMessage`, messagerie directe entre coéquipiers, hooks `TeammateIdle` / `TaskCompleted`. |
|
|
30
|
+
|
|
31
|
+
**Repli** : si `--engine=teams` est demandé alors que `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` est absent, ne pas échouer — afficher `ℹ️ Agent Teams indisponible : repli sur --engine=subagents` et poursuivre avec le moteur `subagents`.
|
|
32
|
+
|
|
33
|
+
**Limites du moteur `teams`** : pas de mode non interactif (`claude -p`) ni d'exécution en CI ; une seule équipe par session (terminer l'équipe en cours avant d'en lancer une autre) ; API en research preview, susceptible de changer.
|
|
34
|
+
|
|
35
|
+
Le processus ci-dessous est décrit avec les primitives Agent Teams. Avec `--engine=subagents`, appliquer cette correspondance :
|
|
36
|
+
|
|
37
|
+
| Agent Teams (`teams`) | Sous-agents (`subagents`) |
|
|
38
|
+
|------------------------|----------------------------|
|
|
39
|
+
| `TaskCreate` + spawn d'un worker | Un appel à l'outil `Agent` dont le prompt reprend la description de la tâche |
|
|
40
|
+
| Polling `TaskList` / barrière de synchronisation | Attendre le retour de tous les appels `Agent` du lot |
|
|
41
|
+
| `SendMessage` vers un worker | Relancer le sous-agent (`SendMessage` vers son ID) ou nouvel appel `Agent` avec le contexte nécessaire |
|
|
42
|
+
| `shutdown_request` | Inutile : un sous-agent se termine à son retour |
|
|
43
|
+
|
|
44
|
+
**Spécifique audit** : un sous-agent par stack, avec le prompt du template de spawn de l'étape 4. `--sequential` reste disponible pour tout traiter dans la session courante, sans délégation.
|
|
45
|
+
|
|
21
46
|
## Prérequis
|
|
22
47
|
|
|
23
|
-
- Claude Code v2.1.32+ avec support Agent Teams
|
|
24
|
-
- Variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` définie
|
|
48
|
+
- Claude Code v2.1.32+ avec support Agent Teams — uniquement avec `--engine=teams`
|
|
49
|
+
- Variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` définie — uniquement avec `--engine=teams`
|
|
25
50
|
- Projet avec 2+ stacks technologiques détectées (les projets mono-stack doivent utiliser le flag `--sequential`)
|
|
26
51
|
- `Tools/AgentTeams/lib/compatibility-check.sh` disponible
|
|
27
52
|
- `Tools/AgentTeams/lib/result-aggregator.sh` disponible
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Équipe de Livraison - Cycle de vie complet du sprint (rédaction + implémentation)
|
|
3
|
-
argument-hint: "<sprint-name|prd-path> [--phase=all|writing|implementation] [--max-workers=3]"
|
|
2
|
+
description: Équipe de Livraison - Cycle de vie complet du sprint (rédaction + implémentation) par sous-agents (Agent Teams en option)
|
|
3
|
+
argument-hint: "<sprint-name|prd-path> [--phase=all|writing|implementation] [--max-workers=3] [--engine=subagents|teams]"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Équipe de Livraison - Cycle de Vie Complet du Sprint (Rédaction + Implémentation)
|
|
@@ -14,6 +14,7 @@ $ARGUMENTS
|
|
|
14
14
|
- `<sprint-name|prd-path>` : Nom/ID du sprint ou chemin vers le document PRD
|
|
15
15
|
- `--phase=all` : Phase à exécuter (par défaut : `all`). Options : `all`, `writing`, `implementation`
|
|
16
16
|
- `--max-workers=3` : Nombre maximum de workers parallèles par phase (par défaut : 3, max : 3)
|
|
17
|
+
- `--engine=subagents` : Moteur d'exécution (par défaut : `subagents`). Options : `subagents` (délégation à des sous-agents via l'outil `Agent`, aucun prérequis), `teams` (Agent Teams expérimental). Voir « Moteur d'exécution »
|
|
17
18
|
- `--overnight` : Exécuter en mode nuit (borné, s'arrête à 6h)
|
|
18
19
|
- `--supervised` : Pause avant chaque story pour confirmation humaine
|
|
19
20
|
- `--max-stories=10` : Nombre maximum de stories à traiter (par défaut : 10)
|
|
@@ -45,10 +46,34 @@ $ARGUMENTS
|
|
|
45
46
|
- **Attendre la confirmation explicite** de l'utilisateur avant de poursuivre
|
|
46
47
|
- Si l'utilisateur refuse, abandonner avec un message suggérant `/fast` pour désactiver
|
|
47
48
|
|
|
49
|
+
## Moteur d'exécution (`--engine`)
|
|
50
|
+
|
|
51
|
+
Le moteur par défaut ne dépend d'aucune fonctionnalité expérimentale : la commande fonctionne même si `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` n'est pas défini.
|
|
52
|
+
|
|
53
|
+
| Moteur | Activation | Prérequis | Comportement |
|
|
54
|
+
|--------|------------|-----------|--------------|
|
|
55
|
+
| `subagents` (défaut) | aucun flag ou `--engine=subagents` | Aucun (outil `Agent` natif) | La session courante joue le rôle de leader et délègue chaque tâche de worker à un sous-agent via l'outil `Agent` (modèle du worker passé par le paramètre `model`). Les sous-agents indépendants sont lancés dans un même message pour s'exécuter en parallèle ; chacun écrit son résultat dans son répertoire isolé et ne renvoie qu'un résumé court. Les workers ne communiquent pas entre eux : le leader relaie. Fonctionne en interactif, avec `claude -p` et en CI. |
|
|
56
|
+
| `teams` | `--engine=teams` | `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`, Claude Code v2.1.32+ | Équipe Agent Teams : workers persistants coordonnés par `TaskCreate` / `TaskList` / `SendMessage`, messagerie directe entre coéquipiers, hooks `TeammateIdle` / `TaskCompleted`. |
|
|
57
|
+
|
|
58
|
+
**Repli** : si `--engine=teams` est demandé alors que `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` est absent, ne pas échouer — afficher `ℹ️ Agent Teams indisponible : repli sur --engine=subagents` et poursuivre avec le moteur `subagents`.
|
|
59
|
+
|
|
60
|
+
**Limites du moteur `teams`** : pas de mode non interactif (`claude -p`) ni d'exécution en CI ; une seule équipe par session (terminer l'équipe en cours avant d'en lancer une autre) ; API en research preview, susceptible de changer.
|
|
61
|
+
|
|
62
|
+
Le processus ci-dessous est décrit avec les primitives Agent Teams. Avec `--engine=subagents`, appliquer cette correspondance :
|
|
63
|
+
|
|
64
|
+
| Agent Teams (`teams`) | Sous-agents (`subagents`) |
|
|
65
|
+
|------------------------|----------------------------|
|
|
66
|
+
| `TaskCreate` + spawn d'un worker | Un appel à l'outil `Agent` dont le prompt reprend la description de la tâche |
|
|
67
|
+
| Polling `TaskList` / barrière de synchronisation | Attendre le retour de tous les appels `Agent` du lot |
|
|
68
|
+
| `SendMessage` vers un worker | Relancer le sous-agent (`SendMessage` vers son ID) ou nouvel appel `Agent` avec le contexte nécessaire |
|
|
69
|
+
| `shutdown_request` | Inutile : un sous-agent se termine à son retour |
|
|
70
|
+
|
|
71
|
+
**Spécifique livraison** : en Phase 1, la revue croisée passe par le leader, qui transmet l'artefact rédigé à un sous-agent relecteur puis renvoie ses retours au rédacteur. En Phase 2, lancer chaque worker développeur avec `isolation: "worktree"`.
|
|
72
|
+
|
|
48
73
|
## Prérequis
|
|
49
74
|
|
|
50
|
-
- Claude Code v2.1.32+ avec support Agent Teams
|
|
51
|
-
- Variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` définie
|
|
75
|
+
- Claude Code v2.1.32+ avec support Agent Teams — uniquement avec `--engine=teams`
|
|
76
|
+
- Variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` définie — uniquement avec `--engine=teams`
|
|
52
77
|
- PRD ou spécification technique disponible (pour la Phase 1) ou backlog sprint BMAD avec des stories `ready-for-dev` (pour la Phase 2 uniquement)
|
|
53
78
|
- Métadonnées du sprint dans `.bmad/sprint-status.yaml`
|
|
54
79
|
- `Tools/AgentTeams/lib/compatibility-check.sh` disponible
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Équipe de Revue de Sécurité - Audit de sécurité multi-dimension parallèle
|
|
3
|
-
argument-hint: "[--scope=full|code|deps|infra] [--max-workers=3]"
|
|
2
|
+
description: Équipe de Revue de Sécurité - Audit de sécurité multi-dimension parallèle par sous-agents (Agent Teams en option)
|
|
3
|
+
argument-hint: "[--scope=full|code|deps|infra] [--max-workers=3] [--engine=subagents|teams]"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Équipe de Revue de Sécurité - Audit de Sécurité Multi-Dimension Parallèle
|
|
@@ -13,6 +13,7 @@ $ARGUMENTS
|
|
|
13
13
|
|
|
14
14
|
- `--scope=full` : Périmètre de l'audit (par défaut : `full`). Options : `full`, `code`, `deps`, `infra`
|
|
15
15
|
- `--max-workers=3` : Nombre maximum de reviewers parallèles (par défaut : 3, max : 3)
|
|
16
|
+
- `--engine=subagents` : Moteur d'exécution (par défaut : `subagents`). Options : `subagents` (délégation à des sous-agents via l'outil `Agent`, aucun prérequis), `teams` (Agent Teams expérimental). Voir « Moteur d'exécution »
|
|
16
17
|
- `--severity=medium` : Sévérité minimum à rapporter : `low`, `medium`, `high`, `critical`
|
|
17
18
|
- `--output-dir=<path>` : Répertoire de sortie personnalisé pour les résultats de sécurité
|
|
18
19
|
- `--dry-run` : Afficher la composition de l'équipe et le plan de scan sans exécuter
|
|
@@ -41,10 +42,36 @@ $ARGUMENTS
|
|
|
41
42
|
- **Attendre la confirmation explicite** de l'utilisateur avant de poursuivre
|
|
42
43
|
- Si l'utilisateur refuse, abandonner avec un message suggérant `/fast` pour désactiver
|
|
43
44
|
|
|
45
|
+
## Moteur d'exécution (`--engine`)
|
|
46
|
+
|
|
47
|
+
Le moteur par défaut ne dépend d'aucune fonctionnalité expérimentale : la commande fonctionne même si `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` n'est pas défini.
|
|
48
|
+
|
|
49
|
+
| Moteur | Activation | Prérequis | Comportement |
|
|
50
|
+
|--------|------------|-----------|--------------|
|
|
51
|
+
| `subagents` (défaut) | aucun flag ou `--engine=subagents` | Aucun (outil `Agent` natif) | La session courante joue le rôle de leader et délègue chaque tâche de worker à un sous-agent via l'outil `Agent` (modèle du worker passé par le paramètre `model`). Les sous-agents indépendants sont lancés dans un même message pour s'exécuter en parallèle ; chacun écrit son résultat dans son répertoire isolé et ne renvoie qu'un résumé court. Les workers ne communiquent pas entre eux : le leader relaie. Fonctionne en interactif, avec `claude -p` et en CI. |
|
|
52
|
+
| `teams` | `--engine=teams` | `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`, Claude Code v2.1.32+ | Équipe Agent Teams : workers persistants coordonnés par `TaskCreate` / `TaskList` / `SendMessage`, messagerie directe entre coéquipiers, hooks `TeammateIdle` / `TaskCompleted`. |
|
|
53
|
+
|
|
54
|
+
**Repli** : si `--engine=teams` est demandé alors que `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` est absent, ne pas échouer — afficher `ℹ️ Agent Teams indisponible : repli sur --engine=subagents` et poursuivre avec le moteur `subagents`.
|
|
55
|
+
|
|
56
|
+
**Limites du moteur `teams`** : pas de mode non interactif (`claude -p`) ni d'exécution en CI ; une seule équipe par session (terminer l'équipe en cours avant d'en lancer une autre) ; API en research preview, susceptible de changer.
|
|
57
|
+
|
|
58
|
+
Le processus ci-dessous est décrit avec les primitives Agent Teams. Avec `--engine=subagents`, appliquer cette correspondance :
|
|
59
|
+
|
|
60
|
+
| Agent Teams (`teams`) | Sous-agents (`subagents`) |
|
|
61
|
+
|------------------------|----------------------------|
|
|
62
|
+
| `TaskCreate` + spawn d'un worker | Un appel à l'outil `Agent` dont le prompt reprend la description de la tâche |
|
|
63
|
+
| Polling `TaskList` / barrière de synchronisation | Attendre le retour de tous les appels `Agent` du lot |
|
|
64
|
+
| `SendMessage` vers un worker | Relancer le sous-agent (`SendMessage` vers son ID) ou nouvel appel `Agent` avec le contexte nécessaire |
|
|
65
|
+
| `shutdown_request` | Inutile : un sous-agent se termine à son retour |
|
|
66
|
+
|
|
67
|
+
**Périmètre** : `--scope=full|code|deps|infra` s'applique aux deux moteurs (`full` = 3 reviewers en parallèle, un périmètre unique = un seul reviewer).
|
|
68
|
+
|
|
69
|
+
**Différence avec `/security-review` natif** : la commande intégrée `/security-review` de Claude Code n'analyse que le diff (changements en attente de la branche courante). `/team:security` audite l'ensemble du dépôt selon le périmètre choisi (code, dépendances, infrastructure). Utiliser `/security-review` avant un commit ou une PR, `/team:security` pour un audit complet.
|
|
70
|
+
|
|
44
71
|
## Prérequis
|
|
45
72
|
|
|
46
|
-
- Claude Code v2.1.32+ avec support Agent Teams
|
|
47
|
-
- Variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` définie
|
|
73
|
+
- Claude Code v2.1.32+ avec support Agent Teams — uniquement avec `--engine=teams`
|
|
74
|
+
- Variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` définie — uniquement avec `--engine=teams`
|
|
48
75
|
- Docker disponible pour exécuter les scanners de sécurité
|
|
49
76
|
- `Tools/AgentTeams/lib/compatibility-check.sh` disponible
|
|
50
77
|
- `Tools/AgentTeams/lib/result-aggregator.sh` disponible
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Équipe de Développement Sprint - Implémentation parallèle de stories
|
|
3
|
-
argument-hint: "<sprint-name> [--max-workers=3] [--overnight]"
|
|
2
|
+
description: Équipe de Développement Sprint - Implémentation parallèle de stories par sous-agents (Agent Teams en option)
|
|
3
|
+
argument-hint: "<sprint-name> [--max-workers=3] [--overnight] [--engine=subagents|teams]"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Équipe de Développement Sprint - Implémentation Parallèle de Stories
|
|
@@ -13,13 +13,14 @@ $ARGUMENTS
|
|
|
13
13
|
|
|
14
14
|
- `<sprint-name>` : Nom ou ID du sprint à traiter
|
|
15
15
|
- `--max-workers=3` : Nombre maximum de workers dev parallèles (par défaut : 2, max : 3)
|
|
16
|
+
- `--engine=subagents` : Moteur d'exécution (par défaut : `subagents`). Options : `subagents` (délégation à des sous-agents via l'outil `Agent`, aucun prérequis), `teams` (Agent Teams expérimental). Voir « Moteur d'exécution »
|
|
16
17
|
- `--overnight` : Exécuter en mode nuit (borné, s'arrête à 6h)
|
|
17
18
|
- `--supervised` : Pause avant chaque story pour confirmation humaine
|
|
18
19
|
- `--max-stories=10` : Nombre maximum de stories à traiter (par défaut : 10)
|
|
19
20
|
- `--timeout=12` : Durée maximale d'exécution en heures (par défaut : 12)
|
|
20
21
|
- `--dry-run` : Afficher la composition de l'équipe et les assignations de stories sans exécuter
|
|
21
22
|
- `--max-cost=<dollars>` : Budget maximum en dollars. Si le coût parallèle estimé dépasse ce seuil, l'exécution est bloquée avec un message OVER BUDGET
|
|
22
|
-
- `--ralph-mode` : Activer le moteur de récupération Ralph (classification des erreurs, réessai automatique, service d'escalade) en parallèle des Agent Teams.
|
|
23
|
+
- `--ralph-mode` : Activer le moteur de récupération Ralph (classification des erreurs, réessai automatique, service d'escalade) en parallèle des Agent Teams. Requiert `--engine=teams` : l'adaptateur Ralph Teams s'appuie sur `TaskCreate` / `SendMessage`.
|
|
23
24
|
|
|
24
25
|
## Garde-Fou Fast Mode (Confirmation Bloquante)
|
|
25
26
|
|
|
@@ -43,10 +44,34 @@ $ARGUMENTS
|
|
|
43
44
|
- **Attendre la confirmation explicite** de l'utilisateur avant de poursuivre
|
|
44
45
|
- Si l'utilisateur refuse, abandonner avec un message suggérant `/fast` pour désactiver
|
|
45
46
|
|
|
47
|
+
## Moteur d'exécution (`--engine`)
|
|
48
|
+
|
|
49
|
+
Le moteur par défaut ne dépend d'aucune fonctionnalité expérimentale : la commande fonctionne même si `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` n'est pas défini.
|
|
50
|
+
|
|
51
|
+
| Moteur | Activation | Prérequis | Comportement |
|
|
52
|
+
|--------|------------|-----------|--------------|
|
|
53
|
+
| `subagents` (défaut) | aucun flag ou `--engine=subagents` | Aucun (outil `Agent` natif) | La session courante joue le rôle de leader et délègue chaque tâche de worker à un sous-agent via l'outil `Agent` (modèle du worker passé par le paramètre `model`). Les sous-agents indépendants sont lancés dans un même message pour s'exécuter en parallèle ; chacun écrit son résultat dans son répertoire isolé et ne renvoie qu'un résumé court. Les workers ne communiquent pas entre eux : le leader relaie. Fonctionne en interactif, avec `claude -p` et en CI. |
|
|
54
|
+
| `teams` | `--engine=teams` | `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`, Claude Code v2.1.32+ | Équipe Agent Teams : workers persistants coordonnés par `TaskCreate` / `TaskList` / `SendMessage`, messagerie directe entre coéquipiers, hooks `TeammateIdle` / `TaskCompleted`. |
|
|
55
|
+
|
|
56
|
+
**Repli** : si `--engine=teams` est demandé alors que `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` est absent, ne pas échouer — afficher `ℹ️ Agent Teams indisponible : repli sur --engine=subagents` et poursuivre avec le moteur `subagents`.
|
|
57
|
+
|
|
58
|
+
**Limites du moteur `teams`** : pas de mode non interactif (`claude -p`) ni d'exécution en CI ; une seule équipe par session (terminer l'équipe en cours avant d'en lancer une autre) ; API en research preview, susceptible de changer.
|
|
59
|
+
|
|
60
|
+
Le processus ci-dessous est décrit avec les primitives Agent Teams. Avec `--engine=subagents`, appliquer cette correspondance :
|
|
61
|
+
|
|
62
|
+
| Agent Teams (`teams`) | Sous-agents (`subagents`) |
|
|
63
|
+
|------------------------|----------------------------|
|
|
64
|
+
| `TaskCreate` + spawn d'un worker | Un appel à l'outil `Agent` dont le prompt reprend la description de la tâche |
|
|
65
|
+
| Polling `TaskList` / barrière de synchronisation | Attendre le retour de tous les appels `Agent` du lot |
|
|
66
|
+
| `SendMessage` vers un worker | Relancer le sous-agent (`SendMessage` vers son ID) ou nouvel appel `Agent` avec le contexte nécessaire |
|
|
67
|
+
| `shutdown_request` | Inutile : un sous-agent se termine à son retour |
|
|
68
|
+
|
|
69
|
+
**Spécifique sprint** : avec `subagents`, lancer chaque worker développeur avec `isolation: "worktree"` pour que les stories parallèles ne modifient pas le même arbre de travail.
|
|
70
|
+
|
|
46
71
|
## Prérequis
|
|
47
72
|
|
|
48
|
-
- Claude Code v2.1.32+ avec support Agent Teams
|
|
49
|
-
- Variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` définie
|
|
73
|
+
- Claude Code v2.1.32+ avec support Agent Teams — uniquement avec `--engine=teams`
|
|
74
|
+
- Variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` définie — uniquement avec `--engine=teams`
|
|
50
75
|
- Backlog sprint BMAD avec des stories au statut `ready-for-dev`
|
|
51
76
|
- Métadonnées du sprint dans `.bmad/sprint-status.yaml`
|
|
52
77
|
- Au moins 2 stories indépendantes (les sprints à story unique utilisent Ralph séquentiel)
|
|
@@ -24,36 +24,7 @@ Exemple : `/uiux:audit src/pages/Dashboard.tsx AAA`
|
|
|
24
24
|
|
|
25
25
|
### Étape 1 : Audit Accessibilité (Expert A11y)
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
# Exécuter si disponible
|
|
30
|
-
npx axe-cli {URL}
|
|
31
|
-
npx pa11y {URL}
|
|
32
|
-
# Ou vérifier Lighthouse
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
#### 1.2 Vérification manuelle WCAG 2.2 AAA
|
|
36
|
-
|
|
37
|
-
**Perceptible**
|
|
38
|
-
- [ ] Images avec alt text
|
|
39
|
-
- [ ] Structure sémantique (h1-h6, landmarks)
|
|
40
|
-
- [ ] Contraste ≥ 7:1 (AAA)
|
|
41
|
-
- [ ] Reflow à 320px
|
|
42
|
-
|
|
43
|
-
**Utilisable**
|
|
44
|
-
- [ ] Navigation clavier complète
|
|
45
|
-
- [ ] Pas de piège clavier
|
|
46
|
-
- [ ] Focus visible (≥ 2px)
|
|
47
|
-
- [ ] Touch targets ≥ 44px
|
|
48
|
-
|
|
49
|
-
**Compréhensible**
|
|
50
|
-
- [ ] lang sur html
|
|
51
|
-
- [ ] Labels sur inputs
|
|
52
|
-
- [ ] Messages d'erreur clairs
|
|
53
|
-
|
|
54
|
-
**Robuste**
|
|
55
|
-
- [ ] ARIA correct
|
|
56
|
-
- [ ] aria-live pour dynamique
|
|
27
|
+
Exécuter `/uiux:a11y-audit {URL ou chemin} {niveau}` et reprendre son rapport (score, critères WCAG non conformes, remédiations) dans la synthèse. Ne pas refaire ici l'audit automatisé ni la checklist WCAG : `/uiux:a11y-audit` en est la source unique.
|
|
57
28
|
|
|
58
29
|
### Étape 2 : Audit UX/Ergonomie (Expert UX)
|
|
59
30
|
|
|
@@ -41,11 +41,7 @@ Définir le visuel :
|
|
|
41
41
|
|
|
42
42
|
### Étape 3 : Spécification A11y (Expert A11y)
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
- Sémantique HTML
|
|
46
|
-
- Attributs ARIA
|
|
47
|
-
- Navigation clavier
|
|
48
|
-
- Annonces lecteur d'écran
|
|
44
|
+
Exécuter `/uiux:a11y-component {NOM}` et reprendre sa spécification (sémantique HTML, attributs ARIA, navigation clavier, focus, contraste, annonces lecteur d'écran) dans la section ♿ de la synthèse. Ne pas la redéfinir ici.
|
|
49
45
|
|
|
50
46
|
### Étape 4 : Synthèse
|
|
51
47
|
|
|
@@ -1,102 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
|
|
2
|
+
description: "Obsolète (retirée en 9.0) : utilisez l'agent @uiux-orchestrator"
|
|
3
|
+
deprecated: true
|
|
4
|
+
replaced-by: "@uiux-orchestrator"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
> ⚠️ `/uiux:orchestrator` est obsolète et sera retirée en 9.0. Utilisez l'agent `@uiux-orchestrator`.
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## Arguments
|
|
11
|
-
$ARGUMENTS
|
|
12
|
-
|
|
13
|
-
Arguments :
|
|
14
|
-
- Type de demande : composant, audit, flux, tokens
|
|
15
|
-
- Objectif ou description
|
|
16
|
-
|
|
17
|
-
Exemple : `/uiux:orchestrator composant "Sélecteur de date"` ou `/uiux:orchestrator audit "Page checkout"`
|
|
18
|
-
|
|
19
|
-
## Mode Plan
|
|
20
|
-
|
|
21
|
-
> Le mode plan est activé automatiquement lorsque le périmètre couvre plusieurs modules ou nécessite une investigation transversale.
|
|
22
|
-
|
|
23
|
-
## MISSION
|
|
24
|
-
|
|
25
|
-
### Étape 1 : Analyser la demande
|
|
26
|
-
|
|
27
|
-
Identifier :
|
|
28
|
-
- Type de livrable attendu
|
|
29
|
-
- Expert(s) à impliquer
|
|
30
|
-
- Ordre d'intervention
|
|
31
|
-
|
|
32
|
-
### Étape 2 : Déléguer aux experts
|
|
33
|
-
|
|
34
|
-
| Type | Experts | Ordre |
|
|
35
|
-
|------|---------|-------|
|
|
36
|
-
| Nouveau composant | UI → UX → A11y | Séquentiel |
|
|
37
|
-
| Audit | A11y → UX → UI | Séquentiel |
|
|
38
|
-
| Flux utilisateur | UX → UI → A11y | Séquentiel |
|
|
39
|
-
| Design tokens | UI uniquement | Direct |
|
|
40
|
-
|
|
41
|
-
### Étape 3 : Consolider et arbitrer
|
|
42
|
-
|
|
43
|
-
En cas de conflit, appliquer les règles de priorité :
|
|
44
|
-
1. Accessibilité AAA (non négociable)
|
|
45
|
-
2. Lighthouse 100/100
|
|
46
|
-
3. UX > Esthétique
|
|
47
|
-
4. Mobile-first
|
|
48
|
-
5. Cohérence design system
|
|
49
|
-
|
|
50
|
-
### Étape 4 : Livrer la synthèse
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
══════════════════════════════════════════════════════════════
|
|
54
|
-
📋 SYNTHÈSE UI/UX : {SUJET}
|
|
55
|
-
══════════════════════════════════════════════════════════════
|
|
56
|
-
|
|
57
|
-
Type : {Composant | Audit | Flux | Tokens}
|
|
58
|
-
Date : {date}
|
|
59
|
-
|
|
60
|
-
──────────────────────────────────────────────────────────────
|
|
61
|
-
🧠 UX
|
|
62
|
-
──────────────────────────────────────────────────────────────
|
|
63
|
-
|
|
64
|
-
{Résumé apports UX}
|
|
65
|
-
|
|
66
|
-
──────────────────────────────────────────────────────────────
|
|
67
|
-
🎨 UI
|
|
68
|
-
──────────────────────────────────────────────────────────────
|
|
69
|
-
|
|
70
|
-
{Résumé apports UI}
|
|
71
|
-
|
|
72
|
-
──────────────────────────────────────────────────────────────
|
|
73
|
-
♿ ACCESSIBILITÉ
|
|
74
|
-
──────────────────────────────────────────────────────────────
|
|
75
|
-
|
|
76
|
-
{Résumé apports A11y}
|
|
77
|
-
|
|
78
|
-
──────────────────────────────────────────────────────────────
|
|
79
|
-
⚖️ ARBITRAGES
|
|
80
|
-
──────────────────────────────────────────────────────────────
|
|
81
|
-
|
|
82
|
-
| Conflit | Décision | Justification |
|
|
83
|
-
|---------|----------|---------------|
|
|
84
|
-
| {conflit} | {décision} | {règle appliquée} |
|
|
85
|
-
|
|
86
|
-
──────────────────────────────────────────────────────────────
|
|
87
|
-
✅ CHECKLIST VALIDATION
|
|
88
|
-
──────────────────────────────────────────────────────────────
|
|
89
|
-
|
|
90
|
-
- [ ] WCAG 2.2 AAA conforme
|
|
91
|
-
- [ ] Lighthouse 100/100 préservé
|
|
92
|
-
- [ ] Mobile-first respecté
|
|
93
|
-
- [ ] Uniquement tokens (pas de hardcode)
|
|
94
|
-
- [ ] Les 3 experts consultés
|
|
95
|
-
|
|
96
|
-
──────────────────────────────────────────────────────────────
|
|
97
|
-
🎯 PROCHAINES ÉTAPES
|
|
98
|
-
──────────────────────────────────────────────────────────────
|
|
99
|
-
|
|
100
|
-
1. {action prioritaire}
|
|
101
|
-
2. {action suivante}
|
|
102
|
-
```
|
|
9
|
+
Déléguez « $ARGUMENTS » à l'agent `uiux-orchestrator` (outil Agent) et restituez sa réponse.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
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> [--from-prd] [--auto-merge] [--max-fix-attempts=2] [--max-workers=3] [--base=main] [--dry-run] [--overnight]"
|
|
3
|
+
argument-hint: "<N> [--from-prd] [--auto-merge] [--max-fix-attempts=2] [--max-workers=3] [--base=main] [--dry-run] [--overnight] [--engine=subagents|teams]"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Auto Sprint — Orchestrateur de Sprint de Bout en Bout
|
|
@@ -31,14 +31,15 @@ $ARGUMENTS
|
|
|
31
31
|
règle 09, et le principe Karpathy « pas d'auto-merge sans revue humaine »).
|
|
32
32
|
- `--max-fix-attempts=2` : Nombre maximal de tentatives de correction automatique par gate échoué avant abandon (défaut : 2).
|
|
33
33
|
- `--max-workers=3` : Nombre maximal de workers dev parallèles pendant la phase d'implémentation (défaut : 2, max : 3).
|
|
34
|
+
- `--engine=subagents` : Moteur de la phase d'implémentation (par défaut : `subagents`, délégation via l'outil `Agent`). `teams` : Agent Teams expérimental, avec repli sur `subagents` si indisponible. Voir `/team:sprint`, section « Moteur d'exécution »
|
|
34
35
|
- `--base=main` : Branche de base pour la PR (défaut : `main`).
|
|
35
36
|
- `--dry-run` : Affiche les 9 phases planifiées et le contexte de sprint résolu, puis s'arrête. **Aucune écriture.**
|
|
36
37
|
- `--overnight` : Transmis à la phase d'implémentation (borné, s'arrête à 6h).
|
|
37
38
|
|
|
38
39
|
## Prérequis
|
|
39
40
|
|
|
40
|
-
- Claude Code v2.1.32+ avec le support Agent Teams
|
|
41
|
-
- `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` défini
|
|
41
|
+
- Claude Code v2.1.32+ avec le support Agent Teams — uniquement avec `--engine=teams`
|
|
42
|
+
- `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` défini — uniquement avec `--engine=teams`
|
|
42
43
|
- CLI `gh` authentifié (création de PR / checks / merge)
|
|
43
44
|
- Docker disponible (tous les tests s'exécutent via Docker — voir le CLAUDE.md du projet)
|
|
44
45
|
- Projet BMAD v6 : `.bmad/sprint-status.yaml` est créé par `/workflow:start` (phase 1) s'il n'existe pas
|
|
@@ -106,6 +107,8 @@ Instancier un sous-agent isolé :
|
|
|
106
107
|
|
|
107
108
|
Prendre **directement le rôle de conducteur `/team:sprint`** (ne **pas** instancier un Agent Team imbriqué) :
|
|
108
109
|
|
|
110
|
+
**Moteur** : avec `--engine=subagents` (défaut), à l'étape 4 lancer un sous-agent via l'outil `Agent` par story (`isolation: "worktree"`, tous dans un même message) au lieu de `TaskCreate`, et à l'étape 5 attendre leur retour au lieu d'interroger `TaskList` (correspondance complète dans `/team:sprint`, section « Moteur d'exécution »). Avec `--engine=teams`, suivre les étapes telles qu'écrites.
|
|
111
|
+
|
|
109
112
|
1. Lire `.bmad/sprint-status.yaml` ; filtrer les stories à `ready-for-dev`.
|
|
110
113
|
2. Analyser l'indépendance des domaines de fichiers (signaler les chevauchements `**/Shared/**`, `**/Common/**`, `**/Utils/**`,
|
|
111
114
|
`**/Helpers/**` → séquencer dans le même worker).
|
|
@@ -194,7 +197,7 @@ Phase | Statut | Notes
|
|
|
194
197
|
| DoD story non respectée après tentatives | Marquer `blocked`, continuer, signaler en fin |
|
|
195
198
|
| CI en échec après tentatives | Abandon avec rapport de vérifications échouées |
|
|
196
199
|
| Merge bloqué (protection / scope) | Remonter l'erreur + drapeau suggéré, ne pas forcer |
|
|
197
|
-
| Agent Teams indisponible |
|
|
200
|
+
| Agent Teams indisponible avec `--engine=teams` | Repli sur `--engine=subagents` (pas d'abandon) ; définir `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` pour utiliser `--engine=teams` |
|
|
198
201
|
|
|
199
202
|
## Notes
|
|
200
203
|
|
|
@@ -69,7 +69,7 @@ Ancien `/workflow:plan --research`. Recherche, exploration et contraintes avant
|
|
|
69
69
|
| Marché | Solutions existantes ? Concurrents ? Bonnes pratiques du secteur ? Tendances émergentes ? |
|
|
70
70
|
| Technique | Technologies candidates ? Intégrations ? Scalabilité ? Sécurité / conformité ? |
|
|
71
71
|
|
|
72
|
-
Si le MCP Context7 est configuré, l'utiliser pour la documentation technique à jour (`/
|
|
72
|
+
Si le MCP Context7 est configuré, l'utiliser pour la documentation technique à jour (`/deep-research` pour une recherche web approfondie ; hors claude.ai, l'agent `@research-assistant`).
|
|
73
73
|
|
|
74
74
|
**Contraintes** : documenter les contraintes techniques (backend existant, base de données), business (budget, délais, rétrocompatibilité), réglementaires (RGPD, PCI DSS) et de ressources (taille d'équipe, pas de DevOps).
|
|
75
75
|
|
|
@@ -213,4 +213,3 @@ En cas d'interruption, `/workflow:plan --continue` détecte ce qui existe (PRD t
|
|
|
213
213
|
- `/workflow:status` - Vérifier la progression
|
|
214
214
|
- `/project:backlog` - Ajouter, lister, modifier et déplacer des stories ensuite
|
|
215
215
|
- `/gate:check` - Valider le backlog
|
|
216
|
-
- `/common:research-context7` - Recherche approfondie avec Context7 MCP
|