@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: [security, git-workflow]
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
  # Agente Engenheiro DevOps
@@ -232,3 +218,22 @@ strategy:
232
218
  3. Configurar health checks
233
219
  4. Preparar rollback
234
220
  5. Monitorar deploy
221
+
222
+ ## Proteção contra comandos destrutivos
223
+
224
+ Um agente não consegue bloquear um comando específico: `disallowedTools: Bash(...)` remove todo o Bash. Esses comandos passam pelo prompt de permissão — sempre pedir confirmação explícita antes de executá-los. Para bloqueá-los em um projeto, adicionar ao seu `.claude/settings.json` (as regras também se aplicam aos subagentes):
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 \"BLOQUEADO: SQL destrutivo (DROP DATABASE/SCHEMA/TABLE, TRUNCATE). Propor o comando ao usuário para que ele mesmo o execute.\" >&2; exit 2; } || exit 0"
25
16
  ---
26
17
 
27
18
  # Agente Migration Specialist
@@ -140,3 +131,7 @@ Você é um **Migration Specialist Sênior** com mais de 12 anos de experiência
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
+ ## Proteção contra SQL destrutivo
136
+
137
+ Um hook `PreToolUse` declarado no frontmatter bloqueia, enquanto este agente é executado, qualquer comando Bash que contenha `DROP DATABASE`, `DROP SCHEMA`, `DROP TABLE` ou `TRUNCATE` (por exemplo `psql -c "DROP TABLE …"`): propor então o comando ao usuário. Os arquivos de migração escritos com Edit/Write não são afetados. Limites: o hook só é executado depois de aceitar a confiança da pasta (workspace trust) e é ignorado quando o agente é carregado a partir de um 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
+ ## Proteção contra comandos destrutivos
252
+
253
+ Um agente não consegue bloquear um comando específico: `disallowedTools: Bash(...)` remove todo o Bash. Esses comandos passam pelo prompt de permissão — sempre pedir confirmação explícita antes de executá-los. Para bloqueá-los em um projeto, adicionar ao seu `.claude/settings.json` (as regras também se aplicam aos subagentes):
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
+ ```
@@ -5,17 +5,6 @@ model: opus
5
5
  effort: xhigh
6
6
  maxTurns: 10
7
7
  memory: user
8
- disallowedTools:
9
- - "Bash(rm -rf:*)"
10
- - "Bash(dd:*)"
11
- - "Bash(mkfs:*)"
12
- - "Bash(:(){:|:&};:*)"
13
- - "Bash(sudo:*)"
14
- - "Bash(chmod 777:*)"
15
- - "Bash(curl * | sh*)"
16
- - "Bash(wget * | sh*)"
17
- - "Bash(git push --force*)"
18
- - "Bash(git push -f*)"
19
8
  ---
20
9
 
21
10
  # Agente Ralph Conductor v2.0
@@ -186,11 +175,11 @@ Summary:
186
175
 
187
176
  ## Modo de Coordenação de Equipes de Agentes
188
177
 
189
- Ao operar no modo Agent Teams (ativado via `--ralph-mode` em `/team:sprint`), o conductor assume o papel de **líder de equipe** e coordena um colega de desenvolvimento por meio da API Claude Code Agent Teams em vez do gerenciamento de processos bash.
178
+ Ao operar no modo Agent Teams (ativado via `--ralph-mode` em `/team:sprint --engine=teams`), o conductor assume o papel de **líder de equipe** e coordena um colega de desenvolvimento por meio da API Claude Code Agent Teams em vez do gerenciamento de processos bash.
190
179
 
191
180
  ### Pré-requisitos
192
181
 
193
- - Variável de ambiente `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`
182
+ - Variável de ambiente `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` (exigida apenas por `/team:sprint --engine=teams`)
194
183
  - Claude Code v2.1.32+
195
184
  - Biblioteca adaptadora: `Tools/AgentTeams/lib/ralph-teams-adapter.sh`
196
185
 
@@ -227,8 +216,8 @@ O conductor executa verificações de saúde periódicas através do `teams_watc
227
216
  ### Manter o Modo Bash Intacto
228
217
 
229
218
  Toda a orquestração existente no modo bash permanece inalterada. O modo Agent Teams é ativado apenas quando:
230
- 1. O flag `--ralph-mode` é passado para `/team:sprint`
231
- 2. A variável de ambiente `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` está definida
219
+ 1. O flag `--ralph-mode` é passado para `/team:sprint --engine=teams`
220
+ 2. A variável de ambiente `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` está definida (exigida apenas por `/team:sprint --engine=teams`)
232
221
  3. A biblioteca adaptadora está disponível
233
222
 
234
223
  Sem essas condições, o conductor opera exatamente como antes.
@@ -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, testing, kiss-dry-yagni]
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
  # Agente Especialista em Refatoração
@@ -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
  # Agente Coach TDD/BDD
@@ -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
  # Agente Orquestrador UI/UX
@@ -51,6 +51,12 @@ Executa o Claude em loop contínuo até que a tarefa seja concluída ou os crit
51
51
  - Definir máximo de iterações, timeouts e critérios de DoD
52
52
  - Inicializar hooks se habilitados
53
53
 
54
+ #### Isolamento de sessões e workers paralelos
55
+
56
+ - **Sessão Claude explícita**: cada sessão Ralph fixa seu próprio identificador de conversa Claude — `claude --session-id <uuid>` na primeira iteração e depois `claude --resume <uuid>`. O UUID é armazenado em `.ralph/sessions/<session>/claude_session_id`, para que `--continue=<session>` retome a conversa correta. O Ralph não usa mais `claude --continue`, que retomava "a conversa mais recente do diretório" (compartilhada entre workers, ou até com a sessão interativa do usuário).
57
+ - **Um worktree git por worker** (modo paralelo, `lib/parallel-manager.sh`): cada história é executada em um worktree dedicado `.ralph/parallel/worktrees/<session>` na branch `ralph/<session>`, com seu estado Ralph em `.ralph/parallel/sessions/<session>/ralph/`. No fim da execução, as alterações restantes são commitadas como `wip(ralph): <story>` nessa branch e o worktree é removido (`git worktree remove`). Se esse commit falhar, o worktree é mantido (sem perda de dados) e sinalizado em `output.log`. O trabalho é recuperado fazendo merge das branches `ralph/*`.
58
+ - **Fora de um repositório git**: sem worktree; o worker é executado no diretório atual (um aviso é exibido) e o isolamento das sessões Claude continua garantido.
59
+
54
60
  ### 2. Loop Principal com Painel
55
61
 
56
62
  ```
@@ -76,6 +82,35 @@ O sistema de DoD valida a conclusão por meio de múltiplos critérios:
76
82
  | `hook` | Executar hook existente do Claude |
77
83
  | `human` | Validação humana interativa |
78
84
 
85
+ #### Limite do validador `command` → usar `type: hook`
86
+
87
+ `type: command` só executa comandos que passam na lista de permissões de `Tools/Ralph/lib/dod-validator.sh`: letras, dígitos, espaço e `_ . / " ' -`. Qualquer comando contendo `=`, `|`, `&` ou `:` (assim como `;`, `>`, `$` etc.) é rejeitado com `ERROR: Invalid command`: o critério **nunca** é validado e o loop roda até o circuit breaker disparar.
88
+
89
+ | Comando rejeitado | Caractere culpado |
90
+ |-------------------|-------------------|
91
+ | `dotnet build /p:TreatWarningsAsErrors=true` | `:` e `=` |
92
+ | `npm test && npm run lint` | `&` |
93
+ | `pytest \| tee out.log` | `\|` |
94
+
95
+ Nesses casos, colocar o comando em um script e declará-lo como `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 — recebe {"cwd": ..., "output": ...} em JSON via stdin
109
+ dotnet build /p:TreatWarningsAsErrors=true || exit 2
110
+ ```
111
+
112
+ O script retorna `0` (critério atendido) ou `2` (critério falhou). Chaves lidas por tipo: `command` → `command:`, `output_contains` e `file_changed` → `pattern:`, `hook` → `script:`, `human` → `prompt:`.
113
+
79
114
  ### 4. Circuit Breaker Adaptativo (v2.0)
80
115
 
81
116
  Seleciona automaticamente o perfil com base nas palavras-chave da tarefa:
@@ -100,6 +135,23 @@ Claude trabalha...
100
135
  Stop → stop-dod-gate.sh → Bloquear se DoD não satisfeito (exit 2)
101
136
  ```
102
137
 
138
+ ## /goal (interativo) ou Ralph (autônomo/CI)?
139
+
140
+ `/goal` é um comando nativo do Claude Code digitado dentro de uma sessão: não é uma opção de `ralph.sh`, que não oferece nenhuma para isso e nunca gera um `/goal`. As duas ferramentas são complementares:
141
+
142
+ | Critério | `/goal` (nativo) | Ralph (`ralph.sh`) |
143
+ |----------|------------------|--------------------|
144
+ | Critério de conclusão | Julgamento LLM: um modelo pequeno e rápido avalia, após cada turno, o que está visível na conversa — não executa nenhum comando nem lê nenhum arquivo | Determinístico: comandos, padrões e hooks executados por `dod-validator.sh` |
145
+ | Limite de iterações | Sem limite fixo: termina quando a condição é atendida ou julgada impossível, com `/goal clear`, ou se Claude encadeia vários turnos sem ferramentas; um limite pode ser escrito na condição | `max_iterations` + circuit breaker adaptativo |
146
+ | Headless / CI | `claude -p "/goal ..."` itera até o fim em uma única invocação; uso em CI não documentado | Feito para isso: execução autônoma (`--autonomous`, `--overnight`), dashboard `headless` |
147
+ | `disableAllHooks: true` | Indisponível: `/goal` envolve um Stop hook de sessão (idem com `allowManagedHooksOnly`) | O loop e a DoD rodam dentro de `ralph.sh`; só a integração de hooks (`stop-dod-gate.sh`) é desativada |
148
+ | Configuração | Nenhuma; um único goal por sessão, apagado por `/clear` | `ralph.yml` |
149
+
150
+ - **Escolher `/goal`** para uma tarefa interativa cuja conclusão aparece na conversa (exibir a saída dos testes: o avaliador não os executa).
151
+ - **Escolher Ralph** quando a conclusão deve ser comprovada por comandos, com limite de iterações, sem supervisão ou em CI.
152
+
153
+ Referência: [documentação do `/goal`](https://code.claude.com/docs/en/goal).
154
+
103
155
  ## Exemplos de Início Rápido
104
156
 
105
157
  ```bash
@@ -1,257 +1,9 @@
1
1
  ---
2
- description: Pesquisa com Context7 e Web
3
- argument-hint: [arguments]
2
+ description: "Obsoleto (removido na 9.0): use o MCP context7 ou /deep-research"
3
+ deprecated: true
4
+ replaced-by: mcp:context7
4
5
  ---
5
6
 
6
- # Pesquisa com Context7 e Web
7
+ > ⚠️ `/common:research-context7` está obsoleto e será removido na 9.0. Use o MCP context7 ou `/deep-research`.
7
8
 
8
- Você é um assistente de pesquisa especializado. Você deve usar o MCP Context7 para acessar documentações de bibliotecas e busca na web para encontrar informações atualizadas sobre um tópico técnico.
9
-
10
- ## Argumentos
11
- $ARGUMENTS
12
-
13
- Argumentos:
14
- - Tópico de pesquisa ou questão técnica
15
- - (Opcional) Bibliotecas específicas a consultar
16
-
17
- Exemplo: `/common:research-context7 "Como implementar autenticação OAuth2 com NextAuth.js"` ou `/common:research-context7 "Melhores práticas React 19" react,nextjs`
18
-
19
- ## Modo Plano
20
-
21
- > O modo plano é ativado automaticamente quando o escopo abrange vários módulos ou requer investigação transversal.
22
-
23
- ## MISSÃO
24
-
25
- ### Etapa 1: Analisar a Solicitação
26
-
27
- Identificar:
28
- - Tópico principal da pesquisa
29
- - Tecnologias/bibliotecas envolvidas
30
- - Nível de detalhe necessário
31
- - Questões específicas a responder
32
-
33
- ### Etapa 2: Usar Context7 (MCP)
34
-
35
- **O Context7 fornece acesso a documentações atualizadas de bibliotecas.**
36
-
37
- #### Buscar documentação
38
-
39
- ```
40
- Usar a ferramenta MCP context7 para:
41
- 1. Buscar documentação oficial de bibliotecas
42
- 2. Obter exemplos de código atualizados
43
- 3. Consultar guias e tutoriais oficiais
44
- 4. Verificar APIs disponíveis
45
- ```
46
-
47
- #### Bibliotecas suportadas pelo Context7
48
-
49
- O Context7 indexa documentação de muitas bibliotecas populares:
50
- - React, Next.js, Vue, Nuxt, Svelte
51
- - Node.js, Express, Fastify, NestJS
52
- - Python (Django, FastAPI, Flask)
53
- - TypeScript, Tailwind CSS
54
- - E muitas outras...
55
-
56
- #### Formato de consulta Context7
57
-
58
- Para usar o Context7, devo:
59
- 1. Identificar a biblioteca exata
60
- 2. Formular uma consulta precisa
61
- 3. Solicitar exemplos de código se relevante
62
-
63
- ### Etapa 3: Busca Web Complementar
64
-
65
- **Usar busca na web para:**
66
-
67
- 1. **Informações recentes** (após a data de corte do Context7)
68
- - Novas versões
69
- - Breaking changes
70
- - Anúncios oficiais
71
-
72
- 2. **Discussões da comunidade**
73
- - Issues do GitHub
74
- - Discussões do Stack Overflow
75
- - Artigos de blog de especialistas
76
-
77
- 3. **Comparações e alternativas**
78
- - Benchmarks
79
- - Comparações de soluções
80
- - Feedback de experiências
81
-
82
- 4. **Casos de uso específicos**
83
- - Exemplos em produção
84
- - Padrões avançados
85
- - Soluções para problemas comuns
86
-
87
- ### Etapa 4: Sintetizar Resultados
88
-
89
- #### Formato de Resposta
90
-
91
- ```
92
- ══════════════════════════════════════════════════════════════
93
- 🔍 PESQUISA: [Tópico]
94
- ══════════════════════════════════════════════════════════════
95
-
96
- ──────────────────────────────────────────────────────────────
97
- 📚 DOCUMENTAÇÃO OFICIAL (Context7)
98
- ──────────────────────────────────────────────────────────────
99
-
100
- ### [Biblioteca 1]
101
-
102
- **Versão atual**: X.Y.Z
103
-
104
- **Resumo**:
105
- [Resumo das informações encontradas]
106
-
107
- **Exemplo de código**:
108
- ```[linguagem]
109
- // Código de exemplo da documentação
110
- ```
111
-
112
- **Links úteis**:
113
- - [Link 1]
114
- - [Link 2]
115
-
116
- ### [Biblioteca 2]
117
- ...
118
-
119
- ──────────────────────────────────────────────────────────────
120
- 🌐 BUSCA NA WEB
121
- ──────────────────────────────────────────────────────────────
122
-
123
- ### Informações Recentes
124
-
125
- - [Data]: [Informação encontrada]
126
- - [Data]: [Informação encontrada]
127
-
128
- ### Artigos Relevantes
129
-
130
- 1. **[Título do artigo]**
131
- - Fonte: [URL]
132
- - Resumo: [Pontos-chave]
133
-
134
- 2. **[Título do artigo]**
135
- ...
136
-
137
- ### Discussões da Comunidade
138
-
139
- - **GitHub Issue**: [Link] - [Resumo]
140
- - **Stack Overflow**: [Link] - [Resumo]
141
-
142
- ──────────────────────────────────────────────────────────────
143
- 💡 SÍNTESE E RECOMENDAÇÕES
144
- ──────────────────────────────────────────────────────────────
145
-
146
- ### Resposta à Questão
147
-
148
- [Resposta sintética baseada na pesquisa]
149
-
150
- ### Abordagem Recomendada
151
-
152
- 1. [Etapa 1]
153
- 2. [Etapa 2]
154
- 3. [Etapa 3]
155
-
156
- ### Pontos de Atenção
157
-
158
- - ⚠️ [Ponto de atenção 1]
159
- - ⚠️ [Ponto de atenção 2]
160
-
161
- ### Exemplo de Código Completo
162
-
163
- ```[linguagem]
164
- // Código de exemplo compilando as melhores práticas encontradas
165
- ```
166
-
167
- ──────────────────────────────────────────────────────────────
168
- 📋 FONTES
169
- ──────────────────────────────────────────────────────────────
170
-
171
- Documentação:
172
- - [Fonte 1]
173
- - [Fonte 2]
174
-
175
- Web:
176
- - [Fonte 1]
177
- - [Fonte 2]
178
- ```
179
-
180
- ### Etapa 5: Validação
181
-
182
- #### Verificar Qualidade das Fontes
183
-
184
- - [ ] Fontes oficiais priorizadas
185
- - [ ] Informações atualizadas (< 1 ano idealmente)
186
- - [ ] Consistência entre as fontes
187
- - [ ] Exemplos de código testáveis
188
-
189
- #### Verificar Relevância
190
-
191
- - [ ] Responde à questão inicial
192
- - [ ] Nível de detalhe apropriado
193
- - [ ] Exemplos práticos fornecidos
194
- - [ ] Alternativas mencionadas se relevante
195
-
196
- ### Casos de Uso Típicos
197
-
198
- #### 1. Nova Biblioteca
199
-
200
- ```
201
- Questão: "Como usar [nova biblioteca]?"
202
-
203
- → Context7: Documentação, API, exemplos básicos
204
- → Web: Tutoriais, feedback, gotchas
205
- ```
206
-
207
- #### 2. Problema Técnico
208
-
209
- ```
210
- Questão: "Por que [erro] com [biblioteca]?"
211
-
212
- → Context7: Documentação de erros, troubleshooting
213
- → Web: GitHub issues, Stack Overflow, fóruns
214
- ```
215
-
216
- #### 3. Comparação
217
-
218
- ```
219
- Questão: "[Lib A] vs [Lib B] para [caso de uso]?"
220
-
221
- → Context7: Recursos de cada lib
222
- → Web: Benchmarks, comparações, opiniões de especialistas
223
- ```
224
-
225
- #### 4. Melhores Práticas
226
-
227
- ```
228
- Questão: "Melhores práticas para [tópico]?"
229
-
230
- → Context7: Diretrizes oficiais
231
- → Web: Artigos de especialistas, padrões populares
232
- ```
233
-
234
- #### 5. Migração
235
-
236
- ```
237
- Questão: "Migrar de [v1] para [v2]?"
238
-
239
- → Context7: Guia de migração oficial
240
- → Web: Feedback de experiências, breaking changes reais
241
- ```
242
-
243
- ### Diretrizes Importantes
244
-
245
- 1. **Sempre citar fontes** - Nunca inventar informações
246
- 2. **Priorizar documentação oficial** - Context7 primeiro
247
- 3. **Verificar data das informações** - Web pode ter conteúdo obsoleto
248
- 4. **Fornecer código testável** - Exemplos devem funcionar
249
- 5. **Ser honesto sobre limitações** - Se informação não encontrada, dizer
250
-
251
- ### Em Caso de Dúvida
252
-
253
- Se não encontrar a informação:
254
- - Indicar claramente o que não foi encontrado
255
- - Propor caminhos alternativos
256
- - Sugerir onde buscar manualmente
257
- - NUNCA inventar ou alucinar informações
9
+ Para "$ARGUMENTS": documentação via MCP context7 (`resolve-library-id` e depois `query-docs`), pesquisa web via `/deep-research`; fora do claude.ai, WebSearch/WebFetch ou o agente `@research-assistant`.
@@ -352,13 +352,15 @@ O comando `/context` fornece sugestoes acionaveis para otimizar o uso do context
352
352
 
353
353
  Ajustar o nível de esforço do modelo de acordo com a complexidade da tarefa:
354
354
 
355
- | Comando | Modelo | Uso |
355
+ | Comando | Efeito | Uso |
356
356
  |---------|--------|-----|
357
- | `/effort low` | Haiku 5.5 | Tarefas simples, lookups, classificação |
358
- | `/effort medium` | Sonnet 5.5 | Implementação padrão |
359
- | `/effort high` | Opus 5.5 | Raciocínio complexo, arquitetura |
360
- | `/effort xhigh` | Opus 5.5 (extended thinking) | Decisões críticas, migrações complexas, ADR |
361
- | `/effort ultracode` | Opus 5.5 (toggle separado desde v2.1.284, Dynamic Workflows) | Modo de máximo débito de código — pipelines automatizados, geração massiva |
357
+ | `/effort low` | Raciocínio mínimo, respostas rápidas | Tarefas simples, lookups, classificação |
358
+ | `/effort medium` | Profundidade padrão | Implementação padrão |
359
+ | `/effort high` | Raciocínio aprofundado | Raciocínio complexo, arquitetura |
360
+ | `/effort xhigh` | Adaptive thinking no máximo | Decisões críticas, migrações complexas, ADR |
361
+ | `/effort ultracode` | Toggle separado (v2.1.284+), Dynamic Workflows | Máximo débito de código — pipelines automatizados, geração massiva |
362
+
363
+ > **O esforço não troca de modelo:** ajusta a profundidade de raciocínio do modelo atual; o modelo é escolhido com `/model`. Pares recomendados: `low` com Haiku 5.5, `medium` com Sonnet 5.5, `high`/`xhigh` com Opus 5.5.
362
364
 
363
365
  > **Esforço padrão por modelo:** medium no Opus 5.5 e Haiku 5.5; high no Sonnet 5.5, Fable 5.1 e modelos legacy.
364
366
  > **Fable 5.1** (`claude-fable-5-1`, $10/$50 por Mtok) é um modelo atual, adequado para agentes criativos/narrativos. **Mythos** tem disponibilidade limitada (apenas Cyber Verification Program).
@@ -493,7 +495,7 @@ Durante a compactacao, sempre preservar:
493
495
  | Variável | Descrição |
494
496
  |----------|-----------|
495
497
  | `CLAUDE_CODE_SUBAGENT_MODEL` | Modelo **padrão** para sub-agentes sem tipo (ex: `sonnet`). **Desde o Claude Code 2.1.251**, o frontmatter `model:` de um agente tem prioridade: os 11 revisores com `model: haiku` permanecem no Haiku. **Antes de 2.1.251 era o contrário** — esta variável sobrescrevia o frontmatter. |
496
- | `CLAUDE_CODE_FORK_SUBAGENT` | `1` para isolar o contexto dos sub-agentes (forked subagents, v2.1.117+) |
498
+ | `CLAUDE_CODE_FORK_SUBAGENT` | `1` para isolar o contexto dos sub-agentes (forked subagents, v2.1.117+); ativo por padrão em `-p`, no SDK, desktop e VS Code desde 2.1.302, `0` para desativar |
497
499
  | `ENABLE_PROMPT_CACHING_1H` / `FORCE_PROMPT_CACHING_5M` | Ampliar/forçar o prompt caching (−40 % em sessões repetitivas) |
498
500
  | `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Definir como `1` para desativar a memória automática |
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:*)",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: coding-standards
3
- description: Regra 03: Padrões de Codificação. Use when reviewing code style or formatting.
3
+ description: "Regra 03: Padrões de Codificação. Use when reviewing code style or formatting."
4
4
  ---
5
5
 
6
6
  # Regra 03: Padrões de Codificação
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: testing-python
3
- description: Regra 07: Testes. Use when writing tests, reviewing test coverage, or setting up testing.
3
+ description: "Regra 07: Testes. Use when writing tests, reviewing test coverage, or setting up testing."
4
4
  ---
5
5
 
6
6
  # Regra 07: Testes
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: tooling
3
- description: Regra 06: Ferramentas. Use when working with tooling.
3
+ description: "Regra 06: Ferramentas. Use when working with tooling."
4
4
  ---
5
5
 
6
6
  # Regra 06: Ferramentas