@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.
Files changed (187) hide show
  1. package/Dev/i18n/base/Common/commands/aliases.md +48 -48
  2. package/Dev/i18n/base/Common/skills/sub-agents-patterns/SKILL.md +1 -0
  3. package/Dev/i18n/de/Common/agents/devops-engineer.md +19 -14
  4. package/Dev/i18n/de/Common/agents/migration-specialist.md +10 -15
  5. package/Dev/i18n/de/Common/agents/mlops-engineer.md +19 -15
  6. package/Dev/i18n/de/Common/agents/ralph-conductor.md +4 -15
  7. package/Dev/i18n/de/Common/agents/refactoring-specialist.md +0 -9
  8. package/Dev/i18n/de/Common/agents/tdd-coach.md +0 -9
  9. package/Dev/i18n/de/Common/agents/uiux-orchestrator.md +0 -9
  10. package/Dev/i18n/de/Common/commands/ralph-run.md +52 -0
  11. package/Dev/i18n/de/Common/commands/research-context7.md +5 -253
  12. package/Dev/i18n/de/Common/rules/12-context-management.md +10 -8
  13. package/Dev/i18n/de/Common/templates/settings.json.template +4 -0
  14. package/Dev/i18n/de/Python/skills/coding-standards/SKILL.md +1 -1
  15. package/Dev/i18n/de/Python/skills/testing-python/SKILL.md +1 -1
  16. package/Dev/i18n/de/Python/skills/tooling/SKILL.md +1 -1
  17. package/Dev/i18n/de/Symfony/commands/check-security.md +20 -20
  18. package/Dev/i18n/de/Symfony/skills/aggregates/SKILL.md +1 -1
  19. package/Dev/i18n/de/Symfony/skills/async/SKILL.md +1 -1
  20. package/Dev/i18n/de/Symfony/skills/cqrs/SKILL.md +1 -1
  21. package/Dev/i18n/de/Symfony/skills/domain-events/SKILL.md +1 -1
  22. package/Dev/i18n/de/Symfony/skills/i18n/SKILL.md +1 -1
  23. package/Dev/i18n/de/Symfony/skills/multitenant/SKILL.md +1 -1
  24. package/Dev/i18n/de/Symfony/skills/value-objects/SKILL.md +1 -1
  25. package/Dev/i18n/de/Team/commands/audit.md +29 -4
  26. package/Dev/i18n/de/Team/commands/delivery.md +29 -4
  27. package/Dev/i18n/de/Team/commands/security.md +31 -4
  28. package/Dev/i18n/de/Team/commands/sprint.md +30 -5
  29. package/Dev/i18n/de/UIUX/commands/audit.md +1 -30
  30. package/Dev/i18n/de/UIUX/commands/component-spec.md +1 -5
  31. package/Dev/i18n/de/UIUX/commands/orchestrator.md +5 -98
  32. package/Dev/i18n/de/Workflow/commands/auto-sprint.md +7 -4
  33. package/Dev/i18n/de/Workflow/commands/plan.md +1 -2
  34. package/Dev/i18n/en/Common/agents/devops-engineer.md +19 -14
  35. package/Dev/i18n/en/Common/agents/migration-specialist.md +10 -15
  36. package/Dev/i18n/en/Common/agents/mlops-engineer.md +19 -15
  37. package/Dev/i18n/en/Common/agents/ralph-conductor.md +4 -15
  38. package/Dev/i18n/en/Common/agents/refactoring-specialist.md +0 -9
  39. package/Dev/i18n/en/Common/agents/tdd-coach.md +0 -9
  40. package/Dev/i18n/en/Common/agents/uiux-orchestrator.md +0 -9
  41. package/Dev/i18n/en/Common/commands/ralph-run.md +52 -0
  42. package/Dev/i18n/en/Common/commands/research-context7.md +5 -253
  43. package/Dev/i18n/en/Common/rules/12-context-management.md +12 -10
  44. package/Dev/i18n/en/Common/templates/settings.json.template +4 -0
  45. package/Dev/i18n/en/Python/skills/coding-standards/SKILL.md +1 -1
  46. package/Dev/i18n/en/Python/skills/testing-python/SKILL.md +1 -1
  47. package/Dev/i18n/en/Python/skills/tooling/SKILL.md +1 -1
  48. package/Dev/i18n/en/Symfony/commands/check-security.md +20 -20
  49. package/Dev/i18n/en/Symfony/skills/aggregates/SKILL.md +1 -1
  50. package/Dev/i18n/en/Symfony/skills/async/SKILL.md +1 -1
  51. package/Dev/i18n/en/Symfony/skills/cqrs/SKILL.md +1 -1
  52. package/Dev/i18n/en/Symfony/skills/domain-events/SKILL.md +1 -1
  53. package/Dev/i18n/en/Symfony/skills/i18n/SKILL.md +1 -1
  54. package/Dev/i18n/en/Symfony/skills/multitenant/SKILL.md +1 -1
  55. package/Dev/i18n/en/Symfony/skills/value-objects/SKILL.md +1 -1
  56. package/Dev/i18n/en/Team/commands/audit.md +29 -4
  57. package/Dev/i18n/en/Team/commands/delivery.md +29 -4
  58. package/Dev/i18n/en/Team/commands/security.md +31 -4
  59. package/Dev/i18n/en/Team/commands/sprint.md +30 -5
  60. package/Dev/i18n/en/UIUX/commands/audit.md +1 -30
  61. package/Dev/i18n/en/UIUX/commands/component-spec.md +1 -5
  62. package/Dev/i18n/en/UIUX/commands/orchestrator.md +5 -98
  63. package/Dev/i18n/en/Workflow/commands/auto-sprint.md +7 -4
  64. package/Dev/i18n/en/Workflow/commands/plan.md +1 -2
  65. package/Dev/i18n/es/Common/agents/devops-engineer.md +19 -14
  66. package/Dev/i18n/es/Common/agents/migration-specialist.md +10 -15
  67. package/Dev/i18n/es/Common/agents/mlops-engineer.md +19 -15
  68. package/Dev/i18n/es/Common/agents/ralph-conductor.md +4 -15
  69. package/Dev/i18n/es/Common/agents/refactoring-specialist.md +0 -9
  70. package/Dev/i18n/es/Common/agents/tdd-coach.md +0 -9
  71. package/Dev/i18n/es/Common/agents/uiux-orchestrator.md +0 -9
  72. package/Dev/i18n/es/Common/commands/ralph-run.md +52 -0
  73. package/Dev/i18n/es/Common/commands/research-context7.md +5 -253
  74. package/Dev/i18n/es/Common/rules/12-context-management.md +9 -7
  75. package/Dev/i18n/es/Common/templates/settings.json.template +4 -0
  76. package/Dev/i18n/es/Python/skills/coding-standards/SKILL.md +1 -1
  77. package/Dev/i18n/es/Python/skills/testing-python/SKILL.md +1 -1
  78. package/Dev/i18n/es/Python/skills/tooling/SKILL.md +1 -1
  79. package/Dev/i18n/es/Symfony/commands/check-security.md +20 -20
  80. package/Dev/i18n/es/Symfony/skills/aggregates/SKILL.md +1 -1
  81. package/Dev/i18n/es/Symfony/skills/async/SKILL.md +1 -1
  82. package/Dev/i18n/es/Symfony/skills/cqrs/SKILL.md +1 -1
  83. package/Dev/i18n/es/Symfony/skills/domain-events/SKILL.md +1 -1
  84. package/Dev/i18n/es/Symfony/skills/i18n/SKILL.md +1 -1
  85. package/Dev/i18n/es/Symfony/skills/multitenant/SKILL.md +1 -1
  86. package/Dev/i18n/es/Symfony/skills/value-objects/SKILL.md +1 -1
  87. package/Dev/i18n/es/Team/commands/audit.md +29 -4
  88. package/Dev/i18n/es/Team/commands/delivery.md +29 -4
  89. package/Dev/i18n/es/Team/commands/security.md +31 -4
  90. package/Dev/i18n/es/Team/commands/sprint.md +30 -5
  91. package/Dev/i18n/es/UIUX/commands/audit.md +1 -30
  92. package/Dev/i18n/es/UIUX/commands/component-spec.md +1 -5
  93. package/Dev/i18n/es/UIUX/commands/orchestrator.md +5 -98
  94. package/Dev/i18n/es/Workflow/commands/auto-sprint.md +7 -4
  95. package/Dev/i18n/es/Workflow/commands/plan.md +1 -2
  96. package/Dev/i18n/fr/Common/agents/devops-engineer.md +19 -14
  97. package/Dev/i18n/fr/Common/agents/migration-specialist.md +10 -15
  98. package/Dev/i18n/fr/Common/agents/mlops-engineer.md +19 -15
  99. package/Dev/i18n/fr/Common/agents/ralph-conductor.md +4 -15
  100. package/Dev/i18n/fr/Common/agents/refactoring-specialist.md +0 -9
  101. package/Dev/i18n/fr/Common/agents/tdd-coach.md +0 -9
  102. package/Dev/i18n/fr/Common/agents/uiux-orchestrator.md +0 -9
  103. package/Dev/i18n/fr/Common/commands/ralph-run.md +52 -0
  104. package/Dev/i18n/fr/Common/commands/research-context7.md +5 -253
  105. package/Dev/i18n/fr/Common/rules/12-context-management.md +10 -8
  106. package/Dev/i18n/fr/Common/templates/settings.json.template +4 -0
  107. package/Dev/i18n/fr/React/commands/check-compliance.md +1 -1
  108. package/Dev/i18n/fr/React/commands/check-security.md +2 -2
  109. package/Dev/i18n/fr/Symfony/commands/check-security.md +20 -20
  110. package/Dev/i18n/fr/Symfony/skills/aggregates/SKILL.md +1 -1
  111. package/Dev/i18n/fr/Symfony/skills/async/SKILL.md +1 -1
  112. package/Dev/i18n/fr/Symfony/skills/cqrs/SKILL.md +1 -1
  113. package/Dev/i18n/fr/Symfony/skills/domain-events/SKILL.md +1 -1
  114. package/Dev/i18n/fr/Symfony/skills/i18n/SKILL.md +1 -1
  115. package/Dev/i18n/fr/Symfony/skills/multitenant/SKILL.md +1 -1
  116. package/Dev/i18n/fr/Symfony/skills/value-objects/SKILL.md +1 -1
  117. package/Dev/i18n/fr/Team/commands/audit.md +29 -4
  118. package/Dev/i18n/fr/Team/commands/delivery.md +29 -4
  119. package/Dev/i18n/fr/Team/commands/security.md +31 -4
  120. package/Dev/i18n/fr/Team/commands/sprint.md +30 -5
  121. package/Dev/i18n/fr/UIUX/commands/audit.md +1 -30
  122. package/Dev/i18n/fr/UIUX/commands/component-spec.md +1 -5
  123. package/Dev/i18n/fr/UIUX/commands/orchestrator.md +5 -98
  124. package/Dev/i18n/fr/Workflow/commands/auto-sprint.md +7 -4
  125. package/Dev/i18n/fr/Workflow/commands/plan.md +1 -2
  126. package/Dev/i18n/pt/Common/agents/devops-engineer.md +19 -14
  127. package/Dev/i18n/pt/Common/agents/migration-specialist.md +10 -15
  128. package/Dev/i18n/pt/Common/agents/mlops-engineer.md +19 -15
  129. package/Dev/i18n/pt/Common/agents/ralph-conductor.md +4 -15
  130. package/Dev/i18n/pt/Common/agents/refactoring-specialist.md +0 -9
  131. package/Dev/i18n/pt/Common/agents/tdd-coach.md +0 -9
  132. package/Dev/i18n/pt/Common/agents/uiux-orchestrator.md +0 -9
  133. package/Dev/i18n/pt/Common/commands/ralph-run.md +52 -0
  134. package/Dev/i18n/pt/Common/commands/research-context7.md +5 -253
  135. package/Dev/i18n/pt/Common/rules/12-context-management.md +9 -7
  136. package/Dev/i18n/pt/Common/templates/settings.json.template +4 -0
  137. package/Dev/i18n/pt/Python/skills/coding-standards/SKILL.md +1 -1
  138. package/Dev/i18n/pt/Python/skills/testing-python/SKILL.md +1 -1
  139. package/Dev/i18n/pt/Python/skills/tooling/SKILL.md +1 -1
  140. package/Dev/i18n/pt/Symfony/commands/check-security.md +20 -20
  141. package/Dev/i18n/pt/Symfony/skills/aggregates/SKILL.md +1 -1
  142. package/Dev/i18n/pt/Symfony/skills/async/SKILL.md +1 -1
  143. package/Dev/i18n/pt/Symfony/skills/cqrs/SKILL.md +1 -1
  144. package/Dev/i18n/pt/Symfony/skills/domain-events/SKILL.md +1 -1
  145. package/Dev/i18n/pt/Symfony/skills/i18n/SKILL.md +1 -1
  146. package/Dev/i18n/pt/Symfony/skills/multitenant/SKILL.md +1 -1
  147. package/Dev/i18n/pt/Symfony/skills/value-objects/SKILL.md +1 -1
  148. package/Dev/i18n/pt/Team/commands/audit.md +29 -4
  149. package/Dev/i18n/pt/Team/commands/delivery.md +29 -4
  150. package/Dev/i18n/pt/Team/commands/security.md +31 -4
  151. package/Dev/i18n/pt/Team/commands/sprint.md +30 -5
  152. package/Dev/i18n/pt/UIUX/commands/audit.md +1 -30
  153. package/Dev/i18n/pt/UIUX/commands/component-spec.md +1 -5
  154. package/Dev/i18n/pt/UIUX/commands/orchestrator.md +5 -98
  155. package/Dev/i18n/pt/Workflow/commands/auto-sprint.md +7 -4
  156. package/Dev/i18n/pt/Workflow/commands/plan.md +1 -2
  157. package/Dev/scripts/install-common-rules.sh +8 -0
  158. package/README.md +12 -8
  159. package/Tools/Ralph/lib/checkpoint.sh +3 -3
  160. package/Tools/Ralph/lib/circuit-breaker.sh +10 -10
  161. package/Tools/Ralph/lib/context-manager.sh +56 -65
  162. package/Tools/Ralph/lib/context-reconstruction.sh +46 -79
  163. package/Tools/Ralph/lib/dod-templates.sh +2 -2
  164. package/Tools/Ralph/lib/dod-validator.sh +18 -18
  165. package/Tools/Ralph/lib/escalation-service.sh +9 -7
  166. package/Tools/Ralph/lib/hooks-generator.sh +2 -1
  167. package/Tools/Ralph/lib/loop-finalizer.sh +1 -1
  168. package/Tools/Ralph/lib/loop.sh +44 -10
  169. package/Tools/Ralph/lib/metrics-exporter.sh +1 -1
  170. package/Tools/Ralph/lib/parallel-manager.sh +173 -88
  171. package/Tools/Ralph/lib/project-detector.sh +3 -3
  172. package/Tools/Ralph/lib/recovery-engine.sh +8 -8
  173. package/Tools/Ralph/lib/session.sh +2 -2
  174. package/Tools/Ralph/lib/sprint-conductor.sh +167 -124
  175. package/Tools/Ralph/lib/sprint-progress.sh +9 -9
  176. package/Tools/Ralph/ralph.sh +66 -38
  177. package/Tools/StatusLine/statusline.sh +0 -0
  178. package/Tools/i18n/ralph/de.sh +165 -33
  179. package/Tools/i18n/ralph/en.sh +132 -0
  180. package/Tools/i18n/ralph/es.sh +209 -77
  181. package/Tools/i18n/ralph/fr.sh +234 -102
  182. package/Tools/i18n/ralph/pt.sh +227 -95
  183. package/bundles/cursor/.cursorrules +3 -3
  184. package/bundles/windsurf/.windsurfrules +3 -3
  185. package/cli/lib/doctor.js +1 -1
  186. package/config/removed-commands.yaml +61 -1
  187. package/package.json +1 -1
@@ -7,20 +7,6 @@ maxTurns: 8
7
7
  tools: [Read, Glob, Grep, Edit, Write, Bash, WebFetch, WebSearch]
8
8
  permissionMode: default
9
9
  skills: [git-workflow, security]
10
- disallowedTools:
11
- - "Bash(rm -rf:*)"
12
- - "Bash(dd:*)"
13
- - "Bash(mkfs:*)"
14
- - "Bash(kubectl delete:*)"
15
- - "Bash(helm uninstall:*)"
16
- - "Bash(terraform destroy:*)"
17
- - "Bash(tofu destroy:*)"
18
- - "Bash(docker system prune -a*)"
19
- - "Bash(docker volume rm:*)"
20
- - "Bash(curl * | sh*)"
21
- - "Bash(wget * | sh*)"
22
- - "Bash(git push --force*)"
23
- - "Bash(git push -f*)"
24
10
  ---
25
11
 
26
12
  # DevOps Engineer Agent
@@ -232,3 +218,22 @@ strategy:
232
218
  3. Configurer health checks
233
219
  4. Préparer rollback
234
220
  5. Monitorer le déploiement
221
+
222
+ ## Garde-fou des commandes destructives
223
+
224
+ Un agent ne peut pas bloquer une commande précise : `disallowedTools: Bash(...)` retire tout Bash. Ces commandes passent donc par le prompt de permission — toujours demander une confirmation explicite avant de les lancer. Pour les bloquer dans un projet, ajouter à son `.claude/settings.json` (règles appliquées aussi aux sous-agents) :
225
+
226
+ ```json
227
+ {
228
+ "permissions": {
229
+ "deny": [
230
+ "Bash(kubectl delete:*)",
231
+ "Bash(helm uninstall:*)",
232
+ "Bash(terraform destroy:*)",
233
+ "Bash(tofu destroy:*)",
234
+ "Bash(docker volume rm:*)",
235
+ "Bash(docker system prune -a*)"
236
+ ]
237
+ }
238
+ }
239
+ ```
@@ -6,22 +6,13 @@ maxTurns: 6
6
6
  effort: xhigh
7
7
  memory: user
8
8
  tools: [Read, Glob, Grep, Bash, WebFetch, WebSearch]
9
- # Audit 2026-05-18 QW-15 — migrations touch shared/prod databases. Block
10
- # destructive shell verbs and database drop/truncate. Investigate-then-output
11
- # is fine; actual destructive execution must require an explicit user opt-in.
12
- disallowedTools:
13
- - "Bash(rm -rf:*)"
14
- - "Bash(dd:*)"
15
- - "Bash(mkfs:*)"
16
- - "Bash(:(){:|:&};:*)"
17
- - "Bash(DROP DATABASE:*)"
18
- - "Bash(DROP TABLE:*)"
19
- - "Bash(TRUNCATE:*)"
20
- - "Bash(pg_dump:*)"
21
- - "Bash(mysqldump:*)"
22
- - "Bash(curl * | sh*)"
23
- - "Bash(wget * | sh*)"
24
9
  permissionMode: default
10
+ hooks:
11
+ PreToolUse:
12
+ - matcher: "Bash"
13
+ hooks:
14
+ - type: command
15
+ command: "grep -qiE '(^|[^A-Za-z_])(DROP[[:space:]]+(DATABASE|SCHEMA|TABLE)|TRUNCATE)([^A-Za-z_]|$)' && { echo \"BLOQUÉ : SQL destructif (DROP DATABASE/SCHEMA/TABLE, TRUNCATE). Proposer la commande à l'utilisateur, qui l'exécutera lui-même.\" >&2; exit 2; } || exit 0"
25
16
  ---
26
17
 
27
18
  # Migration Specialist Agent
@@ -140,3 +131,7 @@ Tu es un **Migration Specialist Senior** avec 12+ ans d'expérience en migration
140
131
  - [Stripe - Online migrations at scale](https://stripe.com/blog/online-migrations)
141
132
  - [Shopify - Sharding playbook](https://shopify.engineering/learnings-from-shopifys-largest-database-sharding-project)
142
133
  - [Strangler Fig - Martin Fowler](https://martinfowler.com/bliki/StranglerFigApplication.html)
134
+
135
+ ## Garde-fou SQL destructif
136
+
137
+ Un hook `PreToolUse` déclaré dans le frontmatter bloque, tant que cet agent s'exécute, toute commande Bash contenant `DROP DATABASE`, `DROP SCHEMA`, `DROP TABLE` ou `TRUNCATE` (par exemple `psql -c "DROP TABLE …"`) : proposer alors la commande à l'utilisateur. Les fichiers de migration écrits avec Edit/Write ne sont pas concernés. Limites : le hook ne s'exécute qu'après acceptation de la confiance du dossier (*workspace trust*), et il est ignoré quand l'agent est chargé depuis un plugin.
@@ -6,21 +6,6 @@ maxTurns: 6
6
6
  effort: medium
7
7
  memory: user
8
8
  tools: [Read, Glob, Grep, Edit, Write, Bash, WebFetch, WebSearch]
9
- # Audit 2026-05-18 QW-15 — MLOps touches feature stores, model registries
10
- # and inference endpoints (often production). Block destructive verbs on
11
- # data/model artefacts and on the underlying infra.
12
- disallowedTools:
13
- - "Bash(rm -rf:*)"
14
- - "Bash(dd:*)"
15
- - "Bash(mkfs:*)"
16
- - "Bash(kubectl delete:*)"
17
- - "Bash(helm uninstall:*)"
18
- - "Bash(mlflow models delete:*)"
19
- - "Bash(mlflow registered-models delete:*)"
20
- - "Bash(aws s3 rm:*)"
21
- - "Bash(gsutil rm:*)"
22
- - "Bash(curl * | sh*)"
23
- - "Bash(wget * | sh*)"
24
9
  permissionMode: default
25
10
  ---
26
11
 
@@ -262,3 +247,22 @@ if report.as_dict()["metrics"][0]["result"]["dataset_drift"]:
262
247
  - [Google MLOps Guide](https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning)
263
248
  - [Book: Introducing MLOps](https://www.oreilly.com/library/view/introducing-mlops/9781492083283/)
264
249
  - [ML Model Governance](https://learn.microsoft.com/en-us/azure/machine-learning/concept-model-management-and-deployment)
250
+
251
+ ## Garde-fou des commandes destructives
252
+
253
+ Un agent ne peut pas bloquer une commande précise : `disallowedTools: Bash(...)` retire tout Bash. Ces commandes passent donc par le prompt de permission — toujours demander une confirmation explicite avant de les lancer. Pour les bloquer dans un projet, ajouter à son `.claude/settings.json` (règles appliquées aussi aux sous-agents) :
254
+
255
+ ```json
256
+ {
257
+ "permissions": {
258
+ "deny": [
259
+ "Bash(kubectl delete:*)",
260
+ "Bash(helm uninstall:*)",
261
+ "Bash(mlflow models delete:*)",
262
+ "Bash(mlflow registered-models delete:*)",
263
+ "Bash(aws s3 rm:*)",
264
+ "Bash(gsutil rm:*)"
265
+ ]
266
+ }
267
+ }
268
+ ```
@@ -7,17 +7,6 @@ maxTurns: 10
7
7
  memory: user
8
8
  tools: [Read, Glob, Grep, Edit, Write, Bash, Agent, WebFetch, WebSearch]
9
9
  permissionMode: default
10
- disallowedTools:
11
- - "Bash(rm -rf:*)"
12
- - "Bash(dd:*)"
13
- - "Bash(mkfs:*)"
14
- - "Bash(:(){:|:&};:*)"
15
- - "Bash(sudo:*)"
16
- - "Bash(chmod 777:*)"
17
- - "Bash(curl * | sh*)"
18
- - "Bash(wget * | sh*)"
19
- - "Bash(git push --force*)"
20
- - "Bash(git push -f*)"
21
10
  ---
22
11
 
23
12
  # Agent Ralph Conductor v2.0
@@ -188,11 +177,11 @@ Summary:
188
177
 
189
178
  ## Mode de coordination Agent Teams
190
179
 
191
- Lors d'une opération en mode Agent Teams (activé via `--ralph-mode` sur `/team:sprint`), le conductor endosse le rôle de **chef d'équipe** et coordonne un coéquipier dev via l'API Agent Teams de Claude Code au lieu de la gestion de processus bash.
180
+ Lors d'une opération en mode Agent Teams (activé via `--ralph-mode` sur `/team:sprint --engine=teams`), le conductor endosse le rôle de **chef d'équipe** et coordonne un coéquipier dev via l'API Agent Teams de Claude Code au lieu de la gestion de processus bash.
192
181
 
193
182
  ### Prérequis
194
183
 
195
- - Variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`
184
+ - Variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` (requis uniquement par `/team:sprint --engine=teams`)
196
185
  - Claude Code v2.1.32+
197
186
  - Bibliothèque d'adaptation : `Tools/AgentTeams/lib/ralph-teams-adapter.sh`
198
187
 
@@ -229,8 +218,8 @@ Le conductor exécute des vérifications de santé périodiques via `teams_watch
229
218
  ### Maintien du mode Bash intact
230
219
 
231
220
  Toute l'orchestration en mode bash existante reste inchangée. Le mode Agent Teams n'est activé que lorsque :
232
- 1. Le drapeau `--ralph-mode` est passé à `/team:sprint`
233
- 2. La variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` est définie
221
+ 1. Le drapeau `--ralph-mode` est passé à `/team:sprint --engine=teams`
222
+ 2. La variable d'environnement `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` est définie (requis uniquement par `/team:sprint --engine=teams`)
234
223
  3. La bibliothèque d'adaptation est disponible
235
224
 
236
225
  Sans ces conditions, le conductor opère exactement comme avant.
@@ -7,15 +7,6 @@ maxTurns: 8
7
7
  tools: [Read, Glob, Grep, Edit, Write, Bash, WebFetch, WebSearch]
8
8
  permissionMode: default
9
9
  skills: [solid-principles, kiss-dry-yagni, testing]
10
- disallowedTools:
11
- - "Bash(rm -rf:*)"
12
- - "Bash(dd:*)"
13
- - "Bash(mkfs:*)"
14
- - "Bash(:(){:|:&};:*)"
15
- - "Bash(sudo:*)"
16
- - "Bash(chmod 777:*)"
17
- - "Bash(curl * | sh*)"
18
- - "Bash(wget * | sh*)"
19
10
  ---
20
11
 
21
12
  # Refactoring Specialist Agent
@@ -7,15 +7,6 @@ maxTurns: 8
7
7
  tools: [Read, Glob, Grep, Edit, Write, Bash, WebFetch, WebSearch]
8
8
  permissionMode: default
9
9
  skills: [testing, solid-principles]
10
- disallowedTools:
11
- - "Bash(rm -rf:*)"
12
- - "Bash(dd:*)"
13
- - "Bash(mkfs:*)"
14
- - "Bash(:(){:|:&};:*)"
15
- - "Bash(sudo:*)"
16
- - "Bash(chmod 777:*)"
17
- - "Bash(curl * | sh*)"
18
- - "Bash(wget * | sh*)"
19
10
  ---
20
11
 
21
12
  # Agent TDD/BDD Coach
@@ -6,15 +6,6 @@ effort: medium
6
6
  maxTurns: 10
7
7
  tools: [Read, Glob, Grep, Edit, Write, Bash, Agent, WebFetch, WebSearch]
8
8
  permissionMode: default
9
- disallowedTools:
10
- - "Bash(rm -rf:*)"
11
- - "Bash(dd:*)"
12
- - "Bash(mkfs:*)"
13
- - "Bash(:(){:|:&};:*)"
14
- - "Bash(sudo:*)"
15
- - "Bash(chmod 777:*)"
16
- - "Bash(curl * | sh*)"
17
- - "Bash(wget * | sh*)"
18
9
  ---
19
10
 
20
11
  # UIUX Orchestrator Agent
@@ -51,6 +51,12 @@ Exécuter Claude en boucle continue jusqu'à ce que la tâche soit terminée ou
51
51
  - Définir les itérations max, les timeouts, les critères DoD
52
52
  - Initialiser les hooks si activés
53
53
 
54
+ #### Isolation des sessions et des workers parallèles
55
+
56
+ - **Session Claude explicite** : chaque session Ralph fixe son propre identifiant de conversation Claude — `claude --session-id <uuid>` à la première itération, puis `claude --resume <uuid>`. L'UUID est stocké dans `.ralph/sessions/<session>/claude_session_id`, ce qui permet à `--continue=<session>` de reprendre la bonne conversation. Ralph n'utilise plus `claude --continue`, qui reprenait « la conversation la plus récente du répertoire » (partagée entre workers, voire avec une session interactive de l'utilisateur).
57
+ - **Worktree git par worker** (mode parallèle, `lib/parallel-manager.sh`) : chaque story s'exécute dans un worktree dédié `.ralph/parallel/worktrees/<session>` sur la branche `ralph/<session>`, avec son état Ralph sous `.ralph/parallel/sessions/<session>/ralph/`. En fin de run, les modifications restantes sont commitées en `wip(ralph): <story>` sur cette branche, puis le worktree est retiré (`git worktree remove`). Si ce commit échoue, le worktree est conservé (aucune perte) et signalé dans `output.log`. Le travail se récupère en fusionnant les branches `ralph/*`.
58
+ - **Hors dépôt git** : pas de worktree ; le worker s'exécute dans le répertoire courant (avertissement affiché), l'isolation des sessions Claude restant assurée.
59
+
54
60
  ### 2. Boucle principale avec Dashboard
55
61
 
56
62
  ```
@@ -76,6 +82,35 @@ Le système DoD valide la complétion à travers plusieurs critères :
76
82
  | `hook` | Exécuter un hook Claude existant |
77
83
  | `human` | Validation humaine interactive |
78
84
 
85
+ #### Limite du validateur `command` → utiliser `type: hook`
86
+
87
+ `type: command` n'exécute que les commandes qui passent la liste blanche de `Tools/Ralph/lib/dod-validator.sh` : lettres, chiffres, espace et `_ . / " ' -`. Toute commande contenant `=`, `|`, `&` ou `:` (ainsi que `;`, `>`, `$`, etc.) est rejetée avec `ERROR: Invalid command` : le critère n'est alors **jamais** validé et la boucle tourne jusqu'au circuit breaker.
88
+
89
+ | Commande rejetée | Caractère en cause |
90
+ |------------------|--------------------|
91
+ | `dotnet build /p:TreatWarningsAsErrors=true` | `:` et `=` |
92
+ | `npm test && npm run lint` | `&` |
93
+ | `pytest \| tee out.log` | `\|` |
94
+
95
+ Pour ces cas, placer la commande dans un script et la déclarer en `type: hook` :
96
+
97
+ ```yaml
98
+ definition_of_done:
99
+ checklist:
100
+ - id: build
101
+ type: hook
102
+ script: ".ralph/dod/build.sh"
103
+ required: true
104
+ ```
105
+
106
+ ```bash
107
+ #!/usr/bin/env bash
108
+ # .ralph/dod/build.sh — reçoit {"cwd": ..., "output": ...} en JSON sur stdin
109
+ dotnet build /p:TreatWarningsAsErrors=true || exit 2
110
+ ```
111
+
112
+ Le script retourne `0` (critère validé) ou `2` (critère échoué). Clés lues par type : `command` → `command:`, `output_contains` et `file_changed` → `pattern:`, `hook` → `script:`, `human` → `prompt:`.
113
+
79
114
  ### 4. Circuit Breaker Adaptatif (v2.0)
80
115
 
81
116
  Sélection automatique du profil selon les mots-clés de la tâche :
@@ -100,6 +135,23 @@ Claude travaille...
100
135
  Stop → stop-dod-gate.sh → Bloquer si DoD non satisfait (exit 2)
101
136
  ```
102
137
 
138
+ ## /goal (interactif) ou Ralph (autonome/CI) ?
139
+
140
+ `/goal` est une commande native de Claude Code, tapée dans une session : ce n'est pas une option de `ralph.sh`, qui n'en propose aucune et ne génère jamais de `/goal`. Les deux outils sont complémentaires :
141
+
142
+ | Critère | `/goal` (natif) | Ralph (`ralph.sh`) |
143
+ |---------|-----------------|--------------------|
144
+ | Critère de fin | Jugement LLM : un petit modèle rapide évalue, après chaque tour, ce qui est visible dans la conversation — il ne lance aucune commande et ne lit aucun fichier | Déterministe : commandes, patterns et hooks exécutés par `dod-validator.sh` |
145
+ | Plafond d'itérations | Aucun plafond fixe : fin quand la condition est atteinte ou jugée impossible, sur `/goal clear`, ou si Claude enchaîne plusieurs tours sans outil ; une borne peut être écrite dans la condition | `max_iterations` + circuit breaker adaptatif |
146
+ | Headless / CI | `claude -p "/goal ..."` boucle jusqu'au bout en une seule invocation ; usage en CI non documenté | Conçu pour : exécution autonome (`--autonomous`, `--overnight`), dashboard `headless` |
147
+ | `disableAllHooks: true` | Indisponible : `/goal` enveloppe un Stop hook de session (idem avec `allowManagedHooksOnly`) | La boucle et la DoD tournent dans `ralph.sh` ; seule l'intégration hooks (`stop-dod-gate.sh`) est désactivée |
148
+ | Configuration | Aucune ; un seul goal par session, effacé par `/clear` | `ralph.yml` |
149
+
150
+ - **Choisir `/goal`** pour une tâche interactive dont la fin se constate dans la conversation (afficher la sortie des tests : l'évaluateur ne les lance pas).
151
+ - **Choisir Ralph** quand la fin doit être prouvée par des commandes, avec un plafond d'itérations, en autonomie ou en CI.
152
+
153
+ Référence : [documentation `/goal`](https://code.claude.com/docs/en/goal).
154
+
103
155
  ## Exemples de démarrage rapide
104
156
 
105
157
  ```bash
@@ -1,257 +1,9 @@
1
1
  ---
2
- description: Recherche avec Context7 et Web
3
- argument-hint: [arguments]
2
+ description: "Obsolète (retirée en 9.0) : utilisez le MCP context7 ou /deep-research"
3
+ deprecated: true
4
+ replaced-by: mcp:context7
4
5
  ---
5
6
 
6
- # Recherche avec Context7 et Web
7
+ > ⚠️ `/common:research-context7` est obsolète et sera retirée en 9.0. Utilisez le MCP context7 ou `/deep-research`.
7
8
 
8
- Tu es un assistant de recherche expert. Tu dois utiliser le MCP Context7 pour accéder à la documentation des librairies et la recherche web pour trouver des informations à jour sur un sujet technique.
9
-
10
- ## Arguments
11
- $ARGUMENTS
12
-
13
- Arguments :
14
- - Sujet de recherche ou question technique
15
- - (Optionnel) Librairies spécifiques à consulter
16
-
17
- Exemple : `/common:research-context7 "Comment implémenter l'authentification OAuth2 avec NextAuth.js"` ou `/common:research-context7 "Best practices React 19" react,nextjs`
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
- - Le sujet principal de la recherche
29
- - Les technologies/librairies concernées
30
- - Le niveau de détail requis
31
- - Les questions spécifiques à répondre
32
-
33
- ### Étape 2 : Utiliser Context7 (MCP)
34
-
35
- **Context7 permet d'accéder à la documentation à jour des librairies.**
36
-
37
- #### Rechercher la documentation
38
-
39
- ```
40
- Utiliser l'outil MCP context7 pour :
41
- 1. Rechercher la documentation officielle de la librairie
42
- 2. Obtenir les exemples de code à jour
43
- 3. Consulter les guides et tutoriels officiels
44
- 4. Vérifier les API disponibles
45
- ```
46
-
47
- #### Librairies supportées par Context7
48
-
49
- Context7 indexe les documentations de nombreuses librairies populaires :
50
- - React, Next.js, Vue, Nuxt, Svelte
51
- - Node.js, Express, Fastify, NestJS
52
- - Python (Django, FastAPI, Flask)
53
- - TypeScript, Tailwind CSS
54
- - Et bien d'autres...
55
-
56
- #### Format de requête Context7
57
-
58
- Pour utiliser Context7, je dois :
59
- 1. Identifier la librairie exacte
60
- 2. Formuler une requête précise
61
- 3. Demander des exemples de code si pertinent
62
-
63
- ### Étape 3 : Recherche Web Complémentaire
64
-
65
- **Utiliser la recherche web pour :**
66
-
67
- 1. **Informations récentes** (après la date de cutoff de Context7)
68
- - Nouvelles versions
69
- - Breaking changes
70
- - Annonces officielles
71
-
72
- 2. **Discussions communautaires**
73
- - Issues GitHub
74
- - Discussions Stack Overflow
75
- - Articles de blog d'experts
76
-
77
- 3. **Comparaisons et alternatives**
78
- - Benchmarks
79
- - Comparaisons de solutions
80
- - Retours d'expérience
81
-
82
- 4. **Cas d'usage spécifiques**
83
- - Exemples de production
84
- - Patterns avancés
85
- - Solutions à des problèmes courants
86
-
87
- ### Étape 4 : Synthétiser les Résultats
88
-
89
- #### Format de Réponse
90
-
91
- ```
92
- ══════════════════════════════════════════════════════════════
93
- 🔍 RECHERCHE : [Sujet]
94
- ══════════════════════════════════════════════════════════════
95
-
96
- ──────────────────────────────────────────────────────────────
97
- 📚 DOCUMENTATION OFFICIELLE (Context7)
98
- ──────────────────────────────────────────────────────────────
99
-
100
- ### [Librairie 1]
101
-
102
- **Version actuelle** : X.Y.Z
103
-
104
- **Résumé** :
105
- [Résumé des informations trouvées]
106
-
107
- **Code exemple** :
108
- ```[language]
109
- // Code d'exemple de la documentation
110
- ```
111
-
112
- **Liens utiles** :
113
- - [Lien 1]
114
- - [Lien 2]
115
-
116
- ### [Librairie 2]
117
- ...
118
-
119
- ──────────────────────────────────────────────────────────────
120
- 🌐 RECHERCHE WEB
121
- ──────────────────────────────────────────────────────────────
122
-
123
- ### Informations Récentes
124
-
125
- - [Date] : [Information trouvée]
126
- - [Date] : [Information trouvée]
127
-
128
- ### Articles Pertinents
129
-
130
- 1. **[Titre de l'article]**
131
- - Source : [URL]
132
- - Résumé : [Points clés]
133
-
134
- 2. **[Titre de l'article]**
135
- ...
136
-
137
- ### Discussions Communautaires
138
-
139
- - **GitHub Issue** : [Lien] - [Résumé]
140
- - **Stack Overflow** : [Lien] - [Résumé]
141
-
142
- ──────────────────────────────────────────────────────────────
143
- 💡 SYNTHÈSE ET RECOMMANDATIONS
144
- ──────────────────────────────────────────────────────────────
145
-
146
- ### Réponse à la Question
147
-
148
- [Réponse synthétique basée sur les recherches]
149
-
150
- ### Approche Recommandée
151
-
152
- 1. [Étape 1]
153
- 2. [Étape 2]
154
- 3. [Étape 3]
155
-
156
- ### Points d'Attention
157
-
158
- - ⚠️ [Point d'attention 1]
159
- - ⚠️ [Point d'attention 2]
160
-
161
- ### Code Exemple Complet
162
-
163
- ```[language]
164
- // Code exemple compilant les meilleures pratiques trouvées
165
- ```
166
-
167
- ──────────────────────────────────────────────────────────────
168
- 📋 SOURCES
169
- ──────────────────────────────────────────────────────────────
170
-
171
- Documentation :
172
- - [Source 1]
173
- - [Source 2]
174
-
175
- Web :
176
- - [Source 1]
177
- - [Source 2]
178
- ```
179
-
180
- ### Étape 5 : Validation
181
-
182
- #### Vérifier la Qualité des Sources
183
-
184
- - [ ] Sources officielles privilégiées
185
- - [ ] Informations à jour (< 1 an idéalement)
186
- - [ ] Cohérence entre les sources
187
- - [ ] Exemples de code testables
188
-
189
- #### Vérifier la Pertinence
190
-
191
- - [ ] Répond à la question initiale
192
- - [ ] Niveau de détail adapté
193
- - [ ] Exemples pratiques fournis
194
- - [ ] Alternatives mentionnées si pertinent
195
-
196
- ### Cas d'Usage Types
197
-
198
- #### 1. Nouvelle Librairie
199
-
200
- ```
201
- Question : "Comment utiliser [nouvelle librairie] ?"
202
-
203
- → Context7 : Documentation, API, exemples de base
204
- → Web : Tutoriels, retours d'expérience, gotchas
205
- ```
206
-
207
- #### 2. Problème Technique
208
-
209
- ```
210
- Question : "Pourquoi [erreur] avec [librairie] ?"
211
-
212
- → Context7 : Documentation des erreurs, troubleshooting
213
- → Web : Issues GitHub, Stack Overflow, forums
214
- ```
215
-
216
- #### 3. Comparaison
217
-
218
- ```
219
- Question : "[Lib A] vs [Lib B] pour [use case] ?"
220
-
221
- → Context7 : Features de chaque lib
222
- → Web : Benchmarks, comparatifs, avis d'experts
223
- ```
224
-
225
- #### 4. Best Practices
226
-
227
- ```
228
- Question : "Meilleures pratiques pour [sujet] ?"
229
-
230
- → Context7 : Guidelines officielles
231
- → Web : Articles d'experts, patterns populaires
232
- ```
233
-
234
- #### 5. Migration
235
-
236
- ```
237
- Question : "Migrer de [v1] à [v2] ?"
238
-
239
- → Context7 : Guide de migration officiel
240
- → Web : Retours d'expérience, breaking changes réels
241
- ```
242
-
243
- ### Consignes Importantes
244
-
245
- 1. **Toujours citer les sources** - Ne jamais inventer d'information
246
- 2. **Privilégier la documentation officielle** - Context7 d'abord
247
- 3. **Vérifier la date des informations** - Le web peut avoir du contenu obsolète
248
- 4. **Fournir du code testable** - Les exemples doivent fonctionner
249
- 5. **Être honnête sur les limites** - Si l'information n'est pas trouvée, le dire
250
-
251
- ### En Cas de Doute
252
-
253
- Si je ne trouve pas l'information :
254
- - Indiquer clairement ce qui n'a pas été trouvé
255
- - Proposer des pistes alternatives
256
- - Suggérer où chercher manuellement
257
- - Ne JAMAIS inventer ou halluciner des informations
9
+ Pour « $ARGUMENTS » : documentation via le MCP context7 (`resolve-library-id` puis `query-docs`), recherche web via `/deep-research` ; hors claude.ai, WebSearch/WebFetch ou l'agent `@research-assistant`.
@@ -352,13 +352,15 @@ La commande `/context` fournit des suggestions actionnables pour optimiser l'uti
352
352
 
353
353
  Ajuster le niveau d'effort du modele selon la complexite de la tache:
354
354
 
355
- | Commande | Modele | Usage |
356
- |----------|--------|-------|
357
- | `/effort low` | Haiku 5.5 | Taches simples, lookups, classification |
358
- | `/effort medium` | Sonnet 5.5 | Implementation standard |
359
- | `/effort high` | Opus 5.5 | Raisonnement complexe, architecture |
360
- | `/effort xhigh` | Opus 5.5 (extended thinking) | Décisions critiques, migrations complexes, ADR |
361
- | `/effort ultracode` | Opus 5.5 (toggle séparé depuis v2.1.284, Dynamic Workflows) | Mode débit code maximal — pipelines automatisés, génération massive |
355
+ | Commande | Effet | Usage |
356
+ |----------|-------|-------|
357
+ | `/effort low` | Raisonnement minimal, réponses rapides | Tâches simples, lookups, classification |
358
+ | `/effort medium` | Profondeur standard | Implémentation standard |
359
+ | `/effort high` | Raisonnement approfondi | Raisonnement complexe, architecture |
360
+ | `/effort xhigh` | Adaptive thinking au maximum | Décisions critiques, migrations complexes, ADR |
361
+ | `/effort ultracode` | Toggle séparé (v2.1.284+), Dynamic Workflows | Débit de code maximal — pipelines automatisés, génération massive |
362
+
363
+ > **L'effort ne change pas de modèle :** il règle la profondeur de raisonnement du modèle courant ; le modèle se choisit avec `/model`. Couples conseillés : `low` sur Haiku 5.5, `medium` sur Sonnet 5.5, `high`/`xhigh` sur Opus 5.5.
362
364
 
363
365
  > **Effort par défaut selon le modèle :** medium sur Opus 5.5 et Haiku 5.5 ; high sur Sonnet 5.5, Fable 5.1 et les modèles legacy.
364
366
  > **Fable 5.1** (`claude-fable-5-1`, 10 $/50 $ par Mtok) est un modèle actuel, adapté aux agents créatifs/narratifs. **Mythos** est en disponibilité limitée (Cyber Verification Program uniquement).
@@ -493,7 +495,7 @@ Lors de la compaction, toujours preserver:
493
495
  | Variable | Description |
494
496
  |----------|-------------|
495
497
  | `CLAUDE_CODE_SUBAGENT_MODEL` | Modèle **par défaut** des sous-agents non typés (ex : `sonnet`). **Depuis Claude Code 2.1.251**, le frontmatter `model:` d'un agent prévaut : les 11 reviewers `model: haiku` restent sur Haiku. **Avant 2.1.251, c'était l'inverse** — cette variable écrasait le frontmatter. |
496
- | `CLAUDE_CODE_FORK_SUBAGENT` | `1` pour isoler le contexte des sous-agents (forked subagents, v2.1.117+) |
498
+ | `CLAUDE_CODE_FORK_SUBAGENT` | `1` pour isoler le contexte des sous-agents (forked subagents, v2.1.117+) ; actif par défaut en `-p`, SDK, desktop et VS Code depuis 2.1.302, `0` pour le désactiver |
497
499
  | `ENABLE_PROMPT_CACHING_1H` / `FORCE_PROMPT_CACHING_5M` | Étendre/forcer le prompt caching (−40 % sur les sessions répétitives) |
498
500
  | `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Mettre à `1` pour désactiver la mémoire automatique |
499
501
 
@@ -25,6 +25,10 @@
25
25
  ],
26
26
  "deny": [
27
27
  "Bash(rm -rf:*)",
28
+ "Bash(dd:*)",
29
+ "Bash(mkfs:*)",
30
+ "Bash(git push --force*)",
31
+ "Bash(git push -f*)",
28
32
  "Bash(sudo:*)",
29
33
  "Bash(chmod 777:*)",
30
34
  "Bash(curl | sh:*)",
@@ -22,7 +22,7 @@ Tu es un expert en qualité logicielle chargé d'effectuer un audit complet de c
22
22
  - Identifier le répertoire du projet à auditer ($ARGUMENTS ou répertoire courant)
23
23
  - Vérifier que le projet est bien un projet React (présence de package.json avec react)
24
24
  - Créer un contexte d'audit avec timestamp
25
- - Lire l'ensemble des règles disponibles dans `/home/fmetivier/Documents/Company/TheBeardedCTO/Tools/Claude/Dev/React/rules/`
25
+ - Lire l'ensemble des règles disponibles dans `.claude/rules/`
26
26
 
27
27
  ### Étape 2 : Exécution des audits sectoriels
28
28
 
@@ -20,8 +20,8 @@ Tu es un expert en sécurité React chargé d'auditer la sécurité d'un projet
20
20
  ### Étape 1 : Analyse du contexte
21
21
  - Identifier le répertoire du projet à auditer ($ARGUMENTS ou répertoire courant)
22
22
  - Lire les règles de sécurité depuis :
23
- - `/home/fmetivier/Documents/Company/TheBeardedCTO/Tools/Claude/Dev/React/rules/11-security.md`
24
- - `/home/fmetivier/Documents/Company/TheBeardedCTO/Tools/Claude/Dev/React/rules/03-coding-standards.md` (section sécurité)
23
+ - `.claude/rules/11-security-react.md`
24
+ - `.claude/rules/03-coding-standards.md` (section sécurité)
25
25
 
26
26
  ### Étape 2 : Vérification des vulnérabilités XSS
27
27