@brunosps00/dev-workflow 0.13.0 → 1.0.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 +106 -122
- package/lib/constants.js +16 -36
- package/lib/migrate-skills.js +11 -4
- package/lib/removed-commands.js +30 -0
- package/package.json +1 -1
- package/scaffold/en/agent-instructions.md +27 -16
- package/scaffold/en/commands/dw-adr.md +2 -2
- package/scaffold/en/commands/dw-analyze-project.md +7 -7
- package/scaffold/en/commands/dw-autopilot.md +20 -20
- package/scaffold/en/commands/dw-brainstorm.md +160 -9
- package/scaffold/en/commands/dw-bugfix.md +7 -6
- package/scaffold/en/commands/dw-commit.md +1 -1
- package/scaffold/en/commands/dw-dockerize.md +9 -9
- package/scaffold/en/commands/dw-find-skills.md +4 -4
- package/scaffold/en/commands/dw-functional-doc.md +2 -2
- package/scaffold/en/commands/dw-generate-pr.md +4 -4
- package/scaffold/en/commands/dw-help.md +95 -351
- package/scaffold/en/commands/dw-intel.md +76 -12
- package/scaffold/en/commands/dw-new-project.md +9 -9
- package/scaffold/en/commands/dw-plan.md +175 -0
- package/scaffold/en/commands/dw-qa.md +166 -0
- package/scaffold/en/commands/dw-redesign-ui.md +7 -7
- package/scaffold/en/commands/dw-review.md +198 -0
- package/scaffold/en/commands/dw-run.md +176 -0
- package/scaffold/en/commands/dw-secure-audit.md +222 -0
- package/scaffold/en/commands/dw-update.md +1 -1
- package/scaffold/en/references/playwright-patterns.md +1 -1
- package/scaffold/en/references/refactoring-catalog.md +1 -1
- package/scaffold/en/templates/brainstorm-matrix.md +1 -1
- package/scaffold/en/templates/idea-onepager.md +3 -3
- package/scaffold/en/templates/project-onepager.md +5 -5
- package/scaffold/pt-br/agent-instructions.md +27 -16
- package/scaffold/pt-br/commands/dw-adr.md +2 -2
- package/scaffold/pt-br/commands/dw-analyze-project.md +7 -7
- package/scaffold/pt-br/commands/dw-autopilot.md +20 -20
- package/scaffold/pt-br/commands/dw-brainstorm.md +160 -9
- package/scaffold/pt-br/commands/dw-bugfix.md +10 -9
- package/scaffold/pt-br/commands/dw-commit.md +1 -1
- package/scaffold/pt-br/commands/dw-dockerize.md +9 -9
- package/scaffold/pt-br/commands/dw-find-skills.md +4 -4
- package/scaffold/pt-br/commands/dw-functional-doc.md +2 -2
- package/scaffold/pt-br/commands/dw-generate-pr.md +4 -4
- package/scaffold/pt-br/commands/dw-help.md +97 -300
- package/scaffold/pt-br/commands/dw-intel.md +77 -13
- package/scaffold/pt-br/commands/dw-new-project.md +9 -9
- package/scaffold/pt-br/commands/dw-plan.md +175 -0
- package/scaffold/pt-br/commands/dw-qa.md +166 -0
- package/scaffold/pt-br/commands/dw-redesign-ui.md +7 -7
- package/scaffold/pt-br/commands/dw-review.md +198 -0
- package/scaffold/pt-br/commands/dw-run.md +176 -0
- package/scaffold/pt-br/commands/dw-secure-audit.md +222 -0
- package/scaffold/pt-br/commands/dw-update.md +1 -1
- package/scaffold/pt-br/references/playwright-patterns.md +1 -1
- package/scaffold/pt-br/references/refactoring-catalog.md +1 -1
- package/scaffold/pt-br/templates/brainstorm-matrix.md +1 -1
- package/scaffold/pt-br/templates/idea-onepager.md +3 -3
- package/scaffold/pt-br/templates/project-onepager.md +5 -5
- package/scaffold/pt-br/templates/tasks-template.md +1 -1
- package/scaffold/skills/api-testing-recipes/SKILL.md +6 -6
- package/scaffold/skills/api-testing-recipes/references/auth-patterns.md +1 -1
- package/scaffold/skills/api-testing-recipes/references/matrix-conventions.md +1 -1
- package/scaffold/skills/api-testing-recipes/references/openapi-driven.md +3 -3
- package/scaffold/skills/docker-compose-recipes/SKILL.md +1 -1
- package/scaffold/skills/dw-codebase-intel/SKILL.md +9 -9
- package/scaffold/skills/dw-codebase-intel/agents/intel-updater.md +4 -4
- package/scaffold/skills/dw-codebase-intel/references/api-design-discipline.md +1 -1
- package/scaffold/skills/dw-codebase-intel/references/incremental-update.md +5 -5
- package/scaffold/skills/dw-codebase-intel/references/intel-format.md +1 -1
- package/scaffold/skills/dw-codebase-intel/references/query-patterns.md +3 -3
- package/scaffold/skills/dw-council/SKILL.md +2 -2
- package/scaffold/skills/dw-debug-protocol/SKILL.md +5 -3
- package/scaffold/skills/dw-execute-phase/SKILL.md +16 -16
- package/scaffold/skills/dw-execute-phase/agents/executor.md +5 -5
- package/scaffold/skills/dw-execute-phase/agents/plan-checker.md +4 -4
- package/scaffold/skills/dw-execute-phase/references/atomic-commits.md +1 -1
- package/scaffold/skills/dw-execute-phase/references/plan-verification.md +2 -2
- package/scaffold/skills/dw-execute-phase/references/wave-coordination.md +1 -1
- package/scaffold/skills/dw-git-discipline/SKILL.md +5 -2
- package/scaffold/skills/dw-incident-response/SKILL.md +168 -0
- package/scaffold/skills/dw-incident-response/references/blameless-discipline.md +126 -0
- package/scaffold/skills/dw-incident-response/references/communication-templates.md +107 -0
- package/scaffold/skills/dw-incident-response/references/postmortem-template.md +133 -0
- package/scaffold/skills/dw-incident-response/references/runbook-templates.md +169 -0
- package/scaffold/skills/dw-incident-response/references/severity-and-triage.md +186 -0
- package/scaffold/skills/dw-llm-eval/SKILL.md +150 -0
- package/scaffold/skills/dw-llm-eval/references/agent-eval.md +252 -0
- package/scaffold/skills/dw-llm-eval/references/judge-calibration.md +169 -0
- package/scaffold/skills/dw-llm-eval/references/oracle-ladder.md +171 -0
- package/scaffold/skills/dw-llm-eval/references/rag-metrics.md +186 -0
- package/scaffold/skills/dw-llm-eval/references/reference-dataset.md +190 -0
- package/scaffold/skills/dw-memory/SKILL.md +2 -2
- package/scaffold/skills/dw-review-rigor/SKILL.md +5 -5
- package/scaffold/skills/dw-simplification/SKILL.md +4 -4
- package/scaffold/skills/dw-source-grounding/SKILL.md +1 -1
- package/scaffold/skills/dw-testing-discipline/SKILL.md +103 -78
- package/scaffold/skills/dw-testing-discipline/references/agent-guardrails.md +170 -0
- package/scaffold/skills/dw-testing-discipline/references/anti-patterns.md +7 -7
- package/scaffold/skills/dw-testing-discipline/references/core-rules.md +128 -0
- package/scaffold/skills/dw-testing-discipline/references/flaky-discipline.md +3 -3
- package/scaffold/skills/dw-testing-discipline/references/{positive-patterns.md → patterns.md} +1 -1
- package/scaffold/skills/dw-testing-discipline/references/playwright-recipes.md +3 -3
- package/scaffold/skills/dw-ui-discipline/SKILL.md +103 -79
- package/scaffold/skills/dw-ui-discipline/references/accessibility-floor.md +2 -2
- package/scaffold/skills/dw-ui-discipline/references/hard-gate.md +93 -73
- package/scaffold/skills/dw-ui-discipline/references/state-matrix.md +1 -1
- package/scaffold/skills/dw-ui-discipline/references/visual-slop.md +152 -0
- package/scaffold/skills/dw-verify/SKILL.md +4 -4
- package/scaffold/skills/humanizer/SKILL.md +1 -7
- package/scaffold/skills/remotion-best-practices/SKILL.md +3 -1
- package/scaffold/skills/security-review/SKILL.md +1 -1
- package/scaffold/skills/security-review/languages/csharp.md +1 -1
- package/scaffold/skills/security-review/languages/rust.md +1 -1
- package/scaffold/skills/security-review/languages/typescript.md +1 -1
- package/scaffold/skills/vercel-react-best-practices/SKILL.md +3 -1
- package/scaffold/templates-overrides-readme.md +3 -3
- package/scaffold/en/commands/dw-code-review.md +0 -385
- package/scaffold/en/commands/dw-create-prd.md +0 -148
- package/scaffold/en/commands/dw-create-tasks.md +0 -195
- package/scaffold/en/commands/dw-create-techspec.md +0 -210
- package/scaffold/en/commands/dw-deep-research.md +0 -418
- package/scaffold/en/commands/dw-deps-audit.md +0 -327
- package/scaffold/en/commands/dw-fix-qa.md +0 -152
- package/scaffold/en/commands/dw-map-codebase.md +0 -125
- package/scaffold/en/commands/dw-refactoring-analysis.md +0 -340
- package/scaffold/en/commands/dw-revert-task.md +0 -114
- package/scaffold/en/commands/dw-review-implementation.md +0 -349
- package/scaffold/en/commands/dw-run-plan.md +0 -300
- package/scaffold/en/commands/dw-run-qa.md +0 -496
- package/scaffold/en/commands/dw-run-task.md +0 -209
- package/scaffold/en/commands/dw-security-check.md +0 -271
- package/scaffold/pt-br/commands/dw-code-review.md +0 -365
- package/scaffold/pt-br/commands/dw-create-prd.md +0 -148
- package/scaffold/pt-br/commands/dw-create-tasks.md +0 -195
- package/scaffold/pt-br/commands/dw-create-techspec.md +0 -208
- package/scaffold/pt-br/commands/dw-deep-research.md +0 -172
- package/scaffold/pt-br/commands/dw-deps-audit.md +0 -327
- package/scaffold/pt-br/commands/dw-fix-qa.md +0 -152
- package/scaffold/pt-br/commands/dw-map-codebase.md +0 -125
- package/scaffold/pt-br/commands/dw-refactoring-analysis.md +0 -340
- package/scaffold/pt-br/commands/dw-revert-task.md +0 -114
- package/scaffold/pt-br/commands/dw-review-implementation.md +0 -337
- package/scaffold/pt-br/commands/dw-run-plan.md +0 -296
- package/scaffold/pt-br/commands/dw-run-qa.md +0 -494
- package/scaffold/pt-br/commands/dw-run-task.md +0 -208
- package/scaffold/pt-br/commands/dw-security-check.md +0 -271
- package/scaffold/skills/dw-testing-discipline/references/ai-agent-gates.md +0 -170
- package/scaffold/skills/dw-testing-discipline/references/iron-laws.md +0 -128
- package/scaffold/skills/dw-ui-discipline/references/anti-slop.md +0 -162
|
@@ -94,12 +94,12 @@ services: []
|
|
|
94
94
|
|
|
95
95
|
## MVP Scope
|
|
96
96
|
|
|
97
|
-
[The smallest first feature you'll ship. Thought as user stories — this should drive the first /dw-
|
|
97
|
+
[The smallest first feature you'll ship. Thought as user stories — this should drive the first /dw-plan prd run.]
|
|
98
98
|
|
|
99
99
|
- As a [persona], I can [action] so that [benefit]
|
|
100
100
|
- As a [persona], I can [action] so that [benefit]
|
|
101
101
|
|
|
102
|
-
If you don't have a first feature in mind yet, that's OK — leave a placeholder and run /dw-
|
|
102
|
+
If you don't have a first feature in mind yet, that's OK — leave a placeholder and run /dw-plan prd when ready.
|
|
103
103
|
|
|
104
104
|
## Not Doing (explicit)
|
|
105
105
|
|
|
@@ -115,7 +115,7 @@ If you don't have a first feature in mind yet, that's OK — leave a placeholder
|
|
|
115
115
|
|
|
116
116
|
## Open Questions
|
|
117
117
|
|
|
118
|
-
[Things this one-pager cannot answer alone. Resolve before /dw-
|
|
118
|
+
[Things this one-pager cannot answer alone. Resolve before /dw-plan prd or escalate to a stakeholder.]
|
|
119
119
|
|
|
120
120
|
- [question 1]
|
|
121
121
|
- [question 2]
|
|
@@ -124,6 +124,6 @@ If you don't have a first feature in mind yet, that's OK — leave a placeholder
|
|
|
124
124
|
|
|
125
125
|
Pick ONE:
|
|
126
126
|
|
|
127
|
-
- **`/dw-
|
|
127
|
+
- **`/dw-plan prd`** — when you have a first feature in mind and want to draft the PRD on top of this stack
|
|
128
128
|
- **`/dw-analyze-project`** — after the first substantial commit, to enrich `.dw/rules/` with module-level conventions
|
|
129
|
-
- **`/dw-
|
|
129
|
+
- **`/dw-secure-audit --plan --scan-only`** — to confirm no vulnerable deps shipped from the `create-*` templates
|
|
@@ -11,28 +11,42 @@ Este projeto usa [`@brunosps00/dev-workflow`](https://www.npmjs.com/package/@bru
|
|
|
11
11
|
|------------------------------------------------|--------------|
|
|
12
12
|
| "Implementa X" / "Cria Y" / "Adiciona feature Z" / "Preciso de..." | `/dw-autopilot "X"` |
|
|
13
13
|
| Erro colado / "X está quebrado" / "Bug em Y" / screenshot de teste falhando | `/dw-bugfix "X"` |
|
|
14
|
-
| "
|
|
15
|
-
| "
|
|
16
|
-
| "
|
|
14
|
+
| "Planeja essa feature" / "Escreve PRD + techspec + tasks" | `/dw-plan "X"` |
|
|
15
|
+
| "Escreve PRD pra X" / "Especifica Y" | `/dw-plan prd "X"` |
|
|
16
|
+
| "Desenha a arquitetura" / "Faz o techspec" | `/dw-plan techspec` |
|
|
17
|
+
| "Quebra em tasks" | `/dw-plan tasks` |
|
|
18
|
+
| "Roda essa task" (com ID da task) | `/dw-run <ID>` |
|
|
19
|
+
| "Roda todas as tasks pendentes" / "Executa o plano" | `/dw-run` |
|
|
20
|
+
| "Continue de onde parei" | `/dw-run --resume` |
|
|
21
|
+
| "QA dessa feature" / "Roda o test plan" | `/dw-qa` |
|
|
22
|
+
| "Corrige os bugs do QA" | `/dw-qa --fix` |
|
|
23
|
+
| "Avalia a feature AI" / "Testa o RAG / classifier" | `/dw-qa --ai` |
|
|
24
|
+
| "Revisa meu PR" / "Checa qualidade" / "Tá pronto pra subir?" | `/dw-review` |
|
|
25
|
+
| "Só checagem de cobertura PRD" | `/dw-review --coverage-only` |
|
|
26
|
+
| "Só code review qualidade" | `/dw-review --code-only` |
|
|
17
27
|
| "Hora de commitar" / mudanças validadas e prontas | `/dw-commit` |
|
|
18
28
|
| "Abre um PR" / "Sobe isso" | `/dw-generate-pr` |
|
|
19
|
-
| "
|
|
20
|
-
| "
|
|
21
|
-
| "
|
|
29
|
+
| "Brainstorm X" / "Explora ideias" | `/dw-brainstorm "X"` |
|
|
30
|
+
| "Research X" / "Compara A vs B com citações" | `/dw-brainstorm --research "X"` |
|
|
31
|
+
| "Auditoria de saúde do código" / "Tech debt" / "Oportunidades de refactor" | `/dw-brainstorm --refactor` |
|
|
22
32
|
| "Onde está X?" / "O que usa Y?" / "Como Z é estruturado?" | `/dw-intel "<pergunta>"` |
|
|
23
|
-
| "
|
|
24
|
-
| "
|
|
25
|
-
| "
|
|
26
|
-
| "
|
|
33
|
+
| "Reconstrói o índice" / "Refresh do intel" | `/dw-intel --build` |
|
|
34
|
+
| "Redesign dessa UI" / "Audita e entrega novo design" | `/dw-redesign-ui "<target>"` |
|
|
35
|
+
| "Audita dependências" / "Estamos atrasados em pacotes?" | `/dw-secure-audit --plan` |
|
|
36
|
+
| "Scan de vulnerabilidades" / "Check de segurança" | `/dw-secure-audit` |
|
|
37
|
+
| "Analisa esse projeto" / "Gera rules" | `/dw-analyze-project` |
|
|
38
|
+
| "Abre um novo projeto" / "Bootstrap de stack" | `/dw-new-project` |
|
|
39
|
+
| "Dockeriza isso" / "Adiciona docker-compose" | `/dw-dockerize` |
|
|
40
|
+
| "Functional doc" / "Mapeia screens e flows" | `/dw-functional-doc` |
|
|
27
41
|
|
|
28
42
|
**Prioridade:** na dúvida entre dois comandos, `/dw-autopilot` é o default mais seguro pra qualquer pedido de feature não-trivial — ele compõe os demais.
|
|
29
43
|
|
|
30
44
|
## Hard Gates (os comandos enforçam — não burle)
|
|
31
45
|
|
|
32
46
|
- **`.dw/constitution.md`**: princípios com `severity: high` ou `critical` bloqueiam PRs / techspecs sem um ADR justificando o desvio. Constitution ausente? Os comandos auto-instalam defaults em `severity: info` (não-bloqueante) e seguem — ausência nunca bloqueia.
|
|
33
|
-
- **`.dw/spec/<prd>/tasks-validation.md`**: auto-gerado no fim do `/dw-
|
|
47
|
+
- **`.dw/spec/<prd>/tasks-validation.md`**: auto-gerado no fim do `/dw-plan tasks`. Qualquer dimensão FAIL bloqueia approval do usuário até resolver ou override explícito.
|
|
34
48
|
- **Verification**: `/dw-generate-pr` exige `dw-verify` PASS fresco (testes + lint + build) depois do último edit.
|
|
35
|
-
- **Segurança**: projetos TS / Python / C# / Rust precisam passar `/dw-
|
|
49
|
+
- **Segurança**: projetos TS / Python / C# / Rust precisam passar `/dw-secure-audit` (Trivy + OWASP + lockfile audit) antes do PR abrir.
|
|
36
50
|
|
|
37
51
|
## Escape Hatches — NÃO auto-trigger
|
|
38
52
|
|
|
@@ -52,10 +66,7 @@ Quando qualquer destes se aplica, responda direto e **não** invoque comando `dw
|
|
|
52
66
|
|
|
53
67
|
--- OU passo a passo ---
|
|
54
68
|
|
|
55
|
-
/dw-brainstorm ─► /dw-
|
|
56
|
-
│
|
|
57
|
-
▼
|
|
58
|
-
/dw-commit + /dw-generate-pr ◄──── /dw-code-review ◄──── /dw-run-plan
|
|
69
|
+
/dw-brainstorm ─► /dw-plan ─► /dw-run ─► /dw-qa ─► /dw-review ─► /dw-commit ─► /dw-generate-pr
|
|
59
70
|
```
|
|
60
71
|
|
|
61
72
|
Lista completa e ajuda contextual: `/dw-help`.
|
|
@@ -3,12 +3,12 @@ Você é um registrador de decisões arquiteturais. Sua função é criar um **A
|
|
|
3
3
|
|
|
4
4
|
## Quando Usar
|
|
5
5
|
- Use quando uma decisão arquitetural ou de design foi tomada e precisa ser registrada para referência futura (escolha de biblioteca, padrão de comunicação, tradeoff de performance, restrição imposta por compliance, etc.)
|
|
6
|
-
- Use durante `/dw-
|
|
6
|
+
- Use durante `/dw-plan techspec` ou `/dw-run` quando a justificativa da decisão não cabe no techspec nem no task file
|
|
7
7
|
- NÃO use para decisões triviais ou reversíveis sem custo (escolha de nome de variável, ordem de import)
|
|
8
8
|
- NÃO use para registrar bugs ou incidents (use `/dw-bugfix` ou notas operacionais)
|
|
9
9
|
|
|
10
10
|
## Posição no Pipeline
|
|
11
|
-
**Antecessor:** qualquer ponto do pipeline após `/dw-
|
|
11
|
+
**Antecessor:** qualquer ponto do pipeline após `/dw-plan prd` | **Sucessor:** continua o fluxo anterior (techspec, task, review)
|
|
12
12
|
|
|
13
13
|
O ADR é **aditivo**: ele não substitui nenhuma etapa do pipeline. Qualquer command existente pode invocar `/dw-adr` quando uma decisão não-trivial precisar de registro permanente.
|
|
14
14
|
|
|
@@ -24,10 +24,10 @@ Você é um assistente especializado em análise de projetos de software. Sua ta
|
|
|
24
24
|
|
|
25
25
|
## Consumidores da Saída
|
|
26
26
|
As rules geradas por este comando são consumidas por:
|
|
27
|
-
- `/dw-run
|
|
28
|
-
- `/dw-code-
|
|
29
|
-
- `/dw-
|
|
30
|
-
- `/dw-
|
|
27
|
+
- `/dw-run` -- lê rules para padrões de implementação
|
|
28
|
+
- `/dw-review --code-only` -- lê rules para verificações de conformidade
|
|
29
|
+
- `/dw-brainstorm --refactor` -- lê rules para contexto do projeto
|
|
30
|
+
- `/dw-plan techspec` -- lê rules para decisões de arquitetura
|
|
31
31
|
|
|
32
32
|
<critical>NUNCA modifique código fonte, apenas leia e documente</critical>
|
|
33
33
|
<critical>Gere os arquivos de rules em .dw/rules/ na raiz do workspace</critical>
|
|
@@ -218,13 +218,13 @@ Para cada projeto/módulo detectado, identificar:
|
|
|
218
218
|
Quando React for detectado, execute `npx react-doctor@latest --verbose` e inclua o health score nas rules geradas como métrica baseline.
|
|
219
219
|
Para projetos Angular, execute `ng lint` e documente warnings como baseline.
|
|
220
220
|
|
|
221
|
-
<critical>A execução do /dw-
|
|
221
|
+
<critical>A execução do /dw-intel --build para gerar o índice queryable em .dw/intel/ é OBRIGATÓRIA. O comando NÃO pode ser considerado completo sem ela.</critical>
|
|
222
222
|
|
|
223
223
|
#### Inteligência do Codebase (nativo)
|
|
224
224
|
|
|
225
|
-
Após gerar as rules em `.dw/rules/`, delegue para `/dw-
|
|
225
|
+
Após gerar as rules em `.dw/rules/`, delegue para `/dw-intel --build` para criar o índice queryable em `.dw/intel/`:
|
|
226
226
|
- O índice inclui: stack (`stack.json`), grafo de arquivos (`files.json`), superfície de API (`apis.json`), dependências (`deps.json`), overview de arquitetura (`arch.md`)
|
|
227
|
-
- O índice é incremental — `/dw-
|
|
227
|
+
- O índice é incremental — `/dw-intel --build --files <list>` atualiza só os entries tocados; full scan só quando preciso
|
|
228
228
|
- Outros comandos dw-* consultam o índice via `/dw-intel` (veja a skill bundled `dw-codebase-intel` para schemas)
|
|
229
229
|
|
|
230
230
|
### Passo 4: Ler Arquivos Fonte Representativos (Obrigatório)
|
|
@@ -15,18 +15,18 @@ Uma etapa que invoca um comando `/dw-xxx` SO e considerada completa quando os ar
|
|
|
15
15
|
| Pensamento | Realidade |
|
|
16
16
|
|------------|-----------|
|
|
17
17
|
| "Ja rodei os testes manualmente" | O comando produz artefatos estruturados. Rode o comando. |
|
|
18
|
-
| "Validei via Playwright ad-hoc" | `/dw-
|
|
19
|
-
| "A implementacao esta obviamente correta" | `/dw-review-
|
|
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
20
|
| "Validacao manual forte ja basta" | NAO. Equivalencia tecnica NAO substitui a execucao formal. |
|
|
21
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-
|
|
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
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-
|
|
24
|
+
| "Corrigi bugs no caminho, entao o QA ja esta ok" | Corrigir bugs nao substitui rodar o QA formal. Rode `/dw-qa`. |</critical>
|
|
25
25
|
|
|
26
26
|
## Quando Usar
|
|
27
27
|
- Use quando quiser ir de uma ideia ate um PR com minima intervencao manual
|
|
28
28
|
- Use para features completas que passam por todo o pipeline (pesquisa, planejamento, execucao, qualidade)
|
|
29
|
-
- NAO use para tasks pequenas e bem-escopadas — use `/dw-run
|
|
29
|
+
- NAO use para tasks pequenas e bem-escopadas — use `/dw-run` direto com um PRD curto
|
|
30
30
|
- NAO use para corrigir bugs (use `/dw-bugfix`)
|
|
31
31
|
- NAO use quando quiser controle manual entre cada fase (use os comandos individuais)
|
|
32
32
|
|
|
@@ -72,12 +72,12 @@ Se este comando for re-invocado no mesmo PRD apos interrupcao:
|
|
|
72
72
|
|
|
73
73
|
- Consulte `.dw/intel/` via `/dw-intel` para entender o contexto do projeto
|
|
74
74
|
- Identifique: stack tecnologica, padroes existentes, features relacionadas
|
|
75
|
-
- Se `.dw/intel/` esta ausente, sugira rodar `/dw-
|
|
75
|
+
- Se `.dw/intel/` esta ausente, sugira rodar `/dw-intel --build` primeiro para contexto downstream mais rico
|
|
76
76
|
|
|
77
77
|
### Etapa 2: Pesquisa (Condicional)
|
|
78
78
|
|
|
79
79
|
Avalie se o topico necessita de pesquisa profunda:
|
|
80
|
-
- **SIM** (execute `/dw-
|
|
80
|
+
- **SIM** (execute `/dw-brainstorm --research`): tecnologia nova para o projeto, dominio desconhecido, integracoes com APIs externas, decisoes arquiteturais criticas
|
|
81
81
|
- **NAO** (pule para etapa 3): feature simples no dominio ja mapeado, refatoracao de algo existente, CRUD basico
|
|
82
82
|
- 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.
|
|
83
83
|
|
|
@@ -94,7 +94,7 @@ Execute `/dw-brainstorm` com o contexto acumulado (intel + pesquisa).
|
|
|
94
94
|
|
|
95
95
|
<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>
|
|
96
96
|
|
|
97
|
-
Execute `/dw-
|
|
97
|
+
Execute `/dw-plan prd` usando os findings do brainstorm.
|
|
98
98
|
- Siga TODAS as instrucoes do comando, especialmente a secao de perguntas de esclarecimento
|
|
99
99
|
- Faca pelo menos 7 perguntas ao usuario sobre: problema, usuarios-alvo, funcionalidades criticas, escopo, restricoes, design, integracao
|
|
100
100
|
- 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?"
|
|
@@ -115,7 +115,7 @@ Apresente ao usuario:
|
|
|
115
115
|
|
|
116
116
|
<critical>O TechSpec DEVE incluir entrevista interativa com o usuario. Faca NO MINIMO 7 perguntas de esclarecimento tecnico ANTES de redigir o TechSpec. NAO responda as perguntas automaticamente — o usuario DEVE responder.</critical>
|
|
117
117
|
|
|
118
|
-
Execute `/dw-
|
|
118
|
+
Execute `/dw-plan techspec` a partir do PRD aprovado.
|
|
119
119
|
- Siga TODAS as instrucoes do comando, especialmente a secao de perguntas de esclarecimento
|
|
120
120
|
- 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
|
|
121
121
|
- 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?"
|
|
@@ -125,7 +125,7 @@ Execute `/dw-create-techspec` a partir do PRD aprovado.
|
|
|
125
125
|
|
|
126
126
|
### Etapa 6: Tasks
|
|
127
127
|
|
|
128
|
-
Execute `/dw-
|
|
128
|
+
Execute `/dw-plan tasks` a partir do PRD + TechSpec.
|
|
129
129
|
- Siga todas as instrucoes do comando
|
|
130
130
|
- Gere tasks individuais em `.dw/spec/prd-[nome]/`
|
|
131
131
|
|
|
@@ -148,9 +148,9 @@ Avalie se as tasks envolvem frontend:
|
|
|
148
148
|
|
|
149
149
|
### Etapa 8: Execucao
|
|
150
150
|
|
|
151
|
-
Execute `/dw-run
|
|
151
|
+
Execute `/dw-run` com o path do PRD.
|
|
152
152
|
- 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`
|
|
153
|
-
- Cada task segue `/dw-run
|
|
153
|
+
- Cada task segue `/dw-run` com validacao Level 1
|
|
154
154
|
|
|
155
155
|
### Etapa 9: Review de Implementacao (Loop)
|
|
156
156
|
|
|
@@ -164,7 +164,7 @@ Execute build e lint do projeto:
|
|
|
164
164
|
5. Repita ate que build E lint passem sem erros
|
|
165
165
|
6. So entao prossiga para o review
|
|
166
166
|
|
|
167
|
-
Execute `/dw-review-
|
|
167
|
+
Execute `/dw-review --coverage-only` para verificar PRD compliance (Level 2).
|
|
168
168
|
- Se encontrar gaps: corrija automaticamente e re-execute o review
|
|
169
169
|
- Maximo 3 ciclos de correcao
|
|
170
170
|
- NAO avance para QA ate que o review passe
|
|
@@ -177,7 +177,7 @@ Um review textual curto, um "parece ok" ou conclusao "implementacao correta" SEM
|
|
|
177
177
|
|
|
178
178
|
### Etapa 10: QA Visual
|
|
179
179
|
|
|
180
|
-
Execute `/dw-
|
|
180
|
+
Execute `/dw-qa` com Playwright MCP.
|
|
181
181
|
- Teste happy paths, edge cases, fluxos negativos, acessibilidade
|
|
182
182
|
- Documente bugs com screenshots
|
|
183
183
|
|
|
@@ -188,12 +188,12 @@ Execute `/dw-run-qa` com Playwright MCP.
|
|
|
188
188
|
- `{{PRD_PATH}}/QA/screenshots/` — diretorio existe e contem pelo menos 1 PNG por RF testado (formato `RF-XX-[slug]-PASS.png` ou `-FAIL.png`)
|
|
189
189
|
- `{{PRD_PATH}}/QA/scripts/` — diretorio existe e contem scripts Playwright `.spec.ts`/`.spec.js` por RF
|
|
190
190
|
- `{{PRD_PATH}}/QA/logs/` — diretorio existe com logs de console/rede capturados
|
|
191
|
-
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-
|
|
191
|
+
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>
|
|
192
192
|
|
|
193
193
|
### Etapa 11: Fix QA (Condicional)
|
|
194
194
|
|
|
195
195
|
Se o QA encontrou bugs:
|
|
196
|
-
- Execute `/dw-fix
|
|
196
|
+
- Execute `/dw-qa --fix` para corrigir e retestar
|
|
197
197
|
- Loop ate estabilizar (maximo 5 ciclos). Apos 5 ciclos, PARE e pergunte ao usuario como deseja prosseguir.
|
|
198
198
|
|
|
199
199
|
### Etapa 12: Review de Implementacao (Pos-QA)
|
|
@@ -205,7 +205,7 @@ Execute build e lint do projeto (mesma sequencia da Etapa 9):
|
|
|
205
205
|
2. Build
|
|
206
206
|
3. Se falhar: corrija e re-execute ate passar
|
|
207
207
|
|
|
208
|
-
Execute `/dw-review-
|
|
208
|
+
Execute `/dw-review --coverage-only` novamente para confirmar que as correcoes do QA nao quebraram PRD compliance.
|
|
209
209
|
- Se encontrar gaps: corrija e re-execute
|
|
210
210
|
- Maximo 3 ciclos
|
|
211
211
|
|
|
@@ -213,7 +213,7 @@ Execute `/dw-review-implementation` novamente para confirmar que as correcoes do
|
|
|
213
213
|
|
|
214
214
|
### Etapa 13: Code Review
|
|
215
215
|
|
|
216
|
-
Execute `/dw-code-
|
|
216
|
+
Execute `/dw-review --code-only` (Level 3) para review formal.
|
|
217
217
|
- Gere relatorio persistido
|
|
218
218
|
|
|
219
219
|
### Etapa 14: Commit
|
|
@@ -227,7 +227,7 @@ Rode `ls` em cada caminho abaixo e confirme existencia. Se QUALQUER um faltar, N
|
|
|
227
227
|
- `{{PRD_PATH}}/QA/screenshots/` (nao vazio)
|
|
228
228
|
- `{{PRD_PATH}}/QA/scripts/` (nao vazio com arquivos `.spec.*`)
|
|
229
229
|
- `{{PRD_PATH}}/QA/logs/`
|
|
230
|
-
- Evidencia do ultimo `/dw-review-
|
|
230
|
+
- Evidencia do ultimo `/dw-review --coverage-only` com matriz RF-by-RF (output da sessao ou referencia em `autopilot-state.json`)
|
|
231
231
|
|
|
232
232
|
Verifique tambem `autopilot-state.json`:
|
|
233
233
|
- Toda etapa de 1 a 13 que NAO esta em `skipped_steps` deve estar em `completed_steps`
|
|
@@ -250,7 +250,7 @@ Pergunte ao usuario: **"Commits realizados. Deseja gerar o Pull Request?"**
|
|
|
250
250
|
|
|
251
251
|
## Engine Nativo
|
|
252
252
|
|
|
253
|
-
O autopilot depende de infraestrutura dev-workflow-native para inteligencia de codebase (`/dw-
|
|
253
|
+
O autopilot depende de infraestrutura dev-workflow-native para inteligencia de codebase (`/dw-intel --build` + `/dw-intel`) e dos agentes bundled de execucao de fase (plan-checker + executor em `.agents/skills/dw-execute-phase/agents/`). Tudo bundled, sem dependencias externas. Veja as skills bundled `dw-codebase-intel` e `dw-execute-phase` em `.agents/skills/` para detalhes.
|
|
254
254
|
|
|
255
255
|
## Persistencia de Estado
|
|
256
256
|
|
|
@@ -9,14 +9,16 @@ Você é um facilitador de brainstorming para o workspace atual. Este comando ex
|
|
|
9
9
|
- NÃO use quando já tiver requisitos claros prontos para um PRD, ou quando precisar implementar código
|
|
10
10
|
|
|
11
11
|
## Posição no Pipeline
|
|
12
|
-
**Antecessor:** (ideia do usuário) | **Sucessor:** `/dw-
|
|
12
|
+
**Antecessor:** (ideia do usuário) | **Sucessor:** `/dw-plan prd`
|
|
13
13
|
|
|
14
14
|
## Flags
|
|
15
15
|
|
|
16
16
|
- **(padrão)**: brainstorm normal com 3-7 opções (conservadora, equilibrada, ousada) e trade-offs. Se o produto tem PRDs ou rules, **Product Inventory** é produzido automaticamente e cada opção recebe tag de classificação.
|
|
17
|
-
- **`--onepager`**: ao final do brainstorm, gera
|
|
17
|
+
- **`--onepager`**: ao final do brainstorm, gera one-pager durável em `.dw/spec/ideas/<slug>.md` (usando `.dw/templates/idea-onepager.md`) com Feature Inventory + Classification & Rationale + MVP Scope + Not Doing + Assumptions. Use quando quiser artefato persistido antes de seguir para `/dw-plan prd`.
|
|
18
18
|
- **`--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.
|
|
19
|
-
-
|
|
19
|
+
- **`--research`**: modo de research multi-source. Pipeline: scope → plan → retrieve (sources paralelos) → triangulate → outline-refine → synthesize → critique → refine → report. Output: documento citado. Use pra state-of-the-art reviews, comparações de tech, regulatory landscape mapping. Sub-modos: `quick` (3 fases, 2-5min), `standard` (default, 6 fases, 5-10min), `deep` (8 fases, 10-20min), `ultradeep` (8+ fases, 20-45min).
|
|
20
|
+
- **`--refactor`**: modo catálogo de code smells. Audita um diretório-alvo ou escopo de PRD por smells usando taxonomia de Martin Fowler (bloaters, change preventers, dispensables, couplers, complexidade condicional, violações DRY). Mapeia cada smell pra técnica de refactoring com sketches before/after. Plano severity-ordered P0-P3. Output: documento de oportunidades de refactor.
|
|
21
|
+
- Flags combináveis onde faz sentido: `--onepager --council` produz one-pager após debate. `--research --onepager` salva research como one-pager durável. `--refactor --onepager` salva plano de refactor como one-pager. `--research --refactor` NÃO suportado (escolha um — surfaces de ideação diferentes).
|
|
20
22
|
|
|
21
23
|
## Fluxograma de Decisão: Brainstorm vs PRD Direto
|
|
22
24
|
|
|
@@ -27,7 +29,7 @@ digraph brainstorm_decision {
|
|
|
27
29
|
Q1 [label="Are requirements\nclear and specific?"];
|
|
28
30
|
Q2 [label="Are there multiple\nviable approaches?"];
|
|
29
31
|
node [shape=box];
|
|
30
|
-
PRD [label="Go directly to\n/dw-
|
|
32
|
+
PRD [label="Go directly to\n/dw-plan prd"];
|
|
31
33
|
BS [label="Start with\n/dw-brainstorm"];
|
|
32
34
|
Q1 -> PRD [label="Yes"];
|
|
33
35
|
Q1 -> Q2 [label="No"];
|
|
@@ -108,10 +110,10 @@ Use este comando quando o usuario quiser:
|
|
|
108
110
|
### 7. Próximos passos
|
|
109
111
|
- lista curta e executavel
|
|
110
112
|
- se apropriado, sugira qual comando usar em seguida:
|
|
111
|
-
- `/dw-
|
|
112
|
-
- `/dw-run
|
|
113
|
-
- `/dw-
|
|
114
|
-
- `/dw-
|
|
113
|
+
- `/dw-plan prd` (principal sucessor; aceita one-pager como input reduzindo perguntas de clarificação)
|
|
114
|
+
- `/dw-run` (se é IMPROVES pequeno que cabe em task única com um PRD curto)
|
|
115
|
+
- `/dw-plan techspec`
|
|
116
|
+
- `/dw-plan tasks`
|
|
115
117
|
- `/dw-bugfix`
|
|
116
118
|
|
|
117
119
|
## Heuristicas
|
|
@@ -140,6 +142,155 @@ Ao final, sempre deixe o usuario em uma destas situacoes:
|
|
|
140
142
|
- com perguntas melhores para decidir
|
|
141
143
|
- com um proximo comando do workspace para seguir
|
|
142
144
|
- com o one-pager em `.dw/spec/ideas/<slug>.md` (se `--onepager` foi usado)
|
|
145
|
+
- com o relatório de research em `~/Documents/<Tópico>_Research_<data>/` (se `--research`)
|
|
146
|
+
- com o plano de refactor em `<target>/refactor-plan.md` (se `--refactor`)
|
|
147
|
+
|
|
148
|
+
## Modo: `--research` (research multi-fonte)
|
|
149
|
+
|
|
150
|
+
Ativado pela flag `--research`. Substitui o brainstorm padrão por um pipeline estruturado de research que produz documento citado com claims verificados.
|
|
151
|
+
|
|
152
|
+
<critical>Cada afirmação factual DEVE ser citada imediatamente com [N] na mesma frase</critical>
|
|
153
|
+
<critical>NUNCA fabrique citações — se não encontrar fonte, diga explicitamente</critical>
|
|
154
|
+
<critical>A bibliografia DEVE conter TODAS as citações usadas no corpo, sem abreviações ou ranges</critical>
|
|
155
|
+
|
|
156
|
+
### Quando usar modo research
|
|
157
|
+
- Comparações multi-fonte (ex: "compare React Server Components vs Astro Islands").
|
|
158
|
+
- State-of-the-art reviews de um tópico.
|
|
159
|
+
- Mapeamento de contexto regulatório ou industrial.
|
|
160
|
+
- Decisões precisando de evidência citada (não opinião).
|
|
161
|
+
- NÃO use research mode pra lookups simples, debugging ou perguntas respondíveis em 1-2 web searches.
|
|
162
|
+
|
|
163
|
+
### Sub-modos (research depth)
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
Seleção
|
|
167
|
+
├── Exploração inicial → quick (3 fases, 2-5 min)
|
|
168
|
+
├── Research padrão → standard (6 fases, 5-10 min) [DEFAULT pra --research]
|
|
169
|
+
├── Decisão crítica → deep (8 fases, 10-20 min)
|
|
170
|
+
└── Review abrangente → ultradeep (8+ fases, 20-45 min)
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Required reading
|
|
174
|
+
|
|
175
|
+
Skill complementar **`dw-source-grounding`**: **SEMPRE** — aplica protocolo Detect → Fetch → Implement → Cite com hierarquia estrita (docs oficiais versionados > changelogs > web standards > compat tables; Stack Overflow / blogs / training data são só discovery). Cada finding termina com `[source: <url>, version: X.Y, retrieved: YYYY-MM-DD]`; bibliografia construída dessas citações.
|
|
176
|
+
|
|
177
|
+
### Fases do pipeline
|
|
178
|
+
|
|
179
|
+
**Fase 1 — SCOPE** | Enquadrar a questão. Decompor em componentes. Identificar perspectivas de stakeholders. Definir limites. Listar assumptions a validar.
|
|
180
|
+
|
|
181
|
+
**Fase 2 — PLAN** | Identificar fontes primárias + secundárias. Mapear dependências de conhecimento. Estratégia de busca com variantes. Plano de triangulação. Quality gates.
|
|
182
|
+
|
|
183
|
+
**Fase 3 — RETRIEVE** | Coleta paralela. Decompor em 5-10 ângulos independentes (semantic, keyword, date-filtered, academic, alternative perspectives, statistics, industry analysis, critical analysis). Executar TODAS as buscas em paralelo via múltiplas tool calls numa mensagem. First Finish Search: prosseguir quando primeiro threshold atingido (quick: 10+ sources avg credibilidade >60/100; standard: 15+ >60; deep: 25+ >70; ultradeep: 30+ >75).
|
|
184
|
+
|
|
185
|
+
**Fase 4 — TRIANGULATE** | Identificar claims que requerem verificação. Cross-check em 3+ fontes independentes. Flagar contradições. Documentar status de verificação por claim.
|
|
186
|
+
|
|
187
|
+
**Fase 5 — REFINAMENTO DO OUTLINE** | Comparar escopo inicial com findings reais. Adaptar estrutura baseada em evidência. Buscas direcionadas pra preencher gaps.
|
|
188
|
+
|
|
189
|
+
**Fase 6 — SYNTHESIZE** | Identificar patterns cross-source. Mapear relações de conceitos. Gerar insights além do material fonte. Construir hierarquias de evidência.
|
|
190
|
+
|
|
191
|
+
**Fase 7 — CRITIQUE** (só deep/ultradeep) | Review de consistência lógica. Verificar completude de citações. Identificar gaps ou fraquezas. Simular 2-3 personas críticas.
|
|
192
|
+
|
|
193
|
+
**Fase 8 — REFINE** (deep/ultradeep) | Fortalecer argumentos fracos. Adicionar perspectivas ausentes. Resolver contradições.
|
|
194
|
+
|
|
195
|
+
**Fase 9 — PACKAGE** | Gerar relatório progressivamente, seção por seção.
|
|
196
|
+
|
|
197
|
+
### Output
|
|
198
|
+
|
|
199
|
+
Salvo em `~/Documents/<Tópico>_Research_<YYYYMMDD>/`. Seções obrigatórias:
|
|
200
|
+
1. Sumário Executivo (200-400 palavras)
|
|
201
|
+
2. Introdução (escopo, metodologia, premissas)
|
|
202
|
+
3. Análise Principal (4-8 achados, 600-2000 palavras cada, todos citados)
|
|
203
|
+
4. Síntese e Insights
|
|
204
|
+
5. Limitações e Ressalvas
|
|
205
|
+
6. Recomendações
|
|
206
|
+
7. Bibliografia (COMPLETA — toda citação, sem placeholders)
|
|
207
|
+
8. Apêndice Metodológico
|
|
208
|
+
|
|
209
|
+
Tamanhos-alvo: quick 2-4k palavras; standard 4-8k; deep 8-15k; ultradeep 15-20k+.
|
|
210
|
+
|
|
211
|
+
### Padrões de qualidade
|
|
212
|
+
- Narrativo: prosa fluida, com início/meio/fim. Min 80% prosa, max 20% bullets.
|
|
213
|
+
- Cada afirmação factual citada imediatamente com [N].
|
|
214
|
+
- Distinguir fato de síntese.
|
|
215
|
+
- Sem atribuições vagas ("estudos mostram...", "especialistas acreditam..." sem citação).
|
|
216
|
+
- Rotular especulação explicitamente.
|
|
217
|
+
- Admitir incerteza: "Sem fontes encontradas para X."
|
|
218
|
+
|
|
219
|
+
## Modo: `--refactor` (catálogo de code smells)
|
|
220
|
+
|
|
221
|
+
Ativado pela flag `--refactor`. Audita uma área-alvo do codebase por oportunidades de refactoring usando taxonomia de smells de Martin Fowler.
|
|
222
|
+
|
|
223
|
+
<critical>FAÇA EXATAMENTE 3 PERGUNTAS DE CLARIFICAÇÃO ANTES DE INICIAR ANÁLISE</critical>
|
|
224
|
+
|
|
225
|
+
### Quando usar modo refactor
|
|
226
|
+
- Audit pre-implementação de tech debt na área que vai mexer.
|
|
227
|
+
- Code-health review trimestral.
|
|
228
|
+
- Scoping pre-migration (ex: antes de upgrade de framework).
|
|
229
|
+
- NÃO use refactor mode se `/dw-review` já flagou a mesma área (evita findings duplicados).
|
|
230
|
+
|
|
231
|
+
### Required reading
|
|
232
|
+
|
|
233
|
+
Skills complementares:
|
|
234
|
+
- **`dw-review-rigor`**: **SEMPRE** — aplica de-duplication (mesmo smell em N arquivos = 1 entrada com affected list), severity ordering P0-P3, signal-over-volume (max ~20 findings; manter críticos, podar marginais). Smells com ADR justificatório caem para `low` no máximo.
|
|
235
|
+
- **`dw-simplification`**: **SEMPRE** — todo smell flagueado passa pelo filtro Chesterton's Fence (o que o construto FAZ, por que foi adicionado, o que quebra se removido). Smells sem resposta clara para "por que isso está aqui" caem para `info` com nota de investigação. Métricas de complexidade (complexidade cognitiva ≥16 ou nesting depth ≥4 = candidato `high`; <10 = `low` no máximo) ancoram severity.
|
|
236
|
+
- **`security-review`**: delegue preocupações de segurança para este skill — não duplique.
|
|
237
|
+
- **`vercel-react-best-practices`** + seu `perf-discipline.md`: delegue padrões de performance React/Next.js para este skill.
|
|
238
|
+
|
|
239
|
+
### Pipeline
|
|
240
|
+
|
|
241
|
+
1. Três perguntas de clarificação (escopo, prioridades, restrições).
|
|
242
|
+
2. Identificar área-alvo (diretório PRD-scoped, módulo específico, ou codebase inteiro).
|
|
243
|
+
3. Scan por smells usando taxonomia Fowler:
|
|
244
|
+
- **Bloaters** — Long Method, Large Class, Long Parameter List, Data Clumps, Primitive Obsession.
|
|
245
|
+
- **Object-Orientation Abusers** — Switch Statements, Refused Bequest, Alternative Classes with Different Interfaces, Temporary Field.
|
|
246
|
+
- **Change Preventers** — Divergent Change, Shotgun Surgery, Parallel Inheritance Hierarchies.
|
|
247
|
+
- **Dispensables** — Comments, Duplicate Code, Lazy Class, Data Class, Dead Code, Speculative Generality.
|
|
248
|
+
- **Couplers** — Feature Envy, Inappropriate Intimacy, Message Chains, Middle Man.
|
|
249
|
+
- **Conditional complexity** — alta cyclomatic/cognitive, nesting profundo.
|
|
250
|
+
4. Aplicar de-duplication `dw-review-rigor` + filtro Chesterton `dw-simplification`.
|
|
251
|
+
5. Pra cada smell sobrevivente, mapear pra técnica de refactoring com sketches before/after.
|
|
252
|
+
6. Severity-order P0-P3 (impacto × likelihood × custo de manutenção).
|
|
253
|
+
7. Mais: coupling/cohesion metrics, análise SOLID.
|
|
254
|
+
|
|
255
|
+
### Output
|
|
256
|
+
|
|
257
|
+
Salvo em `<target>/refactor-plan.md`:
|
|
258
|
+
|
|
259
|
+
```markdown
|
|
260
|
+
# Oportunidades de Refactoring — <target>
|
|
261
|
+
|
|
262
|
+
## Resumo
|
|
263
|
+
- Smells encontrados: N (após de-dup)
|
|
264
|
+
- P0 (fazer neste sprint): N
|
|
265
|
+
- P1 (este trimestre): N
|
|
266
|
+
- P2 (quando conveniente): N
|
|
267
|
+
- P3 (informacional): N
|
|
268
|
+
|
|
269
|
+
## Findings (severity-ordered)
|
|
270
|
+
|
|
271
|
+
### P0 — <smell name>
|
|
272
|
+
**Arquivos:** <lista> (de-duplicados)
|
|
273
|
+
**Sintoma:** <descrição>
|
|
274
|
+
**Por que corrigir:** <análise de impacto>
|
|
275
|
+
**Refactor sugerido:** <técnica Fowler>
|
|
276
|
+
**Before:** <code sketch>
|
|
277
|
+
**After:** <code sketch>
|
|
278
|
+
**Esforço:** S / M / L
|
|
279
|
+
**Risco:** Baixo / Médio / Alto
|
|
280
|
+
**Testes necessários:** <lista>
|
|
281
|
+
|
|
282
|
+
...
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### Ferramentas de análise
|
|
286
|
+
- Projetos React: `npx react-doctor@latest --verbose` pra health score.
|
|
287
|
+
- Projetos Angular: `ng lint` pra issues estáticos.
|
|
288
|
+
|
|
289
|
+
### Anti-patterns
|
|
290
|
+
- Listar todo hit de complexidade ciclomática > threshold sem contexto → ruído.
|
|
291
|
+
- Sugerir "extract method" em toda função maior que N linhas → mecânico, não insight.
|
|
292
|
+
- Propor refactors sem teste ou não-testáveis → alto risco, não shippa.
|
|
293
|
+
- Ignorar decisões arquiteturais documentadas em `.dw/rules/` → flagar design intencional como smell.
|
|
143
294
|
|
|
144
295
|
## Inspired by
|
|
145
296
|
|
|
@@ -148,7 +299,7 @@ O padrão de codebase-grounded idea refinement é inspirado em [`addyosmani/agen
|
|
|
148
299
|
- **Nível de produto, não de código**: enquanto `idea-refine` usa Glob/Grep/Read em `src/*`, aqui lemos **PRDs + rules + intel** para mapear o **inventário de features** do produto. O brainstorm continua sendo produtual.
|
|
149
300
|
- **Classificação explícita** (IMPROVES / CONSOLIDATES / NEW) como disciplina dev-workflow-nativa — força o time a decidir se a ideia é feature nova, consolidação ou melhoria de algo existente, antes de abrir um PRD.
|
|
150
301
|
- Output em `.dw/spec/ideas/<slug>.md` (irmão de `prd-<slug>/`) em vez de `docs/ideas/` — mantém a convenção de paths do dev-workflow.
|
|
151
|
-
- Integração com o pipeline existente: `/dw-
|
|
302
|
+
- Integração com o pipeline existente: `/dw-plan prd` aceita o one-pager como input, reduzindo perguntas de clarificação.
|
|
152
303
|
|
|
153
304
|
Crédito: Addy Osmani e o padrão `idea-refine`.
|
|
154
305
|
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
## Quando Usar
|
|
7
7
|
- Use para corrigir um bug reportado com triagem automática para distinguir bug vs feature vs escopo excessivo
|
|
8
|
-
- NÃO use para implementar uma nova funcionalidade (use `/dw-
|
|
9
|
-
- NÃO use para corrigir bugs encontrados durante testes de QA (use `/dw-fix
|
|
8
|
+
- NÃO use para implementar uma nova funcionalidade (use `/dw-plan prd` em vez disso)
|
|
9
|
+
- NÃO use para corrigir bugs encontrados durante testes de QA (use `/dw-qa --fix` em vez disso)
|
|
10
10
|
|
|
11
11
|
## Posição no Pipeline
|
|
12
12
|
**Antecessor:** (bug report) | **Sucessor:** `/dw-commit` e depois `/dw-generate-pr`
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
- `dw-debug-protocol`: **SEMPRE** — conduz o bug pelo six-step triage (Reproduzir → Localizar → Reduzir → Fix Root Cause → Guardar → Verificar End-to-End). Stop-the-line discipline; root-cause sobre symptom; regression test commitado no mesmo commit atômico. Bugs não-reprodutíveis seguem o sub-protocolo instrument-first — sem fix por palpite a não ser com acknowledgement explícito.
|
|
19
19
|
- `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).
|
|
20
20
|
- `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
|
|
21
|
-
- `dw-testing-discipline`: use quando a correção requer fluxo E2E/reteste reproduzível em web app — `references/playwright-recipes.md` pra recipes,
|
|
21
|
+
- `dw-testing-discipline`: use quando a correção requer fluxo E2E/reteste reproduzível em web app — `references/playwright-recipes.md` pra recipes, core rules + 6 agent guardrails pra qualquer teste que o fix adicione, flaky-discipline se o bug aparece de forma intermitente.
|
|
22
|
+
- `dw-incident-response`: use quando o bug tem severidade `critical` E afeta produção E foi detectado por alerta/user-report (ou seja, o bug É um incident, não item de backlog). Dispara o workflow de 5 fases (triage → investigation → resolution → communication → postmortem) com saída estruturada em `.dw/incidents/`. As correções rodam via `/dw-bugfix` durante a fase de resolution.
|
|
22
23
|
- `security-review`: use quando a causa raiz toca auth, autorização, input externo, upload, secrets, SQL, XSS, SSRF ou outras superfícies sensíveis
|
|
23
24
|
|
|
24
25
|
## Variáveis de Entrada
|
|
@@ -47,9 +48,9 @@
|
|
|
47
48
|
Neste modo:
|
|
48
49
|
1. Segue o fluxo normal de perguntas e análise
|
|
49
50
|
2. Em vez de executar, gera documento em `.dw/spec/dw-bugfix-[nome]/prd.md`
|
|
50
|
-
3. O arquivo é nomeado `prd.md` para manter compatibilidade com o pipeline dw-create-techspec/dw-
|
|
51
|
-
4. Depois o usuário pode rodar `/dw-
|
|
52
|
-
5. E então `/dw-
|
|
51
|
+
3. O arquivo é nomeado `prd.md` para manter compatibilidade com o pipeline dw-create-techspec/dw-plan tasks
|
|
52
|
+
4. Depois o usuário pode rodar `/dw-plan techspec .dw/spec/dw-bugfix-[nome]`
|
|
53
|
+
5. E então `/dw-plan tasks .dw/spec/dw-bugfix-[nome]`
|
|
53
54
|
|
|
54
55
|
## Fluxo de Trabalho
|
|
55
56
|
|
|
@@ -108,7 +109,7 @@
|
|
|
108
109
|
---
|
|
109
110
|
|
|
110
111
|
**Deseja que eu inicie o fluxo de criação de PRD?**
|
|
111
|
-
- `sim` - Vou seguir `.dw/commands/dw-
|
|
112
|
+
- `sim` - Vou seguir `.dw/commands/dw-plan prd.md` para esta feature
|
|
112
113
|
- `não, é bug` - Me explique melhor por que considera um bug
|
|
113
114
|
- `não, cancelar` - Encerrar
|
|
114
115
|
```
|
|
@@ -243,7 +244,7 @@
|
|
|
243
244
|
3. Salvar como: `.dw/spec/dw-bugfix-[nome-do-bug]/prd.md` (usa nome `prd.md` para compatibilidade com pipeline)
|
|
244
245
|
|
|
245
246
|
**IMPORTANTE:** O arquivo deve ser nomeado `prd.md` para que os comandos
|
|
246
|
-
`/dw-
|
|
247
|
+
`/dw-plan techspec` e `/dw-plan tasks` funcionem sem modificação.
|
|
247
248
|
|
|
248
249
|
## Tipos de Tarefa (permitidos em bugfix)
|
|
249
250
|
|
|
@@ -279,7 +280,7 @@
|
|
|
279
280
|
q2 [label="Does it require\nnew functionality?", shape=diamond];
|
|
280
281
|
q3 [label="Scope <= 5 files\nand no migration?", shape=diamond];
|
|
281
282
|
bug [label="BUG\n(continue bugfix flow)"];
|
|
282
|
-
feature [label="FEATURE\n(redirect to /dw-
|
|
283
|
+
feature [label="FEATURE\n(redirect to /dw-plan prd)"];
|
|
283
284
|
excessive [label="EXCESSIVE SCOPE\n(redirect to PRD or\nuse --analysis mode)"];
|
|
284
285
|
|
|
285
286
|
start -> q1;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- NÃO use para criar uma PR (use `/dw-generate-pr` em vez disso)
|
|
8
8
|
|
|
9
9
|
## Posição no Pipeline
|
|
10
|
-
**Antecessor:** `/dw-run
|
|
10
|
+
**Antecessor:** `/dw-run` ou `/dw-bugfix` | **Sucessor:** `/dw-generate-pr`
|
|
11
11
|
|
|
12
12
|
## Skills Complementares
|
|
13
13
|
|