@brunosps00/dev-workflow 0.0.3 → 0.0.6
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 +6 -4
- package/lib/constants.js +42 -40
- package/lib/init.js +66 -19
- 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} +94 -44
- package/scaffold/pt-br/commands/{brainstorm.md → dw-brainstorm.md} +32 -5
- package/scaffold/pt-br/commands/{bugfix.md → dw-bugfix.md} +73 -16
- package/scaffold/pt-br/commands/{code-review.md → dw-code-review.md} +80 -17
- 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} +24 -17
- 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} +61 -6
- package/scaffold/pt-br/commands/dw-help.md +248 -0
- 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} +53 -5
- package/scaffold/pt-br/commands/{run-plan.md → dw-run-plan.md} +100 -12
- 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} +35 -10
- 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/tasks-template.md +2 -2
- 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/skills/agent-browser/SKILL.md +750 -0
- package/scaffold/skills/agent-browser/references/authentication.md +303 -0
- package/scaffold/skills/agent-browser/references/commands.md +295 -0
- package/scaffold/skills/agent-browser/references/profiling.md +120 -0
- package/scaffold/skills/agent-browser/references/proxy-support.md +194 -0
- package/scaffold/skills/agent-browser/references/session-management.md +193 -0
- package/scaffold/skills/agent-browser/references/snapshot-refs.md +219 -0
- package/scaffold/skills/agent-browser/references/video-recording.md +173 -0
- package/scaffold/skills/agent-browser/templates/authenticated-session.sh +105 -0
- package/scaffold/skills/agent-browser/templates/capture-workflow.sh +69 -0
- package/scaffold/skills/agent-browser/templates/form-automation.sh +62 -0
- package/scaffold/skills/humanizer/README.md +143 -0
- package/scaffold/skills/humanizer/SKILL.md +488 -0
- package/scaffold/skills/humanizer/WARP.md +53 -0
- package/scaffold/skills/remotion-best-practices/SKILL.md +61 -0
- package/scaffold/skills/remotion-best-practices/rules/3d.md +86 -0
- package/scaffold/skills/remotion-best-practices/rules/animations.md +27 -0
- package/scaffold/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/scaffold/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/scaffold/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
- package/scaffold/skills/remotion-best-practices/rules/assets.md +78 -0
- package/scaffold/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
- package/scaffold/skills/remotion-best-practices/rules/audio.md +169 -0
- package/scaffold/skills/remotion-best-practices/rules/calculate-metadata.md +134 -0
- package/scaffold/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/scaffold/skills/remotion-best-practices/rules/charts.md +120 -0
- package/scaffold/skills/remotion-best-practices/rules/compositions.md +154 -0
- package/scaffold/skills/remotion-best-practices/rules/display-captions.md +184 -0
- package/scaffold/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/scaffold/skills/remotion-best-practices/rules/ffmpeg.md +38 -0
- package/scaffold/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/scaffold/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/scaffold/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/scaffold/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
- package/scaffold/skills/remotion-best-practices/rules/gifs.md +141 -0
- package/scaffold/skills/remotion-best-practices/rules/images.md +134 -0
- package/scaffold/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
- package/scaffold/skills/remotion-best-practices/rules/light-leaks.md +73 -0
- package/scaffold/skills/remotion-best-practices/rules/lottie.md +70 -0
- package/scaffold/skills/remotion-best-practices/rules/maps.md +412 -0
- package/scaffold/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/scaffold/skills/remotion-best-practices/rules/measuring-text.md +140 -0
- package/scaffold/skills/remotion-best-practices/rules/parameters.md +109 -0
- package/scaffold/skills/remotion-best-practices/rules/sequencing.md +118 -0
- package/scaffold/skills/remotion-best-practices/rules/sfx.md +26 -0
- package/scaffold/skills/remotion-best-practices/rules/subtitles.md +36 -0
- package/scaffold/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/scaffold/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/scaffold/skills/remotion-best-practices/rules/timing.md +179 -0
- package/scaffold/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
- package/scaffold/skills/remotion-best-practices/rules/transitions.md +197 -0
- package/scaffold/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/scaffold/skills/remotion-best-practices/rules/trimming.md +51 -0
- package/scaffold/skills/remotion-best-practices/rules/videos.md +171 -0
- package/scaffold/skills/remotion-best-practices/rules/voiceover.md +99 -0
- package/scaffold/skills/security-review/LICENSE +22 -0
- package/scaffold/skills/security-review/SKILL.md +312 -0
- package/scaffold/skills/security-review/infrastructure/docker.md +432 -0
- package/scaffold/skills/security-review/languages/javascript.md +388 -0
- package/scaffold/skills/security-review/languages/python.md +363 -0
- package/scaffold/skills/security-review/references/api-security.md +519 -0
- package/scaffold/skills/security-review/references/authentication.md +353 -0
- package/scaffold/skills/security-review/references/authorization.md +372 -0
- package/scaffold/skills/security-review/references/business-logic.md +443 -0
- package/scaffold/skills/security-review/references/cryptography.md +329 -0
- package/scaffold/skills/security-review/references/csrf.md +398 -0
- package/scaffold/skills/security-review/references/data-protection.md +378 -0
- package/scaffold/skills/security-review/references/deserialization.md +410 -0
- package/scaffold/skills/security-review/references/error-handling.md +436 -0
- package/scaffold/skills/security-review/references/file-security.md +457 -0
- package/scaffold/skills/security-review/references/injection.md +259 -0
- package/scaffold/skills/security-review/references/logging.md +433 -0
- package/scaffold/skills/security-review/references/misconfiguration.md +435 -0
- package/scaffold/skills/security-review/references/modern-threats.md +475 -0
- package/scaffold/skills/security-review/references/ssrf.md +415 -0
- package/scaffold/skills/security-review/references/supply-chain.md +405 -0
- package/scaffold/skills/security-review/references/xss.md +336 -0
- package/scaffold/skills/vercel-react-best-practices/AGENTS.md +3648 -0
- package/scaffold/skills/vercel-react-best-practices/README.md +123 -0
- package/scaffold/skills/vercel-react-best-practices/SKILL.md +146 -0
- package/scaffold/skills/vercel-react-best-practices/rules/_sections.md +46 -0
- package/scaffold/skills/vercel-react-best-practices/rules/_template.md +28 -0
- package/scaffold/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/scaffold/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/scaffold/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/scaffold/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/scaffold/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
- package/scaffold/skills/vercel-react-best-practices/rules/async-defer-await.md +82 -0
- package/scaffold/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/scaffold/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/scaffold/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/scaffold/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +60 -0
- package/scaffold/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/scaffold/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/scaffold/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/scaffold/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/scaffold/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/scaffold/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/scaffold/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/scaffold/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-request-idle-callback.md +105 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/scaffold/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
- package/scaffold/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/scaffold/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/scaffold/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/scaffold/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/scaffold/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/scaffold/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/scaffold/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +149 -0
- package/scaffold/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/scaffold/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
- package/scaffold/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/scaffold/skills/webapp-testing/SKILL.md +133 -0
- package/scaffold/skills/webapp-testing/assets/test-helper.js +56 -0
- package/scaffold/en/commands/help.md +0 -289
- package/scaffold/pt-br/commands/help.md +0 -226
|
@@ -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
|
|
41
|
+
|
|
42
|
+
Estes arquivos serão utilizados por todos os outros comandos do workflow (dw-create-prd, dw-create-techspec, dw-run-task, code-review, etc.).
|
|
43
|
+
|
|
44
|
+
## Variáveis de Entrada
|
|
13
45
|
|
|
14
|
-
|
|
46
|
+
- `{{TARGET}}` (opcional) — Diretório ou módulo específico para analisar. Se não fornecido, analise a partir da raiz do workspace.
|
|
15
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,14 +438,14 @@ 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
|
|
|
381
445
|
```markdown
|
|
382
446
|
# Integrações — [Nome do Workspace]
|
|
383
447
|
|
|
384
|
-
> Auto-gerado por /
|
|
448
|
+
> Auto-gerado por /dw-analyze-project em [data]
|
|
385
449
|
|
|
386
450
|
## Grafo de Dependências
|
|
387
451
|
|
|
@@ -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)
|
|
@@ -613,7 +663,7 @@ Após o usuário responder, prossiga com a análise completa.
|
|
|
613
663
|
## Exemplo de Uso
|
|
614
664
|
|
|
615
665
|
```
|
|
616
|
-
/
|
|
666
|
+
/dw-analyze-project
|
|
617
667
|
```
|
|
618
668
|
|
|
619
669
|
Isso escaneará o repositório atual e gerará os arquivos de rules automaticamente.
|
|
@@ -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
|
|
32
|
-
3. O arquivo é nomeado `prd.md` para manter compatibilidade com o pipeline
|
|
33
|
-
4. Depois o usuário pode rodar `/
|
|
34
|
-
5. E então `/
|
|
48
|
+
2. Em vez de executar, gera documento em `.dw/spec/dw-bugfix-[nome]/prd.md`
|
|
49
|
+
3. O arquivo é nomeado `prd.md` para manter compatibilidade com o pipeline dw-create-techspec/dw-create-tasks
|
|
50
|
+
4. Depois o usuário pode rodar `/dw-create-techspec .dw/spec/dw-bugfix-[nome]`
|
|
51
|
+
5. E então `/dw-create-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/dw-create-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,12 +229,12 @@
|
|
|
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
|
+
`/dw-create-techspec` e `/dw-create-tasks` funcionem sem modificação.
|
|
212
238
|
|
|
213
239
|
## Tipos de Tarefa (permitidos em bugfix)
|
|
214
240
|
|
|
@@ -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,12 +295,12 @@
|
|
|
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>
|
|
245
302
|
PRIMEIRO: Avalie se é bug ou feature (Passo 0).
|
|
246
|
-
Se for feature: Redirecione para
|
|
303
|
+
Se for feature: Redirecione para dw-create-prd.md.
|
|
247
304
|
NUNCA pule as 3 perguntas.
|
|
248
305
|
NUNCA execute tarefas sem aprovação.
|
|
249
306
|
SEMPRE numere as tarefas sequencialmente (1, 2, 3...).
|