@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
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
<system_instructions>
|
|
2
|
-
Voce e
|
|
2
|
+
Voce e o assistente de inteligencia do codebase. Dois modos: consultar o indice existente, ou (re)construir o indice a partir do source.
|
|
3
3
|
|
|
4
|
-
<critical>
|
|
5
|
-
<critical>
|
|
6
|
-
<critical>
|
|
4
|
+
<critical>Modo query e somente leitura. NAO modifique codigo ou arquivos do projeto.</critical>
|
|
5
|
+
<critical>Modo build escreve em `.dw/intel/` apenas — nunca no source.</critical>
|
|
6
|
+
<critical>Em modo query, sempre cite as fontes (caminho do arquivo, numero da linha quando aplicavel).</critical>
|
|
7
|
+
<critical>Se o indice esta defasado (>7 dias) ou ausente, suba o aviso — NAO caia em fallback silencioso sem sinalizar.</critical>
|
|
8
|
+
|
|
9
|
+
## Modos
|
|
10
|
+
|
|
11
|
+
| Invocacao | Comportamento |
|
|
12
|
+
|-----------|---------------|
|
|
13
|
+
| `/dw-intel "<pergunta>"` | **Padrao — modo query.** Responde usando `.dw/intel/` (machine-readable) + `.dw/rules/` (human-readable) + grep fallback. |
|
|
14
|
+
| `/dw-intel --build` | **Modo build.** Scan recursivo do projeto e produz `.dw/intel/{stack,files,apis,deps}.json` + `.dw/intel/arch.md`. Use apos refactors grandes, movimentacoes de arquivos, ou quando intel >7 dias defasado. |
|
|
15
|
+
| `/dw-intel --build --incremental` | Build incremental: so re-le arquivos modificados desde `.last-refresh.json`. Mais rapido mas pode perder mudancas estruturais grandes. |
|
|
7
16
|
|
|
8
17
|
## Quando Usar
|
|
9
18
|
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
- NAO use para implementar mudancas (use `/dw-run-task`)
|
|
19
|
+
- **Modo query**: entender como algo funciona no projeto (fluxo de auth, modelo de dados, superficie de rotas). Encontrar padroes, convencoes ou decisoes arquiteturais. Verificar se algo ja existe antes de implementar.
|
|
20
|
+
- **Modo build**: apos refactors grandes, updates massivos de dependencias, ou quando `.dw/intel/` esta vazio/defasado.
|
|
21
|
+
- NAO use para implementar mudancas (use `/dw-run`).
|
|
14
22
|
|
|
15
23
|
## Posicao no Pipeline
|
|
16
24
|
|
|
17
|
-
**Antecessor
|
|
25
|
+
**Antecessor (modo build):** qualquer mudanca grande do projeto | **Sucessor:** qualquer comando `dw-*` que precisa do intel
|
|
18
26
|
|
|
19
27
|
## Skills Complementares
|
|
20
28
|
|
|
@@ -41,9 +49,9 @@ Voce e um assistente de inteligencia do codebase. Este comando responde pergunta
|
|
|
41
49
|
|
|
42
50
|
Antes de responder, leia `.dw/intel/.last-refresh.json` se existir:
|
|
43
51
|
|
|
44
|
-
- Se `updated_at` e mais de 7 dias atras → prefixe a resposta com: `⚠ Indice atualizado em YYYY-MM-DD (X dias atras). Considere rodar /dw-
|
|
52
|
+
- Se `updated_at` e mais de 7 dias atras → prefixe a resposta com: `⚠ Indice atualizado em YYYY-MM-DD (X dias atras). Considere rodar /dw-intel --build para refresh.`
|
|
45
53
|
- Se `.dw/intel/` existe mas `.last-refresh.json` falta → prefixe com: `⚠ Sem metadado de refresh; o indice pode estar defasado.`
|
|
46
|
-
- Se `.dw/intel/` nao existe → diga ao usuario: `Sem .dw/intel/. Caindo para .dw/rules/ + grep. Para respostas mais ricas, rode /dw-
|
|
54
|
+
- Se `.dw/intel/` nao existe → diga ao usuario: `Sem .dw/intel/. Caindo para .dw/rules/ + grep. Para respostas mais ricas, rode /dw-intel --build.`
|
|
47
55
|
|
|
48
56
|
Nao recuse responder — devolva a melhor info disponivel.
|
|
49
57
|
|
|
@@ -112,7 +120,7 @@ Nao despeje JSON. Escreva resposta de 3-8 linhas que:
|
|
|
112
120
|
|
|
113
121
|
- **Prefira `.dw/intel/` ao grep.** E curado e mais rapido. Grep so quando intel esta ausente ou defasado.
|
|
114
122
|
- **Cite caminhos, nao conteudos.** O usuario pode `Read` se precisar do source.
|
|
115
|
-
- **Nao invente.** Se `.dw/intel/` nao tem a resposta e grep retorna nada, diga. Sugira `/dw-
|
|
123
|
+
- **Nao invente.** Se `.dw/intel/` nao tem a resposta e grep retorna nada, diga. Sugira `/dw-intel --build` se `.dw/intel/` esta faltando.
|
|
116
124
|
- **Combine intel + rules.** Uma query sobre "como nomeamos arquivos de service?" deve puxar de `arch.md` (intel) E `.dw/rules/<modulo>.md` (convencoes do projeto). Os dois se complementam.
|
|
117
125
|
|
|
118
126
|
## Regras Criticas
|
|
@@ -122,8 +130,64 @@ Nao despeje JSON. Escreva resposta de 3-8 linhas que:
|
|
|
122
130
|
- <critical>Suba avisos de indice defasado de forma visivel — nao enterre no rodape.</critical>
|
|
123
131
|
- NAO inclua secrets/tokens/credenciais em nenhuma resposta (eles nao deveriam estar em `.dw/intel/` em primeiro lugar, mas defesa em profundidade).
|
|
124
132
|
|
|
133
|
+
## Modo build (`--build`)
|
|
134
|
+
|
|
135
|
+
Quando invocado com `--build`, o comando produz ou atualiza o indice queryable de intel. Anteriormente era `/dw-intel --build`, agora consolidado.
|
|
136
|
+
|
|
137
|
+
### Comportamento
|
|
138
|
+
|
|
139
|
+
1. **Detectar estrutura do projeto.** Scan recursivo por entry points: package.json, requirements.txt, pyproject.toml, Cargo.toml, *.csproj, etc.
|
|
140
|
+
2. **Detectar orquestradores de monorepo.** pnpm/nx/turborepo workspaces, lerna config, git submodules.
|
|
141
|
+
3. **Identificar stack.** Para cada modulo detectado, identificar linguagem, framework, package manager, build tool. Output em `.dw/intel/stack.json`.
|
|
142
|
+
4. **Inventario de arquivos.** Para arquivos source (pular `node_modules/`, `.git/`, `dist/`, `build/`, `.dw/`): catalogar com path, exports, proposito. Output em `.dw/intel/files.json`. Budget ≤2K tokens (priorizar cobertura de arquivos-chave sobre listagem exaustiva em repos grandes).
|
|
143
|
+
5. **Extracao de API.** Routes, RPC handlers, GraphQL resolvers, superficie de CLI publica. Output em `.dw/intel/apis.json`. Budget ≤1.5K tokens.
|
|
144
|
+
6. **Mapa de dependencias.** Imports internos cross-module + pacotes externos com arrays `used_by`. Output em `.dw/intel/deps.json`. Budget ≤1K tokens.
|
|
145
|
+
7. **Sumario de arquitetura.** Documento em prosa descrevendo a forma do projeto, padroes-chave, request flows, topologia de deployment. Output em `.dw/intel/arch.md`. Budget ≤1.5K tokens.
|
|
146
|
+
8. **Metadata de refresh.** Escrever `.dw/intel/.last-refresh.json` com `updated_at`, `version`, `mode` (full ou incremental), contagem de arquivos scanned.
|
|
147
|
+
|
|
148
|
+
### Skill complementar para build mode
|
|
149
|
+
|
|
150
|
+
| Skill | Gatilho |
|
|
151
|
+
|-------|---------|
|
|
152
|
+
| `dw-codebase-intel` | **SEMPRE em modo build** — provê schema `.dw/intel/`, protocolo de incremental-update (quais arquivos re-ler, como mergear com entradas existentes), regras de budget por arquivo. |
|
|
153
|
+
|
|
154
|
+
### Proibido em modo build
|
|
155
|
+
|
|
156
|
+
- Nunca ler `.env*` (exceto `.env.example` / `.env.template`), `*.key`, `*.pem`, `*.pfx`, `*.p12`, `*.keystore`, `*.jks`, `id_rsa`, `id_ed25519`, ou arquivos com `*credential*`/`*secret*` no nome. Pular silenciosamente.
|
|
157
|
+
- Nunca incluir secrets/tokens/credenciais em nenhum arquivo de intel.
|
|
158
|
+
- Nunca usar Bash `ls`/`find`/`cat` (sensibilidade cross-platform); usar Glob/Read/Grep.
|
|
159
|
+
|
|
160
|
+
### Modo incremental (`--build --incremental`)
|
|
161
|
+
|
|
162
|
+
Le `.dw/intel/.last-refresh.json` pra achar timestamp do ultimo build. So re-le arquivos modificados desde entao. Mais rapido mas pode perder:
|
|
163
|
+
- Diretorios novos nao previamente catalogados.
|
|
164
|
+
- Arquivos removidos (permanecem em `files.json` ate full build).
|
|
165
|
+
|
|
166
|
+
Use full `--build` trimestralmente ou apos mudancas estruturais; incremental pra refresh rotineiro.
|
|
167
|
+
|
|
168
|
+
### Estrutura de output
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
.dw/intel/
|
|
172
|
+
├── stack.json # Stack detectado por modulo
|
|
173
|
+
├── files.json # Inventario de arquivos source com exports + propositos
|
|
174
|
+
├── apis.json # Superficie publica de API
|
|
175
|
+
├── deps.json # Grafo de dependencias (internas + externas)
|
|
176
|
+
├── arch.md # Sumario de arquitetura (prosa)
|
|
177
|
+
└── .last-refresh.json # Metadata: updated_at, version, mode
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Por que este skill existe
|
|
181
|
+
|
|
182
|
+
Anteriormente dois comandos: `/dw-intel` (query) e `/dw-intel --build` (build). O split era historico — um escrevia, outro lia, mas ambos compartilham schema e mesmo `.dw/intel/`. Consolidar reduz:
|
|
183
|
+
- Confusao ("qual rodar?").
|
|
184
|
+
- Burden de manutencao de dois arquivos de command.
|
|
185
|
+
- Docs duplicados.
|
|
186
|
+
|
|
187
|
+
Mesmas operacoes, um unico mental entry point.
|
|
188
|
+
|
|
125
189
|
## Inspirado em
|
|
126
190
|
|
|
127
|
-
O mapeamento de query-patterns (where-is / what-uses / architecture-of / etc.) e o schema JSON do intel sao adaptados do projeto [`get-shit-done-cc`](https://github.com/gsd-build/get-shit-done) (licenca MIT). Convencoes de path mudaram de `.planning/intel/` para `.dw/intel/`.
|
|
191
|
+
O mapeamento de query-patterns (where-is / what-uses / architecture-of / etc.) e o schema JSON do intel sao adaptados do projeto [`get-shit-done-cc`](https://github.com/gsd-build/get-shit-done) (licenca MIT). Convencoes de path mudaram de `.planning/intel/` para `.dw/intel/`. Comportamento de modo build anteriormente vivia em `/dw-intel --build` (mesmo upstream).
|
|
128
192
|
|
|
129
193
|
</system_instructions>
|
|
@@ -13,11 +13,11 @@ Voce e o lider de bootstrap de workspace do dev-workflow. Sua funcao e pegar um
|
|
|
13
13
|
- Subindo uma sandbox de aprendizado onde voce quer um stack realista (db + cache + email + observability) sem 30 minutos de YAML
|
|
14
14
|
- NAO use para adicionar servicos a um projeto existente — use `/dw-dockerize --audit`
|
|
15
15
|
- NAO use para adicionar app novo dentro de um monorepo existente — outra release vai cobrir isso
|
|
16
|
-
- NAO substitui `/dw-
|
|
16
|
+
- NAO substitui `/dw-plan prd` — este aqui gera o workspace, nao a spec do produto
|
|
17
17
|
|
|
18
18
|
## Posicao no Pipeline
|
|
19
19
|
|
|
20
|
-
**Predecessor:** `npx dev-workflow init` (rodado de dentro do diretorio alvo) | **Sucessor:** `/dw-
|
|
20
|
+
**Predecessor:** `npx dev-workflow init` (rodado de dentro do diretorio alvo) | **Sucessor:** `/dw-plan prd` para a primeira feature, ou `/dw-analyze-project` apos o primeiro commit substancial para enriquecer o `.dw/rules/`
|
|
21
21
|
|
|
22
22
|
## Skills Complementares
|
|
23
23
|
|
|
@@ -242,7 +242,7 @@ Gere um README inicial:
|
|
|
242
242
|
- Local Dev (tabela de portas dos servicos selecionados + URLs das UIs + credenciais default)
|
|
243
243
|
- Diagrama da arquitetura (ASCII do one-pager)
|
|
244
244
|
- Layout do projeto (arvore dos diretorios top-level)
|
|
245
|
-
- Integracao com dev-workflow (mencione `/dw-
|
|
245
|
+
- Integracao com dev-workflow (mencione `/dw-plan prd`, `/dw-run`, `/dw-qa`, `/dw-secure-audit --plan`, `/dw-secure-audit`)
|
|
246
246
|
|
|
247
247
|
Se `create-*` ja gerou README, **anexe** sob "## Local Dev"; nao sobrescreva.
|
|
248
248
|
|
|
@@ -303,7 +303,7 @@ monorepo: <pnpm-workspaces|turborepo|nx|none>
|
|
|
303
303
|
2. `pnpm install` (ou seu package manager).
|
|
304
304
|
3. `pnpm dev:up` para subir todos os servicos. Aguarde os healthchecks.
|
|
305
305
|
4. Abra a UI do MailHog em http://localhost:8025 para confirmar a captura de email.
|
|
306
|
-
5. `/dw-
|
|
306
|
+
5. `/dw-plan prd` para a primeira feature.
|
|
307
307
|
6. Apos o primeiro commit substancial, rode `/dw-analyze-project` para enriquecer `.dw/rules/`.
|
|
308
308
|
```
|
|
309
309
|
|
|
@@ -336,15 +336,15 @@ monorepo: <pnpm-workspaces|turborepo|nx|none>
|
|
|
336
336
|
|
|
337
337
|
## Integracao com Outros dw-* Commands
|
|
338
338
|
|
|
339
|
-
- **`npx dev-workflow init`** e predecessor obrigatorio. Ordem: `init` → `/dw-new-project` → `/dw-
|
|
340
|
-
- **`/dw-
|
|
339
|
+
- **`npx dev-workflow init`** e predecessor obrigatorio. Ordem: `init` → `/dw-new-project` → `/dw-plan prd`.
|
|
340
|
+
- **`/dw-plan prd`** e o proximo passo sugerido apos bootstrap bem-sucedido.
|
|
341
341
|
- **`/dw-analyze-project`** deve rodar apos primeiro commit substancial para enriquecer `.dw/rules/` — o bootstrap deixa um seed minimo.
|
|
342
|
-
- **`/dw-
|
|
343
|
-
- **`/dw-
|
|
342
|
+
- **`/dw-secure-audit --plan --scan-only`** pode rodar logo apos o bootstrap para confirmar que nenhum dep vulneravel veio dos templates `create-*`.
|
|
343
|
+
- **`/dw-secure-audit`** roda como parte do pipeline de PRD apos a primeira feature aterrissar.
|
|
344
344
|
- **`/dw-dockerize`** e o comando irmao para retrofit de Docker em projeto existente que nao comecou com este aqui.
|
|
345
345
|
|
|
346
346
|
## Inspirado em
|
|
347
347
|
|
|
348
|
-
`dw-new-project` e dev-workflow-native. O padrao de entrevista herda do `/dw-
|
|
348
|
+
`dw-new-project` e dev-workflow-native. O padrao de entrevista herda do `/dw-plan prd` (clarificacao socratica, branching condicional por artefato anterior). A disciplina de execucao (verification por fase, gate atomico antes de mutar) herda do `/dw-secure-audit --plan` e `/dw-secure-audit`. A logica de composicao do compose esta delegada para a skill bundled `docker-compose-recipes`. A filosofia de "wrap a tool oficial" foi confirmada via `/dw-find-skills` contra o ecossistema `npx skills` em 2026-04-28 — nada la matchava "entrevista + scaffold multi-stack + compose dev" em qualidade suficiente.
|
|
349
349
|
|
|
350
350
|
</system_instructions>
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
<system_instructions>
|
|
2
|
+
Você é um orquestrador de planejamento que conduz uma ideia pelo pipeline completo PRD → TechSpec → Tasks com checkpoints entre cada estágio. Modo padrão roda os três sequencialmente; flags permitem entrar ou sair no meio.
|
|
3
|
+
|
|
4
|
+
## Quando Usar
|
|
5
|
+
- Use quando tem uma ideia e precisa produzir os três artefatos (PRD + TechSpec + Tasks) para que `/dw-run` possa executar.
|
|
6
|
+
- Use quando quer atualizar um estágio específico (ex: re-rodar tasks depois de editar techspec).
|
|
7
|
+
- NÃO use para bugfix simples — `/dw-bugfix` resolve.
|
|
8
|
+
- NÃO use mid-implementation — quando `/dw-run` está em andamento, edits passam por `/dw-bugfix` ou voltam para `plan techspec --update`.
|
|
9
|
+
|
|
10
|
+
## Posição no Pipeline
|
|
11
|
+
**Antecessor:** `/dw-brainstorm` (opcional, para ideação) | **Sucessor:** `/dw-run`
|
|
12
|
+
|
|
13
|
+
## Modos
|
|
14
|
+
|
|
15
|
+
| Invocação | O que roda |
|
|
16
|
+
|-----------|------------|
|
|
17
|
+
| `/dw-plan "<ideia>"` | **Padrão.** PRD → TechSpec → Tasks sequencial, com checkpoint explícito de aprovação entre cada estágio. |
|
|
18
|
+
| `/dw-plan prd "<ideia>"` | Gera apenas o PRD. Para após aprovação. |
|
|
19
|
+
| `/dw-plan techspec` | Assume PRD existente em `.dw/spec/prd-<feature>/prd.md`. Gera só o TechSpec. |
|
|
20
|
+
| `/dw-plan tasks` | Assume PRD + TechSpec existentes. Gera só o breakdown de tasks. |
|
|
21
|
+
| `/dw-plan --from techspec "<ideia>"` | Pula geração de PRD (assume que existe), inicia no TechSpec. |
|
|
22
|
+
| `/dw-plan --council "<ideia>"` | Fluxo padrão mais debate multi-conselheiro durante o estágio TechSpec para decisões arquiteturais de alto impacto. |
|
|
23
|
+
|
|
24
|
+
## Entradas
|
|
25
|
+
|
|
26
|
+
| Variável | Descrição | Exemplo |
|
|
27
|
+
|----------|-----------|---------|
|
|
28
|
+
| `{{IDEA}}` | A ideia da feature ou slug do PRD sendo planejado | `"usuários exportam invoices em PDF"` ou `prd-invoice-export` |
|
|
29
|
+
| `{{MODE}}` | Flag de estágio (opcional) | `prd` / `techspec` / `tasks` / `--from techspec` / `--council` |
|
|
30
|
+
|
|
31
|
+
## Skills Complementares
|
|
32
|
+
|
|
33
|
+
Quando disponíveis em `./.agents/skills/`, use como suporte:
|
|
34
|
+
|
|
35
|
+
- `dw-source-grounding`: **SEMPRE** no estágio TechSpec — toda decisão de framework/library cita docs oficiais com versão + data.
|
|
36
|
+
- `dw-ui-discipline`: **OBRIGATÓRIO** quando PRD tem superfícies de UI — roda as 4 grounding questions antes do design visual entrar no TechSpec.
|
|
37
|
+
- `dw-llm-eval`: **OBRIGATÓRIO** quando PRD descreve feature AI — subtask de eval-plan obrigatória no breakdown de tasks.
|
|
38
|
+
- `dw-testing-discipline`: aplicado no estágio de tasks — toda task que adiciona teste nomeia seu invariant per placement doctrine.
|
|
39
|
+
- `dw-council` (opt-in via `--council`): stress-test multi-conselheiro sobre a decisão arquitetural principal no estágio TechSpec.
|
|
40
|
+
- `dw-codebase-intel`: consultado para convenções de API, padrões arquiteturais, naming ao desenhar TechSpec.
|
|
41
|
+
|
|
42
|
+
## Constitution Gate
|
|
43
|
+
|
|
44
|
+
<critical>ANTES de qualquer estágio, cheque `.dw/constitution.md`. Se AUSENTE, copie `templates/constitution-template.md` para `.dw/constitution.md` (defaults severity=info), avise usuário no chat, e SIGA. Se PRESENTE, todo FR (PRD), toda decisão arquitetural (TechSpec) e toda task (Tasks) carrega metadata Constitution Alignment mapeando para princípios relevantes ou declarando desvio.</critical>
|
|
45
|
+
|
|
46
|
+
## Inteligência do Codebase
|
|
47
|
+
|
|
48
|
+
<critical>Se `.dw/intel/` existir, consulte via `/dw-intel` antes de cada estágio. OBRIGATÓRIO no estágio TechSpec.</critical>
|
|
49
|
+
- Estágio PRD: `/dw-intel "features existentes no domínio <tópico>"` para evitar duplicação.
|
|
50
|
+
- Estágio TechSpec: `/dw-intel "padrões arquiteturais, convenções de API, decisões técnicas"` para alinhar com a forma existente do projeto.
|
|
51
|
+
- Estágio Tasks: `/dw-intel "padrões de teste, build pipeline, deployment cadence"` para dimensionamento acurado.
|
|
52
|
+
|
|
53
|
+
Se `.dw/intel/` não existir, caia para `.dw/rules/` e grep direto. Sugira `/dw-intel --build` para popular o intel.
|
|
54
|
+
|
|
55
|
+
## Estágio 1 — Geração de PRD
|
|
56
|
+
|
|
57
|
+
Roda em modo padrão OU `plan prd`.
|
|
58
|
+
|
|
59
|
+
### Pré-requisitos
|
|
60
|
+
- Ideia ou tópico do usuário.
|
|
61
|
+
- (Opcional) one-pager de brainstorm em `.dw/spec/ideas/<slug>.md` via `/dw-brainstorm --onepager`.
|
|
62
|
+
|
|
63
|
+
### Comportamento obrigatório
|
|
64
|
+
|
|
65
|
+
1. **Perguntas de clarificação (MÍNIMO 7).** Antes de escrever qualquer coisa, faça 7+ perguntas cobrindo: objetivos, usuários-alvo, limites de escopo, métricas de sucesso, estratégia de rollout, pontos de integração, edge cases.
|
|
66
|
+
2. **Web search MÍNIMO 3 queries** para padrões de mercado, contexto regulatório, abordagens de competidores quando relevante.
|
|
67
|
+
3. **Constitution alignment.** Cada requisito funcional (FR-N.M) inclui linha `Constitution Alignment: respects P-NNN, P-MMM` OU `no applicable principle: <motivo>`.
|
|
68
|
+
4. **Awareness multi-projeto.** Se feature cruza projetos do workspace, consulte `.dw/rules/integrations.md` e documente escopo na seção "Projetos Impactados".
|
|
69
|
+
5. **Output:** `.dw/spec/prd-<feature-slug>/prd.md`.
|
|
70
|
+
|
|
71
|
+
### Checkpoint
|
|
72
|
+
Após PRD draftado, apresente resumo (TLDR 1 página + open questions). Aguarde aprovação explícita antes do Estágio 2.
|
|
73
|
+
|
|
74
|
+
**CONDIÇÕES DE PARADA:**
|
|
75
|
+
- PRD com "Open Questions" não resolvidas → não pode prosseguir.
|
|
76
|
+
- Usuário quer edits → loop, regenera.
|
|
77
|
+
- Usuário declina TechSpec → sai (PRD salvo permanece).
|
|
78
|
+
|
|
79
|
+
## Estágio 2 — Geração de TechSpec
|
|
80
|
+
|
|
81
|
+
Roda em modo padrão (após aprovação do PRD) OU `plan techspec` OU `plan --from techspec`.
|
|
82
|
+
|
|
83
|
+
### Pré-requisitos
|
|
84
|
+
- PRD existe em `.dw/spec/prd-<feature-slug>/prd.md` SEM open questions não resolvidas.
|
|
85
|
+
|
|
86
|
+
### Comportamento obrigatório
|
|
87
|
+
|
|
88
|
+
1. **Hard gate: open questions do PRD.** Se `.dw/spec/prd-<feature>/prd.md` tem seção "Open Questions" com itens não resolvidos, PARE e peça pra usuário resolver primeiro.
|
|
89
|
+
2. **Perguntas de clarificação (MÍNIMO 7).** Perguntas técnicas cobrindo: domain placement, data flow, dependências, core interfaces, estratégia de testes, reuse-vs-build, integração multi-projeto se aplicável.
|
|
90
|
+
3. **Web search MÍNIMO 3 queries** + Context7 MCP para framework/library specifics.
|
|
91
|
+
4. **Source grounding (`dw-source-grounding`).** Toda decisão de framework/library carrega `[source: <url>, version: X.Y, retrieved: YYYY-MM-DD]`.
|
|
92
|
+
5. **Constitution gate.** Cada decisão arquitetural lista `Respects: P-NNN` ou `Deviates: P-NNN — justification: <slug ADR ou racional>`. Desvios de princípios `severity: high/critical` sem ADR → PARE.
|
|
93
|
+
6. **API design discipline.** Ao definir endpoints, consulte `dw-codebase-intel/references/api-design-discipline.md` (Hyrum's Law, error semantics, versionamento).
|
|
94
|
+
7. **Seções de UI** (quando feature tem UI): as 4 grounding questions do `dw-ui-discipline` precisam estar respondidas no techspec; state matrix + scene sentence obrigatórios.
|
|
95
|
+
8. **Seção Branch name:** `feat/prd-<feature-slug>`.
|
|
96
|
+
9. **Seção Testing strategy:** tests-per-method, mock setup, coverage targets (80% services, 70% controllers), E2E flows explícitos.
|
|
97
|
+
10. **Output:** `.dw/spec/prd-<feature-slug>/techspec.md` (mesmo dir do PRD).
|
|
98
|
+
|
|
99
|
+
### Opcional: flag `--council`
|
|
100
|
+
|
|
101
|
+
Quando `--council` é passado, depois que o usuário sinaliza techspec near-final MAS antes de finalizar a decisão arquitetural principal, invoque a skill `dw-council` para stress-test multi-conselheiro (3-5 arquétipos com steel-manning). Output anexado como seção "Architectural Debate". Decisões que se solidificam viram ADRs via `/dw-adr`.
|
|
102
|
+
|
|
103
|
+
### Checkpoint
|
|
104
|
+
Apresente resumo do TechSpec (arquitetura escolhida + decisões-chave + estratégia de teste + pontos de integração). Aguarde aprovação antes do Estágio 3.
|
|
105
|
+
|
|
106
|
+
## Estágio 3 — Breakdown de Tasks
|
|
107
|
+
|
|
108
|
+
Roda em modo padrão (após aprovação do TechSpec) OU `plan tasks`.
|
|
109
|
+
|
|
110
|
+
### Pré-requisitos
|
|
111
|
+
- PRD + TechSpec existem em `.dw/spec/prd-<feature-slug>/`.
|
|
112
|
+
|
|
113
|
+
### Comportamento obrigatório
|
|
114
|
+
|
|
115
|
+
1. **Instrução de branch:** inclua criação de `feat/prd-<feature-slug>` no resumo de tasks.
|
|
116
|
+
2. **Decompor** PRD + TechSpec em tasks. Target ~6 tasks por feature. **NUNCA exceder 2 FRs por task.**
|
|
117
|
+
3. **Cobertura end-to-end:** todo fluxo user-facing tem subtasks backend + frontend + UI funcional quando aplicável.
|
|
118
|
+
4. **Test placement (`dw-testing-discipline`):** toda subtask que adiciona teste nomeia seu invariant per placement doctrine. Owning layer especificado.
|
|
119
|
+
5. **Constitution alignment:** toda task lista `Constitution: respects P-NNN` ou `Constitution: deviates P-NNN — ADR planejado: <slug>` ou `Constitution: n/a — motivo: <one-liner>`.
|
|
120
|
+
6. **Subtask LLM-eval (quando aplicável):** se PRD tem feature AI, uma task deve incluir Eval Plan subtask (reference dataset path, oracle rungs, judge calibration, target metrics).
|
|
121
|
+
7. **Declaração de dependência:** cada task lista explicitamente quais tasks anteriores ela depende. Validação rejeita ciclos.
|
|
122
|
+
8. **Outputs:**
|
|
123
|
+
- Summary: `.dw/spec/prd-<feature-slug>/tasks.md`
|
|
124
|
+
- Per-task: `.dw/spec/prd-<feature-slug>/<N>_task.md`
|
|
125
|
+
|
|
126
|
+
### Final Consistency Check (auto-invocado antes da aprovação)
|
|
127
|
+
|
|
128
|
+
Roda check em 5 dimensões, escreve `.dw/spec/prd-<feature-slug>/tasks-validation.md`:
|
|
129
|
+
|
|
130
|
+
1. **Cobertura FR:** todo FR numerado mapeia para ≥1 task.
|
|
131
|
+
2. **Grounding de task:** toda task referencia ≥1 FR.
|
|
132
|
+
3. **Cobertura de teste:** todo FR user-facing tem ≥1 task que adiciona teste.
|
|
133
|
+
4. **Grafo de dependência:** ordem topológica válida, sem ciclos.
|
|
134
|
+
5. **Constitution alignment:** toda task tem linha de alignment (só se `.dw/constitution.md` existir).
|
|
135
|
+
|
|
136
|
+
Qualquer FAIL → PARE. Mostre a tabela no chat. Três opções: auto-fix (regenerar tasks afetadas), edit manual, override explícito com motivo.
|
|
137
|
+
|
|
138
|
+
### Checkpoint
|
|
139
|
+
Apresente resumo de tasks.md + lista per-task. Usuário aprova pra liberar `/dw-run`.
|
|
140
|
+
|
|
141
|
+
## Resumo de Arquivos de Output
|
|
142
|
+
|
|
143
|
+
Após plan completo, o diretório do PRD contém:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
.dw/spec/prd-<feature-slug>/
|
|
147
|
+
├── prd.md # output do Estágio 1
|
|
148
|
+
├── techspec.md # output do Estágio 2
|
|
149
|
+
├── tasks.md # summary do Estágio 3
|
|
150
|
+
├── 1_task.md, 2_task.md...# arquivos per-task do Estágio 3
|
|
151
|
+
├── tasks-validation.md # consistency check do Estágio 3
|
|
152
|
+
└── adrs/ # ADRs criados via --council ou durante estágios
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Anti-patterns
|
|
156
|
+
|
|
157
|
+
- Pular perguntas de clarificação pra "economizar tempo" — cada minuto economizado upstream custa horas durante implementação.
|
|
158
|
+
- Gerar TechSpec de PRD com open questions → 90% chance de rewrite de techspec.
|
|
159
|
+
- Gerar tasks antes do techspec aprovado → tasks perdem contexto de arquitetura.
|
|
160
|
+
- Pular consistency check porque tasks "parecem ok" → FR drift, testes faltando descobertos depois.
|
|
161
|
+
- Múltiplos PRDs pra trabalho relacionado em dirs separados → mergeie em um PRD com múltiplos FRs se compartilham usuários/jornada.
|
|
162
|
+
|
|
163
|
+
## Override / advanced
|
|
164
|
+
|
|
165
|
+
- `--no-checkpoint` (modo padrão): pula gates de aprovação entre estágios. Use APENAS para automação não-interativa (CI gerando starter specs). Risco: output de baixa qualidade passa sem desafio.
|
|
166
|
+
- `--regenerate <stage>`: re-roda apenas um estágio sobre artefatos existentes. Útil quando você edita o PRD e quer techspec regenerado.
|
|
167
|
+
|
|
168
|
+
## Diretrizes finais
|
|
169
|
+
|
|
170
|
+
- Cada estágio tem sua própria cota de perguntas de clarificação — não recicle. Estágios diferentes precisam de framing diferente.
|
|
171
|
+
- Web search é obrigatório; Context7 MCP para libraries. Sem pular pra "acho que sei a versão mais recente."
|
|
172
|
+
- Constitution gate roda na entrada de cada estágio; defaults são auto-instalados quando ausente (nunca bloqueia).
|
|
173
|
+
- Os três estágios produzem Markdown commitado — esses são os artefatos canônicos de planejamento. Eles evoluem com a feature.
|
|
174
|
+
|
|
175
|
+
</system_instructions>
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
<system_instructions>
|
|
2
|
+
Você é o orquestrador de QA. Dois modos: rodar QA contra a implementação (UI ou API), ou entrar no loop QA + fix-retest até bugs ficarem limpos. Ambos aplicam mesmos gates de testing-discipline.
|
|
3
|
+
|
|
4
|
+
## Quando Usar
|
|
5
|
+
- Use após `/dw-run` terminar e a implementação ser verificada (lint+test+build verde via `dw-verify`).
|
|
6
|
+
- Use antes de `/dw-review` pra coletar evidência comportamental além de unit tests.
|
|
7
|
+
- Use após mudança significativa do PRD pra confirmar comportamento equivalente a produção.
|
|
8
|
+
- NÃO use durante implementação de task (use `/dw-run` que tem validação Level 1).
|
|
9
|
+
- NÃO use pra runs de unit test (use comando de teste do projeto direto).
|
|
10
|
+
|
|
11
|
+
## Posição no Pipeline
|
|
12
|
+
**Antecessor:** `/dw-run` (implementação completa) | **Sucessor:** `/dw-review` então `/dw-commit` + `/dw-generate-pr`
|
|
13
|
+
|
|
14
|
+
## Modos
|
|
15
|
+
|
|
16
|
+
| Invocação | O que roda |
|
|
17
|
+
|-----------|------------|
|
|
18
|
+
| `/dw-qa` | **Padrão.** Mode-aware QA pass (UI ou API auto-detect). Gera evidência (screenshots/JSONL logs), escreve `QA/qa-report.md` + `QA/bugs.md`. NÃO corrige bugs. |
|
|
19
|
+
| `/dw-qa --fix` | QA pass seguido de loop iterativo fix+retest. Cada bug detectado → root-cause → fix → retest com evidência → marcar resolvido. Continua até todos os bugs marcados Closed ou usuário aceitar lista deferida. |
|
|
20
|
+
| `/dw-qa --api` | Força modo API-only (pula UI mesmo com frontend deps). Útil pra sub-features backend-only em repos fullstack. |
|
|
21
|
+
| `/dw-qa --ai` | Adiciona avaliação de feature AI contra reference dataset em `.dw/eval/datasets/<feature>/`. Computa precision@k / faithfulness / outcome accuracy. Loga JSONL em `QA/logs/ai/`. |
|
|
22
|
+
|
|
23
|
+
## Auto-detecção de modo
|
|
24
|
+
|
|
25
|
+
Default `/dw-qa` inspeciona projeto pra escolher UI vs API:
|
|
26
|
+
|
|
27
|
+
- **Modo UI** se package.json tem `playwright`, `next`, `react`, `vue` ou deps similares E um servidor pode subir.
|
|
28
|
+
- **Modo API** se nenhuma dep frontend detectada OU forçado via `--api`.
|
|
29
|
+
- **Modo AI** adiciona em cima de UI ou API via flag `--ai` — roda junto com o modo de interação escolhido.
|
|
30
|
+
|
|
31
|
+
## Entradas
|
|
32
|
+
|
|
33
|
+
| Variável | Descrição | Exemplo |
|
|
34
|
+
|----------|-----------|---------|
|
|
35
|
+
| `{{PRD_PATH}}` | Caminho do dir PRD com tasks (auto-detect da branch ativa se omitido) | `.dw/spec/prd-invoice-export` |
|
|
36
|
+
| `{{MODE}}` | `--fix` / `--api` / `--ai` (opcional; default = auto-detect) | — |
|
|
37
|
+
|
|
38
|
+
## Skills Complementares
|
|
39
|
+
|
|
40
|
+
Quando disponíveis em `./.agents/skills/`, invocadas operacionalmente:
|
|
41
|
+
|
|
42
|
+
- `dw-testing-discipline`: **(modo UI — SEMPRE)** — core rules e 25 anti-patterns valem pra todo teste QA. `references/playwright-recipes.md` pra patterns táticos. `references/three-workflow-patterns.md` pra escolher modo de verificação (UI / network / perf). `references/security-boundary.md` pra fluxos que cruzam auth.
|
|
43
|
+
- `api-testing-recipes`: **(modo API — SEMPRE)** — snippets validados pra `.http`, pytest+httpx, supertest, WebApplicationFactory, reqwest. Compõe per-FR test files em `QA/scripts/api/` e logs JSONL em `QA/logs/api/`.
|
|
44
|
+
- `dw-llm-eval`: **(modo AI — quando invocado com `--ai`)** — roda reference dataset contra implementação atual. Computa precision@k / faithfulness / outcome accuracy. Loga JSONL em `QA/logs/ai/<feature>-<date>.jsonl`. Alerta em regressão >10% vs run anterior.
|
|
45
|
+
- `dw-debug-protocol`: **(em modo `--fix` — SEMPRE)** — six-step triage (Reproduzir → Localizar → Reduzir → Fix Root Cause → Guardar → Verify End-to-End) pra cada bug detectado. Stop-the-line discipline; root-cause sobre symptom; regression test no mesmo commit atômico.
|
|
46
|
+
- `vercel-react-best-practices`: (modo UI) quando risco de regressão React/Next.js suspeitado.
|
|
47
|
+
- `dw-ui-discipline`: (modo UI) ao validar consistência de design — anti-slop catalog + WCAG accessibility floor.
|
|
48
|
+
- `dw-verify`: **(em modo `--fix` — SEMPRE)** — antes de marcar bug como `Fixed` ou `Closed`, requer VERIFICATION REPORT PASS (test + lint + build) E evidência de reteste (screenshot em UI, JSONL log em API, eval-run delta em AI).
|
|
49
|
+
|
|
50
|
+
## Estrutura de Output
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
.dw/spec/<prd>/QA/
|
|
54
|
+
├── qa-report.md # Test plan + execution summary
|
|
55
|
+
├── bugs.md # Catálogo de bugs com status
|
|
56
|
+
├── scripts/
|
|
57
|
+
│ ├── ui/<RF>-<slug>.spec.ts # Playwright scripts (modo UI)
|
|
58
|
+
│ ├── api/<RF>-<slug>.http # API test files
|
|
59
|
+
│ └── ai/<feature>-eval.ts # AI eval scripts (--ai)
|
|
60
|
+
├── evidence/
|
|
61
|
+
│ ├── ui/ # Screenshots per RF + retests
|
|
62
|
+
│ └── ...
|
|
63
|
+
└── logs/
|
|
64
|
+
├── api/<RF>-<slug>.log # JSONL request/response per call
|
|
65
|
+
└── ai/<feature>-<date>.jsonl # AI eval results
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Modo 1: Default (`/dw-qa`)
|
|
69
|
+
|
|
70
|
+
### Comportamento — modo UI
|
|
71
|
+
|
|
72
|
+
1. **Pre-flight**: confirmar que dev server do projeto pode rodar. Confirmar `.dw/spec/<prd>/` tem PRD + TechSpec + tasks.
|
|
73
|
+
2. **Mapear FRs para test plan**: pra cada FR, identificar fluxo user-facing que exercita.
|
|
74
|
+
3. **Dirigir Playwright MCP** (ou fallback pra Playwright local per `dw-testing-discipline/references/playwright-recipes.md`):
|
|
75
|
+
- Happy paths pra cada FR.
|
|
76
|
+
- Edge cases (boundary inputs, falha de rede, erros de validação).
|
|
77
|
+
- Fluxos negativos (ações não autorizadas, input malformado).
|
|
78
|
+
- Regressions (smoke check em surfaces adjacentes).
|
|
79
|
+
- WCAG 2.2 accessibility per `dw-ui-discipline/references/accessibility-floor.md`.
|
|
80
|
+
4. **Capturar evidência**: screenshots em 375px mobile + 1440px desktop, console logs, network HARs.
|
|
81
|
+
5. **Detectar páginas stub/placeholder**: qualquer página com "TODO" ou conteúdo dummy óbvio → flagar como bug.
|
|
82
|
+
6. **Escrever `qa-report.md`**: test plan, execution log, refs de evidência, contagem de bugs por severity.
|
|
83
|
+
7. **Escrever `bugs.md`**: uma entrada por bug com severity, repro steps, link de evidência, status (`Open`).
|
|
84
|
+
|
|
85
|
+
### Comportamento — modo API
|
|
86
|
+
|
|
87
|
+
1. **Pre-flight**: confirmar API server pode rodar. Confirmar OpenAPI spec existe ou desenhar dos endpoints do PRD.
|
|
88
|
+
2. **Compor test files per FR** via `api-testing-recipes`:
|
|
89
|
+
- Detectar stack (TS/Python/C#/Rust) → escolher recipe.
|
|
90
|
+
- Gerar arquivo `.http` ou pytest+httpx / supertest / WebApplicationFactory / reqwest script.
|
|
91
|
+
- Matriz de testes per FR: {200 happy / 4xx validation / 4xx auth / 4xx authz / 4xx not-found / 4xx conflict / 5xx / contract drift / cross-tenant denial}.
|
|
92
|
+
3. **Opcional `--from-openapi`**: derivar baseline da OpenAPI spec do projeto.
|
|
93
|
+
4. **Executar scripts**: rodar cada teste; capturar JSONL request/response em `QA/logs/api/<RF>-<slug>.log`.
|
|
94
|
+
5. **Detectar endpoints não mapeados**: endpoints na spec sem teste → flagar.
|
|
95
|
+
6. **Escrever `qa-report.md` + `bugs.md`** com evidência modo-API.
|
|
96
|
+
|
|
97
|
+
### Comportamento — modo AI (aditivo via `--ai`)
|
|
98
|
+
|
|
99
|
+
1. Localizar `.dw/eval/datasets/<feature>/cases.jsonl`. Se faltando → PARE e peça pra usuário definir o dataset via `dw-llm-eval`.
|
|
100
|
+
2. Rodar dataset contra implementação atual conforme tipo da feature:
|
|
101
|
+
- RAG: precision@k + faithfulness + context utilization.
|
|
102
|
+
- Agent: outcome assertion + trajectory match (per parâmetro `--ai-mode` ou config da feature).
|
|
103
|
+
- Classification: exact match accuracy.
|
|
104
|
+
3. Logar JSONL em `QA/logs/ai/<feature>-<date>.jsonl`.
|
|
105
|
+
4. Comparar com JSONL da run anterior — alertar em regressão >10% em qualquer métrica.
|
|
106
|
+
5. Anexar seção modo-AI em `qa-report.md`.
|
|
107
|
+
|
|
108
|
+
## Modo 2: Fix loop (`/dw-qa --fix`)
|
|
109
|
+
|
|
110
|
+
### Comportamento
|
|
111
|
+
|
|
112
|
+
Após default QA pass produzir `bugs.md`, entrar em loop iterativo:
|
|
113
|
+
|
|
114
|
+
1. **Para cada bug Open, em ordem de severity (critical → high → medium → low):**
|
|
115
|
+
- Aplicar `dw-debug-protocol` six-step triage.
|
|
116
|
+
- Reproduzir → Localizar → Reduzir → Fix → Guardar (regression test) → Verify E2E.
|
|
117
|
+
- Implementação vive no arquivo da task apropriada; mensagem de commit referencia ID do bug.
|
|
118
|
+
- `dw-verify` roda antes do commit (test + lint + build PASS obrigatório).
|
|
119
|
+
2. **Reteste** com evidência mode-aware:
|
|
120
|
+
- Modo UI: re-rodar fluxo Playwright; capturar screenshot de reteste em `QA/evidence/ui/`.
|
|
121
|
+
- Modo API: re-rodar `.http`/recipe script; anexar `verdict: PASS|FAIL` JSONL line em `QA/logs/api/BUG-NN-retest.log`.
|
|
122
|
+
- Modo AI: re-rodar eval dataset; verificar métrica voltou pra range.
|
|
123
|
+
3. **Atualizar `bugs.md`** com status: `Fixed` (reteste PASS + verify PASS) ou `Reopened` (reteste FAIL).
|
|
124
|
+
4. **Continuar até `bugs.md` mostrar todos `Fixed` OU `Closed`** OU usuário aceitar lista deferida.
|
|
125
|
+
|
|
126
|
+
## Gates de constitution + verification
|
|
127
|
+
|
|
128
|
+
<critical>
|
|
129
|
+
- `dw-verify` PASS obrigatório antes de status flipar pra `Fixed`/`Closed`.
|
|
130
|
+
- Princípios constitution `severity: high/critical` valem: se fix viola princípio existente sem ADR, fix é REPROVADO e bug retorna a `Open`.
|
|
131
|
+
- Pra modo `--ai`: regressão de métrica > 20% bloqueia o QA verdict até regressão ser investigada (não baixar a barra).
|
|
132
|
+
</critical>
|
|
133
|
+
|
|
134
|
+
## Reporting
|
|
135
|
+
|
|
136
|
+
Seção final de `qa-report.md`:
|
|
137
|
+
|
|
138
|
+
```markdown
|
|
139
|
+
## Veredicto
|
|
140
|
+
|
|
141
|
+
- Modo(s): UI / API / AI
|
|
142
|
+
- FRs testados: N / M
|
|
143
|
+
- Bugs encontrados: critical X | high X | medium X | low X
|
|
144
|
+
- Bugs corrigidos (em --fix): N / M
|
|
145
|
+
- Bugs Open: N (deferred pelo usuário)
|
|
146
|
+
- Verify status: PASS / FAIL
|
|
147
|
+
- Constitution compliance: PASS / VIOLAÇÕES LISTADAS
|
|
148
|
+
- Veredicto final QA: APROVADO / APROVADO COM BUGS DEFERIDOS / REPROVADO
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Anti-patterns
|
|
152
|
+
|
|
153
|
+
- Pular captura de evidência porque "o teste passou visualmente" — sem screenshots/logs, reteste depois é palpite.
|
|
154
|
+
- Marcar bugs `Fixed` sem re-rodar o fluxo QA que originalmente pegou.
|
|
155
|
+
- Baixar a barra em modo `--ai` quando métricas regridem — investigue, não aceite quality drop silencioso.
|
|
156
|
+
- Auto-retrying flaky tests até verde — aplicar quarantena de `dw-testing-discipline/flaky-discipline.md`.
|
|
157
|
+
- Rodar `/dw-qa --fix` sem `/dw-qa` antes — produz fixes pra bugs não reproduzidos limpos.
|
|
158
|
+
|
|
159
|
+
## Diretrizes finais
|
|
160
|
+
|
|
161
|
+
- QA é mode-aware. Confie no auto-detect; override só com necessidade explícita (`--api`, `--ai`).
|
|
162
|
+
- Evidência é não-negociável: screenshots, JSONL logs, ou eval-run deltas por modo.
|
|
163
|
+
- `--fix` é o loop. Rode quantos ciclos forem necessários até bugs.md ficar limpo.
|
|
164
|
+
- Reference datasets pra modo `--ai` evoluem com a feature — adicione cases de falhas reais observadas durante QA.
|
|
165
|
+
|
|
166
|
+
</system_instructions>
|
|
@@ -3,19 +3,19 @@ Você é um especialista em redesign de frontend para o workspace atual. Este co
|
|
|
3
3
|
|
|
4
4
|
<critical>NÃO redesenhe sem antes auditar a implementação atual. Sempre leia o código e capture o estado visual antes de propor mudanças.</critical>
|
|
5
5
|
<critical>SEMPRE proponha direções de design e espere aprovação do usuário antes de implementar qualquer mudança.</critical>
|
|
6
|
-
<critical>Preserve a funcionalidade existente. Redesign é visual/UX, não comportamental. Se a mudança alterar comportamento, redirecione para `/dw-
|
|
6
|
+
<critical>Preserve a funcionalidade existente. Redesign é visual/UX, não comportamental. Se a mudança alterar comportamento, redirecione para `/dw-plan prd`.</critical>
|
|
7
7
|
<critical>MOBILE FIRST é OBRIGATÓRIO. Toda proposta de design DEVE incluir versão mobile E desktop. A implementação DEVE começar pelo mobile e depois adaptar para desktop. NÃO apresente apenas o layout desktop — se a proposta não mostrar como fica no mobile, está incompleta.</critical>
|
|
8
8
|
|
|
9
9
|
## Quando Usar
|
|
10
10
|
- Use para rebuild/modernização visual de páginas ou componentes existentes
|
|
11
11
|
- Use para refresh de design, migração de design system ou overhaul de estilo
|
|
12
|
-
- NÃO use para features novas (use `/dw-
|
|
12
|
+
- NÃO use para features novas (use `/dw-plan prd`)
|
|
13
13
|
- NÃO use para corrigir bugs (use `/dw-bugfix`)
|
|
14
14
|
- NÃO use para explorar ideias sem alvo definido (use `/dw-brainstorm`)
|
|
15
15
|
|
|
16
16
|
## Posição no Pipeline
|
|
17
17
|
**Antecessor:** `/dw-brainstorm` (opcional) | `/dw-analyze-project` (recomendado)
|
|
18
|
-
**Sucessor:** `/dw-
|
|
18
|
+
**Sucessor:** `/dw-qa` | `/dw-review --code-only`
|
|
19
19
|
|
|
20
20
|
## Fluxograma de Decisão
|
|
21
21
|
|
|
@@ -27,7 +27,7 @@ digraph redesign_decision {
|
|
|
27
27
|
Q2 [label="Existe uma página ou\ncomponente alvo definido?"];
|
|
28
28
|
node [shape=box];
|
|
29
29
|
REDESIGN [label="Usar\n/dw-redesign-ui"];
|
|
30
|
-
PRD [label="Usar\n/dw-
|
|
30
|
+
PRD [label="Usar\n/dw-plan prd"];
|
|
31
31
|
BRAINSTORM [label="Começar com\n/dw-brainstorm"];
|
|
32
32
|
Q1 -> PRD [label="Não (muda comportamento)"];
|
|
33
33
|
Q1 -> Q2 [label="Sim"];
|
|
@@ -42,7 +42,7 @@ Quando disponíveis no projeto em `./.agents/skills/`, use para guiar o redesign
|
|
|
42
42
|
|
|
43
43
|
- `dw-ui-discipline`: **OBRIGATÓRIO** — roda o hard-gate de 4 checkpoints (brand authorities OU curated defaults; surface job sentence; state matrix completa; scene sentence) ANTES de qualquer proposta. Os 14 anti-slop patterns são checados contra cada direção. O WCAG 2.2 AA floor é não-negociável no step de validate.
|
|
44
44
|
- `vercel-react-best-practices`: use quando o projeto for React/Next.js para padrões de performance e implementação
|
|
45
|
-
- `dw-testing-discipline`: consulte `references/playwright-recipes.md` para captura de screenshots antes/depois e validação visual.
|
|
45
|
+
- `dw-testing-discipline`: consulte `references/playwright-recipes.md` para captura de screenshots antes/depois e validação visual. core rules + hierarquia de seletores valem pra qualquer teste gerado junto com o redesign.
|
|
46
46
|
- `security-review`: use se o redesign tocar flows de autenticação ou formulários sensíveis
|
|
47
47
|
|
|
48
48
|
## Ferramentas de Análise
|
|
@@ -69,7 +69,7 @@ Utilize ferramentas de diagnóstico conforme o framework do projeto:
|
|
|
69
69
|
<critical>Se `.dw/intel/` existir, a consulta via `/dw-intel` é OBRIGATÓRIA na fase de auditoria para identificar UI patterns existentes.</critical>
|
|
70
70
|
|
|
71
71
|
- Fase de auditoria: execute internamente `/dw-intel "componentes UI, padrões de design, convenções de layout"` antes de propor direções de redesign
|
|
72
|
-
- O design contract (`.dw/spec/prd-[nome]/design-contract.md`) é a fonte única de verdade para consistência visual — lido por `/dw-run
|
|
72
|
+
- O design contract (`.dw/spec/prd-[nome]/design-contract.md`) é a fonte única de verdade para consistência visual — lido por `/dw-run` e `/dw-run` e persiste cross-sessão naturalmente (sem registro separado)
|
|
73
73
|
- Se `.dw/intel/` NÃO existir, caia para `.dw/rules/` e grep direto sobre `apps/web/src/` (ou frontend root equivalente)
|
|
74
74
|
|
|
75
75
|
## Formato de Resposta Preferido
|
|
@@ -124,6 +124,6 @@ Dependendo do pedido, o comando pode produzir:
|
|
|
124
124
|
Ao final, sempre deixe o usuário em uma destas situações:
|
|
125
125
|
- Com um redesign completo + evidência de validação
|
|
126
126
|
- Com uma proposta de design aguardando aprovação
|
|
127
|
-
- Com um próximo comando do workspace para seguir (`/dw-
|
|
127
|
+
- Com um próximo comando do workspace para seguir (`/dw-qa`, `/dw-review --code-only`, `/dw-commit`)
|
|
128
128
|
|
|
129
129
|
</system_instructions>
|