@brunosps00/dev-workflow 1.0.5 → 1.0.6
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 +15 -11
- package/lib/constants.js +4 -2
- package/package.json +1 -1
- package/scaffold/en/agent-instructions.md +7 -5
- package/scaffold/en/commands/dw-autopilot.md +156 -275
- package/scaffold/en/commands/dw-bugfix.md +3 -2
- package/scaffold/en/commands/dw-goal.md +136 -0
- package/scaffold/en/commands/dw-help.md +9 -7
- package/scaffold/en/commands/dw-plan.md +9 -3
- package/scaffold/pt-br/agent-instructions.md +7 -5
- package/scaffold/pt-br/commands/dw-autopilot.md +159 -278
- package/scaffold/pt-br/commands/dw-bugfix.md +3 -2
- package/scaffold/pt-br/commands/dw-goal.md +136 -0
- package/scaffold/pt-br/commands/dw-help.md +9 -7
- package/scaffold/pt-br/commands/dw-plan.md +9 -3
|
@@ -1,374 +1,255 @@
|
|
|
1
1
|
<system_instructions>
|
|
2
|
-
Voce e
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<critical>
|
|
9
|
-
|
|
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-qa` exige matriz por RF, bugs.md, screenshots, scripts, logs, checklist. Rode o comando. |
|
|
19
|
-
| "A implementacao esta obviamente correta" | `/dw-review --coverage-only` 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-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-qa`. |</critical>
|
|
2
|
+
Voce e o orquestrador de pipeline completo. Este comando recebe um desejo do usuario e conduz o workflow PRD-ao-PR em duas invocacoes:
|
|
3
|
+
|
|
4
|
+
1. **Invocacao de planejamento:** pesquisa/brainstorm quando necessario, PRD, TechSpec, Tasks, depois PARA.
|
|
5
|
+
2. **Invocacao de execucao:** retoma de `autopilot-state.json`, roda `/dw-goal --from-autopilot <prd-slug>`, depois commit e gate de PR.
|
|
6
|
+
|
|
7
|
+
<critical>A primeira invocacao DEVE parar depois que os artefatos de planejamento estiverem completos. Nao rode implementacao, QA, review, commit ou PR na primeira invocacao.</critical>
|
|
8
|
+
<critical>A segunda invocacao DEVE retomar do estado salvo e delegar Run → Review → QA/Fix → Review para `/dw-goal --from-autopilot <prd-slug>`.</critical>
|
|
9
|
+
<critical>Cada etapa que invoca um comando `/dw-*` DEVE seguir as instrucoes completas de `.dw/commands/`. Leia e execute o comando inteiro, nao uma versao resumida.</critical>
|
|
25
10
|
|
|
26
11
|
## Quando Usar
|
|
27
|
-
- Use quando quiser ir de uma ideia ate um PR com minima intervencao manual
|
|
28
|
-
- Use para features completas que
|
|
29
|
-
- NAO use para tasks pequenas e bem-escopadas
|
|
30
|
-
- NAO use para
|
|
31
|
-
- NAO use quando
|
|
12
|
+
- Use quando quiser ir de uma ideia ate um PR com minima intervencao manual, mas com parada obrigatoria apos o planejamento.
|
|
13
|
+
- Use para features completas que exigem planejamento, execucao, qualidade e prontidao de PR.
|
|
14
|
+
- NAO use para tasks pequenas e bem-escopadas; use `/dw-run` com um plano existente.
|
|
15
|
+
- NAO use para bugfix cirurgico; use `/dw-bugfix`.
|
|
16
|
+
- NAO use quando o usuario quer controle manual entre cada fase; use comandos individuais.
|
|
32
17
|
|
|
33
18
|
## Posicao no Pipeline
|
|
34
|
-
**Antecessor:**
|
|
19
|
+
**Antecessor:** desejo do usuario | **Sucessor:** `/dw-goal`, `/dw-commit`, `/dw-generate-pr`
|
|
35
20
|
|
|
36
|
-
## Skills Complementares
|
|
21
|
+
## Skills / Comandos Complementares
|
|
37
22
|
|
|
38
|
-
| Skill | Gatilho |
|
|
39
|
-
|
|
40
|
-
| `dw-memory` |
|
|
41
|
-
| `dw-verify` |
|
|
23
|
+
| Skill ou comando | Gatilho |
|
|
24
|
+
|------------------|---------|
|
|
25
|
+
| `dw-memory` | SEMPRE — preserva decisoes entre planejamento, goal de execucao, QA, review e PR. |
|
|
26
|
+
| `dw-verify` | SEMPRE — invocado por gates e comandos downstream antes de claims de aprovacao/commit/PR. |
|
|
27
|
+
| `/dw-goal` | SEMPRE na segunda invocacao — objetivo duravel de execucao/qualidade. |
|
|
42
28
|
|
|
43
29
|
## Variaveis de Entrada
|
|
44
30
|
|
|
45
31
|
| Variavel | Descricao | Exemplo |
|
|
46
32
|
|----------|-----------|---------|
|
|
47
|
-
| `{{WISH}}` | Descricao do que o usuario quer construir
|
|
48
|
-
| `{{PRD_SLUG}}` | Slug
|
|
49
|
-
| `{{MODE}}` | Flag opcional de invocacao | `--from-prd <slug>` |
|
|
33
|
+
| `{{WISH}}` | Descricao do que o usuario quer construir no modo padrao. | `"preferencias de notificacao push"` |
|
|
34
|
+
| `{{PRD_SLUG}}` | Slug de PRD existente quando `--from-prd` e usado. | `prd-bugfix-stripe-webhook-retry` |
|
|
35
|
+
| `{{MODE}}` | Flag opcional de invocacao. | `--from-prd <slug>` |
|
|
50
36
|
|
|
51
37
|
## Modos de Invocacao
|
|
52
38
|
|
|
53
39
|
| Invocacao | Comportamento |
|
|
54
40
|
|-----------|---------------|
|
|
55
|
-
| `/dw-autopilot "<wish>"` |
|
|
56
|
-
| `/dw-autopilot --from-prd <slug>` |
|
|
41
|
+
| `/dw-autopilot "<wish>"` | Invocacao de planejamento do zero. Roda Inteligencia do Codebase → Pesquisa opcional → Brainstorm → PRD → TechSpec → Tasks, salva estado e para. |
|
|
42
|
+
| `/dw-autopilot --from-prd <slug>` | Invocacao de planejamento a partir de PRD existente. Comeca em aprovacao do PRD, depois TechSpec → Tasks, salva estado e para. |
|
|
43
|
+
| `/dw-autopilot` em PRD com `autopilot-state.json status=plan_complete` | Invocacao de execucao. Roda `/dw-goal --from-autopilot <slug>`, depois commit e gate de PR. |
|
|
57
44
|
|
|
58
|
-
##
|
|
45
|
+
## Pontos de Pausa Obrigatorios
|
|
59
46
|
|
|
60
|
-
|
|
47
|
+
Autopilot pausa em:
|
|
61
48
|
|
|
62
|
-
1. **
|
|
63
|
-
2. **
|
|
64
|
-
3. **
|
|
49
|
+
1. **Aprovacao do PRD** antes do TechSpec.
|
|
50
|
+
2. **Aprovacao das Tasks** antes de marcar planejamento completo.
|
|
51
|
+
3. **Parada obrigatoria de planejamento** depois que Tasks forem aprovadas e estado salvo.
|
|
52
|
+
4. **Gate de PR** depois que o goal de execucao e commit completarem.
|
|
65
53
|
|
|
66
|
-
|
|
54
|
+
Entre estes pontos, execute automaticamente respeitando perguntas bloqueantes exigidas pelo comando chamado.
|
|
67
55
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
<critical>Leia o arquivo `autopilot-state.json` no diretorio do PRD. Pule TODAS as etapas listadas em `completed_steps`. Retome a execucao a partir de `current_step`. Gates ja passados (listados em `gates_passed`) NAO devem ser reapresentados.</critical>
|
|
56
|
+
## Retomada de Sessao
|
|
71
57
|
|
|
72
|
-
|
|
73
|
-
2. Reporte: "Retomando autopilot da etapa [N] ([nome]). Etapas 1-[N-1] ja completadas."
|
|
74
|
-
3. Continue a execucao normalmente a partir da etapa indicada
|
|
58
|
+
Se este comando for re-invocado no mesmo PRD:
|
|
75
59
|
|
|
76
|
-
|
|
60
|
+
<critical>Leia `.dw/spec/<prd-slug>/autopilot-state.json` primeiro. Se `status` for `plan_complete`, nao repita planejamento. Inicie a invocacao de execucao chamando formalmente `/dw-goal --from-autopilot <prd-slug>`.</critical>
|
|
77
61
|
|
|
78
|
-
|
|
62
|
+
Significados de estado:
|
|
79
63
|
|
|
80
|
-
|
|
64
|
+
| Status | Acao |
|
|
65
|
+
|--------|------|
|
|
66
|
+
| estado ausente | Iniciar invocacao de planejamento normal. |
|
|
67
|
+
| `planning` | Retomar de `current_step`, respeitando etapas completas/puladas. |
|
|
68
|
+
| `plan_complete` | Iniciar invocacao de execucao via `/dw-goal --from-autopilot <prd-slug>`. |
|
|
69
|
+
| `goal_active` | Continuar `/dw-goal resume` ou `/dw-goal --from-autopilot <prd-slug>` conforme `.dw/goals/autopilot-<prd-slug>/status.json`. |
|
|
70
|
+
| `goal_complete` | Continuar para commit e gate de PR. |
|
|
71
|
+
| `completed` | Reportar que ja foi concluido e mostrar resumo de PR/commit se disponivel. |
|
|
81
72
|
|
|
82
|
-
|
|
83
|
-
- Resolva `{{PRD_SLUG}}` para `.dw/spec/<slug>/`.
|
|
84
|
-
- Verifique que o diretorio existe e contem `prd.md`. Se algum faltar, PARE e reporte: `Alvo de --from-prd .dw/spec/<slug>/prd.md nao encontrado. Rode /dw-plan prd ou corrija o slug.`
|
|
85
|
-
- Cheque se algum `.dw/bugfixes/*/escalated.md` referencia esse slug. Se sim, anote no bloco de progresso: `Retomando de escalacao de bugfix: <NNN-bugfix-slug> → <slug>`.
|
|
86
|
-
- Defina `mode: "from-prd"` em `autopilot-state.json` e `skipped_steps: [1, 2, 3, 4]` com `skip_reason: "from-prd-mode"`.
|
|
87
|
-
- Pule direto para o **GATE 1** (aprovacao do PRD) usando o `prd.md` existente.
|
|
73
|
+
## Invocacao de Planejamento
|
|
88
74
|
|
|
89
|
-
|
|
90
|
-
- Defina `mode: "autopilot"` e prossiga para Etapa 1 normalmente.
|
|
75
|
+
### Etapa 0: Resolver modo de invocacao
|
|
91
76
|
|
|
92
|
-
|
|
77
|
+
1. Se `--from-prd <slug>` aparece:
|
|
78
|
+
- Resolva para `.dw/spec/<slug>/`.
|
|
79
|
+
- Verifique que `prd.md` existe; senao PARE com: `Alvo de --from-prd .dw/spec/<slug>/prd.md nao encontrado. Rode /dw-plan prd ou corrija o slug.`
|
|
80
|
+
- Crie ou atualize `autopilot-state.json` com `mode: "from-prd"`, `status: "planning"`, `skipped_steps: [1,2,3,4]`, e `skip_reasons["1-4"] = "from-prd-mode"`.
|
|
81
|
+
- Pule para aprovacao do PRD usando o PRD existente.
|
|
82
|
+
2. Caso contrario:
|
|
83
|
+
- Crie ou atualize `autopilot-state.json` com `mode: "autopilot"`, `status: "planning"`, wish original e `current_step: 1`.
|
|
93
84
|
|
|
94
85
|
### Etapa 1: Inteligencia do Codebase
|
|
95
86
|
|
|
96
|
-
<critical>Se `.dw/intel/` existir,
|
|
87
|
+
<critical>Se `.dw/intel/` existir, consulte via `/dw-intel` antes de planejar. Caia para `.dw/rules/` e grep direto se ausente.</critical>
|
|
97
88
|
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
- Se `.dw/intel/` esta ausente, sugira rodar `/dw-intel --build` primeiro para contexto downstream mais rico
|
|
89
|
+
- Identifique stack, padroes existentes, features relacionadas e restricoes do projeto.
|
|
90
|
+
- Se `.dw/intel/` estiver ausente, sugira `/dw-intel --build` para contexto futuro mais rico, mas continue com `.dw/rules/` e inspecao direta.
|
|
101
91
|
|
|
102
92
|
### Etapa 2: Pesquisa (Condicional)
|
|
103
93
|
|
|
104
|
-
|
|
105
|
-
- **SIM** (execute `/dw-brainstorm --research`): tecnologia nova para o projeto, dominio desconhecido, integracoes com APIs externas, decisoes arquiteturais criticas
|
|
106
|
-
- **NAO** (pule para etapa 3): feature simples no dominio ja mapeado, refatoracao de algo existente, CRUD basico
|
|
107
|
-
- Se pular, DOCUMENTE o motivo no bloco de progresso. Ex: "Pesquisa pulada — dominio ja mapeado em .dw/rules/[arquivo].md". O usuario deve ver a justificativa.
|
|
108
|
-
|
|
109
|
-
Se executar, use modo `standard` por padrao. Incorpore os findings nas etapas seguintes.
|
|
94
|
+
Rode `/dw-brainstorm --research` quando a feature envolver tecnologia nova, dominio desconhecido, APIs externas, regulacao ou arquitetura de alto impacto. Caso contrario, pule e registre o motivo em `skip_reasons`.
|
|
110
95
|
|
|
111
96
|
### Etapa 3: Brainstorm (Interativo)
|
|
112
97
|
|
|
113
|
-
|
|
114
|
-
- Gere 3 direcoes
|
|
115
|
-
- Apresente as 3 direcoes ao usuario com sua recomendacao destacada e justificativa
|
|
116
|
-
- Aguarde confirmacao do usuario sobre qual direcao seguir antes de prosseguir
|
|
117
|
-
|
|
118
|
-
### Etapa 4: PRD (Interativo — 7+ Perguntas)
|
|
119
|
-
|
|
120
|
-
<critical>O PRD DEVE incluir entrevista interativa com o usuario. Faca NO MINIMO 7 perguntas de esclarecimento ANTES de redigir o PRD. NAO responda as perguntas automaticamente com base no contexto — o usuario DEVE responder.</critical>
|
|
98
|
+
Rode `/dw-brainstorm` com o contexto acumulado. Apresente tres direcoes e espere o usuario escolher uma antes de continuar.
|
|
121
99
|
|
|
122
|
-
|
|
123
|
-
- Siga TODAS as instrucoes do comando, especialmente a secao de perguntas de esclarecimento
|
|
124
|
-
- Faca pelo menos 7 perguntas ao usuario sobre: problema, usuarios-alvo, funcionalidades criticas, escopo, restricoes, design, integracao
|
|
125
|
-
- Em cada pergunta, apresente uma recomendacao embasada nos findings do brainstorm e do deep-research (se executado). Ex: "Com base na pesquisa, recomendo X porque [evidencia]. Concorda ou prefere outra direcao?"
|
|
126
|
-
- Aguarde as respostas do usuario para cada pergunta
|
|
127
|
-
- Este passo e BLOQUEANTE — o comando PARA ate receber resposta do usuario para CADA pergunta. Se o usuario nao responder, NAO prossiga. NAO assuma respostas com base no contexto.
|
|
128
|
-
- So apos receber todas as respostas, redija o PRD completo em `.dw/spec/prd-[nome]/prd.md`
|
|
100
|
+
### Etapa 4: PRD
|
|
129
101
|
|
|
130
|
-
|
|
102
|
+
Rode `/dw-plan prd` usando findings de brainstorm/research.
|
|
131
103
|
|
|
132
|
-
|
|
133
|
-
**Em modo `--from-prd`:** o PRD ja existia em disco antes deste run de autopilot comecar (tipicamente redigido por `/dw-bugfix --analise` ou por uma escalacao via safety valve, ou editado a mao).
|
|
104
|
+
<critical>O estagio PRD deve usar a ferramenta de entrevista estruturada quando disponivel. Se indisponivel, faca as perguntas obrigatorias no chat e registre o fallback. O usuario deve responder; nao infira respostas.</critical>
|
|
134
105
|
|
|
135
|
-
|
|
136
|
-
- Resumo dos requisitos funcionais
|
|
137
|
-
- Decisoes tomadas automaticamente (modo padrao) OU nota de origem: "PRD redigido por escalacao do /dw-bugfix em <data>" / "PRD ja existia em disco" (modo --from-prd)
|
|
138
|
-
- Questoes em aberto (se houver)
|
|
106
|
+
Depois que `prd.md` existir, apresente resumo do PRD e aguarde aprovacao explicita. Se o usuario pedir edits, atualize e reapresente.
|
|
139
107
|
|
|
140
|
-
|
|
108
|
+
### Etapa 5: TechSpec
|
|
141
109
|
|
|
142
|
-
|
|
110
|
+
Rode `/dw-plan techspec` a partir do PRD aprovado.
|
|
143
111
|
|
|
144
|
-
<critical>O TechSpec
|
|
112
|
+
<critical>O estagio TechSpec deve usar a ferramenta de entrevista estruturada quando disponivel. Se indisponivel, faca as perguntas obrigatorias no chat e registre o fallback. O usuario deve responder; nao infira respostas.</critical>
|
|
145
113
|
|
|
146
|
-
|
|
147
|
-
- Siga TODAS as instrucoes do comando, especialmente a secao de perguntas de esclarecimento
|
|
148
|
-
- Faca pelo menos 7 perguntas ao usuario sobre: arquitetura preferida, libs existentes vs novas, estrategia de testes, integracao com sistemas existentes, restricoes de infraestrutura, performance, seguranca
|
|
149
|
-
- Em cada pergunta, apresente uma recomendacao tecnica embasada nos findings do brainstorm, deep-research e PRD aprovado. Ex: "A pesquisa indicou que a lib X tem melhor performance para este caso [fonte]. Quer usar X ou tem outra preferencia?"
|
|
150
|
-
- Aguarde as respostas do usuario para cada pergunta
|
|
151
|
-
- Este passo e BLOQUEANTE — o comando PARA ate receber resposta do usuario para CADA pergunta. Se o usuario nao responder, NAO prossiga. NAO assuma respostas com base no contexto.
|
|
152
|
-
- So apos receber todas as respostas, gere em `.dw/spec/prd-[nome]/techspec.md`
|
|
114
|
+
Depois que `techspec.md` existir, apresente resumo do TechSpec e aguarde aprovacao explicita.
|
|
153
115
|
|
|
154
116
|
### Etapa 6: Tasks
|
|
155
117
|
|
|
156
|
-
|
|
157
|
-
-
|
|
158
|
-
-
|
|
159
|
-
|
|
160
|
-
### ═══ GATE 2: Aprovacao das Tasks ═══
|
|
161
|
-
|
|
162
|
-
Apresente ao usuario:
|
|
163
|
-
- Lista de tasks com descricao resumida
|
|
164
|
-
- Dependencias entre tasks
|
|
165
|
-
- Estimativa de esforco total
|
|
166
|
-
|
|
167
|
-
**Aguarde aprovacao explicita.** Se o usuario pedir mudancas, ajuste e reapresente.
|
|
168
|
-
|
|
169
|
-
### Etapa 7: Design Contract (Condicional)
|
|
170
|
-
|
|
171
|
-
Avalie se as tasks envolvem frontend:
|
|
172
|
-
- **SIM** (execute `/dw-redesign-ui`): se houver tasks com componentes visuais E a skill `dw-ui-discipline` estiver disponivel
|
|
173
|
-
- Gere o design contract em `.dw/spec/prd-[nome]/design-contract.md`
|
|
174
|
-
- Apresente um resumo do design contract ao usuario (paleta, tipografia, layout mobile/desktop) como checkpoint visual antes de prosseguir
|
|
175
|
-
- **NAO** (pule para etapa 8): tasks puramente backend/infra
|
|
176
|
-
|
|
177
|
-
### Etapa 8: Execucao
|
|
178
|
-
|
|
179
|
-
Execute `/dw-run` com o path do PRD.
|
|
180
|
-
- Siga TODAS as instrucoes do comando, incluindo o gate nativo do plan-checker (PASS obrigatorio) e execucao paralela em waves via os agentes da skill bundled `dw-execute-phase`
|
|
181
|
-
- Cada task segue `/dw-run` com validacao Level 1
|
|
182
|
-
|
|
183
|
-
### Etapa 9: Review de Implementacao (Loop)
|
|
184
|
-
|
|
185
|
-
<critical>ANTES do review de PRD compliance, execute build e lint do projeto. Se falharem, corrija e re-execute ate passar. O review de implementacao NAO pode comecar com build ou lint quebrados.</critical>
|
|
186
|
-
|
|
187
|
-
Execute build e lint do projeto:
|
|
188
|
-
1. Identifique os comandos de build e lint em `package.json` (scripts `build`, `lint`, `lint:fix`, `type-check`, etc.)
|
|
189
|
-
2. Execute lint com `--fix` habilitado (ex: `npm run lint -- --fix` ou `npx eslint . --fix`) para auto-corrigir o que for possivel
|
|
190
|
-
3. Execute build (ex: `npm run build` ou `npx tsc --noEmit`)
|
|
191
|
-
4. Se algum falhar apos o `--fix`: analise os erros, corrija manualmente, e re-execute
|
|
192
|
-
5. Repita ate que build E lint passem sem erros
|
|
193
|
-
6. So entao prossiga para o review
|
|
194
|
-
|
|
195
|
-
Execute `/dw-review --coverage-only` para verificar PRD compliance (Level 2).
|
|
196
|
-
- Se encontrar gaps: corrija automaticamente e re-execute o review
|
|
197
|
-
- Maximo 3 ciclos de correcao
|
|
198
|
-
- NAO avance para QA ate que o review passe
|
|
118
|
+
Rode `/dw-plan tasks` a partir de PRD + TechSpec. Verifique:
|
|
119
|
+
- `tasks.md` existe.
|
|
120
|
+
- arquivos per-task existem.
|
|
121
|
+
- `tasks-validation.md` existe e passou ou tem override explicito do usuario.
|
|
199
122
|
|
|
200
|
-
|
|
201
|
-
- Output formatado com matriz de compliance exibido ao usuario na propria sessao
|
|
202
|
-
- Veredicto explicito (PASS / GAP / FAIL) para CADA RF do PRD, CADA endpoint da TechSpec e CADA task
|
|
203
|
-
- Se houver gaps: commits de correcao antes de re-executar o review
|
|
204
|
-
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>
|
|
123
|
+
### Etapa 7: Aprovacao das Tasks e Parada Obrigatoria
|
|
205
124
|
|
|
206
|
-
|
|
125
|
+
Apresente resumo das tasks, dependencias e esforco total. Aguarde aprovacao explicita.
|
|
207
126
|
|
|
208
|
-
|
|
209
|
-
- Teste happy paths, edge cases, fluxos negativos, acessibilidade
|
|
210
|
-
- Documente bugs com screenshots
|
|
127
|
+
Apos aprovacao:
|
|
211
128
|
|
|
212
|
-
|
|
213
|
-
- `{{PRD_PATH}}/QA/qa-report.md` — existe e contem secao por RF com PASS/FAIL
|
|
214
|
-
- `{{PRD_PATH}}/QA/bugs.md` — existe (pode ser vazio se sem bugs, mas o arquivo deve existir)
|
|
215
|
-
- `{{PRD_PATH}}/QA/checklist.md` — existe e esta coberto integralmente
|
|
216
|
-
- `{{PRD_PATH}}/QA/screenshots/` — diretorio existe e contem pelo menos 1 PNG por RF testado (formato `RF-XX-[slug]-PASS.png` ou `-FAIL.png`)
|
|
217
|
-
- `{{PRD_PATH}}/QA/scripts/` — diretorio existe e contem scripts Playwright `.spec.ts`/`.spec.js` por RF
|
|
218
|
-
- `{{PRD_PATH}}/QA/logs/` — diretorio existe com logs de console/rede capturados
|
|
219
|
-
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-qa` formalmente e siga o fluxo dele ate o fim.</critical>
|
|
129
|
+
1. Salve `.dw/spec/<prd-slug>/autopilot-state.json` com:
|
|
220
130
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
<critical>ANTES do review pos-QA, execute build e lint novamente com --fix. Correcoes do QA podem ter introduzido novos problemas.</critical>
|
|
230
|
-
|
|
231
|
-
Execute build e lint do projeto (mesma sequencia da Etapa 9):
|
|
232
|
-
1. Lint com `--fix` habilitado
|
|
233
|
-
2. Build
|
|
234
|
-
3. Se falhar: corrija e re-execute ate passar
|
|
235
|
-
|
|
236
|
-
Execute `/dw-review --coverage-only` novamente para confirmar que as correcoes do QA nao quebraram PRD compliance.
|
|
237
|
-
- Se encontrar gaps: corrija e re-execute
|
|
238
|
-
- Maximo 3 ciclos
|
|
239
|
-
|
|
240
|
-
<critical>Artefatos obrigatorios (mesmas regras da Etapa 9): matriz RF-by-RF explicita no output. Sem matriz = comando nao rodou = re-execute.</critical>
|
|
241
|
-
|
|
242
|
-
### Etapa 13: Code Review
|
|
243
|
-
|
|
244
|
-
Execute `/dw-review --code-only` (Level 3) para review formal.
|
|
245
|
-
- Gere relatorio persistido
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"status": "plan_complete",
|
|
134
|
+
"current_step": "goal",
|
|
135
|
+
"next_command": "/dw-goal --from-autopilot <prd-slug>"
|
|
136
|
+
}
|
|
137
|
+
```
|
|
246
138
|
|
|
247
|
-
|
|
139
|
+
2. Inclua `completed_steps` para todas as etapas de planejamento completas e `step_artifacts` para `prd.md`, `techspec.md`, `tasks.md`, arquivos per-task e `tasks-validation.md`.
|
|
140
|
+
3. PARE e diga ao usuario que a fase de planejamento esta completa. Nao rode implementacao nesta invocacao.
|
|
248
141
|
|
|
249
|
-
|
|
142
|
+
## Invocacao de Execucao
|
|
250
143
|
|
|
251
|
-
|
|
144
|
+
### Etapa 8: Goal Duravel de Execucao
|
|
252
145
|
|
|
253
|
-
|
|
146
|
+
Quando `autopilot-state.json status=plan_complete`, invoque formalmente:
|
|
254
147
|
|
|
255
|
-
|
|
148
|
+
```text
|
|
149
|
+
/dw-goal --from-autopilot <prd-slug>
|
|
150
|
+
```
|
|
256
151
|
|
|
257
|
-
|
|
258
|
-
2. **Se nenhum match for encontrado:** o índice de bugfix não espera write-back. Pule silenciosamente e continue para Etapa 14.
|
|
259
|
-
3. **Se `SUMMARY.md` já existir no diretório:** não sobrescreva. Continue para Etapa 14 — humano ou run anterior já fechou o loop.
|
|
260
|
-
4. **Caso contrário, escreva `SUMMARY.md`** usando `.dw/templates/bugfix-summary-template.md`. Origem dos campos:
|
|
261
|
-
- **Sintoma (verbatim):** seção `Sintoma` de `<prd_path>/prd.md`, ou o primeiro parágrafo do `TASK.md` original se o PRD não carregar.
|
|
262
|
-
- **Causa Raiz:** seção Causa Raiz do `TASK.md` original.
|
|
263
|
-
- **Resolução (2–4 bullets):** destilada das decisões em `<prd_path>/techspec.md` + resumo de `git diff <base>...HEAD --stat`.
|
|
264
|
-
- **Arquivos Tocados:** parseado de `git diff <base>...HEAD --name-only` (exclua paths em `.dw/`). Se >5 arquivos, é esperado para bugfix escalado — liste todos e adicione nota "escalado de bugfix por causa do escopo".
|
|
265
|
-
- **Verificação:** aponte para `<prd_path>/QA/qa-report.md` e o relatório verify referenciado na saída de sessão da Etapa 9.
|
|
266
|
-
- **Relacionado — Concerns tocados:** copie das entradas correspondentes em `.dw/rules/concerns.md` se alguma row referenciar módulos em Arquivos Tocados.
|
|
267
|
-
- **Frontmatter:** `slug: NNN-<slug>`, `created: <data ISO de hoje>`, `status: Fixed`, `severity: <inferida da prioridade do PRD ou Medium default>`, `related_concerns: [lista de cima]`.
|
|
268
|
-
5. **Anexe uma linha final** ao `escalated.md`: `Closed by /dw-autopilot --from-prd on <YYYY-MM-DD>; SUMMARY.md written.` Preserve a linha original da escalação acima.
|
|
269
|
-
6. **Registre o artefato** em `autopilot-state.json` `step_artifacts["13.5"] = [".dw/bugfixes/NNN-<slug>/SUMMARY.md", ".dw/bugfixes/NNN-<slug>/escalated.md"]`.
|
|
152
|
+
O goal e dono desta sequencia:
|
|
270
153
|
|
|
271
|
-
|
|
154
|
+
1. `/dw-run <prd-path>`
|
|
155
|
+
2. `/dw-review <prd-path>` (review completo: cobertura, qualidade, convencoes, seguranca, constitution, verify)
|
|
156
|
+
3. `/dw-qa <prd-path>`
|
|
157
|
+
4. `/dw-qa --fix <prd-path>` se QA encontrou bugs Open
|
|
158
|
+
5. `/dw-review <prd-path>` novamente apos QA/fixes
|
|
272
159
|
|
|
273
|
-
|
|
160
|
+
<critical>Nao substitua os reviews do goal por `/dw-review --coverage-only`. O goal de qualidade do autopilot exige `/dw-review` completo antes do QA e depois dos fixes de QA.</critical>
|
|
274
161
|
|
|
275
|
-
|
|
162
|
+
Depois que `/dw-goal` completar, verifique que `.dw/goals/autopilot-<prd-slug>/status.json` tem `status: "complete"`, entao defina `autopilot-state.json status: "goal_complete"`.
|
|
276
163
|
|
|
277
|
-
|
|
164
|
+
### Etapa 9: Fechar Loop de Bugfix (Condicional)
|
|
278
165
|
|
|
279
|
-
|
|
280
|
-
-
|
|
281
|
-
- `
|
|
282
|
-
-
|
|
283
|
-
-
|
|
284
|
-
- `{{PRD_PATH}}/QA/scripts/` (nao vazio com arquivos `.spec.*`)
|
|
285
|
-
- `{{PRD_PATH}}/QA/logs/`
|
|
286
|
-
- Evidencia do ultimo `/dw-review --coverage-only` com matriz RF-by-RF (output da sessao ou referencia em `autopilot-state.json`)
|
|
166
|
+
Se `mode == "from-prd"` e o slug do PRD casar com `prd-bugfix-*`, feche o indice de bugfix antes do commit:
|
|
167
|
+
- Encontre `.dw/bugfixes/*/escalated.md` que referencia o slug do PRD.
|
|
168
|
+
- Se `SUMMARY.md` estiver ausente, escreva usando evidencias disponiveis de PRD, TechSpec, QA e diff com `.dw/templates/bugfix-summary-template.md`.
|
|
169
|
+
- Nunca fabrique evidencia de verificacao.
|
|
170
|
+
- Registre artefatos em `autopilot-state.json`.
|
|
287
171
|
|
|
288
|
-
|
|
289
|
-
- Toda etapa de 1 a 13 (e 13.5 quando em modo `--from-prd` contra um PRD `prd-bugfix-*`) que NAO esta em `skipped_steps` deve estar em `completed_steps`
|
|
290
|
-
- Cada etapa completada deve ter seus artefatos listados em `step_artifacts`
|
|
172
|
+
### Etapa 10: Auditoria Pre-Commit
|
|
291
173
|
|
|
292
|
-
|
|
174
|
+
Antes de `/dw-commit`, verifique:
|
|
175
|
+
- `.dw/goals/autopilot-<prd-slug>/status.json` esta completo.
|
|
176
|
+
- `<prd-path>/QA/review-consolidated.md` existe a partir do review final pos-QA.
|
|
177
|
+
- `<prd-path>/QA/qa-report.md` e `<prd-path>/QA/bugs.md` existem.
|
|
178
|
+
- `autopilot-state.json` registra artefatos de planejamento e o goal completo.
|
|
293
179
|
|
|
294
|
-
|
|
180
|
+
Se algo estiver faltando, PARE e re-execute o comando formal ausente. Nao faca commit parcial.
|
|
295
181
|
|
|
296
|
-
|
|
297
|
-
- Commits semanticos seguindo Conventional Commits
|
|
298
|
-
- NAO aguarde aprovacao
|
|
182
|
+
### Etapa 11: Commit
|
|
299
183
|
|
|
300
|
-
|
|
184
|
+
Rode `/dw-commit` automaticamente. Nao aguarde aprovacao depois que o goal estiver completo.
|
|
301
185
|
|
|
302
|
-
|
|
186
|
+
### Etapa 12: Gate de Pull Request
|
|
303
187
|
|
|
304
|
-
|
|
305
|
-
- **NAO**: informe que os commits estao prontos e o usuario pode gerar o PR manualmente depois
|
|
188
|
+
Pergunte: **"Commits realizados. Deseja gerar o Pull Request?"**
|
|
306
189
|
|
|
307
|
-
|
|
190
|
+
- SIM: rode `/dw-generate-pr`.
|
|
191
|
+
- NAO: informe que os commits estao prontos e o PR pode ser gerado depois.
|
|
308
192
|
|
|
309
|
-
|
|
193
|
+
Marque `autopilot-state.json status: "completed"` apos commit, e inclua link do PR se gerado.
|
|
310
194
|
|
|
311
195
|
## Persistencia de Estado
|
|
312
196
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
Salve o arquivo `.dw/spec/prd-[nome]/autopilot-state.json` com o seguinte formato:
|
|
197
|
+
`autopilot-state.json` deve incluir:
|
|
316
198
|
|
|
317
199
|
```json
|
|
318
200
|
{
|
|
319
201
|
"mode": "autopilot",
|
|
202
|
+
"status": "planning",
|
|
320
203
|
"wish": "descricao original do usuario",
|
|
321
|
-
"prd_path": ".dw/spec/prd-
|
|
204
|
+
"prd_path": ".dw/spec/prd-name",
|
|
322
205
|
"from_prd_slug": null,
|
|
323
|
-
"current_step":
|
|
324
|
-
"completed_steps": [
|
|
325
|
-
"skipped_steps": [
|
|
326
|
-
"skip_reasons": {
|
|
327
|
-
"gates_passed": [
|
|
328
|
-
"step_artifacts": {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
".dw/spec/prd-[nome]/QA/checklist.md",
|
|
334
|
-
".dw/spec/prd-[nome]/QA/screenshots/",
|
|
335
|
-
".dw/spec/prd-[nome]/QA/scripts/",
|
|
336
|
-
".dw/spec/prd-[nome]/QA/logs/"
|
|
337
|
-
],
|
|
338
|
-
"12": ["review-matrix-post-qa-shown-in-session"]
|
|
339
|
-
},
|
|
340
|
-
"started_at": "2026-04-10T14:30:00Z",
|
|
341
|
-
"last_updated": "2026-04-10T15:45:00Z"
|
|
206
|
+
"current_step": 1,
|
|
207
|
+
"completed_steps": [],
|
|
208
|
+
"skipped_steps": [],
|
|
209
|
+
"skip_reasons": {},
|
|
210
|
+
"gates_passed": [],
|
|
211
|
+
"step_artifacts": {},
|
|
212
|
+
"goal_slug": null,
|
|
213
|
+
"next_command": null,
|
|
214
|
+
"started_at": "2026-05-20T00:00:00Z",
|
|
215
|
+
"last_updated": "2026-05-20T00:00:00Z"
|
|
342
216
|
}
|
|
343
217
|
```
|
|
344
218
|
|
|
345
|
-
|
|
346
|
-
- Uma etapa SO vai para `completed_steps` apos verificar que seus artefatos existem no disco
|
|
347
|
-
- Se a sessao cair, re-invoque `/dw-autopilot` no mesmo PRD; o comando le `autopilot-state.json` e continua da etapa correta, revalidando artefatos antes de confiar em `completed_steps`
|
|
348
|
-
- Ao finalizar o pipeline (apos commit ou PR), remova o arquivo ou marque `"status": "completed"`
|
|
349
|
-
- Em modo `--from-prd`, defina `from_prd_slug: "<slug>"`, `mode: "from-prd"` e inclua as etapas 1–4 em `skipped_steps` com `skip_reason: "from-prd-mode"` — e isso que a auditoria de pre-commit checa (Etapa 14 verifica que toda etapa NAO listada em `skipped_steps` esta em `completed_steps`)
|
|
350
|
-
|
|
351
|
-
<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>
|
|
219
|
+
Atualize estado depois de cada etapa completa ou pulada. Uma etapa so esta completa depois que artefatos obrigatorios existem.
|
|
352
220
|
|
|
353
221
|
## Formato de Progresso
|
|
354
222
|
|
|
355
|
-
|
|
356
|
-
|
|
223
|
+
Reporte progresso depois de cada etapa:
|
|
224
|
+
|
|
225
|
+
```text
|
|
226
|
+
=== AUTOPILOT =====================================
|
|
227
|
+
OK [1] Inteligencia do Codebase
|
|
228
|
+
OK [2] Pesquisa (pulada — dominio conhecido)
|
|
229
|
+
OK [3] Brainstorm
|
|
230
|
+
OK [4] PRD
|
|
231
|
+
OK [5] TechSpec
|
|
232
|
+
OK [6] Tasks
|
|
233
|
+
STOP [PLAN COMPLETE] Proximo: /dw-goal --from-autopilot prd-name
|
|
234
|
+
===================================================
|
|
357
235
|
```
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
236
|
+
|
|
237
|
+
Durante a invocacao de execucao:
|
|
238
|
+
|
|
239
|
+
```text
|
|
240
|
+
=== AUTOPILOT =====================================
|
|
241
|
+
OK [PLAN] Ja completo
|
|
242
|
+
RUN [GOAL] /dw-goal --from-autopilot prd-name
|
|
243
|
+
NEXT [COMMIT] apos goal status=complete
|
|
244
|
+
===================================================
|
|
365
245
|
```
|
|
366
246
|
|
|
367
|
-
##
|
|
247
|
+
## Anti-patterns
|
|
368
248
|
|
|
369
|
-
|
|
370
|
-
-
|
|
371
|
-
-
|
|
372
|
-
-
|
|
249
|
+
- Nao continue para implementacao durante a primeira invocacao.
|
|
250
|
+
- Nao pule `/dw-goal` durante a segunda invocacao.
|
|
251
|
+
- Nao substitua `/dw-review` completo por review mais estreito no goal de execucao.
|
|
252
|
+
- Nao marque estado completo a partir de validacao manual.
|
|
253
|
+
- Nao reexecute planejamento quando `status=plan_complete`; retome o goal.
|
|
373
254
|
|
|
374
255
|
</system_instructions>
|
|
@@ -279,7 +279,7 @@
|
|
|
279
279
|
|
|
280
280
|
Próximo — escolha um:
|
|
281
281
|
- Cadeia manual: `/dw-plan techspec prd-bugfix-<slug>` → `/dw-plan tasks prd-bugfix-<slug>` → `/dw-run` → `/dw-qa` → `/dw-review` → `/dw-commit` → `/dw-generate-pr`.
|
|
282
|
-
- Entregar pro autopilot: `/dw-autopilot --from-prd prd-bugfix-<slug>` —
|
|
282
|
+
- Entregar pro autopilot: `/dw-autopilot --from-prd prd-bugfix-<slug>` — roda a fase de planejamento a partir do PRD existente, para depois de Tasks, e uma invocacao posterior retoma via `/dw-goal`.
|
|
283
283
|
```
|
|
284
284
|
|
|
285
285
|
5. Pare este comando. Não avance para o passo 5. O usuário (ou autopilot) invoca `/dw-plan` ou `/dw-autopilot --from-prd` em seguida.
|
|
@@ -363,7 +363,8 @@
|
|
|
363
363
|
|
|
364
364
|
Opção B (entregar pro autopilot):
|
|
365
365
|
1. Rode: `/dw-autopilot --from-prd prd-bugfix-<slug>`
|
|
366
|
-
2. Autopilot
|
|
366
|
+
2. Autopilot roda aprovacao do PRD, TechSpec e Tasks, depois para com `status: plan_complete`.
|
|
367
|
+
3. Uma invocacao posterior do autopilot retoma via `/dw-goal --from-autopilot prd-bugfix-<slug>` para Run, Review completo, QA/Fix e Review completo pos-QA antes de commit/PR.
|
|
367
368
|
|
|
368
369
|
O índice do bugfix continua queryable via `/dw-intel "bugfix history in <module>"`. Downstream `/dw-review --bugfix <slug>` e `/dw-qa --bugfix <slug>` ainda apontam para `.dw/bugfixes/NNN-<slug>/` quando quiser uma revisão focada apenas no patch cirúrgico final.
|
|
369
370
|
```
|