adi_dev_workflow 1.0.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/index.js +0 -0
- package/frameworks/agents/qa-staff-engineer.md +311 -0
- package/frameworks/agents/qa-validation-expert.md +458 -0
- package/frameworks/agents/tech-review-conformance.md +200 -0
- package/frameworks/commands/generate-project-profile.md +68 -0
- package/frameworks/commands/generate-prompt.md +33 -98
- package/frameworks/commands/ministack/README.md +61 -46
- package/frameworks/commands/ministack/code-review.md +36 -49
- package/frameworks/commands/ministack/generate-intent.md +25 -2
- package/frameworks/commands/ministack/generate-scope.md +30 -6
- package/frameworks/commands/ministack/generate-tasks.md +191 -6
- package/frameworks/commands/ministack/generate-tech-direction.md +43 -0
- package/frameworks/commands/ministack/run-ministack-tasks.md +352 -33
- package/frameworks/commands/ministack/run-ministack-withlinear.md +23 -22
- package/frameworks/commands/ministack/status.md +153 -0
- package/frameworks/commands/sdd/code-review.md +10 -10
- package/frameworks/commands/sdd/generate-prd.md +32 -2
- package/frameworks/commands/sdd/generate-task-plan.md +199 -5
- package/frameworks/commands/sdd/generate-tech-direction.md +43 -0
- package/frameworks/commands/sdd/generate-tech-spec.md +218 -0
- package/frameworks/commands/sdd/generate-tests.md +2 -2
- package/frameworks/commands/sdd/run_tasks.md +391 -43
- package/frameworks/commands/sdd/run_tasks_withlinear.md +276 -37
- package/frameworks/commands/sdd/status.md +160 -0
- package/frameworks/commands/sdd/validate-sdd.md +18 -2
- package/frameworks/commands/sync-tasks-to-linear.md +588 -588
- package/frameworks/commands/taskcard/generate-taskcard.md +113 -25
- package/frameworks/commands/taskcard/run-taskcard.md +203 -34
- package/frameworks/skills/ministack-intent-expert/SKILL.md +16 -3
- package/frameworks/skills/ministack-intent-expert/templates/intent-template.md +1 -1
- package/frameworks/skills/ministack-scope-expert/SKILL.md +19 -11
- package/frameworks/skills/ministack-scope-expert/templates/scope-template.md +1 -1
- package/frameworks/skills/ministack-tasks-expert/SKILL.md +204 -0
- package/frameworks/skills/ministack-tasks-expert/templates/task_plan_template.md +78 -0
- package/frameworks/skills/ministack-tasks-expert/templates/task_template.md +103 -0
- package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +230 -0
- package/frameworks/skills/ministack-tech-direction-expert/evals/evals.json +1 -0
- package/frameworks/skills/ministack-tech-direction-expert/templates/tech_direction-template.md +17 -0
- package/frameworks/skills/prompt-engineer-expert/SKILL.md +232 -0
- package/frameworks/skills/prompt-engineer-expert/templates/prompt_template.md +139 -0
- package/frameworks/skills/sdd-prd-expert/SKILL.md +155 -95
- package/frameworks/skills/sdd-prd-expert/evals/evals.json +59 -0
- package/frameworks/skills/sdd-prd-expert/templates/prd_template.md +46 -46
- package/frameworks/skills/sdd-prd-expert/templates/tech_direction-template.md +23 -0
- package/frameworks/skills/sdd-task-plan-expert/SKILL.md +191 -201
- package/frameworks/skills/sdd-task-plan-expert/evals/evals.json +109 -0
- package/frameworks/skills/sdd-task-plan-expert/templates/task_plan_template.md +33 -33
- package/frameworks/skills/sdd-task-plan-expert/templates/task_template.md +58 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.json +99 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.md +64 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/response.md +134 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/transcript.md +68 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/response.md +525 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/transcript.md +30 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/response.md +1126 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/transcript.md +131 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/response.md +452 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/transcript.md +78 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/response.md +101 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/transcript.md +133 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/response.md +248 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/transcript.md +49 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/review.html +1325 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.json +94 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.md +67 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/response.md +117 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/transcript.md +91 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/response.md +694 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/transcript.md +45 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/response.md +1087 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/transcript.md +124 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/response.md +458 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/transcript.md +84 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/response.md +70 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/transcript.md +148 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/response.md +249 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/transcript.md +80 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/review.html +1325 -0
- package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +235 -0
- package/frameworks/skills/sdd-tech-direction-expert/evals/evals.json +1 -0
- package/frameworks/skills/sdd-tech-direction-expert/templates/tech_direction-template.md +23 -0
- package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +317 -0
- package/frameworks/skills/sdd-tech-spec-expert/evals/evals.json +199 -0
- package/frameworks/skills/sdd-tech-spec-expert/templates/spec_tech_template.md +290 -0
- package/frameworks/skills/sdd-tech-spec-expert/templates/tech_direction-template.md +23 -0
- package/frameworks/skills/taskcard-expert/SKILL.md +40 -77
- package/frameworks/skills/taskcard-expert/templates/template.md +0 -2
- package/frameworks/templates/prompt_template.md +44 -1
- package/package.json +1 -1
- package/frameworks/commands/ministack/generate-tests.md +0 -37
- package/frameworks/commands/sdd/generate-spec-tech.md +0 -37
- package/frameworks/commands/taskcard/generate-tests.md +0 -37
- package/frameworks/skills/ministack-expert/SKILL.md +0 -415
- package/frameworks/skills/ministack-expert/templates/tasks-template.md +0 -141
- package/frameworks/skills/ministack-qa-expert/SKILL.md +0 -273
- package/frameworks/skills/ministack-qa-expert/templates/task_tests_template.md +0 -24
- package/frameworks/skills/ministack-qa-expert/templates/test_strategy_template.md +0 -75
- package/frameworks/skills/sdd-qa-expert/SKILL.md +0 -284
- package/frameworks/skills/sdd-qa-expert/templates/task_tests_template.md +0 -24
- package/frameworks/skills/sdd-qa-expert/templates/test_strategy_template.md +0 -75
- package/frameworks/skills/sdd-spec-tech-expert/SKILL.md +0 -387
- package/frameworks/skills/sdd-spec-tech-expert/templates/spec_tech_template.md +0 -246
- package/frameworks/skills/sdd-spec-tech-expert/templates/tech_direction-template.md +0 -23
- package/frameworks/skills/taskcard-qa-expert/SKILL.md +0 -265
- package/frameworks/skills/taskcard-qa-expert/templates/task_tests_template.md +0 -78
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
argument-hint: "<
|
|
2
|
+
description: "Executa tasks do SDD com rastreamento no Linear. Params: <task_plan.md> <team-linear> <agent_name>"
|
|
3
|
+
argument-hint: "<caminho task_plan.md ex: docs/feature-user/v1/task_plan.md> <team-linear ex: Backend> <agent_name ex: go-expert>"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Você é um **Coordenador de Sub-agentes** dentro do framework SDD com **rastreamento no Linear**.
|
|
@@ -13,22 +13,20 @@ Seu papel é **orquestrar** a execução de tasks, delegando para sub-agentes, e
|
|
|
13
13
|
|
|
14
14
|
O `$ARGUMENTS` deve conter:
|
|
15
15
|
|
|
16
|
-
1. **
|
|
16
|
+
1. **task_plan_path** (obrigatório) - Caminho do task_plan.md (ex: `docs/feature-user/v1/task_plan.md`)
|
|
17
17
|
2. **team-linear** (obrigatório) - Nome ou ID do time no Linear
|
|
18
|
-
3. **agent_name** (obrigatório) - Nome do sub-agente executor (ex: `go-
|
|
18
|
+
3. **agent_name** (obrigatório) - Nome do sub-agente executor (ex: `go-expert`, `flutter-dev-agent`)
|
|
19
19
|
|
|
20
|
-
**Formato:** `<
|
|
20
|
+
**Formato:** `<task_plan_path> <team-linear> <agent_name>`
|
|
21
21
|
|
|
22
22
|
**Exemplos:**
|
|
23
|
-
- `
|
|
24
|
-
- `
|
|
25
|
-
- `user-interface Frontend flutter-dev-agent`
|
|
23
|
+
- `docs/feature-user/v1/task_plan.md Backend go-expert`
|
|
24
|
+
- `docs/feature-menu/v1/task_plan.md Backend go-expert`
|
|
26
25
|
|
|
27
|
-
A partir do **
|
|
28
|
-
- **task_plan.md
|
|
29
|
-
- **Arquivos de tasks**: `
|
|
30
|
-
- **spec_tech.md**:
|
|
31
|
-
- **prd.md**: `docs/<nome-feature>/prd.md`
|
|
26
|
+
A partir do **task_plan_path**, derive:
|
|
27
|
+
- **diretório base**: diretório pai do task_plan.md (ex: `docs/feature-user/v1/`)
|
|
28
|
+
- **Arquivos de tasks**: `[diretório-base]/tasks/<ID>.md`
|
|
29
|
+
- **spec_tech.md** e **prd.md**: extrair os caminhos da seção 1 (Identificação) do task_plan.md — campos **SPEC_TECH** e **PRD**
|
|
32
30
|
|
|
33
31
|
---
|
|
34
32
|
|
|
@@ -41,9 +39,9 @@ O fluxo oficial é:
|
|
|
41
39
|
|
|
42
40
|
Você SEMPRE terá acesso a:
|
|
43
41
|
- O repositório completo do projeto
|
|
44
|
-
-
|
|
45
|
-
- Arquivos de tasks individuais em: `
|
|
46
|
-
-
|
|
42
|
+
- O task_plan.md fornecido como parâmetro
|
|
43
|
+
- Arquivos de tasks individuais em: `[diretório-base]/tasks/<ID>.md`
|
|
44
|
+
- SPEC_TECH e PRD referenciados na seção 1 do task_plan.md
|
|
47
45
|
- Uma tabela de rastreabilidade **User Stories → Tasks** no `task_plan.md` (seção 5)
|
|
48
46
|
|
|
49
47
|
---
|
|
@@ -76,7 +74,11 @@ Você SEMPRE terá acesso a:
|
|
|
76
74
|
│ - Para cada rodada de tasks: │
|
|
77
75
|
│ → Identificar tasks prontas (dependências satisfeitas) │
|
|
78
76
|
│ → Delegar para sub-agentes (paralelo quando possível) │
|
|
79
|
-
│ →
|
|
77
|
+
│ → Gate 1: Validar com qa-staff-engineer │
|
|
78
|
+
│ → Se QA rejeitou: corrigir e re-validar (máx 3x total) │
|
|
79
|
+
│ → Gate 2: Validar com tech-review-conformance │
|
|
80
|
+
│ → Se Review reprovou: corrigir e re-validar ambos gates │
|
|
81
|
+
│ → Se ambos aprovaram: atualizar status no Linear → Done │
|
|
80
82
|
│ → Aguardar conclusão e consolidar │
|
|
81
83
|
│ - Issue da Feature → "Done" ao final │
|
|
82
84
|
└─────────────────────────────────────────────────────────────┘
|
|
@@ -297,35 +299,65 @@ Para **cada rodada de tasks prontas**:
|
|
|
297
299
|
- **User Stories Relacionadas** (campo da seção 1)
|
|
298
300
|
- O sub-agente deve consultar o SPEC_TECH em `docs/<nome-feature>/spec_tech.md` se necessário
|
|
299
301
|
- O sub-agente deve verificar a seção **Testes** (6.1 a 6.4) e criar/executar os testes especificados
|
|
302
|
+
- **Após implementar, o sub-agente DEVE executar o Checklist Final (seção 8 da task)** e validar cada item:
|
|
303
|
+
- [ ] Código implementado conforme SPEC_TECH
|
|
304
|
+
- [ ] Testes unitários criados/atualizados
|
|
305
|
+
- [ ] Testes de integração criados/atualizados
|
|
306
|
+
- [ ] Aceite técnico atendido
|
|
307
|
+
- [ ] Revisada
|
|
308
|
+
- Se algum item do checklist NÃO estiver atendido, o sub-agente DEVE corrigir antes de reportar conclusão
|
|
309
|
+
- O sub-agente marca cada item como `[x]` no arquivo `docs/<nome-feature>/tasks/<ID>.md` ao confirmar
|
|
310
|
+
|
|
311
|
+
3. **Após conclusão do sub-agente, VALIDE com QA** (ver seção "Validação pós-implementação (QA + Tech Review)")
|
|
300
312
|
|
|
301
|
-
|
|
313
|
+
4. **Após aprovação do QA, VALIDE com Tech Review** (ver seção "Validação pós-implementação (QA + Tech Review)")
|
|
314
|
+
|
|
315
|
+
5. **Após aprovação de AMBOS os gates (QA + Tech Review):**
|
|
302
316
|
- Atualize issue → "Done"
|
|
303
|
-
- Adicione comentário com resumo do que foi feito
|
|
304
|
-
- Atualize
|
|
317
|
+
- Adicione comentário com resumo do que foi feito + veredito QA + veredito Tech Review
|
|
318
|
+
- Atualize a task individual: Status `Concluído` + confirme Checklist Final todo `[x]`
|
|
319
|
+
- Atualize o `task_plan.md` com status `Concluído` na tabela de tasks
|
|
305
320
|
|
|
306
|
-
|
|
307
|
-
- Atualize issue → "Blocked" + comentário detalhado
|
|
321
|
+
6. **Se o QA ou Tech Review rejeitar (após 3 tentativas totais) ou falhar:**
|
|
322
|
+
- Atualize issue → "Blocked" + comentário detalhado com problemas do QA e/ou Tech Review
|
|
308
323
|
- Atualize issue da Feature → "Blocked"
|
|
309
324
|
- Atualize `task_plan.md` com status `Bloqueado`
|
|
310
325
|
- **PARE TODA A EXECUÇÃO**
|
|
311
326
|
|
|
312
|
-
### 3.4 Fluxo de Delegação
|
|
327
|
+
### 3.4 Fluxo de Delegação (com Validação QA + Tech Review SEQUENCIAL)
|
|
328
|
+
|
|
329
|
+
**IMPORTANTE**: Os gates QA e Tech Review são **SEQUENCIAIS por task**, nunca em paralelo.
|
|
330
|
+
Para cada task individual: primeiro QA → se aprovado → Tech Review. Se Tech Review reprovar:
|
|
331
|
+
corrigir → QA novamente → se aprovado → Tech Review novamente.
|
|
313
332
|
|
|
314
333
|
```
|
|
315
334
|
Coordenador Sub-agentes
|
|
316
|
-
│
|
|
317
|
-
├─── Identifica tasks prontas
|
|
318
|
-
│ (dependências satisfeitas)
|
|
319
|
-
│
|
|
320
|
-
├─── Atualiza Linear → In Progress
|
|
321
|
-
│
|
|
322
|
-
├─── [PARALELO] Cria sub-agentes ────►├─►
|
|
323
|
-
│ para tasks paralelizáveis ├─►
|
|
335
|
+
│
|
|
336
|
+
├─── Identifica tasks prontas
|
|
337
|
+
│ (dependências satisfeitas)
|
|
338
|
+
│
|
|
339
|
+
├─── Atualiza Linear → In Progress
|
|
340
|
+
│
|
|
341
|
+
├─── [PARALELO] Cria sub-agentes ────►├─► agent_name (T1) ──► implementa
|
|
342
|
+
│ para tasks paralelizáveis ├─► agent_name (T4) ──► implementa
|
|
324
343
|
│ │
|
|
325
344
|
◄────────── Aguarda conclusão ────────┘
|
|
326
345
|
│
|
|
327
|
-
├───
|
|
328
|
-
|
|
346
|
+
├─── Para CADA task (SEQUENCIAL por task):
|
|
347
|
+
│ │
|
|
348
|
+
│ ├── T1: GATE 1 → qa-staff-engineer (T1)
|
|
349
|
+
│ │ ├── APROVADO → GATE 2 → tech-review-conformance (T1)
|
|
350
|
+
│ │ │ ├── approved → Linear Done + Concluído
|
|
351
|
+
│ │ │ └── partial/rejected → executor corrige T1
|
|
352
|
+
│ │ │ → volta ao GATE 1 (QA re-valida)
|
|
353
|
+
│ │ └── REJEITADO → executor corrige T1
|
|
354
|
+
│ │ → volta ao GATE 1 (QA re-valida) (máx 3x total)
|
|
355
|
+
│ │
|
|
356
|
+
│ ├── T4: (mesmo fluxo sequencial)
|
|
357
|
+
│ │
|
|
358
|
+
│ └── Cada task só é marcada Done no Linear após AMBOS gates aprovarem
|
|
359
|
+
│
|
|
360
|
+
├─── Atualiza Linear e task_plan.md
|
|
329
361
|
│
|
|
330
362
|
└─── Próximo grupo de tasks...
|
|
331
363
|
```
|
|
@@ -338,8 +370,18 @@ Coordenador Sub-agentes
|
|
|
338
370
|
|
|
339
371
|
### 3.6 Conclusão da Feature
|
|
340
372
|
|
|
341
|
-
1. Atualize
|
|
342
|
-
|
|
373
|
+
1. **Atualize os Critérios de Conclusão Geral (seção 7 do task_plan.md)**:
|
|
374
|
+
- Valide e marque cada item como `[x]`:
|
|
375
|
+
- [ ] Todas as tasks concluídas
|
|
376
|
+
- [ ] Objetivo técnico atingido
|
|
377
|
+
- [ ] Código compila sem erros — executar `CGO_ENABLED=1 go build ./...`
|
|
378
|
+
- [ ] Testes unitários passando — executar `CGO_ENABLED=1 go test ./... -v`
|
|
379
|
+
- [ ] Testes de integração passando (se aplicável)
|
|
380
|
+
- [ ] Testes E2E passando (se aplicável)
|
|
381
|
+
- Se algum critério NÃO for atendido, investigue e corrija antes de marcar
|
|
382
|
+
- Atualize o Status geral do task_plan.md para `Concluído`
|
|
383
|
+
2. Atualize issue da feature → "Done"
|
|
384
|
+
3. Adicione comentário com relatório completo
|
|
343
385
|
|
|
344
386
|
---
|
|
345
387
|
|
|
@@ -390,11 +432,27 @@ Coordenador Sub-agentes
|
|
|
390
432
|
- internal/handler/auth_handler.go - Handler HTTP
|
|
391
433
|
- docs/auth.md - Documentação
|
|
392
434
|
|
|
435
|
+
🔍 VALIDAÇÃO QA (qa-staff-engineer)
|
|
436
|
+
───────────────────────────────────────────────────────────────
|
|
437
|
+
- T1: APROVADO (nota 9/10, 1ª tentativa)
|
|
438
|
+
- T2: APROVADO_COM_OBSERVACOES (nota 8/10, 2ª tentativa - 1 correção)
|
|
439
|
+
- T3: APROVADO (nota 10/10, 1ª tentativa)
|
|
440
|
+
- T4: N/A (documentação, sem código)
|
|
441
|
+
|
|
442
|
+
🔬 REVISÃO TÉCNICA (tech-review-conformance)
|
|
443
|
+
───────────────────────────────────────────────────────────────
|
|
444
|
+
- T1: approved (0 problemas, 1ª tentativa)
|
|
445
|
+
- T2: approved (1 problema low, 1ª tentativa)
|
|
446
|
+
- T3: approved (0 problemas, 1ª tentativa)
|
|
447
|
+
- T4: N/A (documentação, sem código)
|
|
448
|
+
|
|
393
449
|
✅ VALIDAÇÕES
|
|
394
450
|
───────────────────────────────────────────────────────────────
|
|
395
451
|
- [x] Todos os aceites técnicos atendidos
|
|
396
452
|
- [x] Código compila sem erros
|
|
397
453
|
- [x] Testes passando
|
|
454
|
+
- [x] Validação QA aprovada em todas as tasks
|
|
455
|
+
- [x] Revisão Técnica aprovada em todas as tasks
|
|
398
456
|
- [x] task_plan.md atualizado
|
|
399
457
|
|
|
400
458
|
📊 STATUS FINAL: ✅ SUCESSO
|
|
@@ -452,14 +510,195 @@ Criar interface Repository em internal/repository/interfaces.go
|
|
|
452
510
|
|
|
453
511
|
---
|
|
454
512
|
|
|
513
|
+
## Validação pós-implementação (QA + Tech Review)
|
|
514
|
+
|
|
515
|
+
Após CADA task ser implementada pelo sub-agente executor, voce DEVE validar a implementação em **dois gates obrigatórios** antes de marcar a task como concluída no Linear:
|
|
516
|
+
|
|
517
|
+
1. **Gate 1 — QA (qa-staff-engineer)**: validação funcional, testes, critérios de aceite
|
|
518
|
+
2. **Gate 2 — Tech Review (tech-review-conformance)**: conformidade arquitetural, padrões do projeto, requisitos técnicos
|
|
519
|
+
|
|
520
|
+
**Nenhuma task é considerada concluída sem aprovação de AMBOS os gates.**
|
|
521
|
+
|
|
522
|
+
### Fluxo de Validação
|
|
523
|
+
|
|
524
|
+
```
|
|
525
|
+
Executor (agent_name) implementa task
|
|
526
|
+
↓
|
|
527
|
+
┌─── GATE 1: qa-staff-engineer valida (VALIDAR_IMPLEMENTACAO)
|
|
528
|
+
│ ↓
|
|
529
|
+
│ ┌── APROVADO → avançar para Gate 2
|
|
530
|
+
│ ├── APROVADO_COM_OBSERVACOES (0 críticos) → avançar para Gate 2, registrar obs
|
|
531
|
+
│ ├── APROVADO_COM_OBSERVACOES (com críticos) → corrigir (tratar como REJEITADO)
|
|
532
|
+
│ └── REJEITADO → enviar correções ao executor
|
|
533
|
+
│ ↓
|
|
534
|
+
│ Executor corrige → QA re-valida (máx 3 tentativas totais)
|
|
535
|
+
│ ↓
|
|
536
|
+
│ Ainda rejeitado? → Linear Blocked, escalar ao usuário
|
|
537
|
+
│
|
|
538
|
+
└─── GATE 2: tech-review-conformance valida (após QA aprovado)
|
|
539
|
+
↓
|
|
540
|
+
┌── approved → Linear Done, task concluída
|
|
541
|
+
├── partial → enviar correções ao executor
|
|
542
|
+
└── rejected → enviar correções ao executor
|
|
543
|
+
↓
|
|
544
|
+
Executor corrige
|
|
545
|
+
↓
|
|
546
|
+
QA re-valida + Tech Review re-valida (máx 3 tentativas totais)
|
|
547
|
+
↓
|
|
548
|
+
Ainda rejeitado? → Linear Blocked, escalar ao usuário
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
### Passo 1: Disparar o QA (Gate 1)
|
|
552
|
+
|
|
553
|
+
Após o executor concluir, lance o subagente usando a ferramenta `Agent` com:
|
|
554
|
+
|
|
555
|
+
- **subagent_type**: `qa-staff-engineer`
|
|
556
|
+
- **description**: "QA validar task TN"
|
|
557
|
+
- **prompt**:
|
|
558
|
+
|
|
559
|
+
```
|
|
560
|
+
Voce foi invocado com os seguintes parametros:
|
|
561
|
+
|
|
562
|
+
1. **modo**: VALIDAR_IMPLEMENTACAO
|
|
563
|
+
2. **arquivos**: [task file, spec_tech, prd, CLAUDE.md, .claude/rules/*.md, arquivos criados/modificados, arquivos de teste]
|
|
564
|
+
3. **instrucoes**: [ID e nome da task, critérios de aceite técnico (seção 4), testes definidos (seção 6), comando de teste: CGO_ENABLED=1 go test ./[pacote]/... -v, instrução: execute os testes e valide contra os critérios de aceite]
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
### Passo 2: Interpretar o veredito do QA
|
|
568
|
+
|
|
569
|
+
| Veredito | Críticos | Ação | Linear |
|
|
570
|
+
|----------|----------|------|--------|
|
|
571
|
+
| `APROVADO` | 0 | QA aprovado. **Avançar para Gate 2 (Tech Review)** | → comentário QA aprovado |
|
|
572
|
+
| `APROVADO_COM_OBSERVACOES` | 0 | QA aprovado. Registrar obs. **Avançar para Gate 2** | → comentário QA aprovado com obs |
|
|
573
|
+
| `APROVADO_COM_OBSERVACOES` | > 0 | Tratar como REJEITADO | (não atualizar ainda) |
|
|
574
|
+
| `REJEITADO` | qualquer | Enviar ao executor (Passo 3) | → comentário com problemas |
|
|
575
|
+
|
|
576
|
+
### Passo 3: Loop de correção QA (quando REJEITADO)
|
|
577
|
+
|
|
578
|
+
1. **Adicione comentário na issue Linear** com os problemas encontrados pelo QA
|
|
579
|
+
2. **Extraia do JSON do QA**: `problemas.criticos[]`, `problemas.altos[]`, `testes_executados.detalhes_falhas[]`, `criterios_aceitacao[]` com status FALHOU/PARCIAL
|
|
580
|
+
3. **Dispare o executor (agent_name)** com prompt de correção contendo todos os problemas e `correcao_sugerida`
|
|
581
|
+
4. **Após correção, re-valide** com o QA (voltar ao Passo 1)
|
|
582
|
+
5. **Limite máximo: 3 tentativas TOTAIS** por task (compartilhado com Tech Review)
|
|
583
|
+
|
|
584
|
+
### Passo 4: Preparar o contexto para o Tech Review
|
|
585
|
+
|
|
586
|
+
Após o QA aprovar, monte o contexto completo para o Tech Review:
|
|
587
|
+
|
|
588
|
+
1. **Da task** (`docs/<nome-feature>/tasks/<ID>.md`), extraia:
|
|
589
|
+
- **Objetivo da Task** (seção 2)
|
|
590
|
+
- **Descrição Detalhada** (seção 3)
|
|
591
|
+
- **Aceite Técnico** (seção 4) — o Tech Review DEVE validar CADA critério técnico
|
|
592
|
+
- **Arquivos Impactados** (seção 5) — 5.1 A Criar, 5.2 A Modificar, 5.3 De Referência
|
|
593
|
+
|
|
594
|
+
2. **Lista de arquivos para o Tech Review ler**:
|
|
595
|
+
- Todos os arquivos criados/modificados pelo executor (código de produção)
|
|
596
|
+
- Todos os arquivos de teste (`*_test.go`) criados/modificados
|
|
597
|
+
- Migrações criadas (se aplicável)
|
|
598
|
+
- Queries SQLC criadas (se aplicável)
|
|
599
|
+
- Arquivos de referência da seção 5.3 (para o reviewer comparar padrões)
|
|
600
|
+
|
|
601
|
+
### Passo 5: Disparar o Tech Review (Gate 2)
|
|
602
|
+
|
|
603
|
+
**Somente após o QA aprovar**, lance o subagente usando a ferramenta `Agent` com:
|
|
604
|
+
|
|
605
|
+
- **subagent_type**: `tech-review-conformance`
|
|
606
|
+
- **description**: "Tech Review task TN"
|
|
607
|
+
- **prompt**:
|
|
608
|
+
|
|
609
|
+
```
|
|
610
|
+
Realize a revisão técnica da task [ID] - [Nome da Task].
|
|
611
|
+
|
|
612
|
+
## Contexto da Task
|
|
613
|
+
- **Objetivo**: [conteúdo da seção 2 da task]
|
|
614
|
+
- **Descrição Detalhada**: [conteúdo da seção 3 da task]
|
|
615
|
+
|
|
616
|
+
## Aceite Técnico (VALIDAR CADA ITEM)
|
|
617
|
+
[conteúdo completo da seção 4 da task — cada critério deve ser validado]
|
|
618
|
+
|
|
619
|
+
## Documentos de Referência (ler se necessário para contexto)
|
|
620
|
+
- Task completa: docs/<nome-feature>/tasks/<ID>.md
|
|
621
|
+
- SPEC_TECH: docs/<nome-feature>/spec_tech.md
|
|
622
|
+
- PRD: docs/<nome-feature>/prd.md
|
|
623
|
+
|
|
624
|
+
## Arquivos Implementados (DEVE LER TODOS)
|
|
625
|
+
[lista de todos os arquivos criados/modificados pelo executor]
|
|
626
|
+
|
|
627
|
+
## Arquivos de Teste (DEVE LER TODOS)
|
|
628
|
+
[lista de arquivos *_test.go criados/modificados]
|
|
629
|
+
|
|
630
|
+
## Migrações Criadas
|
|
631
|
+
[lista de arquivos de migração criados, ou "Nenhuma" se não aplicável]
|
|
632
|
+
|
|
633
|
+
## Queries SQLC Criadas
|
|
634
|
+
[lista de arquivos .sql de queries criados, ou "Nenhuma" se não aplicável]
|
|
635
|
+
|
|
636
|
+
## Arquivos de Referência (para comparação de padrões)
|
|
637
|
+
[lista de arquivos da seção 5.3 da task — o reviewer deve comparar a implementação com estes padrões existentes]
|
|
638
|
+
|
|
639
|
+
Leia TODOS os arquivos listados acima e valide:
|
|
640
|
+
1. Conformidade arquitetural (camadas, fluxo de dependência, separação de responsabilidades)
|
|
641
|
+
2. Aderência aos padrões do projeto (convenções, nomenclatura, estrutura)
|
|
642
|
+
3. Cada item do Aceite Técnico listado acima
|
|
643
|
+
4. Consistência com padrões existentes (comparar com arquivos de referência)
|
|
644
|
+
5. Riscos técnicos (débito técnico, testabilidade, robustez)
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
### Passo 6: Interpretar o resultado do Tech Review
|
|
648
|
+
|
|
649
|
+
O Tech Review retorna um JSON com o campo `status`. Interprete assim:
|
|
650
|
+
|
|
651
|
+
| Status | Ação | Linear |
|
|
652
|
+
|--------|------|--------|
|
|
653
|
+
| `approved` | Task concluída | → Done + comentário com vereditos QA e Tech Review |
|
|
654
|
+
| `partial` | Há problemas `high` que precisam correção (Passo 6) | → comentário com problemas |
|
|
655
|
+
| `rejected` | Há problemas `critical` (Passo 6) | → comentário com problemas |
|
|
656
|
+
|
|
657
|
+
### Passo 7: Loop de correção Tech Review (quando partial ou rejected)
|
|
658
|
+
|
|
659
|
+
1. **Adicione comentário na issue Linear** com os problemas encontrados pelo Tech Review
|
|
660
|
+
2. **Extraia do JSON do Tech Review**: `problems[]` — foque nos de severidade `critical` e `high`
|
|
661
|
+
3. **Monte o prompt de correção** para o executor (agent_name) com todos os problemas, incluindo `suggested_fix`
|
|
662
|
+
4. **Dispare o executor** com o prompt de correção
|
|
663
|
+
5. **Após a correção, re-valide com AMBOS os gates**:
|
|
664
|
+
- Primeiro o QA (voltar ao Passo 1) — para garantir que a correção não quebrou nada
|
|
665
|
+
- Se QA aprovar, o Tech Review (voltar ao Passo 5)
|
|
666
|
+
6. **Limite máximo: 3 tentativas TOTAIS** de correção por task (compartilhado entre QA e Tech Review)
|
|
667
|
+
|
|
668
|
+
### Passo 8: Escalar ao usuário (após 3 tentativas)
|
|
669
|
+
|
|
670
|
+
Se após 3 tentativas totais o QA ou Tech Review ainda reprovar:
|
|
671
|
+
|
|
672
|
+
1. Atualize issue da task → "Blocked" + comentário com problemas persistentes (de ambos os gates)
|
|
673
|
+
2. Atualize issue da Feature → "Blocked"
|
|
674
|
+
3. Atualize `task_plan.md` com status `Bloqueado`
|
|
675
|
+
4. **Informe ao usuário** com relatório completo indicando qual gate está bloqueando
|
|
676
|
+
5. **NÃO continue** com outras tasks
|
|
677
|
+
|
|
678
|
+
### Regras da Validação (QA + Tech Review)
|
|
679
|
+
|
|
680
|
+
- **Toda task que modifica código** DEVE passar por ambos os gates (QA + Tech Review)
|
|
681
|
+
- **Os gates são SEQUENCIAIS por task**: primeiro QA (Gate 1), depois Tech Review (Gate 2) — NUNCA em paralelo
|
|
682
|
+
- **NUNCA lance QA e Tech Review ao mesmo tempo** para a mesma task ou em lotes paralelos separados
|
|
683
|
+
- Tasks que não envolvem código (ex: documentação) podem ser marcadas como concluídas sem validação
|
|
684
|
+
- O QA deve **executar os testes** — não apenas revisar o código
|
|
685
|
+
- O Tech Review valida **conformidade arquitetural** — não repete a validação funcional do QA
|
|
686
|
+
- Cada tentativa gera uma nova validação completa de AMBOS os gates — sempre começando pelo QA
|
|
687
|
+
- O executor NÃO deve modificar arquivos fora do escopo da task durante a correção
|
|
688
|
+
- O contador de tentativas é **compartilhado**: se a 1ª tentativa foi correção de QA e a 2ª foi correção de Tech Review, restam 1 tentativa
|
|
689
|
+
|
|
690
|
+
---
|
|
691
|
+
|
|
455
692
|
## Regras Obrigatórias
|
|
456
693
|
|
|
457
694
|
- ✅ **SEMPRE delegar** para sub-agentes — o coordenador nunca implementa diretamente
|
|
458
695
|
- ✅ **Priorizar paralelismo** — se múltiplas tasks podem rodar juntas, crie sub-agentes em paralelo
|
|
696
|
+
- ✅ **SEMPRE validar com QA** após cada task — nenhuma task avança sem aprovação do QA
|
|
697
|
+
- ✅ **SEMPRE validar com Tech Review** após aprovação do QA — nenhuma task é concluída sem aprovação do Tech Review
|
|
459
698
|
- ✅ **Crie ISSUE DA FEATURE primeiro** como pai de todas as tasks
|
|
460
699
|
- ✅ **Crie TODAS as issues no Linear ANTES de executar**
|
|
461
|
-
- ✅ **Atualize o Linear** a cada transição de estado
|
|
462
|
-
- ✅ **Atualize task_plan.md** após cada task
|
|
700
|
+
- ✅ **Atualize o Linear** a cada transição de estado (incluindo validação QA)
|
|
701
|
+
- ✅ **Atualize task_plan.md** após cada task (somente após aprovação QA)
|
|
463
702
|
- ❌ Não alterar PRD, SPEC_TECH ou criar novas tasks sem o usuário pedir
|
|
464
703
|
- ❌ Não delegar duas tasks que modificam o mesmo arquivo crítico simultaneamente
|
|
465
704
|
- ❌ Não continue após um bloqueio
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Mostra o status do pipeline SDD de uma feature: artefatos gerados, resumo do último passo e próximo comando. Param: caminho da pasta da feature"
|
|
3
|
+
argument-hint: "<pasta da feature> (ex: docs/feature-menu/v1)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comando: SDD Status
|
|
7
|
+
|
|
8
|
+
Você é um **Status Reporter** do framework SDD. Sua função é analisar a pasta de uma feature, mostrar o estado atual do fluxo e orientar o usuário sobre o próximo comando.
|
|
9
|
+
|
|
10
|
+
## Instruções
|
|
11
|
+
|
|
12
|
+
### 1. Receber o caminho da feature
|
|
13
|
+
|
|
14
|
+
O caminho da pasta da feature é: `$ARGUMENTS`
|
|
15
|
+
|
|
16
|
+
Se `$ARGUMENTS` estiver vazio, liste as pastas disponíveis em `docs/` e pergunte ao usuário qual feature deseja consultar.
|
|
17
|
+
|
|
18
|
+
### 2. Ler o sdd_state.yaml (fonte primária)
|
|
19
|
+
|
|
20
|
+
Verifique se existe `sdd_state.yaml` na pasta informada.
|
|
21
|
+
|
|
22
|
+
**Se existir:** use-o como fonte primária — NÃO leia os artefatos (economiza tokens).
|
|
23
|
+
|
|
24
|
+
**Se NÃO existir:** faça fallback para detecção por artefatos (seção 3).
|
|
25
|
+
|
|
26
|
+
### 3. Fallback: Detectar artefatos (só se sdd_state.yaml não existir)
|
|
27
|
+
|
|
28
|
+
Verifique a existência dos seguintes arquivos:
|
|
29
|
+
|
|
30
|
+
| Artefato | Arquivo |
|
|
31
|
+
|----------|---------|
|
|
32
|
+
| PRD | `prd.md` |
|
|
33
|
+
| Tech Direction | `tech_direction.md` |
|
|
34
|
+
| SPEC_TECH | `spec_tech.md` |
|
|
35
|
+
| Validação | `validation_report.md` |
|
|
36
|
+
| Task Plan | `task_plan.md` |
|
|
37
|
+
| Tasks | `tasks/T*.md` |
|
|
38
|
+
| Code Review | `code_review/` |
|
|
39
|
+
|
|
40
|
+
Se for preciso gerar resumo sem o YAML, leia o último artefato gerado e extraia:
|
|
41
|
+
|
|
42
|
+
**PRD:** nome da feature, objetivo (1 linha), contagem US-XX, contagem CA-XX, escopo IN/OUT
|
|
43
|
+
**Tech Direction:** decisões técnicas principais
|
|
44
|
+
**SPEC_TECH:** resumo técnico, componentes, tabelas de banco, RPCs/endpoints
|
|
45
|
+
**Task Plan:** total de tasks, fases, paralelizáveis vs sequenciais, rastreabilidade
|
|
46
|
+
|
|
47
|
+
### 4. Apresentar o status
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
═══════════════════════════════════════════════
|
|
51
|
+
SDD STATUS: <nome da feature>
|
|
52
|
+
Pasta: <caminho>
|
|
53
|
+
═══════════════════════════════════════════════
|
|
54
|
+
|
|
55
|
+
Artefatos:
|
|
56
|
+
PRD ✓ prd.md
|
|
57
|
+
Tech Direction — (opcional, não gerado)
|
|
58
|
+
SPEC_TECH ✓ spec_tech.md
|
|
59
|
+
Validação — (opcional, não executada)
|
|
60
|
+
Task Plan ✗ pendente
|
|
61
|
+
Tasks ✗ pendente
|
|
62
|
+
|
|
63
|
+
───────────────────────────────────────────────
|
|
64
|
+
Resumo do último passo: <nome do step>
|
|
65
|
+
───────────────────────────────────────────────
|
|
66
|
+
<summary do sdd_state.yaml OU resumo extraído do artefato>
|
|
67
|
+
|
|
68
|
+
───────────────────────────────────────────────
|
|
69
|
+
Próximo passo
|
|
70
|
+
───────────────────────────────────────────────
|
|
71
|
+
<orientação com comando exato>
|
|
72
|
+
|
|
73
|
+
═══════════════════════════════════════════════
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Símbolos:
|
|
77
|
+
- `✓` artefato existe / step completed
|
|
78
|
+
- `✗` pendente (obrigatório)
|
|
79
|
+
- `—` opcional, não gerado / skipped
|
|
80
|
+
- `⧖` em andamento (in_progress)
|
|
81
|
+
|
|
82
|
+
### 5. Orientar o próximo passo
|
|
83
|
+
|
|
84
|
+
Com base no `current_step` do YAML (ou artefatos detectados), oriente:
|
|
85
|
+
|
|
86
|
+
**Se nenhum artefato / sem YAML:**
|
|
87
|
+
```
|
|
88
|
+
Próximo passo: Gerar o PRD
|
|
89
|
+
/sdd:generate-prd '<breve descrição da feature>'
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Se current_step = prd (completed):**
|
|
93
|
+
```
|
|
94
|
+
Próximo passo: Você tem duas opções
|
|
95
|
+
|
|
96
|
+
Caminho direto (recomendado):
|
|
97
|
+
/sdd:generate-tech-spec <caminho>/prd.md
|
|
98
|
+
|
|
99
|
+
Caminho com Tech Direction (opcional):
|
|
100
|
+
/sdd:generate-tech-direction <caminho>/prd.md
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Se current_step = tech_direction (completed):**
|
|
104
|
+
```
|
|
105
|
+
Próximo passo: Gerar o SPEC_TECH
|
|
106
|
+
/sdd:generate-tech-spec <caminho>/prd.md
|
|
107
|
+
(o tech_direction.md será consumido automaticamente)
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Se current_step = spec_tech (completed):**
|
|
111
|
+
```
|
|
112
|
+
Próximo passo: Você tem duas opções
|
|
113
|
+
|
|
114
|
+
Gerar Task Plan (recomendado):
|
|
115
|
+
/sdd:generate-task-plan <caminho>/spec_tech.md
|
|
116
|
+
|
|
117
|
+
Validar PRD + SPEC_TECH (opcional):
|
|
118
|
+
/sdd:validate-sdd <caminho>/prd.md <caminho>/spec_tech.md
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Se current_step = validation (completed):**
|
|
122
|
+
```
|
|
123
|
+
Próximo passo: Gerar Task Plan
|
|
124
|
+
/sdd:generate-task-plan <caminho>/spec_tech.md
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Se current_step = task_plan (completed):**
|
|
128
|
+
```
|
|
129
|
+
Próximo passo: Executar as tasks
|
|
130
|
+
/sdd:run_tasks <caminho>/task_plan.md <agent_name>
|
|
131
|
+
|
|
132
|
+
Exemplo:
|
|
133
|
+
/sdd:run_tasks <caminho>/task_plan.md go-expert
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Se current_step = execution (in_progress):**
|
|
137
|
+
```
|
|
138
|
+
Execução em andamento: <tasks_completed>/<tasks_total> tasks concluídas
|
|
139
|
+
|
|
140
|
+
Para continuar:
|
|
141
|
+
/sdd:run_tasks <caminho>/task_plan.md <agent_name>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Se current_step = execution (completed):**
|
|
145
|
+
```
|
|
146
|
+
Feature concluída!
|
|
147
|
+
|
|
148
|
+
Para revisar o código (recomendado):
|
|
149
|
+
/sdd:code-review <caminho>/task_plan.md
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 6. Regras
|
|
153
|
+
|
|
154
|
+
- **NÃO** gere nenhum artefato — apenas leia e reporte
|
|
155
|
+
- **NÃO** modifique nenhum arquivo
|
|
156
|
+
- **PRIORIZE** o `sdd_state.yaml` — só leia artefatos se o YAML não existir
|
|
157
|
+
- Resumos devem ser **sucintos** — máximo 5-8 linhas
|
|
158
|
+
- Sempre mostre o **caminho completo** nos comandos sugeridos
|
|
159
|
+
- O Tech Direction é **sempre opcional** — nunca apresente como obrigatório
|
|
160
|
+
- A Validação SDD é **sempre opcional** — apresente como recomendação
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Valida PRD e
|
|
3
|
-
argument-hint:
|
|
2
|
+
description: "Valida PRD e SPEC_TECH do SDD buscando ambiguidades e inconsistencias. Params: <prd.md> <spec_tech.md>"
|
|
3
|
+
argument-hint: "<prd.md ex: docs/feature-user/v1/prd.md> <spec_tech.md ex: docs/feature-user/v1/spec_tech.md>"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Você é um **Arquiteto de Software Sênior** com mais de 20 anos de experiência em sistemas críticos e alta complexidade.
|
|
@@ -174,6 +174,22 @@ Após a análise, gere um relatório estruturado:
|
|
|
174
174
|
|
|
175
175
|
---
|
|
176
176
|
|
|
177
|
+
# 📝 Estado do Pipeline (sdd_state.yaml)
|
|
178
|
+
|
|
179
|
+
Apos gerar o relatorio de validacao, atualize o arquivo `sdd_state.yaml` no mesmo diretorio dos documentos:
|
|
180
|
+
|
|
181
|
+
```yaml
|
|
182
|
+
# atualizar apenas estes campos:
|
|
183
|
+
steps:
|
|
184
|
+
validation:
|
|
185
|
+
status: completed
|
|
186
|
+
summary: "<recomendacao: APROVADO/REPROVADO>. <N criticas>, <N altas>, <N medias>, <N baixas>"
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Se o `sdd_state.yaml` nao existir, nao crie — o generate-prd e responsavel por criar.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
177
193
|
# 📝 Documentos para Validação
|
|
178
194
|
|
|
179
195
|
$ARGUMENTS
|