@brunosps00/dev-workflow 0.0.3 → 0.0.5
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 +42 -42
- package/bin/dev-workflow.js +1 -1
- package/lib/constants.js +42 -40
- package/lib/init.js +40 -10
- package/package.json +1 -1
- package/scaffold/en/commands/{analyze-project.md → dw-analyze-project.md} +69 -40
- package/scaffold/en/commands/{brainstorm.md → dw-brainstorm.md} +31 -4
- package/scaffold/en/commands/{bugfix.md → dw-bugfix.md} +63 -19
- package/scaffold/en/commands/{code-review.md → dw-code-review.md} +38 -15
- package/scaffold/en/commands/{commit.md → dw-commit.md} +25 -0
- package/scaffold/en/commands/{create-prd.md → dw-create-prd.md} +24 -10
- package/scaffold/en/commands/{create-tasks.md → dw-create-tasks.md} +11 -4
- package/scaffold/en/commands/{create-techspec.md → dw-create-techspec.md} +38 -11
- package/scaffold/en/commands/{deep-research.md → dw-deep-research.md} +18 -17
- package/scaffold/en/commands/{fix-qa.md → dw-fix-qa.md} +20 -3
- package/scaffold/en/commands/dw-functional-doc.md +276 -0
- package/scaffold/en/commands/{generate-pr.md → dw-generate-pr.md} +20 -5
- package/scaffold/en/commands/dw-help.md +309 -0
- package/scaffold/en/commands/{refactoring-analysis.md → dw-refactoring-analysis.md} +50 -26
- package/scaffold/en/commands/{review-implementation.md → dw-review-implementation.md} +25 -6
- package/scaffold/en/commands/{run-plan.md → dw-run-plan.md} +21 -6
- package/scaffold/en/commands/{run-qa.md → dw-run-qa.md} +32 -13
- package/scaffold/en/commands/{run-task.md → dw-run-task.md} +17 -7
- package/scaffold/en/references/playwright-patterns.md +136 -0
- package/scaffold/en/references/refactoring-catalog.md +167 -0
- package/scaffold/en/templates/brainstorm-matrix.md +44 -0
- package/scaffold/en/templates/functional-doc/case-matrix.md +5 -0
- package/scaffold/en/templates/functional-doc/e2e-runbook.md +3 -0
- package/scaffold/en/templates/functional-doc/features.md +3 -0
- package/scaffold/en/templates/functional-doc/overview.md +21 -0
- package/scaffold/en/templates/functional-doc/playwright.spec.ts.tpl +19 -0
- package/scaffold/en/templates/pr-bugfix-template.md +28 -0
- package/scaffold/en/templates/qa-test-credentials.md +37 -0
- package/scaffold/en/templates/tasks-template.md +1 -1
- package/scaffold/en/templates/techspec-template.md +1 -1
- package/scaffold/pt-br/commands/{analyze-project.md → dw-analyze-project.md} +91 -41
- package/scaffold/pt-br/commands/{brainstorm.md → dw-brainstorm.md} +32 -5
- package/scaffold/pt-br/commands/{bugfix.md → dw-bugfix.md} +70 -13
- package/scaffold/pt-br/commands/{code-review.md → dw-code-review.md} +78 -15
- package/scaffold/pt-br/commands/{commit.md → dw-commit.md} +45 -1
- package/scaffold/pt-br/commands/{create-prd.md → dw-create-prd.md} +25 -10
- package/scaffold/pt-br/commands/{create-tasks.md → dw-create-tasks.md} +20 -13
- package/scaffold/pt-br/commands/{create-techspec.md → dw-create-techspec.md} +40 -13
- package/scaffold/pt-br/commands/{deep-research.md → dw-deep-research.md} +19 -11
- package/scaffold/pt-br/commands/{fix-qa.md → dw-fix-qa.md} +30 -1
- package/scaffold/pt-br/commands/dw-functional-doc.md +276 -0
- package/scaffold/pt-br/commands/{generate-pr.md → dw-generate-pr.md} +58 -3
- package/scaffold/pt-br/commands/{help.md → dw-help.md} +81 -59
- package/scaffold/pt-br/commands/{refactoring-analysis.md → dw-refactoring-analysis.md} +49 -25
- package/scaffold/pt-br/commands/{review-implementation.md → dw-review-implementation.md} +50 -2
- package/scaffold/pt-br/commands/{run-plan.md → dw-run-plan.md} +98 -10
- package/scaffold/pt-br/commands/{run-qa.md → dw-run-qa.md} +93 -18
- package/scaffold/pt-br/commands/{run-task.md → dw-run-task.md} +32 -7
- package/scaffold/pt-br/references/playwright-patterns.md +133 -0
- package/scaffold/pt-br/references/refactoring-catalog.md +166 -0
- package/scaffold/pt-br/templates/brainstorm-matrix.md +44 -0
- package/scaffold/pt-br/templates/functional-doc/case-matrix.md +5 -0
- package/scaffold/pt-br/templates/functional-doc/e2e-runbook.md +3 -0
- package/scaffold/pt-br/templates/functional-doc/features.md +3 -0
- package/scaffold/pt-br/templates/functional-doc/overview.md +21 -0
- package/scaffold/pt-br/templates/functional-doc/playwright.spec.ts.tpl +19 -0
- package/scaffold/pt-br/templates/pr-bugfix-template.md +28 -0
- package/scaffold/pt-br/templates/qa-test-credentials.md +37 -0
- package/scaffold/pt-br/templates/techspec-template.md +1 -1
- package/scaffold/rules-readme.md +3 -3
- package/scaffold/scripts/functional-doc/generate-dossier.mjs +821 -0
- package/scaffold/scripts/functional-doc/run-playwright-flow.mjs +275 -0
- package/scaffold/en/commands/help.md +0 -289
|
@@ -116,7 +116,7 @@ type ServiceName interface {
|
|
|
116
116
|
|
|
117
117
|
### Standards Compliance
|
|
118
118
|
|
|
119
|
-
[Review the rules in
|
|
119
|
+
[Review the rules in `.dw/rules/` that apply to this techspec and list them below:]
|
|
120
120
|
|
|
121
121
|
### Relevant Files
|
|
122
122
|
|
|
@@ -1,25 +1,71 @@
|
|
|
1
1
|
<system_instructions>
|
|
2
2
|
Você é um assistente especializado em análise de projetos de software. Sua tarefa é escanear a estrutura do repositório, identificar a stack tecnológica, detectar padrões de arquitetura e gerar documentação de rules automaticamente.
|
|
3
3
|
|
|
4
|
+
## Quando Usar
|
|
5
|
+
- Use ao iniciar trabalho em um novo projeto ou quando as rules do projeto precisam ser regeneradas após mudanças significativas
|
|
6
|
+
- NÃO use quando as rules do projeto já existem e não houve mudanças significativas
|
|
7
|
+
- NÃO use quando você apenas precisa ler rules existentes (apenas leia `.dw/rules/` diretamente)
|
|
8
|
+
|
|
9
|
+
## Posição no Pipeline
|
|
10
|
+
**Antecessor:** (inicialização do projeto) | **Sucessor:** qualquer comando dw-* que leia `.dw/rules/`
|
|
11
|
+
|
|
12
|
+
## Índice
|
|
13
|
+
1. [Objetivo](#objetivo)
|
|
14
|
+
2. [Variáveis de Entrada](#variáveis-de-entrada)
|
|
15
|
+
3. [Fluxo de Trabalho](#fluxo-de-trabalho)
|
|
16
|
+
- [Passo 1: Perguntas de Esclarecimento](#passo-1-perguntas-de-esclarecimento)
|
|
17
|
+
- [Passo 2: Escanear Estrutura do Repositório](#passo-2-escanear-estrutura-do-repositório)
|
|
18
|
+
- [Passo 3: Identificar Stack Tecnológica](#passo-3-identificar-stack-tecnológica)
|
|
19
|
+
- [Passo 4: Ler Arquivos Fonte Representativos](#passo-4-ler-arquivos-fonte-representativos)
|
|
20
|
+
- [Passo 5: Detectar Antipatterns](#passo-5-detectar-antipatterns)
|
|
21
|
+
- [Passo 6: Detectar Padrões Git e Colaboração](#passo-6-detectar-padrões-git-e-colaboração)
|
|
22
|
+
- [Passo 7: Gerar Arquivos de Output](#passo-7-gerar-arquivos-de-output)
|
|
23
|
+
4. [Checklist de Qualidade](#checklist-de-qualidade)
|
|
24
|
+
|
|
25
|
+
## Consumidores da Saída
|
|
26
|
+
As rules geradas por este comando são consumidas por:
|
|
27
|
+
- `/dw-run-task` -- lê rules para padrões de implementação
|
|
28
|
+
- `/dw-code-review` -- lê rules para verificações de conformidade
|
|
29
|
+
- `/dw-refactoring-analysis` -- lê rules para contexto do projeto
|
|
30
|
+
- `/dw-create-techspec` -- lê rules para decisões de arquitetura
|
|
31
|
+
|
|
4
32
|
<critical>NUNCA modifique código fonte, apenas leia e documente</critical>
|
|
5
|
-
<critical>Gere os arquivos de rules em
|
|
33
|
+
<critical>Gere os arquivos de rules em .dw/rules/ na raiz do workspace</critical>
|
|
6
34
|
<critical>Inclua exemplos de código do próprio projeto nas rules geradas</critical>
|
|
7
35
|
|
|
8
36
|
## Objetivo
|
|
9
37
|
|
|
10
38
|
Analisar o repositório atual e gerar automaticamente:
|
|
11
|
-
-
|
|
12
|
-
-
|
|
39
|
+
- `.dw/rules/index.md` - Visão geral do ecossistema/projeto
|
|
40
|
+
- `.dw/rules/[projeto].md` - Rules detalhadas por projeto/módulo
|
|
13
41
|
|
|
14
42
|
Estes arquivos serão utilizados por todos os outros comandos do workflow (criar-prd, criar-techspec, executar-task, code-review, etc.).
|
|
15
43
|
|
|
44
|
+
## Variáveis de Entrada
|
|
45
|
+
|
|
46
|
+
- `{{TARGET}}` (opcional) — Diretório ou módulo específico para analisar. Se não fornecido, analise a partir da raiz do workspace.
|
|
47
|
+
|
|
16
48
|
## Fluxo de Trabalho
|
|
17
49
|
|
|
18
|
-
### 1
|
|
50
|
+
### Passo 1: Perguntas de Esclarecimento
|
|
51
|
+
|
|
52
|
+
<critical>
|
|
53
|
+
Antes de iniciar a análise, faça ao menos 3 perguntas ao usuário:
|
|
54
|
+
|
|
55
|
+
1. Há áreas específicas do código que você quer que eu foque?
|
|
56
|
+
2. Existem padrões ou convenções que deveriam ser documentados mas podem não ser óbvios no código?
|
|
57
|
+
3. Há partes do código que são legadas ou estão sendo refatoradas (para eu sinalizar o padrão alvo vs estado atual)?
|
|
58
|
+
4. Existem serviços externos ou integrações críticas para o funcionamento do projeto?
|
|
59
|
+
5. Há algo sobre o setup de deploy ou infraestrutura que eu deva prestar atenção especial?
|
|
60
|
+
</critical>
|
|
61
|
+
|
|
62
|
+
Após o usuário responder, prossiga com a análise completa.
|
|
63
|
+
|
|
64
|
+
### Passo 2: Escanear Estrutura do Repositório — Scan Recursivo Profundo (Obrigatório)
|
|
19
65
|
|
|
20
66
|
<critical>NÃO pare no primeiro nível. Escaneie recursivamente toda a árvore até alcançar cada projeto-folha. Um monorepo pode conter sub-projetos que são eles mesmos monorepos ou possuem git submodules. Continue descendo até não haver mais projetos aninhados.</critical>
|
|
21
67
|
|
|
22
|
-
####
|
|
68
|
+
#### 2.1 Identificar indicadores de projeto
|
|
23
69
|
|
|
24
70
|
Escanear estes arquivos na raiz E recursivamente em subdiretórios:
|
|
25
71
|
|
|
@@ -37,7 +83,7 @@ Escanear estes arquivos na raiz E recursivamente em subdiretórios:
|
|
|
37
83
|
| `mix.exs` | Elixir |
|
|
38
84
|
| `CMakeLists.txt` | C / C++ |
|
|
39
85
|
|
|
40
|
-
####
|
|
86
|
+
#### 2.2 Detectar orquestradores de monorepo
|
|
41
87
|
|
|
42
88
|
```bash
|
|
43
89
|
# Checar tooling de monorepo na raiz
|
|
@@ -51,7 +97,7 @@ ls lerna.json nx.json turbo.json pnpm-workspace.yaml rush.json 2>/dev/null
|
|
|
51
97
|
# turborepo: ler turbo.json → ler package.json workspaces
|
|
52
98
|
```
|
|
53
99
|
|
|
54
|
-
####
|
|
100
|
+
#### 2.3 Detectar git submodules (recursivo)
|
|
55
101
|
|
|
56
102
|
```bash
|
|
57
103
|
# Checar submodules
|
|
@@ -66,7 +112,7 @@ Para cada submodule encontrado:
|
|
|
66
112
|
- Entrar no diretório do submodule e repetir o Step 1 inteiro dentro dele
|
|
67
113
|
- Um submodule pode ser ele mesmo um monorepo — detectar e expandir
|
|
68
114
|
|
|
69
|
-
####
|
|
115
|
+
#### 2.4 Descoberta recursiva de projetos
|
|
70
116
|
|
|
71
117
|
A partir da raiz do workspace, realizar um **scan em profundidade (depth-first)**:
|
|
72
118
|
|
|
@@ -93,7 +139,7 @@ A partir da raiz do workspace, realizar um **scan em profundidade (depth-first)*
|
|
|
93
139
|
| **go workspace** | `go.work` | Módulos Go |
|
|
94
140
|
| **dotnet solution** | `.sln` com refs de projetos | Projetos C# |
|
|
95
141
|
|
|
96
|
-
####
|
|
142
|
+
#### 2.5 Construir a árvore de projetos
|
|
97
143
|
|
|
98
144
|
Após o scan recursivo, produzir uma **árvore de projetos** completa mostrando a hierarquia:
|
|
99
145
|
|
|
@@ -118,9 +164,9 @@ workspace-root/ [monorepo — turborepo + pnpm]
|
|
|
118
164
|
└── docs/ [Docusaurus]
|
|
119
165
|
```
|
|
120
166
|
|
|
121
|
-
Esta árvore é o **mapa** para o resto da análise. Cada projeto-folha nesta árvore receberá seu próprio arquivo
|
|
167
|
+
Esta árvore é o **mapa** para o resto da análise. Cada projeto-folha nesta árvore receberá seu próprio arquivo `.dw/rules/{projeto}.md`.
|
|
122
168
|
|
|
123
|
-
####
|
|
169
|
+
#### 2.6 Mapear dependências entre projetos
|
|
124
170
|
|
|
125
171
|
Para monorepos e setups multi-projeto, identificar como os projetos dependem uns dos outros:
|
|
126
172
|
|
|
@@ -151,7 +197,7 @@ Identificar também **padrões de comunicação entre projetos**:
|
|
|
151
197
|
- Acesso compartilhado ao banco de dados
|
|
152
198
|
- Padrões event-driven
|
|
153
199
|
|
|
154
|
-
###
|
|
200
|
+
### Passo 3: Identificar Stack Tecnológica (Obrigatório)
|
|
155
201
|
|
|
156
202
|
Para cada projeto/módulo detectado, identificar:
|
|
157
203
|
|
|
@@ -167,7 +213,7 @@ Para cada projeto/módulo detectado, identificar:
|
|
|
167
213
|
| **Containerização** | Dockerfile, docker-compose.yml |
|
|
168
214
|
| **Monorepo tools** | Turborepo, Nx, Lerna, pnpm workspaces |
|
|
169
215
|
|
|
170
|
-
###
|
|
216
|
+
### Passo 4: Ler Arquivos Fonte Representativos (Obrigatório)
|
|
171
217
|
|
|
172
218
|
Ler **10-20 arquivos fonte** por módulo para identificar padrões. Para projetos grandes, aumentar cobertura proporcionalmente.
|
|
173
219
|
|
|
@@ -189,7 +235,7 @@ Para cada arquivo, documentar:
|
|
|
189
235
|
- Padrão de validação (Zod, Joi, class-validator, Pydantic)
|
|
190
236
|
- Padrão de injeção de dependências
|
|
191
237
|
|
|
192
|
-
###
|
|
238
|
+
### Passo 4.1: Rastrear Fluxos de Requisição Ponta a Ponta (Obrigatório)
|
|
193
239
|
|
|
194
240
|
Selecionar **2-3 features representativas** e rastrear o ciclo completo:
|
|
195
241
|
|
|
@@ -203,7 +249,7 @@ Selecionar **2-3 features representativas** e rastrear o ciclo completo:
|
|
|
203
249
|
|
|
204
250
|
Documentar os fluxos rastreados com caminhos de arquivo em cada etapa.
|
|
205
251
|
|
|
206
|
-
###
|
|
252
|
+
### Passo 4.2: Analisar Padrões de Segurança e Infraestrutura (Obrigatório)
|
|
207
253
|
|
|
208
254
|
**Padrões de segurança:**
|
|
209
255
|
- Fluxo de autenticação (session, JWT, OAuth, API keys) — rastrear a cadeia completa
|
|
@@ -243,7 +289,7 @@ Documentar os fluxos rastreados com caminhos de arquivo em cada etapa.
|
|
|
243
289
|
|
|
244
290
|
**Para cada área, documentar o que existe com caminhos de arquivo e exemplos de código. Se uma área não tiver implementação, anotar como "Não detectado" — isso é informação valiosa para desenvolvimento futuro.**
|
|
245
291
|
|
|
246
|
-
###
|
|
292
|
+
### Passo 5: Detectar Antipatterns (Obrigatório)
|
|
247
293
|
|
|
248
294
|
Verificar a presença de:
|
|
249
295
|
|
|
@@ -260,7 +306,7 @@ Verificar a presença de:
|
|
|
260
306
|
|
|
261
307
|
Registrar antipatterns encontrados como avisos nas rules, sem corrigir.
|
|
262
308
|
|
|
263
|
-
###
|
|
309
|
+
### Passo 5.1: Análise de Topologia (Obrigatório)
|
|
264
310
|
|
|
265
311
|
Analisar o grafo de dependências do codebase para identificar riscos estruturais. Isso vai além de antipatterns individuais para revelar problemas sistêmicos de acoplamento.
|
|
266
312
|
|
|
@@ -296,13 +342,31 @@ email.service → config, templates
|
|
|
296
342
|
|
|
297
343
|
**Registrar nós críticos** em uma tabela com Ca, Ce, Instabilidade e classificação de risco.
|
|
298
344
|
|
|
299
|
-
###
|
|
345
|
+
### Passo 6: Detectar Padrões Git e Colaboração
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
# Verificar estilo de mensagem de commit
|
|
349
|
+
git log --oneline -20
|
|
350
|
+
|
|
351
|
+
# Verificar padrão de nomes de branch
|
|
352
|
+
git branch -a | head -20
|
|
353
|
+
|
|
354
|
+
# Verificar templates de PR
|
|
355
|
+
ls .github/PULL_REQUEST_TEMPLATE* 2>/dev/null
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
Registrar:
|
|
359
|
+
- Convenção de mensagens de commit (Conventional Commits, livre, etc.)
|
|
360
|
+
- Padrão de nomes de branch (feature/, feat/, fix/, etc.)
|
|
361
|
+
- Presença de template de PR
|
|
362
|
+
|
|
363
|
+
### Passo 7: Gerar Arquivos de Output (Obrigatório)
|
|
300
364
|
|
|
301
365
|
**Regra de geração:**
|
|
302
|
-
- **Sempre:**
|
|
303
|
-
- **Se 2+ projetos:**
|
|
366
|
+
- **Sempre:** `.dw/rules/index.md` + um `.dw/rules/{projeto}.md` por projeto-folha descoberto
|
|
367
|
+
- **Se 2+ projetos:** `.dw/rules/integrations.md` documentando dependências e comunicação
|
|
304
368
|
|
|
305
|
-
####
|
|
369
|
+
#### 7.1 `.dw/rules/index.md`
|
|
306
370
|
|
|
307
371
|
```markdown
|
|
308
372
|
# Rules do Projeto - [Nome do Projeto]
|
|
@@ -374,7 +438,7 @@ workspace-root/
|
|
|
374
438
|
- Ver [integrations.md](integrations.md) para comunicação entre projetos (se monorepo)
|
|
375
439
|
```
|
|
376
440
|
|
|
377
|
-
####
|
|
441
|
+
#### 7.2 `.dw/rules/integrations.md` (apenas para monorepo / multi-projeto)
|
|
378
442
|
|
|
379
443
|
Gerar este arquivo quando 2+ projetos forem detectados.
|
|
380
444
|
|
|
@@ -429,7 +493,7 @@ packages/auth → packages/db
|
|
|
429
493
|
6. [apps/web] — depende de ui, db, auth
|
|
430
494
|
```
|
|
431
495
|
|
|
432
|
-
####
|
|
496
|
+
#### 7.3 `.dw/rules/[projeto].md` (para cada projeto-folha)
|
|
433
497
|
|
|
434
498
|
```markdown
|
|
435
499
|
# Rules - [Nome do Projeto]
|
|
@@ -564,23 +628,9 @@ packages/auth → packages/db
|
|
|
564
628
|
- NÃO liste variáveis de ambiente com seus valores (apenas nomes)
|
|
565
629
|
- NÃO exponha secrets, tokens ou credenciais
|
|
566
630
|
- Se não conseguir identificar um padrão, documente como "Não identificado"
|
|
567
|
-
- Crie o diretório
|
|
568
|
-
</critical>
|
|
569
|
-
|
|
570
|
-
## Perguntas de Esclarecimento
|
|
571
|
-
|
|
572
|
-
<critical>
|
|
573
|
-
Antes de iniciar a análise, faça ao menos 3 perguntas ao usuário:
|
|
574
|
-
|
|
575
|
-
1. Há áreas específicas do código que você quer que eu foque?
|
|
576
|
-
2. Existem padrões ou convenções que deveriam ser documentados mas podem não ser óbvios no código?
|
|
577
|
-
3. Há partes do código que são legadas ou estão sendo refatoradas (para eu sinalizar o padrão alvo vs estado atual)?
|
|
578
|
-
4. Existem serviços externos ou integrações críticas para o funcionamento do projeto?
|
|
579
|
-
5. Há algo sobre o setup de deploy ou infraestrutura que eu deva prestar atenção especial?
|
|
631
|
+
- Crie o diretório .dw/rules/ se não existir
|
|
580
632
|
</critical>
|
|
581
633
|
|
|
582
|
-
Após o usuário responder, prossiga com a análise completa.
|
|
583
|
-
|
|
584
634
|
## Checklist de Qualidade
|
|
585
635
|
|
|
586
636
|
- [ ] Estrutura do repositório escaneada
|
|
@@ -603,9 +653,9 @@ Após o usuário responder, prossiga com a análise completa.
|
|
|
603
653
|
- [ ] Árvore completa de projetos documentada no index.md
|
|
604
654
|
- [ ] Matriz de dependências entre projetos documentada
|
|
605
655
|
- [ ] Git submodules identificados e escaneados recursivamente (se houver)
|
|
606
|
-
- [ ]
|
|
607
|
-
- [ ] Um
|
|
608
|
-
- [ ]
|
|
656
|
+
- [ ] `.dw/rules/index.md` gerado com árvore de projetos
|
|
657
|
+
- [ ] Um `.dw/rules/{projeto}.md` gerado por projeto-folha descoberto
|
|
658
|
+
- [ ] `.dw/rules/integrations.md` gerado (se 2+ projetos)
|
|
609
659
|
- [ ] Exemplos de código reais incluídos
|
|
610
660
|
- [ ] Nenhum secret exposto
|
|
611
661
|
- [ ] Convenções de teste documentadas (framework, padrões, cobertura)
|
|
@@ -4,7 +4,34 @@ Você é um facilitador de brainstorming para o workspace atual. Este comando ex
|
|
|
4
4
|
<critical>Este comando e para ideacao e exploracao. Nao implemente codigo, nao crie PRD, nao gere Tech Spec e nao modifique arquivos, a menos que o usuario peça explicitamente depois.</critical>
|
|
5
5
|
<critical>O objetivo principal e ampliar opcoes, esclarecer trade-offs e convergir para proximos passos concretos.</critical>
|
|
6
6
|
|
|
7
|
-
## Quando
|
|
7
|
+
## Quando Usar
|
|
8
|
+
- Use quando quiser explorar ideias antes de criar um PRD, comparar direções arquiteturais ou destravar requisitos vagos
|
|
9
|
+
- NÃO use quando já tiver requisitos claros prontos para um PRD, ou quando precisar implementar código
|
|
10
|
+
|
|
11
|
+
## Posição no Pipeline
|
|
12
|
+
**Antecessor:** (ideia do usuário) | **Sucessor:** `/dw-create-prd`
|
|
13
|
+
|
|
14
|
+
## Fluxograma de Decisão: Brainstorm vs PRD Direto
|
|
15
|
+
|
|
16
|
+
```dot
|
|
17
|
+
digraph brainstorm_decision {
|
|
18
|
+
rankdir=TB;
|
|
19
|
+
node [shape=diamond];
|
|
20
|
+
Q1 [label="Are requirements\nclear and specific?"];
|
|
21
|
+
Q2 [label="Are there multiple\nviable approaches?"];
|
|
22
|
+
node [shape=box];
|
|
23
|
+
PRD [label="Go directly to\n/dw-create-prd"];
|
|
24
|
+
BS [label="Start with\n/dw-brainstorm"];
|
|
25
|
+
Q1 -> PRD [label="Yes"];
|
|
26
|
+
Q1 -> Q2 [label="No"];
|
|
27
|
+
Q2 -> BS [label="Yes"];
|
|
28
|
+
Q2 -> BS [label="No / Unsure"];
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Referência do Template
|
|
33
|
+
|
|
34
|
+
- Template da matriz de brainstorm: `.dw/templates/brainstorm-matrix.md` (relativo ao workspace root)
|
|
8
35
|
|
|
9
36
|
Use este comando quando o usuario quiser:
|
|
10
37
|
- gerar ideias para produto, UX, arquitetura ou automacao
|
|
@@ -45,10 +72,10 @@ Use este comando quando o usuario quiser:
|
|
|
45
72
|
### 4. Proximos passos
|
|
46
73
|
- lista curta e executavel
|
|
47
74
|
- se apropriado, sugira qual comando usar em seguida:
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
75
|
+
- `/dw-create-prd`
|
|
76
|
+
- `/dw-create-techspec`
|
|
77
|
+
- `/dw-create-tasks`
|
|
78
|
+
- `/dw-bugfix`
|
|
52
79
|
|
|
53
80
|
## Heuristicas
|
|
54
81
|
|
|
@@ -3,11 +3,28 @@
|
|
|
3
3
|
|
|
4
4
|
<critical>SEMPRE FAÇA EXATAMENTE 3 PERGUNTAS DE CLARIFICAÇÃO ANTES DE PROPOR SOLUÇÃO</critical>
|
|
5
5
|
|
|
6
|
+
## Quando Usar
|
|
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-create-prd` em vez disso)
|
|
9
|
+
- NÃO use para corrigir bugs encontrados durante testes de QA (use `/dw-fix-qa` em vez disso)
|
|
10
|
+
|
|
11
|
+
## Posição no Pipeline
|
|
12
|
+
**Antecessor:** (bug report) | **Sucessor:** `/dw-commit` e depois `/dw-generate-pr`
|
|
13
|
+
|
|
14
|
+
## Skills Complementares
|
|
15
|
+
|
|
16
|
+
Quando disponíveis no projeto em `./.agents/skills/`, use estas skills como suporte contextual sem substituir este comando:
|
|
17
|
+
|
|
18
|
+
- `vercel-react-best-practices`: use quando o bug afeta React/Next.js e há suspeita de problemas de render, hidratação, fetching, waterfall, bundle ou re-render
|
|
19
|
+
- `agent-browser`: use quando o bug requer reprodução em navegador real, sessão persistente, inspeção de requests ou captura visual
|
|
20
|
+
- `webapp-testing`: use quando a correção requer fluxo E2E/reteste reproduzível em uma web app
|
|
21
|
+
- `security-review`: use quando a causa raiz toca auth, autorização, input externo, upload, secrets, SQL, XSS, SSRF ou outras superfícies sensíveis
|
|
22
|
+
|
|
6
23
|
## Variáveis de Entrada
|
|
7
24
|
|
|
8
25
|
| Variável | Descrição | Exemplo |
|
|
9
26
|
|----------|-----------|---------|
|
|
10
|
-
| `{{TARGET}}` | PRD path OU nome do projeto |
|
|
27
|
+
| `{{TARGET}}` | PRD path OU nome do projeto | `.dw/spec/prd-minha-feature` ou `meu-projeto` |
|
|
11
28
|
| `{{BUG_DESCRIPTION}}` | Descrição do problema | `Erro 500 ao salvar usuário` |
|
|
12
29
|
| `{{MODE}}` | (Opcional) Modo de execução | `--análise` para gerar documento |
|
|
13
30
|
|
|
@@ -16,22 +33,22 @@
|
|
|
16
33
|
| Modo | Quando Usar | Resultado |
|
|
17
34
|
|------|-------------|-----------|
|
|
18
35
|
| **Direto** (padrão) | Bug simples, <=5 arquivos, sem migration | Executa correção imediata |
|
|
19
|
-
| **Análise** (`--análise`) | Bug complexo, precisa planejamento | Gera
|
|
36
|
+
| **Análise** (`--análise`) | Bug complexo, precisa planejamento | Gera `.dw/spec/dw-bugfix-*/prd.md` para techspec -> tasks |
|
|
20
37
|
|
|
21
38
|
### Modo Análise
|
|
22
39
|
|
|
23
40
|
Quando o usuário especificar `--análise` ou quando detectar que o bug precisa de mais planejamento:
|
|
24
41
|
|
|
25
42
|
```
|
|
26
|
-
/bugfix meu-projeto "Login não funciona" --análise
|
|
43
|
+
/dw-bugfix meu-projeto "Login não funciona" --análise
|
|
27
44
|
```
|
|
28
45
|
|
|
29
46
|
Neste modo:
|
|
30
47
|
1. Segue o fluxo normal de perguntas e análise
|
|
31
|
-
2. Em vez de executar, gera documento em
|
|
48
|
+
2. Em vez de executar, gera documento em `.dw/spec/dw-bugfix-[nome]/prd.md`
|
|
32
49
|
3. O arquivo é nomeado `prd.md` para manter compatibilidade com o pipeline criar-techspec/criar-tasks
|
|
33
|
-
4. Depois o usuário pode rodar `/criar-techspec
|
|
34
|
-
5. E então `/criar-tasks
|
|
50
|
+
4. Depois o usuário pode rodar `/criar-techspec .dw/spec/dw-bugfix-[nome]`
|
|
51
|
+
5. E então `/criar-tasks .dw/spec/dw-bugfix-[nome]`
|
|
35
52
|
|
|
36
53
|
## Fluxo de Trabalho
|
|
37
54
|
|
|
@@ -90,7 +107,7 @@
|
|
|
90
107
|
---
|
|
91
108
|
|
|
92
109
|
**Deseja que eu inicie o fluxo de criação de PRD?**
|
|
93
|
-
- `sim` - Vou seguir
|
|
110
|
+
- `sim` - Vou seguir `.dw/commands/criar-prd.md` para esta feature
|
|
94
111
|
- `não, é bug` - Me explique melhor por que considera um bug
|
|
95
112
|
- `não, cancelar` - Encerrar
|
|
96
113
|
```
|
|
@@ -110,14 +127,16 @@
|
|
|
110
127
|
- {{TARGET}}/prd.md
|
|
111
128
|
- {{TARGET}}/techspec.md
|
|
112
129
|
- {{TARGET}}/tasks/*.md
|
|
113
|
-
-
|
|
130
|
+
- .dw/rules/ (regras dos projetos afetados)
|
|
114
131
|
```
|
|
115
132
|
|
|
116
133
|
**Se `{{TARGET}}` for um projeto:**
|
|
117
134
|
```
|
|
118
135
|
Carregar:
|
|
119
|
-
-
|
|
120
|
-
-
|
|
136
|
+
- .dw/rules/{{TARGET}}.md
|
|
137
|
+
- {{TARGET}}/.dw/index.md
|
|
138
|
+
- {{TARGET}}/.dw/docs/*.md (principais)
|
|
139
|
+
- {{TARGET}}/.dw/rules/*.md
|
|
121
140
|
```
|
|
122
141
|
|
|
123
142
|
### 2. Coletar Evidências (Obrigatório)
|
|
@@ -133,6 +152,7 @@
|
|
|
133
152
|
- Mensagens de erro relacionadas
|
|
134
153
|
- Stack traces
|
|
135
154
|
- Arquivos modificados recentemente
|
|
155
|
+
- Se o bug for relacionado a UI ou depender de fluxo no navegador, complemente a coleta com `agent-browser` ou `webapp-testing`
|
|
136
156
|
|
|
137
157
|
### 3. Perguntas de Clarificação (OBRIGATÓRIO - EXATAMENTE 3)
|
|
138
158
|
|
|
@@ -147,6 +167,11 @@
|
|
|
147
167
|
| 2 | **Comportamento** | O que deveria acontecer vs o que acontece? |
|
|
148
168
|
| 3 | **Contexto** | Quando começou? Mudou algo recentemente? |
|
|
149
169
|
|
|
170
|
+
### Exemplo de Boas Perguntas
|
|
171
|
+
1. **Reprodução**: "Quais passos exatos disparam o erro? Qual perfil de usuário? Quais dados?"
|
|
172
|
+
2. **Comportamento**: "Qual mensagem de erro aparece? O que deveria acontecer no lugar?"
|
|
173
|
+
3. **Contexto**: "Quando isso ocorreu pela primeira vez? O que mudou recentemente?"
|
|
174
|
+
|
|
150
175
|
### 4. Análise de Causa Raiz (Após respostas)
|
|
151
176
|
|
|
152
177
|
Documente:
|
|
@@ -154,6 +179,7 @@
|
|
|
154
179
|
- **Causa Provável**: Baseado nas evidências
|
|
155
180
|
- **Arquivos Afetados**: Lista de arquivos a modificar
|
|
156
181
|
- **Impacto**: Outros componentes que podem ser afetados
|
|
182
|
+
- **Skills utilizadas**: registre explicitamente se a análise usou `vercel-react-best-practices`, `agent-browser`, `webapp-testing` ou `security-review`
|
|
157
183
|
|
|
158
184
|
### 4.1 Checkpoint de Escopo (OBRIGATÓRIO)
|
|
159
185
|
|
|
@@ -203,9 +229,9 @@
|
|
|
203
229
|
</critical>
|
|
204
230
|
|
|
205
231
|
**Ações:**
|
|
206
|
-
1. Criar diretório:
|
|
232
|
+
1. Criar diretório: `.dw/spec/dw-bugfix-[nome-do-bug]/`
|
|
207
233
|
2. Preencher com todas as informações coletadas nos passos anteriores
|
|
208
|
-
3. Salvar como:
|
|
234
|
+
3. Salvar como: `.dw/spec/dw-bugfix-[nome-do-bug]/prd.md` (usa nome `prd.md` para compatibilidade com pipeline)
|
|
209
235
|
|
|
210
236
|
**IMPORTANTE:** O arquivo deve ser nomeado `prd.md` para que os comandos
|
|
211
237
|
`/criar-techspec` e `/criar-tasks` funcionem sem modificação.
|
|
@@ -226,6 +252,37 @@
|
|
|
226
252
|
| `refactor` | Mudança estrutural |
|
|
227
253
|
| `feature` | Nova funcionalidade |
|
|
228
254
|
|
|
255
|
+
## Avaliação de Risco
|
|
256
|
+
| Nível | Critério | Exemplo |
|
|
257
|
+
|-------|----------|---------|
|
|
258
|
+
| Baixo | Comentários, strings, lógica isolada (<50 LOC) | Corrigir typo em mensagem de erro |
|
|
259
|
+
| Médio | Funções core, múltiplos arquivos (50-200 LOC) | Corrigir parsing de data em formulário |
|
|
260
|
+
| Alto | Auth, pagamentos, persistência de dados, APIs | Corrigir bypass de validação de token |
|
|
261
|
+
|
|
262
|
+
## Fluxograma de Triagem Bug vs Feature
|
|
263
|
+
|
|
264
|
+
```dot
|
|
265
|
+
digraph triage {
|
|
266
|
+
rankdir=TB;
|
|
267
|
+
node [shape=box];
|
|
268
|
+
start [label="Reported Problem"];
|
|
269
|
+
q1 [label="Did this work before\nand stopped?", shape=diamond];
|
|
270
|
+
q2 [label="Does it require\nnew functionality?", shape=diamond];
|
|
271
|
+
q3 [label="Scope <= 5 files\nand no migration?", shape=diamond];
|
|
272
|
+
bug [label="BUG\n(continue bugfix flow)"];
|
|
273
|
+
feature [label="FEATURE\n(redirect to /dw-create-prd)"];
|
|
274
|
+
excessive [label="EXCESSIVE SCOPE\n(redirect to PRD or\nuse --analysis mode)"];
|
|
275
|
+
|
|
276
|
+
start -> q1;
|
|
277
|
+
q1 -> bug [label="Yes"];
|
|
278
|
+
q1 -> q2 [label="No / Unsure"];
|
|
279
|
+
q2 -> feature [label="Yes"];
|
|
280
|
+
q2 -> q3 [label="No"];
|
|
281
|
+
q3 -> bug [label="Yes"];
|
|
282
|
+
q3 -> excessive [label="No"];
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
229
286
|
## Checklist de Qualidade
|
|
230
287
|
|
|
231
288
|
- [ ] **Triagem Bug vs Feature realizada**
|
|
@@ -238,7 +295,7 @@
|
|
|
238
295
|
- [ ] Tarefas numeradas sequencialmente
|
|
239
296
|
- [ ] **Máximo 5 arquivos afetados**
|
|
240
297
|
- [ ] **Sem migrations**
|
|
241
|
-
- [ ] **Tarefa de teste incluída**
|
|
298
|
+
- [ ] **Tarefa de teste incluída (framework correto do projeto)**
|
|
242
299
|
- [ ] Aguardando aprovação antes de executar
|
|
243
300
|
|
|
244
301
|
<critical>
|
|
@@ -1,17 +1,34 @@
|
|
|
1
1
|
<system_instructions>
|
|
2
2
|
Você é um assistente IA especializado em Code Review formal (Nível 3). Sua tarefa é realizar uma análise profunda do código produzido, verificar conformidade com rules do projeto, aderência à TechSpec, qualidade de código e gerar um relatório formal persistido.
|
|
3
3
|
|
|
4
|
+
## Quando Usar
|
|
5
|
+
- Use para realizar code review formal Nível 3 antes do PR que inclui conformidade com PRD, qualidade de código, conformidade com rules e verificação de testes
|
|
6
|
+
- NÃO use quando apenas verificar conformidade com PRD (use `/dw-review-implementation` para Nível 2)
|
|
7
|
+
- NÃO use quando o código ainda não foi implementado
|
|
8
|
+
|
|
9
|
+
## Posição no Pipeline
|
|
10
|
+
**Antecessor:** `/dw-review-implementation` ou `/dw-run-plan` | **Sucessor:** `/dw-generate-pr`
|
|
11
|
+
|
|
12
|
+
Normalmente invocado antes de criar PR via `/dw-generate-pr`
|
|
13
|
+
|
|
4
14
|
<critical>Utilize git diff para analisar as mudanças de código</critical>
|
|
5
|
-
<critical>Verifique se o código está de acordo com as rules em
|
|
15
|
+
<critical>Verifique se o código está de acordo com as rules em .dw/rules/</critical>
|
|
6
16
|
<critical>TODOS os testes devem passar antes de aprovar o review</critical>
|
|
7
17
|
<critical>A implementação deve seguir a TechSpec e as Tasks</critical>
|
|
8
|
-
<critical>Gere o relatório em {{PRD_PATH}}/code-review.md</critical>
|
|
18
|
+
<critical>Gere o relatório em {{PRD_PATH}}/dw-code-review.md</critical>
|
|
19
|
+
|
|
20
|
+
## Skills Complementares
|
|
21
|
+
|
|
22
|
+
Quando disponíveis no projeto em `./.agents/skills/`, use estas skills como apoio analítico sem substituir este comando:
|
|
23
|
+
|
|
24
|
+
- `security-review`: use quando auth, autorização, input externo, upload, SQL, integração externa, secrets, SSRF, XSS ou superfícies sensíveis estiverem presentes
|
|
25
|
+
- `vercel-react-best-practices`: use quando o diff tocar React/Next.js para revisar padrões de renderização, fetching, bundle, hidratação e performance
|
|
9
26
|
|
|
10
27
|
## Variáveis de Entrada
|
|
11
28
|
|
|
12
29
|
| Variável | Descrição | Exemplo |
|
|
13
30
|
|----------|-----------|---------|
|
|
14
|
-
| `{{PRD_PATH}}` | Caminho da pasta do PRD |
|
|
31
|
+
| `{{PRD_PATH}}` | Caminho da pasta do PRD | `.dw/spec/prd-minha-feature` |
|
|
15
32
|
|
|
16
33
|
## Posicionamento
|
|
17
34
|
|
|
@@ -21,7 +38,7 @@ Este é o **Nível 3 de Revisão**:
|
|
|
21
38
|
|-------|---------|--------|-----------|
|
|
22
39
|
| 1 | *(embutido no /executar-task)* | Após cada task | Não |
|
|
23
40
|
| 2 | `/revisar-implementacao` | Após todas tasks | Output terminal |
|
|
24
|
-
| **3** | **`/code-review`** | **Antes do PR** | **`code-review.md`** |
|
|
41
|
+
| **3** | **`/dw-code-review`** | **Antes do PR** | **`code-review.md`** |
|
|
25
42
|
|
|
26
43
|
O Nível 3 inclui TUDO do Nível 2 (PRD compliance) mais análise de qualidade de código.
|
|
27
44
|
|
|
@@ -39,8 +56,9 @@ O Nível 3 inclui TUDO do Nível 2 (PRD compliance) mais análise de qualidade d
|
|
|
39
56
|
- PRD: `{{PRD_PATH}}/prd.md`
|
|
40
57
|
- TechSpec: `{{PRD_PATH}}/techspec.md`
|
|
41
58
|
- Tasks: `{{PRD_PATH}}/tasks.md`
|
|
42
|
-
- Rules do Projeto:
|
|
43
|
-
-
|
|
59
|
+
- Rules do Projeto: `.dw/rules/`
|
|
60
|
+
- Catálogo de Refatoração: `.dw/references/refactoring-catalog.md`
|
|
61
|
+
- Relatório de Saída: `{{PRD_PATH}}/dw-code-review.md`
|
|
44
62
|
|
|
45
63
|
## Etapas do Processo
|
|
46
64
|
|
|
@@ -49,7 +67,7 @@ O Nível 3 inclui TUDO do Nível 2 (PRD compliance) mais análise de qualidade d
|
|
|
49
67
|
- Ler o PRD e extrair requisitos funcionais (RF-XX)
|
|
50
68
|
- Ler a TechSpec para entender decisões arquiteturais esperadas
|
|
51
69
|
- Ler as Tasks para verificar escopo implementado
|
|
52
|
-
- Ler as rules relevantes do projeto (
|
|
70
|
+
- Ler as rules relevantes do projeto (`.dw/rules/`)
|
|
53
71
|
|
|
54
72
|
<critical>NÃO PULE ESTA ETAPA - Entender o contexto é fundamental para o review</critical>
|
|
55
73
|
|
|
@@ -61,6 +79,12 @@ Executar comandos git para entender o que foi alterado:
|
|
|
61
79
|
# Ver arquivos modificados
|
|
62
80
|
git status
|
|
63
81
|
|
|
82
|
+
# Ver diff de todas as mudanças
|
|
83
|
+
git diff
|
|
84
|
+
|
|
85
|
+
# Ver diff staged
|
|
86
|
+
git diff --staged
|
|
87
|
+
|
|
64
88
|
# Ver commits da branch atual vs main
|
|
65
89
|
git log main..HEAD --oneline
|
|
66
90
|
|
|
@@ -75,6 +99,8 @@ Para cada arquivo modificado:
|
|
|
75
99
|
1. Analisar as mudanças linha por linha
|
|
76
100
|
2. Verificar se seguem os padrões do projeto
|
|
77
101
|
3. Identificar possíveis problemas
|
|
102
|
+
4. Se o diff inclui superfícies sensíveis, também executar revisão guiada pela skill `security-review`
|
|
103
|
+
5. Se o diff inclui React/Next.js, também revisar com `vercel-react-best-practices`
|
|
78
104
|
|
|
79
105
|
### 3. PRD Compliance - Nível 2 (Obrigatório)
|
|
80
106
|
|
|
@@ -94,16 +120,29 @@ Para CADA endpoint da TechSpec:
|
|
|
94
120
|
|
|
95
121
|
### 4. Conformidade com Rules (Obrigatório)
|
|
96
122
|
|
|
97
|
-
Para cada projeto impactado, verificar rules específicas em
|
|
123
|
+
Para cada projeto impactado, verificar rules específicas em `.dw/rules/`:
|
|
98
124
|
|
|
99
|
-
**Padrões Gerais:**
|
|
125
|
+
**Padrões Gerais (todos os projetos):**
|
|
100
126
|
- [ ] Tipos explícitos (sem `any`)
|
|
101
|
-
- [ ] Sem `console.log` em produção
|
|
127
|
+
- [ ] Sem `console.log` em produção (apenas em dev/debug)
|
|
102
128
|
- [ ] Error handling adequado
|
|
129
|
+
- [ ] Multi-tenancy respeitada
|
|
103
130
|
- [ ] Imports organizados
|
|
104
|
-
- [ ] Nomes claros e descritivos
|
|
105
|
-
|
|
106
|
-
**
|
|
131
|
+
- [ ] Nomes claros e descritivos (sem abreviações)
|
|
132
|
+
|
|
133
|
+
**Padrões Backend (verificar .dw/rules/ para especificidades):**
|
|
134
|
+
- [ ] Padrões de arquitetura respeitados (Clean Architecture, DDD, etc.)
|
|
135
|
+
- [ ] Use Cases retornam tipos de resultado adequados
|
|
136
|
+
- [ ] DTOs seguem convenções do projeto
|
|
137
|
+
- [ ] Queries parametrizadas (sem SQL injection)
|
|
138
|
+
- [ ] Testes unitários co-localizados (`*.spec.ts`)
|
|
139
|
+
|
|
140
|
+
**Padrões Frontend (verificar .dw/rules/ para especificidades):**
|
|
141
|
+
- [ ] Server Components por padrão (se Next.js)
|
|
142
|
+
- [ ] `'use client'` apenas quando necessário
|
|
143
|
+
- [ ] Formulários seguem padrões do projeto
|
|
144
|
+
- [ ] Chamadas de API usam utilitários fetch do projeto
|
|
145
|
+
- [ ] UI segue o design system do projeto
|
|
107
146
|
|
|
108
147
|
### 5. Análise de Qualidade de Código (Obrigatório)
|
|
109
148
|
|
|
@@ -118,6 +157,10 @@ Para cada projeto impactado, verificar rules específicas em `ai/rules/`:
|
|
|
118
157
|
| **Performance** | Sem N+1 queries, paginação, lazy loading |
|
|
119
158
|
| **Testability** | Dependências injetáveis, sem side effects ocultos |
|
|
120
159
|
|
|
160
|
+
Quando a skill `security-review` for aplicada, reportar apenas findings de alta confiança, distinguindo claramente:
|
|
161
|
+
- Vulnerabilidades confirmadas
|
|
162
|
+
- Itens que precisam de verificação adicional
|
|
163
|
+
|
|
121
164
|
### 6. Execução dos Testes (Obrigatório)
|
|
122
165
|
|
|
123
166
|
Verificar:
|
|
@@ -129,7 +172,7 @@ Verificar:
|
|
|
129
172
|
|
|
130
173
|
### 7. Gerar Relatório de Code Review (Obrigatório)
|
|
131
174
|
|
|
132
|
-
Salvar em `{{PRD_PATH}}/code-review.md`:
|
|
175
|
+
Salvar em `{{PRD_PATH}}/dw-code-review.md`:
|
|
133
176
|
|
|
134
177
|
```markdown
|
|
135
178
|
# Code Review - [Nome da Funcionalidade]
|
|
@@ -200,6 +243,18 @@ Salvar em `{{PRD_PATH}}/code-review.md`:
|
|
|
200
243
|
|
|
201
244
|
**REPROVADO**: Testes falhando, RFs não implementados, violação grave de rules, problemas de segurança, ou CRITICAL issues.
|
|
202
245
|
|
|
246
|
+
**Fluxo de Decisão de Aprovação:**
|
|
247
|
+
```dot
|
|
248
|
+
digraph approval {
|
|
249
|
+
"Tests pass?" -> "Rules violations?" [label="yes"];
|
|
250
|
+
"Tests pass?" -> "REJECTED" [label="no"];
|
|
251
|
+
"Rules violations?" -> "Critical violations?" [label="yes"];
|
|
252
|
+
"Rules violations?" -> "APPROVED" [label="no"];
|
|
253
|
+
"Critical violations?" -> "REJECTED" [label="yes"];
|
|
254
|
+
"Critical violations?" -> "APPROVED WITH CAVEATS" [label="no"];
|
|
255
|
+
}
|
|
256
|
+
```
|
|
257
|
+
|
|
203
258
|
## Checklist de Qualidade
|
|
204
259
|
|
|
205
260
|
- [ ] PRD lido e RFs extraídos
|
|
@@ -214,7 +269,15 @@ Salvar em `{{PRD_PATH}}/code-review.md`:
|
|
|
214
269
|
- [ ] Relatório `code-review.md` gerado
|
|
215
270
|
- [ ] Status final definido
|
|
216
271
|
|
|
272
|
+
## Notas Importantes
|
|
273
|
+
|
|
274
|
+
- Sempre leia o código completo dos arquivos modificados, não apenas o diff
|
|
275
|
+
- Verifique se há arquivos que deveriam ter sido modificados mas não foram
|
|
276
|
+
- Considere o impacto das mudanças em outras partes do sistema
|
|
277
|
+
- Seja construtivo nas críticas, sempre sugerindo alternativas
|
|
278
|
+
- Para setups multi-projeto, verifique contratos de integração entre projetos
|
|
279
|
+
|
|
217
280
|
<critical>O REVIEW NÃO ESTÁ COMPLETO ATÉ QUE TODOS OS TESTES PASSEM</critical>
|
|
218
281
|
<critical>Verifique SEMPRE as rules do projeto antes de apontar problemas</critical>
|
|
219
|
-
<critical>Gere o relatório em {{PRD_PATH}}/code-review.md</critical>
|
|
282
|
+
<critical>Gere o relatório em {{PRD_PATH}}/dw-code-review.md</critical>
|
|
220
283
|
</system_instructions>
|