@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
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Dossiê Funcional
|
|
2
|
+
|
|
3
|
+
- **Projeto:** {{projectName}}
|
|
4
|
+
- **Target:** {{target}}
|
|
5
|
+
- **Tipo:** {{targetType}}
|
|
6
|
+
- **Framework detectado:** {{framework}}
|
|
7
|
+
- **Base URL:** {{baseUrl}}
|
|
8
|
+
- **Runner E2E:** {{playwrightStatus}}
|
|
9
|
+
- **Gerado em:** {{generatedAt}}
|
|
10
|
+
|
|
11
|
+
## Resumo
|
|
12
|
+
|
|
13
|
+
{{summary}}
|
|
14
|
+
|
|
15
|
+
## Fontes analisadas
|
|
16
|
+
|
|
17
|
+
{{sources}}
|
|
18
|
+
|
|
19
|
+
## Bloqueios
|
|
20
|
+
|
|
21
|
+
{{blockers}}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { test, expect } from "@playwright/test";
|
|
2
|
+
|
|
3
|
+
const BASE_URL = process.env.BASE_URL ?? "{{baseUrl}}";
|
|
4
|
+
|
|
5
|
+
test("{{testTitle}}", async ({ page }) => {
|
|
6
|
+
const evidence = [] as string[];
|
|
7
|
+
|
|
8
|
+
await test.step("Abrir rota alvo", async () => {
|
|
9
|
+
await page.goto(`${BASE_URL}{{routePath}}`);
|
|
10
|
+
await expect(page).toHaveURL(new RegExp("{{routeRegex}}"));
|
|
11
|
+
evidence.push("navigation");
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
{{testSteps}}
|
|
15
|
+
|
|
16
|
+
await test.step("Registrar contexto final", async () => {
|
|
17
|
+
expect(evidence.length).toBeGreaterThan(0);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
## Resumo
|
|
2
|
+
|
|
3
|
+
- **Bug:** {{ORIGINAL_PROBLEM}}
|
|
4
|
+
- **Causa raiz:** {{WHY_IT_HAPPENED}}
|
|
5
|
+
- **Solução:** {{WHAT_WAS_FIXED}}
|
|
6
|
+
|
|
7
|
+
## Mudanças
|
|
8
|
+
|
|
9
|
+
{{CHANGES_LIST}}
|
|
10
|
+
|
|
11
|
+
## Evidências de Teste
|
|
12
|
+
|
|
13
|
+
- **Antes do fix:** {{SCREENSHOT_OR_ERROR_BEFORE}}
|
|
14
|
+
- **Depois do fix:** {{SCREENSHOT_OR_RETEST_PASS}}
|
|
15
|
+
- **Testes unitários relacionados:** {{TEST_LIST}}
|
|
16
|
+
|
|
17
|
+
## Plano de Teste
|
|
18
|
+
|
|
19
|
+
- [ ] Testes unitários passando
|
|
20
|
+
- [ ] Build com sucesso
|
|
21
|
+
- [ ] Lint passando
|
|
22
|
+
- [ ] Fix testado manualmente
|
|
23
|
+
- [ ] Verificado que não há regressão em features relacionadas
|
|
24
|
+
|
|
25
|
+
## Relacionados
|
|
26
|
+
|
|
27
|
+
- Issue: {{ISSUE_LINK}}
|
|
28
|
+
- Análise do bugfix: `.dw/spec/bugfix-{{NAME}}/prd.md` (se aplicável)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Credenciais de Teste QA
|
|
2
|
+
|
|
3
|
+
## Perfis de Credenciais
|
|
4
|
+
|
|
5
|
+
| Perfil | Login | Senha | Role | Escopo | Usar Quando |
|
|
6
|
+
|--------|-------|-------|------|--------|-------------|
|
|
7
|
+
| **Admin** | admin@test.com | {{PASSWORD}} | Administrador | Acesso total | Testar fluxos admin, gestão de usuários, configurações |
|
|
8
|
+
| **Usuário Padrão** | user@test.com | {{PASSWORD}} | Usuário | Acesso padrão | Testar happy paths, fluxos principais |
|
|
9
|
+
| **Restrito** | restricted@test.com | {{PASSWORD}} | Visualizador | Somente leitura | Testar bloqueios de permissão, acesso negado |
|
|
10
|
+
| **Multi-tenant A** | tenant-a@test.com | {{PASSWORD}} | Usuário | Tenant A | Testar isolamento de tenant, segregação de dados |
|
|
11
|
+
| **Multi-tenant B** | tenant-b@test.com | {{PASSWORD}} | Usuário | Tenant B | Testar bloqueio de acesso cross-tenant |
|
|
12
|
+
|
|
13
|
+
## Ordem de Fallback de Senha
|
|
14
|
+
|
|
15
|
+
Se a senha primária falhar, tente nesta ordem:
|
|
16
|
+
1. `{{PRIMARY_PASSWORD}}`
|
|
17
|
+
2. `{{FALLBACK_1}}`
|
|
18
|
+
3. `{{FALLBACK_2}}`
|
|
19
|
+
|
|
20
|
+
Se todas falharem, marcar autenticação como **BLOQUEADA** no manifesto.
|
|
21
|
+
|
|
22
|
+
## Método de Login
|
|
23
|
+
|
|
24
|
+
- **URL:** {{LOGIN_URL}}
|
|
25
|
+
- **Provedor de autenticação:** {{AUTH_PROVIDER}} (ex: Keycloak, Auth0, NextAuth)
|
|
26
|
+
- **Campo de login:** Email / Usuário / CPF (escolher baseado no provedor)
|
|
27
|
+
- **Observações:** {{NOTES}}
|
|
28
|
+
|
|
29
|
+
## Guia de Seleção
|
|
30
|
+
|
|
31
|
+
| Tipo de Bug / Fluxo | Perfil Recomendado | Motivo |
|
|
32
|
+
|---------------------|-------------------|--------|
|
|
33
|
+
| Teste de happy path | Usuário Padrão | Representa uso típico |
|
|
34
|
+
| Teste de permissão negada | Restrito | Valida controle de acesso |
|
|
35
|
+
| Funcionalidades admin | Admin | Acesso total necessário |
|
|
36
|
+
| Isolamento multi-tenant | Tenant A + Tenant B | Testa fronteiras de dados |
|
|
37
|
+
| Fluxo de auth/login | Todos os perfis | Testa cada nível de acesso |
|
|
@@ -28,7 +28,7 @@ feat/prd-[nome-funcionalidade]
|
|
|
28
28
|
## Workflow
|
|
29
29
|
|
|
30
30
|
Cada task segue o fluxo:
|
|
31
|
-
1. `/
|
|
31
|
+
1. `/dw-run-task [N]_task.md` - Implementa a task
|
|
32
32
|
2. Testes unitários incluídos na implementação
|
|
33
33
|
3. Commit ao final da task (sem push)
|
|
34
|
-
4. Próxima task ou `/
|
|
34
|
+
4. Próxima task ou `/dw-generate-pr [branch-alvo]` quando todas concluídas
|
|
@@ -116,7 +116,7 @@ type NomeServico interface {
|
|
|
116
116
|
|
|
117
117
|
### Conformidade com Padrões
|
|
118
118
|
|
|
119
|
-
[Pesquise as rules em
|
|
119
|
+
[Pesquise as rules em `.dw/rules/` que se encaixam nesta techspec e liste-as abaixo:]
|
|
120
120
|
|
|
121
121
|
### Arquivos Relevantes
|
|
122
122
|
|
package/scaffold/rules-readme.md
CHANGED
|
@@ -4,7 +4,7 @@ This directory contains auto-generated project rules created by the `analyze-pro
|
|
|
4
4
|
|
|
5
5
|
## How to populate
|
|
6
6
|
|
|
7
|
-
Run the `/analyze-project` command inside your AI assistant to scan your codebase and generate:
|
|
7
|
+
Run the `/dw-analyze-project` command inside your AI assistant to scan your codebase and generate:
|
|
8
8
|
|
|
9
9
|
- `index.md` — Project overview, stack summary, quick reference
|
|
10
10
|
- `{module}.md` — Per-module detailed rules with patterns and conventions
|
|
@@ -12,7 +12,7 @@ Run the `/analyze-project` command inside your AI assistant to scan your codebas
|
|
|
12
12
|
## Structure
|
|
13
13
|
|
|
14
14
|
```
|
|
15
|
-
|
|
15
|
+
.dw/rules/
|
|
16
16
|
├── README.md # This file
|
|
17
17
|
├── index.md # Project overview (auto-generated)
|
|
18
18
|
└── {module}.md # Per-module rules (auto-generated)
|
|
@@ -22,4 +22,4 @@ ai/rules/
|
|
|
22
22
|
|
|
23
23
|
These rules are automatically read by workflow commands (`create-prd`, `create-techspec`, `run-task`, etc.) to ensure generated artifacts follow your project's conventions.
|
|
24
24
|
|
|
25
|
-
Re-run `/analyze-project` whenever your stack or conventions change significantly.
|
|
25
|
+
Re-run `/dw-analyze-project` whenever your stack or conventions change significantly.
|