@brunosps00/dev-workflow 0.4.7 → 0.5.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.
Files changed (58) hide show
  1. package/README.md +29 -6
  2. package/lib/constants.js +4 -0
  3. package/package.json +1 -1
  4. package/scaffold/en/commands/dw-adr.md +117 -0
  5. package/scaffold/en/commands/dw-autopilot.md +7 -0
  6. package/scaffold/en/commands/dw-brainstorm.md +6 -0
  7. package/scaffold/en/commands/dw-bugfix.md +9 -0
  8. package/scaffold/en/commands/dw-code-review.md +18 -0
  9. package/scaffold/en/commands/dw-create-tasks.md +12 -0
  10. package/scaffold/en/commands/dw-create-techspec.md +8 -0
  11. package/scaffold/en/commands/dw-fix-qa.md +5 -0
  12. package/scaffold/en/commands/dw-generate-pr.md +8 -0
  13. package/scaffold/en/commands/dw-help.md +42 -3
  14. package/scaffold/en/commands/dw-quick.md +8 -1
  15. package/scaffold/en/commands/dw-refactoring-analysis.md +1 -0
  16. package/scaffold/en/commands/dw-resume.md +10 -3
  17. package/scaffold/en/commands/dw-revert-task.md +114 -0
  18. package/scaffold/en/commands/dw-review-implementation.md +6 -0
  19. package/scaffold/en/commands/dw-run-plan.md +19 -1
  20. package/scaffold/en/commands/dw-run-task.md +14 -1
  21. package/scaffold/en/commands/dw-update.md +39 -0
  22. package/scaffold/en/templates/adr-template.md +56 -0
  23. package/scaffold/en/templates/prd-template.md +12 -0
  24. package/scaffold/en/templates/task-template.md +12 -0
  25. package/scaffold/en/templates/tasks-template.md +6 -0
  26. package/scaffold/en/templates/techspec-template.md +12 -0
  27. package/scaffold/pt-br/commands/dw-adr.md +117 -0
  28. package/scaffold/pt-br/commands/dw-autopilot.md +7 -0
  29. package/scaffold/pt-br/commands/dw-brainstorm.md +6 -0
  30. package/scaffold/pt-br/commands/dw-bugfix.md +9 -0
  31. package/scaffold/pt-br/commands/dw-code-review.md +18 -0
  32. package/scaffold/pt-br/commands/dw-create-tasks.md +12 -0
  33. package/scaffold/pt-br/commands/dw-create-techspec.md +8 -0
  34. package/scaffold/pt-br/commands/dw-fix-qa.md +5 -0
  35. package/scaffold/pt-br/commands/dw-generate-pr.md +8 -0
  36. package/scaffold/pt-br/commands/dw-help.md +42 -3
  37. package/scaffold/pt-br/commands/dw-quick.md +8 -1
  38. package/scaffold/pt-br/commands/dw-refactoring-analysis.md +1 -0
  39. package/scaffold/pt-br/commands/dw-resume.md +10 -3
  40. package/scaffold/pt-br/commands/dw-revert-task.md +114 -0
  41. package/scaffold/pt-br/commands/dw-review-implementation.md +6 -0
  42. package/scaffold/pt-br/commands/dw-run-plan.md +19 -1
  43. package/scaffold/pt-br/commands/dw-run-task.md +14 -1
  44. package/scaffold/pt-br/commands/dw-update.md +40 -0
  45. package/scaffold/pt-br/templates/adr-template.md +56 -0
  46. package/scaffold/pt-br/templates/prd-template.md +12 -0
  47. package/scaffold/pt-br/templates/task-template.md +12 -0
  48. package/scaffold/pt-br/templates/tasks-template.md +6 -0
  49. package/scaffold/pt-br/templates/techspec-template.md +12 -0
  50. package/scaffold/skills/dw-council/SKILL.md +189 -0
  51. package/scaffold/skills/dw-council/agents/architect-advisor.md +44 -0
  52. package/scaffold/skills/dw-council/agents/devils-advocate.md +45 -0
  53. package/scaffold/skills/dw-council/agents/pragmatic-engineer.md +47 -0
  54. package/scaffold/skills/dw-council/agents/product-mind.md +48 -0
  55. package/scaffold/skills/dw-council/agents/security-advocate.md +48 -0
  56. package/scaffold/skills/dw-memory/SKILL.md +178 -0
  57. package/scaffold/skills/dw-review-rigor/SKILL.md +145 -0
  58. package/scaffold/skills/dw-verify/SKILL.md +196 -0
@@ -23,6 +23,12 @@ This is **Review Level 2**:
23
23
 
24
24
  This command is called automatically by `/dw-run-plan` at the end of all tasks, but can also be executed manually.
25
25
 
26
+ ## Complementary Skills
27
+
28
+ | Skill | Trigger |
29
+ |-------|---------|
30
+ | `dw-review-rigor` | **ALWAYS** — when listing gaps between PRD/TechSpec and code, apply de-duplication (same gap in N modules = 1 entry), severity ordering, and verify-intent-before-flag |
31
+
26
32
  ## Input Variables
27
33
 
28
34
  | Variable | Description | Example |
@@ -9,6 +9,13 @@ You are an assistant specialized in sequential execution of development plans. Y
9
9
  ## Pipeline Position
10
10
  **Predecessor:** `/dw-create-tasks` | **Successor:** `/dw-code-review` then `/dw-generate-pr`
11
11
 
12
+ ## Complementary Skills
13
+
14
+ | Skill | Trigger |
15
+ |-------|---------|
16
+ | `dw-memory` | **ALWAYS** — reads `MEMORY.md` before starting and applies promotion test + compaction between tasks |
17
+ | `dw-verify` | **ALWAYS** — invoked before the Level 2 Final Review and before declaring "Plan Complete" |
18
+
12
19
  ## Objective
13
20
 
14
21
  Execute ALL pending tasks in a project sequentially and automatically, marking each as completed after successful implementation (each task already includes Level 1 validation), and performing a **final Level 2 review (PRD compliance) with a corrections cycle**.
@@ -62,10 +69,19 @@ For each pending task (in sequential order):
62
69
  - If there are errors, report and PAUSE for manual correction
63
70
  - If successful, continue to next task
64
71
 
72
+ 5. **Memory compaction between tasks**
73
+ - Invoke `dw-memory` with compaction flag on `MEMORY.md` every 3 completed tasks (or when the file exceeds ~150 lines)
74
+ - Ensure the next task reads a lean, up-to-date `MEMORY.md`
75
+
65
76
  ### 3. Final Comprehensive Review
66
77
 
67
78
  When all tasks are completed:
68
79
 
80
+ 0. **Final Verification (Required before Level 2)**
81
+ - Invoke `dw-verify` with the project's verify command (test + lint + build, or the documented gate command)
82
+ - Only proceed with Level 2 if the VERIFICATION REPORT is PASS
83
+ - If FAIL: fix the root cause, re-verify, and only then open the PRD-compliance review
84
+
69
85
  1. **Execute General Review**
70
86
  - Follow `.dw/commands/dw-review-implementation.md` for ALL tasks
71
87
  - Generate a complete gap report and recommendations
@@ -102,7 +118,9 @@ When all tasks are completed:
102
118
  - No more recommendations, OR
103
119
  - User decides that remaining items are acceptable
104
120
 
105
- 4. **Final Report**
121
+ 4. **Final Report (after final dw-verify PASS)**
122
+
123
+ <critical>Before declaring "PLAN COMPLETE" or "COMPLETE WITH PENDING ITEMS", invoke `dw-verify` one last time after the last correction. Without PASS, do not emit the final report.</critical>
106
124
 
107
125
  ```
108
126
  ===================================================
@@ -18,6 +18,8 @@ When available in the project at `./.agents/skills/`, use these skills as specia
18
18
 
19
19
  | Skill | Trigger |
20
20
  |-------|---------|
21
+ | `dw-verify` | **ALWAYS** — invoked before the commit to produce a Verification Report with fresh evidence |
22
+ | `dw-memory` | **ALWAYS** — reads workflow memory at task start and updates it at task end (promotion test) |
21
23
  | `vercel-react-best-practices` | Task touches React rendering, hydration, data fetching, bundle, cache, or performance |
22
24
  | `webapp-testing` | Task has interactive frontend needing E2E validation in a real browser |
23
25
 
@@ -51,6 +53,7 @@ If `.planning/intel/` does NOT exist:
51
53
  - Review the PRD context
52
54
  - Verify tech spec requirements (including testing strategy)
53
55
  - Understand dependencies from previous tasks
56
+ - **Invoke `dw-memory`**: read `.dw/spec/prd-[name]/MEMORY.md` (shared) and `.dw/spec/prd-[name]/tasks/[num]_memory.md` (task-local, create if missing) — decisions, constraints and handoff notes from earlier tasks are mandatory context
54
57
 
55
58
  ### 2. Task Analysis
56
59
  Analyze considering:
@@ -170,9 +173,19 @@ Format in tasks.md (add after marking the task as completed):
170
173
  - **If FAILURE**: Fix the issues and re-execute the validation
171
174
  - **DO NOT generate a report file** - only output in the terminal
172
175
 
176
+ ## Final Verification (Required before commit)
177
+
178
+ <critical>Invoke the `dw-verify` skill before any "task complete" claim. Produce a VERIFICATION REPORT with the project's real verify command (test + lint + build) and exit code 0. Without a PASS report, DO NOT proceed to the commit.</critical>
179
+
180
+ ## Memory Update (Required before commit)
181
+
182
+ Invoke `dw-memory` to:
183
+ - Update `tasks/[num]_memory.md` with files touched, non-obvious decisions, and handoff notes
184
+ - Apply the **promotion test** (next task needs it? durable? not obvious from repo?) and only promote what passes to `MEMORY.md`
185
+
173
186
  ## Automatic Commit (Required)
174
187
 
175
- At the end of the task (after Level 1 validation passes), **always** commit (no push):
188
+ At the end of the task (after Level 1 validation + dw-verify PASS + dw-memory update), **always** commit (no push):
176
189
 
177
190
  ```bash
178
191
  git status
@@ -10,8 +10,27 @@ You are an update utility. When invoked, update dev-workflow to the latest versi
10
10
  ## Pipeline Position
11
11
  **Predecessor:** (any) | **Successor:** (any)
12
12
 
13
+ ## Modes
14
+
15
+ - **Update (default)**: `/dw-update` — updates to the latest version on npm
16
+ - **Rollback**: `/dw-update --rollback` — restores the most recent snapshot in `.dw/.backup/` (created before each update)
17
+
13
18
  ## Behavior
14
19
 
20
+ ### 0. Snapshot Before Update (Required in default mode)
21
+
22
+ Before overwriting managed files, create a snapshot:
23
+
24
+ ```bash
25
+ SNAPSHOT_DIR=".dw/.backup/$(date -u +%Y%m%dT%H%M%SZ)"
26
+ mkdir -p "$SNAPSHOT_DIR"
27
+ cp -r .dw/commands .dw/templates .dw/references .dw/scripts "$SNAPSHOT_DIR/" 2>/dev/null
28
+ [ -d .agents/skills ] && cp -r .agents/skills "$SNAPSHOT_DIR/agents-skills" 2>/dev/null
29
+ echo "Snapshot saved to $SNAPSHOT_DIR"
30
+ ```
31
+
32
+ Keep only the 3 most recent snapshots (remove older ones) to avoid buildup.
33
+
15
34
  ### 1. Record Current Version (Required)
16
35
 
17
36
  Before updating, capture the installed version so you can report the delta:
@@ -84,6 +103,26 @@ If commands/skills were updated, remind the user:
84
103
  - Run `/dw-help` after the reload to see the updated command set
85
104
  - If the release changed system dependencies (Playwright, MCPs), run `npx dev-workflow install-deps` separately
86
105
 
106
+ ## Rollback Mode
107
+
108
+ If invoked with `--rollback`:
109
+
110
+ 1. List snapshots in `.dw/.backup/`
111
+ 2. If none exist: STOP and report "No snapshot available"
112
+ 3. If more than one exists: ask the user which to restore (default: most recent)
113
+ 4. Confirm with the user: "Restore snapshot `<path>`? This OVERWRITES `.dw/commands/`, `.dw/templates/`, `.dw/references/`, `.dw/scripts/`, and `.agents/skills/`. Proceed? [y/N]"
114
+ 5. Only after `y`: copy back
115
+
116
+ ```bash
117
+ cp -r "$SNAPSHOT_DIR/commands" .dw/
118
+ cp -r "$SNAPSHOT_DIR/templates" .dw/
119
+ cp -r "$SNAPSHOT_DIR/references" .dw/ 2>/dev/null
120
+ cp -r "$SNAPSHOT_DIR/scripts" .dw/ 2>/dev/null
121
+ [ -d "$SNAPSHOT_DIR/agents-skills" ] && cp -r "$SNAPSHOT_DIR/agents-skills" .agents/skills 2>/dev/null
122
+ ```
123
+
124
+ 6. Report: snapshot restored, version likely recovered (read from `.dw/commands/dw-help.md` or metadata if present)
125
+
87
126
  ## Advanced Options
88
127
 
89
128
  If the user asks for a specific version (not `@latest`):
@@ -0,0 +1,56 @@
1
+ ---
2
+ id: NNN
3
+ status: Proposed
4
+ title: [Short imperative title of the decision]
5
+ date: YYYY-MM-DD
6
+ prd: [PRD slug, e.g. prd-user-auth]
7
+ schema_version: "1.0"
8
+ supersedes: null
9
+ superseded_by: null
10
+ ---
11
+
12
+ # ADR-NNN: [Title]
13
+
14
+ ## Status
15
+
16
+ Proposed | Accepted | Deprecated | Superseded by ADR-XXX
17
+
18
+ ## Context
19
+
20
+ [Problem context. What motivating forces led to this decision?
21
+ 1-3 short paragraphs. Focus on "why are we deciding now" — do not retell the whole project history.]
22
+
23
+ ## Decision
24
+
25
+ [The decision made. Start with a verb ("Adopt", "Use", "Migrate to", "Reject").
26
+ 1 actionable sentence, followed by 1-3 detail sentences if needed.]
27
+
28
+ ## Alternatives Considered
29
+
30
+ 1. **[Alternative 1]** — [what it was, why not chosen. 1-2 sentences.]
31
+ 2. **[Alternative 2]** — [what it was, why not chosen. 1-2 sentences.]
32
+ 3. **[Add more if relevant.]**
33
+
34
+ ## Consequences
35
+
36
+ ### Positive
37
+ - [Positive consequence 1]
38
+ - [Positive consequence 2]
39
+
40
+ ### Negative
41
+ - [Accepted cost 1 — do not omit]
42
+ - [Accepted cost 2]
43
+
44
+ ### Neutral / Mitigations
45
+ - [Unbiased tradeoff, or mitigation plan]
46
+
47
+ ## Related
48
+
49
+ - PRD: `.dw/spec/[prd-slug]/prd.md`
50
+ - TechSpec: `.dw/spec/[prd-slug]/techspec.md` (if applicable)
51
+ - Affected tasks: [task list, if applicable]
52
+ - Related ADRs: [list, if applicable]
53
+
54
+ ## References
55
+
56
+ - [Links to external docs, RFCs, posts, issues]
@@ -1,3 +1,9 @@
1
+ ---
2
+ type: prd
3
+ schema_version: "1.0"
4
+ status: draft
5
+ ---
6
+
1
7
  # Product Requirements Document (PRD) Template
2
8
 
3
9
  ## Overview
@@ -68,3 +74,9 @@ Implementation details will be addressed in the Technical Specification.]
68
74
  - Questions about user needs or business goals
69
75
  - Dependencies on external business factors
70
76
  - Areas requiring design or user research]
77
+
78
+ ## Related ADRs
79
+
80
+ [List ADRs that constrain or inform this feature. Leave empty if none. Use `/dw-adr` to record a decision that emerges during execution.
81
+
82
+ - `adrs/adr-NNN.md` — [short title]]
@@ -1,3 +1,9 @@
1
+ ---
2
+ type: task
3
+ schema_version: "1.0"
4
+ status: pending
5
+ ---
6
+
1
7
  # Task X.0: [Main Task Title]
2
8
 
3
9
  <critical>Read the prd.md and techspec.md files in this folder. If you don't read these files your task will be invalidated.</critical>
@@ -60,3 +66,9 @@ git commit -m "feat([module]): [description]
60
66
  - [item 2]
61
67
  - Add unit tests"
62
68
  ```
69
+
70
+ ## Related ADRs
71
+
72
+ [ADRs that constrain this task's decisions. Leave empty if none.
73
+
74
+ - `adrs/adr-NNN.md` — [short title, how the decision affects this task]]
@@ -1,3 +1,9 @@
1
+ ---
2
+ type: tasks-index
3
+ schema_version: "1.0"
4
+ status: draft
5
+ ---
6
+
1
7
  # Implementation Tasks Summary for [Feature]
2
8
 
3
9
  ## Branch
@@ -1,3 +1,9 @@
1
+ ---
2
+ type: techspec
3
+ schema_version: "1.0"
4
+ status: draft
5
+ ---
6
+
1
7
  # Technical Specification Template
2
8
 
3
9
  ## Executive Summary
@@ -121,3 +127,9 @@ type ServiceName interface {
121
127
  ### Relevant Files
122
128
 
123
129
  [List relevant project files here]
130
+
131
+ ## Related ADRs
132
+
133
+ [List architectural ADRs that constrain or inform this techspec. Leave empty if none. Use `/dw-adr` during execution to record new decisions.
134
+
135
+ - `adrs/adr-NNN.md` — [short title]]
@@ -0,0 +1,117 @@
1
+ <system_instructions>
2
+ Você é um registrador de decisões arquiteturais. Sua função é criar um **Architecture Decision Record (ADR)** que documente uma decisão técnica importante feita durante a fase atual do PRD.
3
+
4
+ ## Quando Usar
5
+ - Use quando uma decisão arquitetural ou de design foi tomada e precisa ser registrada para referência futura (escolha de biblioteca, padrão de comunicação, tradeoff de performance, restrição imposta por compliance, etc.)
6
+ - Use durante `/dw-create-techspec` ou `/dw-run-task` quando a justificativa da decisão não cabe no techspec nem no task file
7
+ - NÃO use para decisões triviais ou reversíveis sem custo (escolha de nome de variável, ordem de import)
8
+ - NÃO use para registrar bugs ou incidents (use `/dw-bugfix` ou notas operacionais)
9
+
10
+ ## Posição no Pipeline
11
+ **Antecessor:** qualquer ponto do pipeline após `/dw-create-prd` | **Sucessor:** continua o fluxo anterior (techspec, task, review)
12
+
13
+ O ADR é **aditivo**: ele não substitui nenhuma etapa do pipeline. Qualquer command existente pode invocar `/dw-adr` quando uma decisão não-trivial precisar de registro permanente.
14
+
15
+ ## Variáveis de Entrada
16
+
17
+ | Variável | Descrição | Exemplo |
18
+ |----------|-----------|---------|
19
+ | `{{PRD_PATH}}` | Caminho da pasta do PRD ativo | `.dw/spec/prd-minha-feature` |
20
+ | `{{TITLE}}` | Título curto da decisão (imperativo) | "Usar PostgreSQL ao invés de MongoDB" |
21
+
22
+ Se `{{PRD_PATH}}` não for fornecido, pergunte ao usuário qual PRD está ativo (leia `.dw/spec/` e liste). Se `{{TITLE}}` não for fornecido, pergunte.
23
+
24
+ ## Localização dos Arquivos
25
+
26
+ - Diretório de ADRs: `{{PRD_PATH}}/adrs/`
27
+ - Arquivo novo: `{{PRD_PATH}}/adrs/adr-NNN.md` (NNN zero-padded para 3 dígitos)
28
+ - Template: `.dw/templates/adr-template.md`
29
+
30
+ ## Fluxo de Trabalho
31
+
32
+ ### 1. Descobrir o próximo número
33
+ - Liste os arquivos em `{{PRD_PATH}}/adrs/` (crie o diretório se não existir)
34
+ - O próximo número é `max(existentes) + 1`, ou `1` se vazio
35
+
36
+ ### 2. Coletar contexto (perguntas mínimas)
37
+
38
+ Pergunte ao usuário **4 perguntas objetivas**, uma por vez:
39
+
40
+ 1. **Contexto**: qual problema ou força motivadora levou a esta decisão? (1-3 frases)
41
+ 2. **Decisão**: qual é a decisão tomada? (1 frase acionável, começa com verbo)
42
+ 3. **Alternativas consideradas**: quais outras opções foram avaliadas e por que não foram escolhidas? (mínimo 2)
43
+ 4. **Consequências**: quais são os tradeoffs positivos e negativos desta decisão? (explicite os negativos — sem painting rosy)
44
+
45
+ ### 3. Escrever o arquivo ADR
46
+
47
+ Use `.dw/templates/adr-template.md` como base. Campos obrigatórios:
48
+
49
+ ```yaml
50
+ ---
51
+ id: NNN
52
+ status: Proposed | Accepted | Deprecated | Superseded
53
+ title: [título do ADR]
54
+ date: YYYY-MM-DD
55
+ prd: [slug do PRD]
56
+ schema_version: "1.0"
57
+ ---
58
+
59
+ # ADR-NNN: [Título]
60
+
61
+ ## Status
62
+ [Proposed | Accepted | Deprecated | Superseded by ADR-XXX]
63
+
64
+ ## Context
65
+ [Contexto e forças motivadoras]
66
+
67
+ ## Decision
68
+ [A decisão tomada]
69
+
70
+ ## Alternatives Considered
71
+ 1. **[Alternativa 1]** — [por que não foi escolhida]
72
+ 2. **[Alternativa 2]** — [por que não foi escolhida]
73
+
74
+ ## Consequences
75
+ ### Positivas
76
+ - [consequência positiva 1]
77
+
78
+ ### Negativas
79
+ - [consequência negativa / tradeoff aceito]
80
+
81
+ ## Related
82
+ - PRD: `.dw/spec/prd-[nome]/prd.md`
83
+ - TechSpec: `.dw/spec/prd-[nome]/techspec.md` (se aplicável)
84
+ - Tasks afetadas: [lista, se aplicável]
85
+ ```
86
+
87
+ ### 4. Atualizar referências cruzadas
88
+
89
+ Se o ADR for criado **durante** a execução de um PRD, adicionar uma linha na seção "Related ADRs" dos artefatos relacionados:
90
+ - `prd.md`, `techspec.md`, ou `[N]_task.md`, conforme o escopo da decisão
91
+
92
+ Se a seção "Related ADRs" não existir no arquivo, adicioná-la ao final.
93
+
94
+ ### 5. Reportar
95
+
96
+ Apresente ao usuário:
97
+ - Caminho do ADR criado
98
+ - Artefatos atualizados com referência cruzada
99
+ - Status inicial (geralmente `Accepted` para decisões já tomadas, `Proposed` para decisões ainda abertas)
100
+
101
+ ## Comportamento Obrigatório
102
+
103
+ <critical>NUNCA sobrescreva um ADR existente. Cada ADR é imutável — se a decisão muda, crie um novo ADR com status `Supersedes ADR-NNN` e marque o antigo como `Superseded by ADR-XXX`.</critical>
104
+
105
+ <critical>NUNCA pinte o tradeoff como "só positivo". A seção Consequências Negativas é obrigatória — se não houver nenhum custo, a decisão não precisa de ADR.</critical>
106
+
107
+ ## Inspired by
108
+
109
+ Este command é inspirado no padrão de ADRs de `/tmp/compozy/.agents/skills/cy-create-adr/` do projeto [Compozy](https://github.com/compozy/compozy). Adaptações para dev-workflow:
110
+
111
+ - Paths são `.dw/spec/<prd>/adrs/` ao invés de `.compozy/tasks/<name>/adrs/`
112
+ - 4 perguntas mínimas em vez do fluxo interativo mais longo (alinhado com o estilo conciso de outros commands dw-*)
113
+ - Integração explícita com `schema_version` dos templates v1.0
114
+
115
+ Credit: Compozy project.
116
+
117
+ </system_instructions>
@@ -33,6 +33,13 @@ Uma etapa que invoca um comando `/dw-xxx` SO e considerada completa quando os ar
33
33
  ## Posicao no Pipeline
34
34
  **Antecessor:** (desejo do usuario) | **Sucessor:** (merge do PR)
35
35
 
36
+ ## Skills Complementares
37
+
38
+ | Skill | Gatilho |
39
+ |-------|---------|
40
+ | `dw-memory` | **SEMPRE** — thread de memory atravessa todas as fases (brainstorm -> PRD -> techspec -> tasks -> execucao -> QA -> review -> PR). Decisoes de um gate alimentam o contexto do proximo. |
41
+ | `dw-verify` | **SEMPRE** — invocada em cada gate (PRD, Tasks, PR) antes de pedir aprovacao do usuario; e antes do commit final + push. |
42
+
36
43
  ## Variaveis de Entrada
37
44
 
38
45
  | Variavel | Descricao | Exemplo |
@@ -11,6 +11,11 @@ Você é um facilitador de brainstorming para o workspace atual. Este comando ex
11
11
  ## Posição no Pipeline
12
12
  **Antecessor:** (ideia do usuário) | **Sucessor:** `/dw-create-prd`
13
13
 
14
+ ## Flags
15
+
16
+ - **(padrão)**: brainstorm normal com 3-7 opções (conservadora, equilibrada, ousada) e trade-offs
17
+ - **`--council`**: após o brainstorm normal, invoca a skill `dw-council` para stress-test das top 2-3 opções através de 3-5 archetypes (pragmatic-engineer, architect-advisor, security-advocate, product-mind, devils-advocate). Útil quando a escolha é de alto impacto e há genuine dissent entre caminhos.
18
+
14
19
  ## Fluxograma de Decisão: Brainstorm vs PRD Direto
15
20
 
16
21
  ```dot
@@ -33,6 +38,7 @@ digraph brainstorm_decision {
33
38
 
34
39
  Quando disponíveis no projeto em `./.agents/skills/`, use para enriquecer a ideação:
35
40
 
41
+ - `dw-council` (opt-in via `--council`): stress-test multi-advisor das opções mais promissoras com steel-manning obrigatório e concession tracking. **NÃO invocar por padrão** — só quando a flag está presente ou quando surge consenso rápido demais (sinal de false consensus).
36
42
  - `ui-ux-pro-max`: use quando o brainstorm envolver frontend, direção de estilo UI, escolhas de design system ou exploração de identidade visual
37
43
  - `vercel-react-best-practices`: use quando explorar arquitetura React/Next.js ou trade-offs de performance
38
44
  - `security-review`: use quando o brainstorm tocar auth, manipulação de dados ou features sensíveis à segurança
@@ -15,6 +15,7 @@
15
15
 
16
16
  Quando disponíveis no projeto em `./.agents/skills/`, use estas skills como suporte contextual sem substituir este comando:
17
17
 
18
+ - `dw-verify`: **SEMPRE** — em modo Direto, invocada antes do commit da correção. O VERIFICATION REPORT deve mostrar que o sintoma original do bug não se reproduz mais (não apenas que os testes passam).
18
19
  - `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
20
  - `webapp-testing`: use quando a correção requer fluxo E2E/reteste reproduzível em uma web app
20
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
@@ -219,6 +220,14 @@
219
220
  - `ajustar` - me diga o que modificar no plano
220
221
  ```
221
222
 
223
+ ### 5.5. Verificação Final (Modo Direto — obrigatório antes do commit)
224
+
225
+ <critical>Após aplicar as tarefas aprovadas em modo Direto, invocar `dw-verify` antes do commit. O VERIFICATION REPORT deve mostrar:
226
+ 1. O comando de verificação do projeto (test + lint + build) com exit 0.
227
+ 2. Reprodução do sintoma original: o cenário que disparava o bug já NÃO dispara mais.
228
+
229
+ Sem PASS nos dois, NÃO commit. Reportar o que falhou e retomar da etapa 4 (análise de causa raiz).</critical>
230
+
222
231
  ### 6. Gerar Documento Bugfix (Modo Análise)
223
232
 
224
233
  <critical>
@@ -21,6 +21,8 @@ Normalmente invocado antes de criar PR via `/dw-generate-pr`
21
21
 
22
22
  Quando disponíveis no projeto em `./.agents/skills/`, use estas skills como apoio analítico sem substituir este comando:
23
23
 
24
+ - `dw-review-rigor`: **SEMPRE** — aplica de-duplication (mesmo pattern em N arquivos = 1 finding), severity ordering (critical → high → medium → low), verify-before-flag, skip-what-linter-catches, e signal-over-volume. A tabela "Problemas Encontrados" do relatório segue essa disciplina.
25
+ - `dw-verify`: **SEMPRE** — invocada antes de emitir verdict `APROVADO` ou `APROVADO COM RESSALVAS`. Sem VERIFICATION REPORT PASS (test + lint + build), o verdict não pode sair como APROVADO.
24
26
  - `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
27
  - `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
26
28
 
@@ -180,6 +182,22 @@ Verificar:
180
182
 
181
183
  <critical>O REVIEW NÃO PODE SER APROVADO SE ALGUM TESTE FALHAR</critical>
182
184
 
185
+ ### 6.5. Aplicar `dw-review-rigor` (Obrigatório)
186
+
187
+ Antes de escrever a tabela "Problemas Encontrados" do relatório, invocar a skill `dw-review-rigor` e aplicar as cinco regras:
188
+
189
+ 1. **De-duplicação**: se o mesmo padrão aparece em N arquivos, emitir 1 finding com a lista de arquivos afetados — nunca N findings idênticos.
190
+ 2. **Severity ordering**: apresentar sempre na ordem critical → high → medium → low (não por arquivo).
191
+ 3. **Verify intent before flagging**: checar comentários adjacentes, ADRs em `.dw/spec/*/adrs/`, cobertura de testes, regras em `.dw/rules/`. Não flaggar o que tem justificativa documentada.
192
+ 4. **Skip what linter catches**: rodar o linter do projeto primeiro; nada que ele já reporta vira finding.
193
+ 5. **Signal over volume**: máximo ~8 findings precisos são mais úteis que 30 marginais. Manter todos os critical/high; podar medium/low para os mais impactantes.
194
+
195
+ Se houver reviews anteriores em `{{PRD_PATH}}/reviews/` ou `{{PRD_PATH}}/dw-code-review.md` (round anterior), ler e emitir **apenas findings NOVOS** — não re-flaggar itens já tratados.
196
+
197
+ ### 6.6. Verificação Final (Obrigatório antes do verdict)
198
+
199
+ <critical>Invocar `dw-verify` e incluir o VERIFICATION REPORT no início do relatório. Sem PASS, o verdict só pode ser `REPROVADO` — nunca `APROVADO` ou `APROVADO COM RESSALVAS`.</critical>
200
+
183
201
  ### 7. Gerar Relatório de Code Review (Obrigatório)
184
202
 
185
203
  Salvar em `{{PRD_PATH}}/dw-code-review.md`:
@@ -42,10 +42,22 @@
42
42
  - Organizar sequenciamento
43
43
  - Incluir testes unitários como subtarefas de cada task
44
44
 
45
+ 3.5. **Verificação de Dependências Circulares (Pré-flight)**
46
+ - Antes de escrever qualquer arquivo, monte o grafo de dependências (campo `blockedBy` ou "Depende de" entre tasks)
47
+ - Detecte ciclos: se a task A depende de B e B depende (direta ou transitivamente) de A, há ciclo
48
+ - Se houver ciclo: **NÃO escreva os arquivos**. Apresente o ciclo ao usuário e peça reestruturação (ex: extrair responsabilidade comum, inverter dependência, mesclar tasks)
49
+ - Se não houver ciclo: prossiga
50
+
45
51
  4. **Gerar Arquivos de Tarefas Individuais**
46
52
  - Criar arquivo para cada tarefa principal
47
53
  - Detalhar subtarefas e critérios de sucesso
48
54
  - Incluir testes unitários obrigatórios
55
+ - **Enriquecimento codebase-aware (Opcional mas recomendado)**: para tasks que tocam áreas conhecidas do codebase, dispatche um Agent Explore em paralelo (um por task ou um por área) para preencher:
56
+ - "Arquivos Relevantes": paths e razão pela qual são relevantes para a task
57
+ - "Arquivos Dependentes": paths que podem precisar mudar em cascata
58
+ - "Regras Aplicáveis": links para `.dw/rules/*.md` que restringem a task
59
+ - "ADRs Relacionados": arquivos em `.dw/spec/<prd>/adrs/` que constrangem decisões
60
+ Esse enriquecimento é aditivo: não bloqueia a geração das tasks, apenas aumenta a qualidade do contexto que a `dw-run-task` recebe depois.
49
61
 
50
62
  ## Diretrizes de Criação de Tarefas
51
63
 
@@ -13,10 +13,16 @@
13
13
  ## Posição no Pipeline
14
14
  **Antecessor:** `/dw-create-prd` | **Sucessor:** `/dw-create-tasks`
15
15
 
16
+ ## Flags
17
+
18
+ - **(padrão)**: gera techspec normal a partir do PRD
19
+ - **`--council`**: antes de finalizar o techspec, invoca a skill `dw-council` sobre a decisão arquitetural principal (ex: monólito vs microserviços, SQL vs NoSQL, lib X vs Y). O output do council vira uma seção "Debate Arquitetural" no techspec, e decisões firmes viram ADR via `/dw-adr`. Útil quando o techspec introduz uma escolha estrutural de alto impacto.
20
+
16
21
  ## Skills Complementares
17
22
 
18
23
  Quando disponíveis no projeto em `./.agents/skills/`, use como apoio:
19
24
 
25
+ - `dw-council` (opt-in via `--council`): debate multi-advisor da decisão arquitetural principal com steel-manning. **NÃO invocar por padrão**.
20
26
  - `vercel-react-best-practices`: use quando definir arquitetura frontend para projetos React/Next.js
21
27
  - `ui-ux-pro-max`: use quando definir decisões de design system, paletas de cores, tipografia e estilo UI no TechSpec
22
28
  - `security-review`: use quando a feature tocar auth, autorização ou manipulação de dados sensíveis
@@ -94,6 +100,8 @@
94
100
  - Revisar padrões do projeto em `{{RULES_PATH}}`
95
101
  - Confirmar que o PRD existe em `{{PRD_PATH}}` ou `.dw/spec/prd-[nome-funcionalidade]/prd.md`
96
102
 
103
+ <critical>Hard gate: se o PRD tiver seção "Questões em Aberto" / "Open Questions" com itens não resolvidos, PARAR. Apresentar as questões ao usuário e pedir que sejam resolvidas antes de escrever o techspec. Um techspec construído sobre requisitos indefinidos gera retrabalho garantido.</critical>
104
+
97
105
  ## Fluxo de Trabalho
98
106
 
99
107
  ### 1. Analisar PRD (Obrigatório)
@@ -17,6 +17,7 @@ Você é um assistente IA especializado em correção de bugs pós-QA com retest
17
17
 
18
18
  Quando disponíveis no projeto em `./.agents/skills/`, use estas skills como suporte operacional sem substituir este comando:
19
19
 
20
+ - `dw-verify`: **SEMPRE** — invocada antes de marcar qualquer bug como `Corrigido` ou `Fechado` no `QA/bugs.md`. Sem VERIFICATION REPORT PASS (test + lint + build) + evidência de reteste, o status permanece `Reaberto` ou `Em análise`.
20
21
  - `webapp-testing`: suporte para estruturar retestes, capturas e scripts quando complementar ao Playwright MCP
21
22
  - `vercel-react-best-practices`: use apenas se a correção afetar frontend React/Next.js e houver risco de regressão de renderização, hidratação, fetching ou performance
22
23
 
@@ -88,6 +89,10 @@ Para cada bug corrigido:
88
89
  7. Registrar no relatório de QA qual usuário/perfil foi usado no reteste
89
90
  8. Se o reteste exigir auth persistente, inspeção além do MCP, ou reprodução mais fiel em navegador real, registrar no relatório
90
91
 
92
+ ### 3.5. Verificação Final Antes de Atualizar Status
93
+
94
+ <critical>Invocar a skill `dw-verify` antes de mudar o status de qualquer bug para `Corrigido` ou `Fechado`. O VERIFICATION REPORT (test + lint + build) deve ser PASS **e** a evidência de reteste do Playwright deve estar salva. Sem os dois, o status não muda.</critical>
95
+
91
96
  ### 4. Atualização de Artefatos
92
97
 
93
98
  Atualizar `QA/bugs.md` para cada bug:
@@ -9,6 +9,14 @@
9
9
  ## Posição no Pipeline
10
10
  **Antecessor:** `/dw-code-review` ou `/dw-commit` | **Sucessor:** (merge)
11
11
 
12
+ ## Skills Complementares
13
+
14
+ | Skill | Gatilho |
15
+ |-------|---------|
16
+ | `dw-verify` | **SEMPRE** — invocada antes do `git push`. Sem VERIFICATION REPORT PASS na sessão após a última edição de código, o PR **NÃO** pode ser criado. |
17
+
18
+ <critical>Hard gate: se a sessão atual não tem um VERIFICATION REPORT PASS de `dw-verify` produzido APÓS a última edição/commit, PARAR e invocar `dw-verify` antes de prosseguir. PR é um artefato permanente — exige o maior rigor de verificação.</critical>
19
+
12
20
  ## Uso
13
21
 
14
22
  ```
@@ -11,7 +11,26 @@ Você é um assistente de ajuda do workspace. Quando invocado, apresente ao usu
11
11
  ## Comportamento
12
12
 
13
13
  - Se invocado sem argumentos (`/dw-help`): mostre o guia completo abaixo
14
- - Se invocado com argumento (`/dw-help dw-create-prd`): mostre apenas a seção detalhada daquele comando
14
+ - Se invocado com argumento correspondente a um comando (`/dw-help dw-create-prd`): mostre apenas a seção detalhada daquele comando
15
+ - Se invocado com **keyword que não é nome de comando** (`/dw-help bug`, `/dw-help review`, `/dw-help design`): faça lookup contextual — identifique o(s) comando(s) mais relevante(s) pela keyword e apresente cada um com 1-2 linhas de justificativa ("para bug, use `/dw-bugfix` porque..."). Use a tabela de mapeamento abaixo.
16
+
17
+ ### Mapeamento contextual (keyword → comando sugerido)
18
+
19
+ | Keyword(s) | Comando sugerido | Justificativa |
20
+ |------------|------------------|---------------|
21
+ | bug, erro, falha, problema | `/dw-bugfix` | Triagem automática bug vs feature + correção |
22
+ | review, revisão, qualidade | `/dw-code-review` | Review formal Nível 3 com relatório |
23
+ | qa, teste visual, playwright | `/dw-run-qa` | QA E2E com browser automation |
24
+ | refactor, smell, fowler | `/dw-refactoring-analysis` | Auditoria de code smells priorizada |
25
+ | design, ui, redesign | `/dw-redesign-ui` | Auditoria + propostas + implementação visual |
26
+ | decisão, adr, arquitetura | `/dw-adr` | Registrar Architecture Decision Record |
27
+ | debate, council, stress-test, opiniões | `/dw-brainstorm --council` ou `/dw-create-techspec --council` | Invoca `dw-council` para debate multi-advisor |
28
+ | reverter, rollback de task | `/dw-revert-task` | Revert seguro com check de dependências |
29
+ | hotfix, mudança rápida | `/dw-quick` | Task pontual com garantias sem PRD |
30
+ | retomar, onde parei | `/dw-resume` | Restaura contexto da sessão anterior |
31
+ | pesquisa, research | `/dw-deep-research` | Pesquisa multi-fonte com citações |
32
+ | ideia, brainstorm | `/dw-brainstorm` | Ideação estruturada com trade-offs |
33
+ | atualizar dev-workflow | `/dw-update` | Atualiza para versão npm mais recente |
15
34
 
16
35
  ---
17
36
 
@@ -123,13 +142,33 @@ Este workspace utiliza um sistema de comandos AI que automatiza o ciclo completo
123
142
  |---------|-----------|-------|--------|
124
143
  | `/dw-commit` | Commit semântico (Conventional Commits) | - | Commit |
125
144
  | `/dw-generate-pr` | Push + cria PR + copia body + abre URL | Branch alvo | PR no GitHub |
145
+ | `/dw-revert-task` | Reverte com segurança os commits de uma task específica (check de dependências + confirmação) | Path do PRD + número da task | Commits revertidos + `tasks.md` atualizado |
146
+
147
+ ### Decisões Arquiteturais
148
+
149
+ | Comando | O que faz | Input | Output |
150
+ |---------|-----------|-------|--------|
151
+ | `/dw-adr` | Registra um Architecture Decision Record (ADR) para decisão não-trivial durante o PRD | Path do PRD + título | `.dw/spec/<prd>/adrs/adr-NNN.md` + cross-refs atualizadas |
126
152
 
127
153
  ### Utilitários
128
154
 
129
155
  | Comando | O que faz | Input | Output |
130
156
  |---------|-----------|-------|--------|
131
- | `/dw-help` | Este guia de comandos | (opcional) comando | Este documento |
132
- | `/dw-update` | Atualiza o dev-workflow para a versão mais recente no npm sem sair do agente | (nenhum) | Arquivos gerenciados atualizados |
157
+ | `/dw-help` | Este guia de comandos (suporta lookup por keyword: `/dw-help bug`) | (opcional) comando ou keyword | Este documento ou seção filtrada |
158
+ | `/dw-update` | Atualiza o dev-workflow para a versão mais recente no npm sem sair do agente (suporta `--rollback`) | (nenhum) ou `--rollback` | Arquivos gerenciados atualizados ou restaurados |
159
+
160
+ ### Bundled Skills (invocadas internamente — não são commands)
161
+
162
+ Skills em `.agents/skills/` que os commands acima invocam transparentemente. Você não as chama diretamente.
163
+
164
+ | Skill | Invocada por | Papel |
165
+ |-------|--------------|-------|
166
+ | `dw-verify` | run-task, run-plan, fix-qa, bugfix, code-review, generate-pr, quick | Iron Law: nenhuma claim de sucesso sem VERIFICATION REPORT PASS |
167
+ | `dw-memory` | run-task, run-plan, autopilot, resume, revert-task | Memory de workflow em dois níveis (shared + task-local) com promotion test |
168
+ | `dw-review-rigor` | code-review, review-implementation, refactoring-analysis | De-duplication, severity ordering, verify-intent-before-flag, signal-over-volume |
169
+ | `dw-council` | brainstorm `--council`, create-techspec `--council` | Debate multi-advisor (3-5 archetypes) com steel-manning, concession tracking e synthesis que preserva dissent. Opt-in. |
170
+
171
+ Inspiradas em skills do projeto [Compozy](https://github.com/compozy/compozy) (`cy-final-verify`, `cy-workflow-memory`, `cy-review-round`).
133
172
 
134
173
  ## Fluxos Comuns
135
174