@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.
Files changed (68) hide show
  1. package/README.md +42 -42
  2. package/bin/dev-workflow.js +1 -1
  3. package/lib/constants.js +42 -40
  4. package/lib/init.js +40 -10
  5. package/package.json +1 -1
  6. package/scaffold/en/commands/{analyze-project.md → dw-analyze-project.md} +69 -40
  7. package/scaffold/en/commands/{brainstorm.md → dw-brainstorm.md} +31 -4
  8. package/scaffold/en/commands/{bugfix.md → dw-bugfix.md} +63 -19
  9. package/scaffold/en/commands/{code-review.md → dw-code-review.md} +38 -15
  10. package/scaffold/en/commands/{commit.md → dw-commit.md} +25 -0
  11. package/scaffold/en/commands/{create-prd.md → dw-create-prd.md} +24 -10
  12. package/scaffold/en/commands/{create-tasks.md → dw-create-tasks.md} +11 -4
  13. package/scaffold/en/commands/{create-techspec.md → dw-create-techspec.md} +38 -11
  14. package/scaffold/en/commands/{deep-research.md → dw-deep-research.md} +18 -17
  15. package/scaffold/en/commands/{fix-qa.md → dw-fix-qa.md} +20 -3
  16. package/scaffold/en/commands/dw-functional-doc.md +276 -0
  17. package/scaffold/en/commands/{generate-pr.md → dw-generate-pr.md} +20 -5
  18. package/scaffold/en/commands/dw-help.md +309 -0
  19. package/scaffold/en/commands/{refactoring-analysis.md → dw-refactoring-analysis.md} +50 -26
  20. package/scaffold/en/commands/{review-implementation.md → dw-review-implementation.md} +25 -6
  21. package/scaffold/en/commands/{run-plan.md → dw-run-plan.md} +21 -6
  22. package/scaffold/en/commands/{run-qa.md → dw-run-qa.md} +32 -13
  23. package/scaffold/en/commands/{run-task.md → dw-run-task.md} +17 -7
  24. package/scaffold/en/references/playwright-patterns.md +136 -0
  25. package/scaffold/en/references/refactoring-catalog.md +167 -0
  26. package/scaffold/en/templates/brainstorm-matrix.md +44 -0
  27. package/scaffold/en/templates/functional-doc/case-matrix.md +5 -0
  28. package/scaffold/en/templates/functional-doc/e2e-runbook.md +3 -0
  29. package/scaffold/en/templates/functional-doc/features.md +3 -0
  30. package/scaffold/en/templates/functional-doc/overview.md +21 -0
  31. package/scaffold/en/templates/functional-doc/playwright.spec.ts.tpl +19 -0
  32. package/scaffold/en/templates/pr-bugfix-template.md +28 -0
  33. package/scaffold/en/templates/qa-test-credentials.md +37 -0
  34. package/scaffold/en/templates/tasks-template.md +1 -1
  35. package/scaffold/en/templates/techspec-template.md +1 -1
  36. package/scaffold/pt-br/commands/{analyze-project.md → dw-analyze-project.md} +91 -41
  37. package/scaffold/pt-br/commands/{brainstorm.md → dw-brainstorm.md} +32 -5
  38. package/scaffold/pt-br/commands/{bugfix.md → dw-bugfix.md} +70 -13
  39. package/scaffold/pt-br/commands/{code-review.md → dw-code-review.md} +78 -15
  40. package/scaffold/pt-br/commands/{commit.md → dw-commit.md} +45 -1
  41. package/scaffold/pt-br/commands/{create-prd.md → dw-create-prd.md} +25 -10
  42. package/scaffold/pt-br/commands/{create-tasks.md → dw-create-tasks.md} +20 -13
  43. package/scaffold/pt-br/commands/{create-techspec.md → dw-create-techspec.md} +40 -13
  44. package/scaffold/pt-br/commands/{deep-research.md → dw-deep-research.md} +19 -11
  45. package/scaffold/pt-br/commands/{fix-qa.md → dw-fix-qa.md} +30 -1
  46. package/scaffold/pt-br/commands/dw-functional-doc.md +276 -0
  47. package/scaffold/pt-br/commands/{generate-pr.md → dw-generate-pr.md} +58 -3
  48. package/scaffold/pt-br/commands/{help.md → dw-help.md} +81 -59
  49. package/scaffold/pt-br/commands/{refactoring-analysis.md → dw-refactoring-analysis.md} +49 -25
  50. package/scaffold/pt-br/commands/{review-implementation.md → dw-review-implementation.md} +50 -2
  51. package/scaffold/pt-br/commands/{run-plan.md → dw-run-plan.md} +98 -10
  52. package/scaffold/pt-br/commands/{run-qa.md → dw-run-qa.md} +93 -18
  53. package/scaffold/pt-br/commands/{run-task.md → dw-run-task.md} +32 -7
  54. package/scaffold/pt-br/references/playwright-patterns.md +133 -0
  55. package/scaffold/pt-br/references/refactoring-catalog.md +166 -0
  56. package/scaffold/pt-br/templates/brainstorm-matrix.md +44 -0
  57. package/scaffold/pt-br/templates/functional-doc/case-matrix.md +5 -0
  58. package/scaffold/pt-br/templates/functional-doc/e2e-runbook.md +3 -0
  59. package/scaffold/pt-br/templates/functional-doc/features.md +3 -0
  60. package/scaffold/pt-br/templates/functional-doc/overview.md +21 -0
  61. package/scaffold/pt-br/templates/functional-doc/playwright.spec.ts.tpl +19 -0
  62. package/scaffold/pt-br/templates/pr-bugfix-template.md +28 -0
  63. package/scaffold/pt-br/templates/qa-test-credentials.md +37 -0
  64. package/scaffold/pt-br/templates/techspec-template.md +1 -1
  65. package/scaffold/rules-readme.md +3 -3
  66. package/scaffold/scripts/functional-doc/generate-dossier.mjs +821 -0
  67. package/scaffold/scripts/functional-doc/run-playwright-flow.mjs +275 -0
  68. 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 `ai/rules/` that apply to this techspec and list them below:]
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 ai/rules/ na raiz do workspace</critical>
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
- - `ai/rules/index.md` - Visão geral do ecossistema/projeto
12
- - `ai/rules/[projeto].md` - Rules detalhadas por projeto/módulo
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. Escanear Estrutura do Repositório — Scan Recursivo Profundo (Obrigatório)
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
- #### 1.1 Identificar indicadores de projeto
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
- #### 1.2 Detectar orquestradores de monorepo
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
- #### 1.3 Detectar git submodules (recursivo)
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
- #### 1.4 Descoberta recursiva de projetos
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
- #### 1.5 Construir a árvore de projetos
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 `ai/rules/{projeto}.md`.
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
- #### 1.6 Mapear dependências entre projetos
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
- ### 2. Identificar Stack Tecnológica (Obrigatório)
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
- ### 3. Ler Arquivos Fonte Representativos (Obrigatório)
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
- ### 3.1 Rastrear Fluxos de Requisição Ponta a Ponta (Obrigatório)
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
- ### 3.2 Analisar Padrões de Segurança e Infraestrutura (Obrigatório)
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
- ### 4. Detectar Antipatterns (Obrigatório)
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
- ### 4.1 Análise de Topologia (Obrigatório)
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
- ### 5. Gerar Arquivos de Output (Obrigatório)
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:** `ai/rules/index.md` + um `ai/rules/{projeto}.md` por projeto-folha descoberto
303
- - **Se 2+ projetos:** `ai/rules/integrations.md` documentando dependências e comunicação
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
- #### 5.1 `ai/rules/index.md`
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
- #### 5.2 `ai/rules/integrations.md` (apenas para monorepo / multi-projeto)
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
- #### 5.3 `ai/rules/[projeto].md` (para cada projeto-folha)
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 ai/rules/ se não existir
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
- - [ ] `ai/rules/index.md` gerado com árvore de projetos
607
- - [ ] Um `ai/rules/{projeto}.md` gerado por projeto-folha descoberto
608
- - [ ] `ai/rules/integrations.md` gerado (se 2+ projetos)
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 usar
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
- - `criar-prd`
49
- - `criar-techspec`
50
- - `criar-tasks`
51
- - `bugfix`
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 | `ai/spec/prd-minha-feature` ou `meu-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 `ai/spec/bugfix-*/prd.md` para techspec -> tasks |
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 `ai/spec/bugfix-[nome]/prd.md`
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 ai/spec/bugfix-[nome]`
34
- 5. E então `/criar-tasks ai/spec/bugfix-[nome]`
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 `ai/commands/criar-prd.md` para esta feature
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
- - ai/rules/ (regras dos projetos afetados)
130
+ - .dw/rules/ (regras dos projetos afetados)
114
131
  ```
115
132
 
116
133
  **Se `{{TARGET}}` for um projeto:**
117
134
  ```
118
135
  Carregar:
119
- - ai/rules/{{TARGET}}.md (se existir)
120
- - Documentação principal do projeto
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: `ai/spec/bugfix-[nome-do-bug]/`
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: `ai/spec/bugfix-[nome-do-bug]/prd.md` (usa nome `prd.md` para compatibilidade com pipeline)
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 ai/rules/</critical>
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 | `ai/spec/prd-minha-feature` |
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: `ai/rules/`
43
- - Relatório de Saída: `{{PRD_PATH}}/code-review.md`
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 (`ai/rules/`)
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 `ai/rules/`:
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
- **Verificar padrões específicos do projeto conforme documentados em `ai/rules/`.**
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>