@brunosps00/dev-workflow 0.4.5 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -6
- package/lib/constants.js +6 -0
- package/package.json +1 -1
- package/scaffold/en/commands/dw-adr.md +117 -0
- package/scaffold/en/commands/dw-autopilot.md +76 -2
- package/scaffold/en/commands/dw-brainstorm.md +6 -0
- package/scaffold/en/commands/dw-bugfix.md +9 -0
- package/scaffold/en/commands/dw-code-review.md +18 -0
- package/scaffold/en/commands/dw-create-tasks.md +12 -0
- package/scaffold/en/commands/dw-create-techspec.md +8 -0
- package/scaffold/en/commands/dw-fix-qa.md +5 -0
- package/scaffold/en/commands/dw-generate-pr.md +8 -0
- package/scaffold/en/commands/dw-help.md +42 -2
- package/scaffold/en/commands/dw-quick.md +8 -1
- package/scaffold/en/commands/dw-refactoring-analysis.md +1 -0
- package/scaffold/en/commands/dw-resume.md +10 -3
- package/scaffold/en/commands/dw-revert-task.md +114 -0
- package/scaffold/en/commands/dw-review-implementation.md +6 -0
- package/scaffold/en/commands/dw-run-plan.md +19 -1
- package/scaffold/en/commands/dw-run-task.md +14 -1
- package/scaffold/en/commands/dw-update.md +143 -0
- package/scaffold/en/templates/adr-template.md +56 -0
- package/scaffold/en/templates/prd-template.md +12 -0
- package/scaffold/en/templates/task-template.md +12 -0
- package/scaffold/en/templates/tasks-template.md +6 -0
- package/scaffold/en/templates/techspec-template.md +12 -0
- package/scaffold/pt-br/commands/dw-adr.md +117 -0
- package/scaffold/pt-br/commands/dw-autopilot.md +76 -2
- package/scaffold/pt-br/commands/dw-brainstorm.md +6 -0
- package/scaffold/pt-br/commands/dw-bugfix.md +9 -0
- package/scaffold/pt-br/commands/dw-code-review.md +18 -0
- package/scaffold/pt-br/commands/dw-create-tasks.md +12 -0
- package/scaffold/pt-br/commands/dw-create-techspec.md +8 -0
- package/scaffold/pt-br/commands/dw-fix-qa.md +5 -0
- package/scaffold/pt-br/commands/dw-generate-pr.md +8 -0
- package/scaffold/pt-br/commands/dw-help.md +42 -2
- package/scaffold/pt-br/commands/dw-quick.md +8 -1
- package/scaffold/pt-br/commands/dw-refactoring-analysis.md +1 -0
- package/scaffold/pt-br/commands/dw-resume.md +10 -3
- package/scaffold/pt-br/commands/dw-revert-task.md +114 -0
- package/scaffold/pt-br/commands/dw-review-implementation.md +6 -0
- package/scaffold/pt-br/commands/dw-run-plan.md +19 -1
- package/scaffold/pt-br/commands/dw-run-task.md +14 -1
- package/scaffold/pt-br/commands/dw-update.md +144 -0
- package/scaffold/pt-br/templates/adr-template.md +56 -0
- package/scaffold/pt-br/templates/prd-template.md +12 -0
- package/scaffold/pt-br/templates/task-template.md +12 -0
- package/scaffold/pt-br/templates/tasks-template.md +6 -0
- package/scaffold/pt-br/templates/techspec-template.md +12 -0
- package/scaffold/skills/dw-council/SKILL.md +189 -0
- package/scaffold/skills/dw-council/agents/architect-advisor.md +44 -0
- package/scaffold/skills/dw-council/agents/devils-advocate.md +45 -0
- package/scaffold/skills/dw-council/agents/pragmatic-engineer.md +47 -0
- package/scaffold/skills/dw-council/agents/product-mind.md +48 -0
- package/scaffold/skills/dw-council/agents/security-advocate.md +48 -0
- package/scaffold/skills/dw-memory/SKILL.md +178 -0
- package/scaffold/skills/dw-review-rigor/SKILL.md +145 -0
- package/scaffold/skills/dw-verify/SKILL.md +196 -0
|
@@ -5,6 +5,24 @@ Voce e um orquestrador de pipeline completo. Este comando recebe um desejo do us
|
|
|
5
5
|
<critical>Os UNICOS momentos de pausa sao os 3 gates definidos abaixo. Entre os gates, execute tudo automaticamente sem pedir confirmacao.</critical>
|
|
6
6
|
<critical>Cada etapa DEVE seguir as instrucoes completas do comando correspondente em `.dw/commands/`. Leia e execute o comando inteiro, nao uma versao resumida.</critical>
|
|
7
7
|
|
|
8
|
+
<critical>EXECUCAO FORMAL OBRIGATORIA — LEIA ANTES DE COMECAR:
|
|
9
|
+
Uma etapa que invoca um comando `/dw-xxx` SO e considerada completa quando os artefatos produzidos pelo comando existem no disco. Validacoes manuais (rodar testes, abrir o Playwright, revisar o codigo a olho, gerar um qa-report curto a mao) NAO substituem a execucao formal do comando.
|
|
10
|
+
- ANTES de cada etapa: anuncie ao usuario `→ Invocando /dw-[nome] — executando instrucoes completas`.
|
|
11
|
+
- DURANTE: siga as instrucoes do arquivo `.dw/commands/[nome].md` integralmente, sem resumir nem substituir.
|
|
12
|
+
- DEPOIS: rode `ls` nos caminhos de artefato listados na propria etapa e confirme existencia antes de atualizar `autopilot-state.json`. Se faltar qualquer artefato, a etapa NAO rodou — re-execute o comando formalmente.</critical>
|
|
13
|
+
|
|
14
|
+
<critical>RACIOCINIOS PROIBIDOS — se voce pensar qualquer uma destas frases, PARE e execute o comando formalmente:
|
|
15
|
+
| Pensamento | Realidade |
|
|
16
|
+
|------------|-----------|
|
|
17
|
+
| "Ja rodei os testes manualmente" | O comando produz artefatos estruturados. Rode o comando. |
|
|
18
|
+
| "Validei via Playwright ad-hoc" | `/dw-run-qa` exige matriz por RF, bugs.md, screenshots, scripts, logs, checklist. Rode o comando. |
|
|
19
|
+
| "A implementacao esta obviamente correta" | `/dw-review-implementation` exige matriz de compliance por RF/endpoint/task. Rode o comando. |
|
|
20
|
+
| "Validacao manual forte ja basta" | NAO. Equivalencia tecnica NAO substitui a execucao formal. |
|
|
21
|
+
| "Ja conferi build e lint, e suficiente" | Build/lint NAO substituem review nem QA. Rode os comandos. |
|
|
22
|
+
| "Gerei um qa-report.md resumido a mao" | Um arquivo solto NAO e execucao de `/dw-run-qa`. A arvore `QA/` completa e obrigatoria. |
|
|
23
|
+
| "O autopilot ja avancou, nao preciso voltar" | Se o artefato nao existe, a etapa nao rodou. Volte e execute. |
|
|
24
|
+
| "Corrigi bugs no caminho, entao o QA ja esta ok" | Corrigir bugs nao substitui rodar o QA formal. Rode `/dw-run-qa`. |</critical>
|
|
25
|
+
|
|
8
26
|
## Quando Usar
|
|
9
27
|
- Use quando quiser ir de uma ideia ate um PR com minima intervencao manual
|
|
10
28
|
- Use para features completas que passam por todo o pipeline (pesquisa, planejamento, execucao, qualidade)
|
|
@@ -15,6 +33,13 @@ Voce e um orquestrador de pipeline completo. Este comando recebe um desejo do us
|
|
|
15
33
|
## Posicao no Pipeline
|
|
16
34
|
**Antecessor:** (desejo do usuario) | **Sucessor:** (merge do PR)
|
|
17
35
|
|
|
36
|
+
## Skills Complementares
|
|
37
|
+
|
|
38
|
+
| Skill | Gatilho |
|
|
39
|
+
|-------|---------|
|
|
40
|
+
| `dw-memory` | **SEMPRE** — thread de memory atravessa todas as fases (brainstorm -> PRD -> techspec -> tasks -> execucao -> QA -> review -> PR). Decisoes de um gate alimentam o contexto do proximo. |
|
|
41
|
+
| `dw-verify` | **SEMPRE** — invocada em cada gate (PRD, Tasks, PR) antes de pedir aprovacao do usuario; e antes do commit final + push. |
|
|
42
|
+
|
|
18
43
|
## Variaveis de Entrada
|
|
19
44
|
|
|
20
45
|
| Variavel | Descricao | Exemplo |
|
|
@@ -143,12 +168,27 @@ Execute `/dw-review-implementation` para verificar PRD compliance (Level 2).
|
|
|
143
168
|
- Maximo 3 ciclos de correcao
|
|
144
169
|
- NAO avance para QA ate que o review passe
|
|
145
170
|
|
|
171
|
+
<critical>Artefatos obrigatorios desta etapa (verifique ANTES de marcar como completa):
|
|
172
|
+
- Output formatado com matriz de compliance exibido ao usuario na propria sessao
|
|
173
|
+
- Veredicto explicito (PASS / GAP / FAIL) para CADA RF do PRD, CADA endpoint da TechSpec e CADA task
|
|
174
|
+
- Se houver gaps: commits de correcao antes de re-executar o review
|
|
175
|
+
Um review textual curto, um "parece ok" ou conclusao "implementacao correta" SEM a matriz estruturada RF-by-RF NAO conta. Uma revisao mental ou a olho NAO conta. Se a matriz nao apareceu no output, o comando nao rodou — re-execute.</critical>
|
|
176
|
+
|
|
146
177
|
### Etapa 10: QA Visual
|
|
147
178
|
|
|
148
179
|
Execute `/dw-run-qa` com Playwright MCP.
|
|
149
180
|
- Teste happy paths, edge cases, fluxos negativos, acessibilidade
|
|
150
181
|
- Documente bugs com screenshots
|
|
151
182
|
|
|
183
|
+
<critical>Artefatos obrigatorios desta etapa (rode `ls` em CADA caminho ANTES de marcar como completa):
|
|
184
|
+
- `{{PRD_PATH}}/QA/qa-report.md` — existe e contem secao por RF com PASS/FAIL
|
|
185
|
+
- `{{PRD_PATH}}/QA/bugs.md` — existe (pode ser vazio se sem bugs, mas o arquivo deve existir)
|
|
186
|
+
- `{{PRD_PATH}}/QA/checklist.md` — existe e esta coberto integralmente
|
|
187
|
+
- `{{PRD_PATH}}/QA/screenshots/` — diretorio existe e contem pelo menos 1 PNG por RF testado (formato `RF-XX-[slug]-PASS.png` ou `-FAIL.png`)
|
|
188
|
+
- `{{PRD_PATH}}/QA/scripts/` — diretorio existe e contem scripts Playwright `.spec.ts`/`.spec.js` por RF
|
|
189
|
+
- `{{PRD_PATH}}/QA/logs/` — diretorio existe com logs de console/rede capturados
|
|
190
|
+
Rodar Playwright ad-hoc, tirar algumas screenshots soltas ou escrever um qa-report.md curto a mao NAO substitui esta estrutura. Se qualquer artefato estiver ausente ou incompleto, o comando NAO rodou — invoque `/dw-run-qa` formalmente e siga o fluxo dele ate o fim.</critical>
|
|
191
|
+
|
|
152
192
|
### Etapa 11: Fix QA (Condicional)
|
|
153
193
|
|
|
154
194
|
Se o QA encontrou bugs:
|
|
@@ -168,6 +208,8 @@ Execute `/dw-review-implementation` novamente para confirmar que as correcoes do
|
|
|
168
208
|
- Se encontrar gaps: corrija e re-execute
|
|
169
209
|
- Maximo 3 ciclos
|
|
170
210
|
|
|
211
|
+
<critical>Artefatos obrigatorios (mesmas regras da Etapa 9): matriz RF-by-RF explicita no output. Sem matriz = comando nao rodou = re-execute.</critical>
|
|
212
|
+
|
|
171
213
|
### Etapa 13: Code Review
|
|
172
214
|
|
|
173
215
|
Execute `/dw-code-review` (Level 3) para review formal.
|
|
@@ -175,6 +217,25 @@ Execute `/dw-code-review` (Level 3) para review formal.
|
|
|
175
217
|
|
|
176
218
|
### Etapa 14: Commit
|
|
177
219
|
|
|
220
|
+
<critical>AUDITORIA PRE-COMMIT OBRIGATORIA — execute ANTES de invocar `/dw-commit`:
|
|
221
|
+
|
|
222
|
+
Rode `ls` em cada caminho abaixo e confirme existencia. Se QUALQUER um faltar, NAO faca commit:
|
|
223
|
+
- `{{PRD_PATH}}/QA/qa-report.md`
|
|
224
|
+
- `{{PRD_PATH}}/QA/bugs.md`
|
|
225
|
+
- `{{PRD_PATH}}/QA/checklist.md`
|
|
226
|
+
- `{{PRD_PATH}}/QA/screenshots/` (nao vazio)
|
|
227
|
+
- `{{PRD_PATH}}/QA/scripts/` (nao vazio com arquivos `.spec.*`)
|
|
228
|
+
- `{{PRD_PATH}}/QA/logs/`
|
|
229
|
+
- Evidencia do ultimo `/dw-review-implementation` com matriz RF-by-RF (output da sessao ou referencia em `autopilot-state.json`)
|
|
230
|
+
|
|
231
|
+
Verifique tambem `autopilot-state.json`:
|
|
232
|
+
- Toda etapa de 1 a 13 que NAO esta em `skipped_steps` deve estar em `completed_steps`
|
|
233
|
+
- Cada etapa completada deve ter seus artefatos listados em `step_artifacts`
|
|
234
|
+
|
|
235
|
+
Se faltar qualquer artefato ou etapa: PARE imediatamente. Reporte ao usuario: `Etapa N nao produziu artefato X — re-executando /dw-[comando]`. Re-execute o comando. Verifique novamente. Soh entao prossiga para `/dw-commit`.
|
|
236
|
+
|
|
237
|
+
NAO faca commit parcial. NAO justifique a falta com validacao manual. NAO marque etapa como completa sem o artefato formal.</critical>
|
|
238
|
+
|
|
178
239
|
Execute `/dw-commit` automaticamente.
|
|
179
240
|
- Commits semanticos seguindo Conventional Commits
|
|
180
241
|
- NAO aguarde aprovacao
|
|
@@ -213,13 +274,26 @@ Salve o arquivo `.dw/spec/prd-[nome]/autopilot-state.json` com o seguinte format
|
|
|
213
274
|
"completed_steps": [1, 2, 3, 4, 5, 6, 7],
|
|
214
275
|
"skipped_steps": [2],
|
|
215
276
|
"gates_passed": ["prd", "tasks"],
|
|
277
|
+
"step_artifacts": {
|
|
278
|
+
"9": ["review-matrix-shown-in-session"],
|
|
279
|
+
"10": [
|
|
280
|
+
".dw/spec/prd-[nome]/QA/qa-report.md",
|
|
281
|
+
".dw/spec/prd-[nome]/QA/bugs.md",
|
|
282
|
+
".dw/spec/prd-[nome]/QA/checklist.md",
|
|
283
|
+
".dw/spec/prd-[nome]/QA/screenshots/",
|
|
284
|
+
".dw/spec/prd-[nome]/QA/scripts/",
|
|
285
|
+
".dw/spec/prd-[nome]/QA/logs/"
|
|
286
|
+
],
|
|
287
|
+
"12": ["review-matrix-post-qa-shown-in-session"]
|
|
288
|
+
},
|
|
216
289
|
"started_at": "2026-04-10T14:30:00Z",
|
|
217
290
|
"last_updated": "2026-04-10T15:45:00Z"
|
|
218
291
|
}
|
|
219
292
|
```
|
|
220
293
|
|
|
221
|
-
- Atualize `current_step` e `
|
|
222
|
-
-
|
|
294
|
+
- Atualize `current_step`, `completed_steps` e `step_artifacts` ANTES de iniciar a proxima etapa
|
|
295
|
+
- Uma etapa SO vai para `completed_steps` apos verificar que seus artefatos existem no disco
|
|
296
|
+
- Se a sessao cair, o `/dw-resume` lera este arquivo e continuara da etapa correta — e revalidara os artefatos antes de confiar em `completed_steps`
|
|
223
297
|
- Ao finalizar o pipeline (apos commit ou PR), remova o arquivo ou marque `"status": "completed"`
|
|
224
298
|
|
|
225
299
|
<critical>Apos CADA etapa completada, exiba o bloco de progresso atualizado ao usuario. Isso e OBRIGATORIO — o usuario DEVE ver o que foi feito e o que vem a seguir. Se uma etapa foi pulada, o motivo DEVE aparecer no bloco de progresso.</critical>
|
|
@@ -11,6 +11,11 @@ Você é um facilitador de brainstorming para o workspace atual. Este comando ex
|
|
|
11
11
|
## Posição no Pipeline
|
|
12
12
|
**Antecessor:** (ideia do usuário) | **Sucessor:** `/dw-create-prd`
|
|
13
13
|
|
|
14
|
+
## Flags
|
|
15
|
+
|
|
16
|
+
- **(padrão)**: brainstorm normal com 3-7 opções (conservadora, equilibrada, ousada) e trade-offs
|
|
17
|
+
- **`--council`**: após o brainstorm normal, invoca a skill `dw-council` para stress-test das top 2-3 opções através de 3-5 archetypes (pragmatic-engineer, architect-advisor, security-advocate, product-mind, devils-advocate). Útil quando a escolha é de alto impacto e há genuine dissent entre caminhos.
|
|
18
|
+
|
|
14
19
|
## Fluxograma de Decisão: Brainstorm vs PRD Direto
|
|
15
20
|
|
|
16
21
|
```dot
|
|
@@ -33,6 +38,7 @@ digraph brainstorm_decision {
|
|
|
33
38
|
|
|
34
39
|
Quando disponíveis no projeto em `./.agents/skills/`, use para enriquecer a ideação:
|
|
35
40
|
|
|
41
|
+
- `dw-council` (opt-in via `--council`): stress-test multi-advisor das opções mais promissoras com steel-manning obrigatório e concession tracking. **NÃO invocar por padrão** — só quando a flag está presente ou quando surge consenso rápido demais (sinal de false consensus).
|
|
36
42
|
- `ui-ux-pro-max`: use quando o brainstorm envolver frontend, direção de estilo UI, escolhas de design system ou exploração de identidade visual
|
|
37
43
|
- `vercel-react-best-practices`: use quando explorar arquitetura React/Next.js ou trade-offs de performance
|
|
38
44
|
- `security-review`: use quando o brainstorm tocar auth, manipulação de dados ou features sensíveis à segurança
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
Quando disponíveis no projeto em `./.agents/skills/`, use estas skills como suporte contextual sem substituir este comando:
|
|
17
17
|
|
|
18
|
+
- `dw-verify`: **SEMPRE** — em modo Direto, invocada antes do commit da correção. O VERIFICATION REPORT deve mostrar que o sintoma original do bug não se reproduz mais (não apenas que os testes passam).
|
|
18
19
|
- `vercel-react-best-practices`: use quando o bug afeta React/Next.js e há suspeita de problemas de render, hidratação, fetching, waterfall, bundle ou re-render
|
|
19
20
|
- `webapp-testing`: use quando a correção requer fluxo E2E/reteste reproduzível em uma web app
|
|
20
21
|
- `security-review`: use quando a causa raiz toca auth, autorização, input externo, upload, secrets, SQL, XSS, SSRF ou outras superfícies sensíveis
|
|
@@ -219,6 +220,14 @@
|
|
|
219
220
|
- `ajustar` - me diga o que modificar no plano
|
|
220
221
|
```
|
|
221
222
|
|
|
223
|
+
### 5.5. Verificação Final (Modo Direto — obrigatório antes do commit)
|
|
224
|
+
|
|
225
|
+
<critical>Após aplicar as tarefas aprovadas em modo Direto, invocar `dw-verify` antes do commit. O VERIFICATION REPORT deve mostrar:
|
|
226
|
+
1. O comando de verificação do projeto (test + lint + build) com exit 0.
|
|
227
|
+
2. Reprodução do sintoma original: o cenário que disparava o bug já NÃO dispara mais.
|
|
228
|
+
|
|
229
|
+
Sem PASS nos dois, NÃO commit. Reportar o que falhou e retomar da etapa 4 (análise de causa raiz).</critical>
|
|
230
|
+
|
|
222
231
|
### 6. Gerar Documento Bugfix (Modo Análise)
|
|
223
232
|
|
|
224
233
|
<critical>
|
|
@@ -21,6 +21,8 @@ Normalmente invocado antes de criar PR via `/dw-generate-pr`
|
|
|
21
21
|
|
|
22
22
|
Quando disponíveis no projeto em `./.agents/skills/`, use estas skills como apoio analítico sem substituir este comando:
|
|
23
23
|
|
|
24
|
+
- `dw-review-rigor`: **SEMPRE** — aplica de-duplication (mesmo pattern em N arquivos = 1 finding), severity ordering (critical → high → medium → low), verify-before-flag, skip-what-linter-catches, e signal-over-volume. A tabela "Problemas Encontrados" do relatório segue essa disciplina.
|
|
25
|
+
- `dw-verify`: **SEMPRE** — invocada antes de emitir verdict `APROVADO` ou `APROVADO COM RESSALVAS`. Sem VERIFICATION REPORT PASS (test + lint + build), o verdict não pode sair como APROVADO.
|
|
24
26
|
- `security-review`: use quando auth, autorização, input externo, upload, SQL, integração externa, secrets, SSRF, XSS ou superfícies sensíveis estiverem presentes
|
|
25
27
|
- `vercel-react-best-practices`: use quando o diff tocar React/Next.js para revisar padrões de renderização, fetching, bundle, hidratação e performance
|
|
26
28
|
|
|
@@ -180,6 +182,22 @@ Verificar:
|
|
|
180
182
|
|
|
181
183
|
<critical>O REVIEW NÃO PODE SER APROVADO SE ALGUM TESTE FALHAR</critical>
|
|
182
184
|
|
|
185
|
+
### 6.5. Aplicar `dw-review-rigor` (Obrigatório)
|
|
186
|
+
|
|
187
|
+
Antes de escrever a tabela "Problemas Encontrados" do relatório, invocar a skill `dw-review-rigor` e aplicar as cinco regras:
|
|
188
|
+
|
|
189
|
+
1. **De-duplicação**: se o mesmo padrão aparece em N arquivos, emitir 1 finding com a lista de arquivos afetados — nunca N findings idênticos.
|
|
190
|
+
2. **Severity ordering**: apresentar sempre na ordem critical → high → medium → low (não por arquivo).
|
|
191
|
+
3. **Verify intent before flagging**: checar comentários adjacentes, ADRs em `.dw/spec/*/adrs/`, cobertura de testes, regras em `.dw/rules/`. Não flaggar o que tem justificativa documentada.
|
|
192
|
+
4. **Skip what linter catches**: rodar o linter do projeto primeiro; nada que ele já reporta vira finding.
|
|
193
|
+
5. **Signal over volume**: máximo ~8 findings precisos são mais úteis que 30 marginais. Manter todos os critical/high; podar medium/low para os mais impactantes.
|
|
194
|
+
|
|
195
|
+
Se houver reviews anteriores em `{{PRD_PATH}}/reviews/` ou `{{PRD_PATH}}/dw-code-review.md` (round anterior), ler e emitir **apenas findings NOVOS** — não re-flaggar itens já tratados.
|
|
196
|
+
|
|
197
|
+
### 6.6. Verificação Final (Obrigatório antes do verdict)
|
|
198
|
+
|
|
199
|
+
<critical>Invocar `dw-verify` e incluir o VERIFICATION REPORT no início do relatório. Sem PASS, o verdict só pode ser `REPROVADO` — nunca `APROVADO` ou `APROVADO COM RESSALVAS`.</critical>
|
|
200
|
+
|
|
183
201
|
### 7. Gerar Relatório de Code Review (Obrigatório)
|
|
184
202
|
|
|
185
203
|
Salvar em `{{PRD_PATH}}/dw-code-review.md`:
|
|
@@ -42,10 +42,22 @@
|
|
|
42
42
|
- Organizar sequenciamento
|
|
43
43
|
- Incluir testes unitários como subtarefas de cada task
|
|
44
44
|
|
|
45
|
+
3.5. **Verificação de Dependências Circulares (Pré-flight)**
|
|
46
|
+
- Antes de escrever qualquer arquivo, monte o grafo de dependências (campo `blockedBy` ou "Depende de" entre tasks)
|
|
47
|
+
- Detecte ciclos: se a task A depende de B e B depende (direta ou transitivamente) de A, há ciclo
|
|
48
|
+
- Se houver ciclo: **NÃO escreva os arquivos**. Apresente o ciclo ao usuário e peça reestruturação (ex: extrair responsabilidade comum, inverter dependência, mesclar tasks)
|
|
49
|
+
- Se não houver ciclo: prossiga
|
|
50
|
+
|
|
45
51
|
4. **Gerar Arquivos de Tarefas Individuais**
|
|
46
52
|
- Criar arquivo para cada tarefa principal
|
|
47
53
|
- Detalhar subtarefas e critérios de sucesso
|
|
48
54
|
- Incluir testes unitários obrigatórios
|
|
55
|
+
- **Enriquecimento codebase-aware (Opcional mas recomendado)**: para tasks que tocam áreas conhecidas do codebase, dispatche um Agent Explore em paralelo (um por task ou um por área) para preencher:
|
|
56
|
+
- "Arquivos Relevantes": paths e razão pela qual são relevantes para a task
|
|
57
|
+
- "Arquivos Dependentes": paths que podem precisar mudar em cascata
|
|
58
|
+
- "Regras Aplicáveis": links para `.dw/rules/*.md` que restringem a task
|
|
59
|
+
- "ADRs Relacionados": arquivos em `.dw/spec/<prd>/adrs/` que constrangem decisões
|
|
60
|
+
Esse enriquecimento é aditivo: não bloqueia a geração das tasks, apenas aumenta a qualidade do contexto que a `dw-run-task` recebe depois.
|
|
49
61
|
|
|
50
62
|
## Diretrizes de Criação de Tarefas
|
|
51
63
|
|
|
@@ -13,10 +13,16 @@
|
|
|
13
13
|
## Posição no Pipeline
|
|
14
14
|
**Antecessor:** `/dw-create-prd` | **Sucessor:** `/dw-create-tasks`
|
|
15
15
|
|
|
16
|
+
## Flags
|
|
17
|
+
|
|
18
|
+
- **(padrão)**: gera techspec normal a partir do PRD
|
|
19
|
+
- **`--council`**: antes de finalizar o techspec, invoca a skill `dw-council` sobre a decisão arquitetural principal (ex: monólito vs microserviços, SQL vs NoSQL, lib X vs Y). O output do council vira uma seção "Debate Arquitetural" no techspec, e decisões firmes viram ADR via `/dw-adr`. Útil quando o techspec introduz uma escolha estrutural de alto impacto.
|
|
20
|
+
|
|
16
21
|
## Skills Complementares
|
|
17
22
|
|
|
18
23
|
Quando disponíveis no projeto em `./.agents/skills/`, use como apoio:
|
|
19
24
|
|
|
25
|
+
- `dw-council` (opt-in via `--council`): debate multi-advisor da decisão arquitetural principal com steel-manning. **NÃO invocar por padrão**.
|
|
20
26
|
- `vercel-react-best-practices`: use quando definir arquitetura frontend para projetos React/Next.js
|
|
21
27
|
- `ui-ux-pro-max`: use quando definir decisões de design system, paletas de cores, tipografia e estilo UI no TechSpec
|
|
22
28
|
- `security-review`: use quando a feature tocar auth, autorização ou manipulação de dados sensíveis
|
|
@@ -94,6 +100,8 @@
|
|
|
94
100
|
- Revisar padrões do projeto em `{{RULES_PATH}}`
|
|
95
101
|
- Confirmar que o PRD existe em `{{PRD_PATH}}` ou `.dw/spec/prd-[nome-funcionalidade]/prd.md`
|
|
96
102
|
|
|
103
|
+
<critical>Hard gate: se o PRD tiver seção "Questões em Aberto" / "Open Questions" com itens não resolvidos, PARAR. Apresentar as questões ao usuário e pedir que sejam resolvidas antes de escrever o techspec. Um techspec construído sobre requisitos indefinidos gera retrabalho garantido.</critical>
|
|
104
|
+
|
|
97
105
|
## Fluxo de Trabalho
|
|
98
106
|
|
|
99
107
|
### 1. Analisar PRD (Obrigatório)
|
|
@@ -17,6 +17,7 @@ Você é um assistente IA especializado em correção de bugs pós-QA com retest
|
|
|
17
17
|
|
|
18
18
|
Quando disponíveis no projeto em `./.agents/skills/`, use estas skills como suporte operacional sem substituir este comando:
|
|
19
19
|
|
|
20
|
+
- `dw-verify`: **SEMPRE** — invocada antes de marcar qualquer bug como `Corrigido` ou `Fechado` no `QA/bugs.md`. Sem VERIFICATION REPORT PASS (test + lint + build) + evidência de reteste, o status permanece `Reaberto` ou `Em análise`.
|
|
20
21
|
- `webapp-testing`: suporte para estruturar retestes, capturas e scripts quando complementar ao Playwright MCP
|
|
21
22
|
- `vercel-react-best-practices`: use apenas se a correção afetar frontend React/Next.js e houver risco de regressão de renderização, hidratação, fetching ou performance
|
|
22
23
|
|
|
@@ -88,6 +89,10 @@ Para cada bug corrigido:
|
|
|
88
89
|
7. Registrar no relatório de QA qual usuário/perfil foi usado no reteste
|
|
89
90
|
8. Se o reteste exigir auth persistente, inspeção além do MCP, ou reprodução mais fiel em navegador real, registrar no relatório
|
|
90
91
|
|
|
92
|
+
### 3.5. Verificação Final Antes de Atualizar Status
|
|
93
|
+
|
|
94
|
+
<critical>Invocar a skill `dw-verify` antes de mudar o status de qualquer bug para `Corrigido` ou `Fechado`. O VERIFICATION REPORT (test + lint + build) deve ser PASS **e** a evidência de reteste do Playwright deve estar salva. Sem os dois, o status não muda.</critical>
|
|
95
|
+
|
|
91
96
|
### 4. Atualização de Artefatos
|
|
92
97
|
|
|
93
98
|
Atualizar `QA/bugs.md` para cada bug:
|
|
@@ -9,6 +9,14 @@
|
|
|
9
9
|
## Posição no Pipeline
|
|
10
10
|
**Antecessor:** `/dw-code-review` ou `/dw-commit` | **Sucessor:** (merge)
|
|
11
11
|
|
|
12
|
+
## Skills Complementares
|
|
13
|
+
|
|
14
|
+
| Skill | Gatilho |
|
|
15
|
+
|-------|---------|
|
|
16
|
+
| `dw-verify` | **SEMPRE** — invocada antes do `git push`. Sem VERIFICATION REPORT PASS na sessão após a última edição de código, o PR **NÃO** pode ser criado. |
|
|
17
|
+
|
|
18
|
+
<critical>Hard gate: se a sessão atual não tem um VERIFICATION REPORT PASS de `dw-verify` produzido APÓS a última edição/commit, PARAR e invocar `dw-verify` antes de prosseguir. PR é um artefato permanente — exige o maior rigor de verificação.</critical>
|
|
19
|
+
|
|
12
20
|
## Uso
|
|
13
21
|
|
|
14
22
|
```
|
|
@@ -11,7 +11,26 @@ Você é um assistente de ajuda do workspace. Quando invocado, apresente ao usu
|
|
|
11
11
|
## Comportamento
|
|
12
12
|
|
|
13
13
|
- Se invocado sem argumentos (`/dw-help`): mostre o guia completo abaixo
|
|
14
|
-
- Se invocado com argumento (`/dw-help dw-create-prd`): mostre apenas a seção detalhada daquele comando
|
|
14
|
+
- Se invocado com argumento correspondente a um comando (`/dw-help dw-create-prd`): mostre apenas a seção detalhada daquele comando
|
|
15
|
+
- Se invocado com **keyword que não é nome de comando** (`/dw-help bug`, `/dw-help review`, `/dw-help design`): faça lookup contextual — identifique o(s) comando(s) mais relevante(s) pela keyword e apresente cada um com 1-2 linhas de justificativa ("para bug, use `/dw-bugfix` porque..."). Use a tabela de mapeamento abaixo.
|
|
16
|
+
|
|
17
|
+
### Mapeamento contextual (keyword → comando sugerido)
|
|
18
|
+
|
|
19
|
+
| Keyword(s) | Comando sugerido | Justificativa |
|
|
20
|
+
|------------|------------------|---------------|
|
|
21
|
+
| bug, erro, falha, problema | `/dw-bugfix` | Triagem automática bug vs feature + correção |
|
|
22
|
+
| review, revisão, qualidade | `/dw-code-review` | Review formal Nível 3 com relatório |
|
|
23
|
+
| qa, teste visual, playwright | `/dw-run-qa` | QA E2E com browser automation |
|
|
24
|
+
| refactor, smell, fowler | `/dw-refactoring-analysis` | Auditoria de code smells priorizada |
|
|
25
|
+
| design, ui, redesign | `/dw-redesign-ui` | Auditoria + propostas + implementação visual |
|
|
26
|
+
| decisão, adr, arquitetura | `/dw-adr` | Registrar Architecture Decision Record |
|
|
27
|
+
| debate, council, stress-test, opiniões | `/dw-brainstorm --council` ou `/dw-create-techspec --council` | Invoca `dw-council` para debate multi-advisor |
|
|
28
|
+
| reverter, rollback de task | `/dw-revert-task` | Revert seguro com check de dependências |
|
|
29
|
+
| hotfix, mudança rápida | `/dw-quick` | Task pontual com garantias sem PRD |
|
|
30
|
+
| retomar, onde parei | `/dw-resume` | Restaura contexto da sessão anterior |
|
|
31
|
+
| pesquisa, research | `/dw-deep-research` | Pesquisa multi-fonte com citações |
|
|
32
|
+
| ideia, brainstorm | `/dw-brainstorm` | Ideação estruturada com trade-offs |
|
|
33
|
+
| atualizar dev-workflow | `/dw-update` | Atualiza para versão npm mais recente |
|
|
15
34
|
|
|
16
35
|
---
|
|
17
36
|
|
|
@@ -123,12 +142,33 @@ Este workspace utiliza um sistema de comandos AI que automatiza o ciclo completo
|
|
|
123
142
|
|---------|-----------|-------|--------|
|
|
124
143
|
| `/dw-commit` | Commit semântico (Conventional Commits) | - | Commit |
|
|
125
144
|
| `/dw-generate-pr` | Push + cria PR + copia body + abre URL | Branch alvo | PR no GitHub |
|
|
145
|
+
| `/dw-revert-task` | Reverte com segurança os commits de uma task específica (check de dependências + confirmação) | Path do PRD + número da task | Commits revertidos + `tasks.md` atualizado |
|
|
146
|
+
|
|
147
|
+
### Decisões Arquiteturais
|
|
148
|
+
|
|
149
|
+
| Comando | O que faz | Input | Output |
|
|
150
|
+
|---------|-----------|-------|--------|
|
|
151
|
+
| `/dw-adr` | Registra um Architecture Decision Record (ADR) para decisão não-trivial durante o PRD | Path do PRD + título | `.dw/spec/<prd>/adrs/adr-NNN.md` + cross-refs atualizadas |
|
|
126
152
|
|
|
127
153
|
### Utilitários
|
|
128
154
|
|
|
129
155
|
| Comando | O que faz | Input | Output |
|
|
130
156
|
|---------|-----------|-------|--------|
|
|
131
|
-
| `/dw-help` | Este guia de comandos | (opcional) comando | Este documento |
|
|
157
|
+
| `/dw-help` | Este guia de comandos (suporta lookup por keyword: `/dw-help bug`) | (opcional) comando ou keyword | Este documento ou seção filtrada |
|
|
158
|
+
| `/dw-update` | Atualiza o dev-workflow para a versão mais recente no npm sem sair do agente (suporta `--rollback`) | (nenhum) ou `--rollback` | Arquivos gerenciados atualizados ou restaurados |
|
|
159
|
+
|
|
160
|
+
### Bundled Skills (invocadas internamente — não são commands)
|
|
161
|
+
|
|
162
|
+
Skills em `.agents/skills/` que os commands acima invocam transparentemente. Você não as chama diretamente.
|
|
163
|
+
|
|
164
|
+
| Skill | Invocada por | Papel |
|
|
165
|
+
|-------|--------------|-------|
|
|
166
|
+
| `dw-verify` | run-task, run-plan, fix-qa, bugfix, code-review, generate-pr, quick | Iron Law: nenhuma claim de sucesso sem VERIFICATION REPORT PASS |
|
|
167
|
+
| `dw-memory` | run-task, run-plan, autopilot, resume, revert-task | Memory de workflow em dois níveis (shared + task-local) com promotion test |
|
|
168
|
+
| `dw-review-rigor` | code-review, review-implementation, refactoring-analysis | De-duplication, severity ordering, verify-intent-before-flag, signal-over-volume |
|
|
169
|
+
| `dw-council` | brainstorm `--council`, create-techspec `--council` | Debate multi-advisor (3-5 archetypes) com steel-manning, concession tracking e synthesis que preserva dissent. Opt-in. |
|
|
170
|
+
|
|
171
|
+
Inspiradas em skills do projeto [Compozy](https://github.com/compozy/compozy) (`cy-final-verify`, `cy-workflow-memory`, `cy-review-round`).
|
|
132
172
|
|
|
133
173
|
## Fluxos Comuns
|
|
134
174
|
|
|
@@ -13,6 +13,12 @@ Voce e um executor de tasks rapidas. Este comando existe para implementar mudanc
|
|
|
13
13
|
## Posicao no Pipeline
|
|
14
14
|
**Antecessor:** (necessidade pontual do usuario) | **Sucessor:** `/dw-commit` (automatico)
|
|
15
15
|
|
|
16
|
+
## Skills Complementares
|
|
17
|
+
|
|
18
|
+
| Skill | Gatilho |
|
|
19
|
+
|-------|---------|
|
|
20
|
+
| `dw-verify` | **SEMPRE** — invocada antes do commit. Mesmo mudancas pequenas exigem VERIFICATION REPORT PASS (test + lint minimos) antes de commit atomico. |
|
|
21
|
+
|
|
16
22
|
## Variaveis de Entrada
|
|
17
23
|
|
|
18
24
|
| Variavel | Descricao | Exemplo |
|
|
@@ -27,7 +33,8 @@ Voce e um executor de tasks rapidas. Este comando existe para implementar mudanc
|
|
|
27
33
|
4. Implemente a mudanca seguindo convencoes do projeto
|
|
28
34
|
5. Execute testes existentes relevantes (unit, integration)
|
|
29
35
|
6. Execute lint se configurado no projeto
|
|
30
|
-
7.
|
|
36
|
+
7. Invoque `dw-verify` e inclua o VERIFICATION REPORT no output antes de commitar. Sem PASS, NAO commit.
|
|
37
|
+
8. Crie commit atomico semantico com a mudanca
|
|
31
38
|
|
|
32
39
|
## Integracao GSD
|
|
33
40
|
|
|
@@ -20,6 +20,7 @@ Pré-requisito: Execute `/dw-analyze-project` primeiro para entender padrões e
|
|
|
20
20
|
|
|
21
21
|
Quando disponíveis no projeto em `./.agents/skills/`, use como suporte analítico sem substituir este comando:
|
|
22
22
|
|
|
23
|
+
- `dw-review-rigor`: **SEMPRE** — ao catalogar code smells, aplicar de-duplication (mesmo smell em N arquivos = 1 entrada com affected list), severity ordering nos P0-P3, signal-over-volume (máx ~20 findings; manter críticos, podar marginais). Smell com ADR justificatório baixa para `low` no máximo.
|
|
23
24
|
- `security-review`: delegue preocupações de segurança para este skill — não duplique
|
|
24
25
|
- `vercel-react-best-practices`: delegue padrões de performance React/Next.js para este skill
|
|
25
26
|
|
|
@@ -11,6 +11,12 @@ Voce e um assistente de continuidade de sessao. Este comando existe para restaur
|
|
|
11
11
|
## Posicao no Pipeline
|
|
12
12
|
**Antecessor:** (inicio de sessao) | **Sucessor:** qualquer comando dw-*
|
|
13
13
|
|
|
14
|
+
## Skills Complementares
|
|
15
|
+
|
|
16
|
+
| Skill | Gatilho |
|
|
17
|
+
|-------|---------|
|
|
18
|
+
| `dw-memory` | **SEMPRE** — para cada PRD ativo identificado, ler `.dw/spec/<prd>/MEMORY.md` (shared) para reconstituir constraints, decisoes e handoff notes da sessao anterior. Incluir no resumo apresentado ao usuario. |
|
|
19
|
+
|
|
14
20
|
## Comportamento Obrigatorio
|
|
15
21
|
|
|
16
22
|
<critical>ANTES de qualquer analise, verifique se existe um autopilot interrompido. Procure por `autopilot-state.json` em TODOS os diretorios dentro de `.dw/spec/`. Se encontrar um com status diferente de "completed", a retomada do autopilot tem PRIORIDADE sobre qualquer outra sugestao.</critical>
|
|
@@ -29,9 +35,10 @@ Voce e um assistente de continuidade de sessao. Este comando existe para restaur
|
|
|
29
35
|
1. Leia `.dw/spec/` e identifique PRDs com tasks pendentes (checkboxes `- [ ]` em tasks.md)
|
|
30
36
|
2. Leia `git log --oneline -10` para identificar o ultimo trabalho realizado
|
|
31
37
|
3. Identifique a branch ativa e se ha mudancas nao commitadas
|
|
32
|
-
4.
|
|
33
|
-
5.
|
|
34
|
-
6.
|
|
38
|
+
4. **Invoque `dw-memory`**: para o PRD ativo, leia `.dw/spec/<prd>/MEMORY.md` e a memory da proxima task pendente (`tasks/<N>_memory.md` se existir). Extraia decisoes durables, constraints cross-task e handoff notes.
|
|
39
|
+
5. Cruze: ultimo PRD ativo, ultima task completada, proxima task pendente, contexto de memory
|
|
40
|
+
6. Apresente o resumo no formato abaixo (incluindo bullets de "Do ponto onde paramos" com base na memory)
|
|
41
|
+
7. Sugira o proximo comando a executar
|
|
35
42
|
|
|
36
43
|
## Integracao GSD
|
|
37
44
|
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
<system_instructions>
|
|
2
|
+
Você é um revertedor seguro de tasks. Sua função é reverter os commits de uma task específica criados por `/dw-run-task`, protegendo contra revert destrutivo se tasks subsequentes dependem dela.
|
|
3
|
+
|
|
4
|
+
<critical>Este é um command destrutivo em potencial (altera o git history da branch ativa). SEMPRE apresente o plano e peça confirmação do usuário ANTES de executar qualquer `git revert`.</critical>
|
|
5
|
+
|
|
6
|
+
## Quando Usar
|
|
7
|
+
- Use para desfazer uma task específica que foi implementada e commitada mas precisa ser revertida (mudança de requisitos, erro de implementação não capturado pela validação, decisão revista)
|
|
8
|
+
- NÃO use para desfazer múltiplas tasks simultaneamente (reverta uma de cada vez)
|
|
9
|
+
- NÃO use se a task já foi pushada para remote e mergeada em main (nesse caso é necessário PR de revert)
|
|
10
|
+
|
|
11
|
+
## Posição no Pipeline
|
|
12
|
+
**Antecessor:** `/dw-run-task` ou `/dw-run-plan` que criou os commits da task | **Sucessor:** re-execução da task ou mudança de plano
|
|
13
|
+
|
|
14
|
+
## Variáveis de Entrada
|
|
15
|
+
|
|
16
|
+
| Variável | Descrição | Exemplo |
|
|
17
|
+
|----------|-----------|---------|
|
|
18
|
+
| `{{PRD_PATH}}` | Caminho do PRD ativo | `.dw/spec/prd-minha-feature` |
|
|
19
|
+
| `{{TASK_NUMBER}}` | Número da task a reverter | `3` (para task 3.0) |
|
|
20
|
+
|
|
21
|
+
## Fluxo de Trabalho
|
|
22
|
+
|
|
23
|
+
### 1. Identificar commits da task
|
|
24
|
+
|
|
25
|
+
- Ler `{{PRD_PATH}}/tasks.md` e `{{PRD_PATH}}/{{TASK_NUMBER}}_task.md`
|
|
26
|
+
- Identificar commits relacionados à task via:
|
|
27
|
+
- `git log --grep="task {{TASK_NUMBER}}"` ou
|
|
28
|
+
- `git log --grep="Task {{TASK_NUMBER}}"` ou
|
|
29
|
+
- Intersecção manual: commits na branch entre o último commit da task {{TASK_NUMBER - 1}} e o commit marcador da task {{TASK_NUMBER}} no tasks.md
|
|
30
|
+
- Listar hashes e mensagens ao usuário
|
|
31
|
+
|
|
32
|
+
### 2. Verificação de Dependências (Obrigatória)
|
|
33
|
+
|
|
34
|
+
<critical>Antes de propor o revert, verificar se tasks subsequentes dependem dos artefatos desta task.</critical>
|
|
35
|
+
|
|
36
|
+
- Ler `tasks.md` e identificar tasks com `{{TASK_NUMBER}}` no campo `blockedBy` ou na seção "Depende de"
|
|
37
|
+
- Para cada task dependente:
|
|
38
|
+
- Verificar se já foi executada (checkbox `- [x]`)
|
|
39
|
+
- Se SIM: revert dessa task cascataria — PARAR e apresentar conflito ao usuário
|
|
40
|
+
- Se NÃO: ok, a task pendente pode ser re-executada após o revert
|
|
41
|
+
|
|
42
|
+
### 3. Apresentar Plano
|
|
43
|
+
|
|
44
|
+
Apresente ao usuário:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
PLANO DE REVERT — Task {{TASK_NUMBER}}
|
|
48
|
+
|
|
49
|
+
Commits a serem revertidos (em ordem reversa):
|
|
50
|
+
- <hash_N> <mensagem>
|
|
51
|
+
- <hash_N-1> <mensagem>
|
|
52
|
+
...
|
|
53
|
+
|
|
54
|
+
Tasks dependentes afetadas:
|
|
55
|
+
- Task X.Y (pendente, pode ser re-executada após o revert)
|
|
56
|
+
- [OU: ⚠️ Task X.Y já executada — conflito, PARAR]
|
|
57
|
+
|
|
58
|
+
Artefatos a atualizar após o revert:
|
|
59
|
+
- {{PRD_PATH}}/tasks.md (remarcar task {{TASK_NUMBER}} como pendente)
|
|
60
|
+
- {{PRD_PATH}}/tasks/{{TASK_NUMBER}}_memory.md (adicionar nota "revertida em YYYY-MM-DD")
|
|
61
|
+
|
|
62
|
+
Prosseguir? [s/N]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Aguarde confirmação explícita.
|
|
66
|
+
|
|
67
|
+
### 4. Executar Revert
|
|
68
|
+
|
|
69
|
+
Somente após `s`/`sim`/`yes`:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Para cada commit, em ordem reversa:
|
|
73
|
+
git revert --no-edit <hash>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Se houver conflitos durante o revert: PARAR, reportar os conflitos e aguardar resolução manual do usuário. NÃO force.
|
|
77
|
+
|
|
78
|
+
### 5. Atualizar Artefatos
|
|
79
|
+
|
|
80
|
+
Após revert bem-sucedido:
|
|
81
|
+
- Em `tasks.md`: mudar `- [x]` para `- [ ]` na linha da task {{TASK_NUMBER}}
|
|
82
|
+
- Em `tasks/{{TASK_NUMBER}}_memory.md`: adicionar bloco:
|
|
83
|
+
```
|
|
84
|
+
## Revert em YYYY-MM-DD
|
|
85
|
+
- Motivo: [preencher com o motivo fornecido pelo usuário]
|
|
86
|
+
- Commits revertidos: [hashes]
|
|
87
|
+
```
|
|
88
|
+
- Invocar `dw-memory` para promover a nota ao `MEMORY.md` se for cross-task relevante
|
|
89
|
+
|
|
90
|
+
### 6. Reportar
|
|
91
|
+
|
|
92
|
+
- Lista de commits revertidos (e os commits de revert criados)
|
|
93
|
+
- Status dos artefatos atualizados
|
|
94
|
+
- Sugestão do próximo passo (`/dw-run-task {{TASK_NUMBER}}` para re-executar, ou `/dw-create-tasks` se o escopo mudou)
|
|
95
|
+
|
|
96
|
+
## Comportamento Obrigatório
|
|
97
|
+
|
|
98
|
+
<critical>NUNCA use `git reset --hard` ou `git rebase -i` como alternativa ao revert. Revert preserva história e é seguro em branches compartilhadas.</critical>
|
|
99
|
+
|
|
100
|
+
<critical>NUNCA force o revert se tasks dependentes já foram executadas. Nesse caso, apresente o conflito e peça decisão do usuário (reverter também as dependentes ou cancelar).</critical>
|
|
101
|
+
|
|
102
|
+
<critical>NUNCA prossiga sem confirmação explícita `s`/`sim`/`yes` do usuário.</critical>
|
|
103
|
+
|
|
104
|
+
## Skills Complementares
|
|
105
|
+
|
|
106
|
+
| Skill | Gatilho |
|
|
107
|
+
|-------|---------|
|
|
108
|
+
| `dw-memory` | **SEMPRE** — ao atualizar memory da task com a nota de revert, aplicar promotion test para decidir se vai para shared `MEMORY.md` |
|
|
109
|
+
|
|
110
|
+
## Inspired by
|
|
111
|
+
|
|
112
|
+
Compozy não tem command análogo. Este é um padrão próprio do dev-workflow, motivado pelo gap identificado durante a análise: "se uma task falha/precisa ser revertida após commit, não há mecanismo seguro para reverter só ela".
|
|
113
|
+
|
|
114
|
+
</system_instructions>
|
|
@@ -23,6 +23,12 @@
|
|
|
23
23
|
|
|
24
24
|
Este comando é chamado automaticamente pelo `/dw-run-plan` ao final de todas as tasks, mas também pode ser executado manualmente.
|
|
25
25
|
|
|
26
|
+
## Skills Complementares
|
|
27
|
+
|
|
28
|
+
| Skill | Gatilho |
|
|
29
|
+
|-------|---------|
|
|
30
|
+
| `dw-review-rigor` | **SEMPRE** — ao listar gaps entre PRD/TechSpec e código, aplicar de-duplication (mesmo gap em N módulos = 1 entrada), severity ordering e verify-intent-before-flag |
|
|
31
|
+
|
|
26
32
|
## Variáveis de Entrada
|
|
27
33
|
|
|
28
34
|
| Variável | Descrição | Exemplo |
|
|
@@ -9,6 +9,13 @@ Você é um assistente especializado em execução sequencial de planos de desen
|
|
|
9
9
|
## Posição no Pipeline
|
|
10
10
|
**Antecessor:** `/dw-create-tasks` | **Sucessor:** `/dw-code-review` e depois `/dw-generate-pr`
|
|
11
11
|
|
|
12
|
+
## Skills Complementares
|
|
13
|
+
|
|
14
|
+
| Skill | Gatilho |
|
|
15
|
+
|-------|---------|
|
|
16
|
+
| `dw-memory` | **SEMPRE** — lê `MEMORY.md` antes de iniciar e aplica promotion test + compaction entre tasks |
|
|
17
|
+
| `dw-verify` | **SEMPRE** — invocada antes da Revisão Final Nível 2 e antes do "Plano Completo" |
|
|
18
|
+
|
|
12
19
|
## Objetivo
|
|
13
20
|
|
|
14
21
|
Executar TODAS as tarefas pendentes de um projeto de forma sequencial e automática, marcando cada uma como concluída após a implementação bem-sucedida (cada task já inclui validação Nível 1), e realizando uma **revisão final Nível 2 (PRD compliance) com ciclo de correções**.
|
|
@@ -62,10 +69,19 @@ Para cada tarefa pendente (em ordem sequencial):
|
|
|
62
69
|
- Se houver erros, reportar e PAUSAR para correção manual
|
|
63
70
|
- Se bem-sucedido, continuar para próxima task
|
|
64
71
|
|
|
72
|
+
5. **Compaction de memory entre tasks**
|
|
73
|
+
- Invocar `dw-memory` com flag de compaction em `MEMORY.md` a cada 3 tasks concluídas (ou quando o arquivo exceder ~150 linhas)
|
|
74
|
+
- Garantir que a próxima task leia um `MEMORY.md` enxuto e atualizado
|
|
75
|
+
|
|
65
76
|
### 3. Revisão Final Completa
|
|
66
77
|
|
|
67
78
|
Quando todas as tarefas estiverem concluídas:
|
|
68
79
|
|
|
80
|
+
0. **Verificação Final (Obrigatório antes do Nível 2)**
|
|
81
|
+
- Invocar `dw-verify` com o comando de verificação do projeto (test + lint + build, ou gate command documentado)
|
|
82
|
+
- Só prosseguir com o Nível 2 se o VERIFICATION REPORT for PASS
|
|
83
|
+
- Se FAIL: corrigir root cause, re-verificar e só então abrir a revisão de PRD compliance
|
|
84
|
+
|
|
69
85
|
1. **Executar Revisão Geral**
|
|
70
86
|
- Seguir `.dw/commands/dw-review-implementation.md` para TODAS as tasks
|
|
71
87
|
- Gerar relatório completo de gaps e recomendações
|
|
@@ -99,7 +115,9 @@ Quando todas as tarefas estiverem concluídas:
|
|
|
99
115
|
- Não haver mais recomendações, OU
|
|
100
116
|
- Usuário decidir que pendências restantes são aceitáveis
|
|
101
117
|
|
|
102
|
-
4. **Relatório Final**
|
|
118
|
+
4. **Relatório Final (após dw-verify PASS final)**
|
|
119
|
+
|
|
120
|
+
<critical>Antes de declarar "PLANO COMPLETO" ou "COMPLETO COM PENDÊNCIAS", invocar `dw-verify` uma última vez após a última correção. Sem PASS, não emita o relatório final.</critical>
|
|
103
121
|
|
|
104
122
|
```
|
|
105
123
|
RELATÓRIO FINAL DO PLANO
|
|
@@ -18,6 +18,8 @@ Quando disponíveis no projeto em `./.agents/skills/`, use estas skills como sup
|
|
|
18
18
|
|
|
19
19
|
| Skill | Gatilho |
|
|
20
20
|
|-------|---------|
|
|
21
|
+
| `dw-verify` | **SEMPRE** — invocada antes do commit para produzir Verification Report com evidence fresca |
|
|
22
|
+
| `dw-memory` | **SEMPRE** — lê memory da workflow no início e atualiza ao final da task (promotion test) |
|
|
21
23
|
| `vercel-react-best-practices` | Task envolve renderização React, hidratação, data fetching, bundle, cache ou performance |
|
|
22
24
|
| `webapp-testing` | Task tem frontend interativo que necessita validação E2E em navegador real |
|
|
23
25
|
|
|
@@ -51,6 +53,7 @@ Se `.planning/intel/` NÃO existir:
|
|
|
51
53
|
- Revisar o contexto do PRD
|
|
52
54
|
- Verificar requisitos da spec técnica (incluindo estratégia de testes)
|
|
53
55
|
- Entender dependências de tarefas anteriores
|
|
56
|
+
- **Invocar `dw-memory`**: ler `.dw/spec/prd-[nome]/MEMORY.md` (shared) e `.dw/spec/prd-[nome]/tasks/[num]_memory.md` (task-local, criar se ausente) — decisões, constraints e handoff notes de tasks anteriores são contexto obrigatório
|
|
54
57
|
|
|
55
58
|
### 2. Análise da Tarefa
|
|
56
59
|
Analise considerando:
|
|
@@ -169,9 +172,19 @@ Formato no tasks.md (adicionar após marcar a task como concluída):
|
|
|
169
172
|
- **Se FALHA**: Corrija os problemas e re-execute a validação
|
|
170
173
|
- **NÃO gere relatório em arquivo** - apenas output no terminal
|
|
171
174
|
|
|
175
|
+
## Verificação Final (Obrigatório antes do commit)
|
|
176
|
+
|
|
177
|
+
<critical>Invocar a skill `dw-verify` antes de qualquer alegação de "task completa". Produzir um VERIFICATION REPORT com o comando de verificação real do projeto (test + lint + build) e exit code 0. Sem report PASS, NÃO prossiga para o commit.</critical>
|
|
178
|
+
|
|
179
|
+
## Atualização de Memory (Obrigatório antes do commit)
|
|
180
|
+
|
|
181
|
+
Invocar `dw-memory` para:
|
|
182
|
+
- Atualizar `tasks/[num]_memory.md` com arquivos tocados, decisões não-óbvias e handoff notes
|
|
183
|
+
- Aplicar o **promotion test** (próxima task precisa? durável? não óbvio do repo?) e promover apenas o que passar para `MEMORY.md`
|
|
184
|
+
|
|
172
185
|
## Commit Automático (Obrigatório)
|
|
173
186
|
|
|
174
|
-
Ao final da task (após validação Nível 1
|
|
187
|
+
Ao final da task (após validação Nível 1 + dw-verify PASS + dw-memory atualizado), **sempre** fazer commit (sem push):
|
|
175
188
|
|
|
176
189
|
```bash
|
|
177
190
|
git status
|