synapos 2.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.
- package/.github/copilot-instructions.md +72 -0
- package/.synapos/.manifest.json +155 -0
- package/.synapos/GUIDE.md +660 -0
- package/.synapos/VERSION +1 -0
- package/.synapos/_memory/company.md +11 -0
- package/.synapos/_memory/preferences.md +15 -0
- package/.synapos/copilot.md +451 -0
- package/.synapos/core/best-practices/_catalog.yaml +56 -0
- package/.synapos/core/best-practices/content/blog-post.md +238 -0
- package/.synapos/core/best-practices/content/copywriting.md +164 -0
- package/.synapos/core/best-practices/content/linkedin-post.md +186 -0
- package/.synapos/core/best-practices/dev/api-design.md +274 -0
- package/.synapos/core/best-practices/dev/code-review.md +138 -0
- package/.synapos/core/best-practices/dev/git-workflow.md +256 -0
- package/.synapos/core/best-practices/dev/testing-strategy.md +213 -0
- package/.synapos/core/best-practices/product/product-spec.md +235 -0
- package/.synapos/core/best-practices/product/technical-writing.md +264 -0
- package/.synapos/core/best-practices/product/user-research.md +242 -0
- package/.synapos/core/commands/bump.md +59 -0
- package/.synapos/core/commands/debug/session.md +100 -0
- package/.synapos/core/commands/migrate/v1-to-v2.md +142 -0
- package/.synapos/core/commands/set-model.md +197 -0
- package/.synapos/core/commands/setup/build-business.md +378 -0
- package/.synapos/core/commands/setup/build-tech.md +374 -0
- package/.synapos/core/commands/setup/discover.md +543 -0
- package/.synapos/core/commands/setup/from-code.md +407 -0
- package/.synapos/core/commands/setup/start.md +201 -0
- package/.synapos/core/copilot-adapter.md +283 -0
- package/.synapos/core/gate-system.md +417 -0
- package/.synapos/core/model-adapter.md +245 -0
- package/.synapos/core/orchestrator.md +794 -0
- package/.synapos/core/pipeline-runner.md +784 -0
- package/.synapos/core/pipelines/pre-execution.yaml +107 -0
- package/.synapos/core/rules/product-agent.mdc +59 -0
- package/.synapos/core/skills-engine.md +207 -0
- package/.synapos/core/versioning.md +218 -0
- package/.synapos/skills/.gitkeep +0 -0
- package/.synapos/skills/brave-search/SKILL.md +130 -0
- package/.synapos/skills/fetch-url/SKILL.md +135 -0
- package/.synapos/skills/filesystem/SKILL.md +162 -0
- package/.synapos/skills/github/SKILL.md +148 -0
- package/.synapos/skills/playwright-browser/SKILL.md +124 -0
- package/.synapos/squad-templates/backend/agents/alexandre-api.agent.md +243 -0
- package/.synapos/squad-templates/backend/agents/bruno-base.agent.md +240 -0
- package/.synapos/squad-templates/backend/agents/daniela-dados.agent.md +267 -0
- package/.synapos/squad-templates/backend/agents/roberto-revisao-be.agent.md +219 -0
- package/.synapos/squad-templates/backend/agents/sergio-seguranca.agent.md +266 -0
- package/.synapos/squad-templates/backend/pipelines/api-development.yaml +83 -0
- package/.synapos/squad-templates/backend/pipelines/bug-fix.yaml +41 -0
- package/.synapos/squad-templates/backend/pipelines/database-migration.yaml +56 -0
- package/.synapos/squad-templates/backend/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/backend/pipelines/steps/01-gate-integridade.md +66 -0
- package/.synapos/squad-templates/backend/pipelines/steps/02-design-api.md +155 -0
- package/.synapos/squad-templates/backend/pipelines/steps/03-checkpoint-contrato.md +44 -0
- package/.synapos/squad-templates/backend/pipelines/steps/04-implementacao.md +113 -0
- package/.synapos/squad-templates/backend/pipelines/steps/05-seguranca.md +100 -0
- package/.synapos/squad-templates/backend/pipelines/steps/06-review.md +80 -0
- package/.synapos/squad-templates/backend/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/backend/pipelines/steps/bfbe-02-diagnostico.md +47 -0
- package/.synapos/squad-templates/backend/pipelines/steps/bfbe-03-fix.md +41 -0
- package/.synapos/squad-templates/backend/pipelines/steps/bfbe-04-review.md +42 -0
- package/.synapos/squad-templates/backend/pipelines/steps/dm-02-schema.md +85 -0
- package/.synapos/squad-templates/backend/pipelines/steps/dm-03-checkpoint.md +30 -0
- package/.synapos/squad-templates/backend/pipelines/steps/dm-04-migration.md +58 -0
- package/.synapos/squad-templates/backend/pipelines/steps/dm-05-review.md +44 -0
- package/.synapos/squad-templates/backend/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/backend/pipelines/steps/qf-03-executar.md +49 -0
- package/.synapos/squad-templates/backend/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/backend/template.yaml +72 -0
- package/.synapos/squad-templates/devops/agents/claudio-containers.agent.md +245 -0
- package/.synapos/squad-templates/devops/agents/igor-infra.agent.md +198 -0
- package/.synapos/squad-templates/devops/agents/osvaldo-observabilidade.agent.md +262 -0
- package/.synapos/squad-templates/devops/agents/patricia-pipeline.agent.md +253 -0
- package/.synapos/squad-templates/devops/pipelines/ci-cd-setup.yaml +93 -0
- package/.synapos/squad-templates/devops/pipelines/infra-provision.yaml +56 -0
- package/.synapos/squad-templates/devops/pipelines/quick-fix.yaml +41 -0
- package/.synapos/squad-templates/devops/pipelines/steps/01-gate-integridade.md +62 -0
- package/.synapos/squad-templates/devops/pipelines/steps/02-infra-design.md +31 -0
- package/.synapos/squad-templates/devops/pipelines/steps/03-containers.md +28 -0
- package/.synapos/squad-templates/devops/pipelines/steps/04-checkpoint.md +20 -0
- package/.synapos/squad-templates/devops/pipelines/steps/05-pipeline-cicd.md +29 -0
- package/.synapos/squad-templates/devops/pipelines/steps/06-observabilidade.md +28 -0
- package/.synapos/squad-templates/devops/pipelines/steps/07-review.md +27 -0
- package/.synapos/squad-templates/devops/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/devops/pipelines/steps/ip-02-design.md +21 -0
- package/.synapos/squad-templates/devops/pipelines/steps/ip-03-iac.md +20 -0
- package/.synapos/squad-templates/devops/pipelines/steps/ip-04-checkpoint.md +22 -0
- package/.synapos/squad-templates/devops/pipelines/steps/ip-05-apply.md +22 -0
- package/.synapos/squad-templates/devops/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/devops/pipelines/steps/qf-03-executar.md +52 -0
- package/.synapos/squad-templates/devops/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/devops/template.yaml +68 -0
- package/.synapos/squad-templates/engineer/agents/leo-engenheiro.agent.md +203 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/01-gate.md +22 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/02-preparacao.md +66 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/03-investigacao.md +110 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/04-checkpoint-contexto.md +24 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/05-arquitetura.md +127 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/06-checkpoint-arquitetura.md +27 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/07-planejamento.md +109 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/08-checkpoint-plano.md +27 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/09-execucao.md +121 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/atualizar-tarefa.md +27 -0
- package/.synapos/squad-templates/engineer/pipeline/steps/visual-spec.md +74 -0
- package/.synapos/squad-templates/engineer/pipelines/feature-development.yaml +107 -0
- package/.synapos/squad-templates/engineer/template.yaml +56 -0
- package/.synapos/squad-templates/frontend/agents/ana-arquitetura-fe.agent.md +245 -0
- package/.synapos/squad-templates/frontend/agents/paulo-performance.agent.md +234 -0
- package/.synapos/squad-templates/frontend/agents/renata-revisao-fe.agent.md +219 -0
- package/.synapos/squad-templates/frontend/agents/rodrigo-react.agent.md +261 -0
- package/.synapos/squad-templates/frontend/agents/tiago-testes-fe.agent.md +229 -0
- package/.synapos/squad-templates/frontend/agents/ursula-ui.agent.md +283 -0
- package/.synapos/squad-templates/frontend/pipelines/bug-fix.yaml +40 -0
- package/.synapos/squad-templates/frontend/pipelines/component-development.yaml +48 -0
- package/.synapos/squad-templates/frontend/pipelines/feature-development.yaml +76 -0
- package/.synapos/squad-templates/frontend/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/01-gate-integridade.md +66 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/02-arquitetura.md +100 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/03-checkpoint-design.md +43 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/04-implementacao.md +114 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/05-review.md +104 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/06-docs.md +51 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/bf-02-diagnostico.md +52 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/bf-03-fix.md +58 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/bf-04-review.md +43 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/cd-02-spec.md +96 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/qf-03-executar.md +45 -0
- package/.synapos/squad-templates/frontend/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/frontend/template.yaml +77 -0
- package/.synapos/squad-templates/fullstack/agents/carlos-coordenador.agent.md +266 -0
- package/.synapos/squad-templates/fullstack/pipelines/bug-fix.yaml +46 -0
- package/.synapos/squad-templates/fullstack/pipelines/integration-feature.yaml +92 -0
- package/.synapos/squad-templates/fullstack/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/01-gate-integridade.md +66 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/02-contrato-api.md +63 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/03-checkpoint-contrato.md +25 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/04-frontend.md +35 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/05-backend.md +36 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/06-integracao.md +47 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/07-review.md +49 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/bf-02-diagnostico.md +34 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/bf-03-fix.md +22 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/bf-04-review.md +22 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/qf-03-executar.md +49 -0
- package/.synapos/squad-templates/fullstack/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/fullstack/template.yaml +93 -0
- package/.synapos/squad-templates/ia-dados/agents/diana-dados.agent.md +269 -0
- package/.synapos/squad-templates/ia-dados/agents/larissa-llm.agent.md +255 -0
- package/.synapos/squad-templates/ia-dados/agents/marco-ml.agent.md +227 -0
- package/.synapos/squad-templates/ia-dados/agents/nelson-notebook.agent.md +252 -0
- package/.synapos/squad-templates/ia-dados/pipelines/data-pipeline.yaml +71 -0
- package/.synapos/squad-templates/ia-dados/pipelines/ml-feature.yaml +91 -0
- package/.synapos/squad-templates/ia-dados/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/01-gate-integridade.md +62 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/02-exploracao.md +36 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/03-design.md +25 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/04-checkpoint.md +23 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/05-implementacao.md +26 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/06-avaliacao.md +29 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/07-deploy.md +30 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-02-design.md +21 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-03-checkpoint.md +14 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-04-implementacao.md +19 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-05-qualidade.md +21 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/dp-06-deploy.md +22 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/qf-03-executar.md +53 -0
- package/.synapos/squad-templates/ia-dados/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/ia-dados/template.yaml +68 -0
- package/.synapos/squad-templates/mobile/agents/felipe-feature.agent.md +234 -0
- package/.synapos/squad-templates/mobile/agents/marina-mobile.agent.md +219 -0
- package/.synapos/squad-templates/mobile/agents/viviane-visual.agent.md +218 -0
- package/.synapos/squad-templates/mobile/pipelines/bug-fix.yaml +47 -0
- package/.synapos/squad-templates/mobile/pipelines/feature-development.yaml +77 -0
- package/.synapos/squad-templates/mobile/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/01-gate-integridade.md +62 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/02-arquitetura.md +35 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/03-design-ux.md +29 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/04-checkpoint.md +20 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/05-implementacao.md +26 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/06-review.md +27 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/atualizar-tarefa.md +138 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/bf-02-diagnostico.md +22 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/bf-03-fix.md +23 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/bf-04-review.md +20 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/qf-03-executar.md +49 -0
- package/.synapos/squad-templates/mobile/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/mobile/template.yaml +73 -0
- package/.synapos/squad-templates/produto/agents/ana-analise.agent.md +243 -0
- package/.synapos/squad-templates/produto/agents/eduardo-estrategia.agent.md +258 -0
- package/.synapos/squad-templates/produto/agents/paulo-pesquisa.agent.md +226 -0
- package/.synapos/squad-templates/produto/agents/priscila-produto.agent.md +235 -0
- package/.synapos/squad-templates/produto/agents/tania-tecnica.agent.md +239 -0
- package/.synapos/squad-templates/produto/agents/ursula-ux.agent.md +231 -0
- package/.synapos/squad-templates/produto/pipelines/discovery-spec-handoff.yaml +152 -0
- package/.synapos/squad-templates/produto/pipelines/nova-feature.yaml +77 -0
- package/.synapos/squad-templates/produto/pipelines/quick-fix.yaml +40 -0
- package/.synapos/squad-templates/produto/pipelines/quick-spec.yaml +60 -0
- package/.synapos/squad-templates/produto/pipelines/refinar-docs.yaml +33 -0
- package/.synapos/squad-templates/produto/pipelines/steps/01-gate-integridade.md +48 -0
- package/.synapos/squad-templates/produto/pipelines/steps/02-contexto-negocio.md +119 -0
- package/.synapos/squad-templates/produto/pipelines/steps/03-personas.md +107 -0
- package/.synapos/squad-templates/produto/pipelines/steps/04-checkpoint-research.md +53 -0
- package/.synapos/squad-templates/produto/pipelines/steps/04b-alinhamento-estrategico.md +92 -0
- package/.synapos/squad-templates/produto/pipelines/steps/05-spec.md +138 -0
- package/.synapos/squad-templates/produto/pipelines/steps/05b-checkpoint-spec.md +60 -0
- package/.synapos/squad-templates/produto/pipelines/steps/06-requisitos.md +118 -0
- package/.synapos/squad-templates/produto/pipelines/steps/06b-checkpoint-requisitos.md +53 -0
- package/.synapos/squad-templates/produto/pipelines/steps/06c-visual-spec.md +59 -0
- package/.synapos/squad-templates/produto/pipelines/steps/07-arquitetura.md +160 -0
- package/.synapos/squad-templates/produto/pipelines/steps/08-handoff.md +130 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-02-validar-requisito.md +73 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-03-verificar-docs.md +69 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-04-spec.md +160 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-05-checkpoint-aprovacao.md +50 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-06-versionar.md +71 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-07-handoff.md +99 -0
- package/.synapos/squad-templates/produto/pipelines/steps/nf-08-criar-tarefas.md +232 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qf-02-contexto.md +34 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qf-03-executar.md +49 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qf-04-registrar.md +35 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qs-02-contexto.md +59 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qs-03-spec.md +67 -0
- package/.synapos/squad-templates/produto/pipelines/steps/qs-05-handoff.md +49 -0
- package/.synapos/squad-templates/produto/pipelines/steps/rf-02-selecionar.md +66 -0
- package/.synapos/squad-templates/produto/pipelines/steps/rf-03-delta.md +73 -0
- package/.synapos/squad-templates/produto/pipelines/steps/rf-04-criar-versao.md +86 -0
- package/.synapos/squad-templates/produto/template.yaml +91 -0
- package/.synapos/squads/.gitkeep +0 -0
- package/README.md +285 -0
- package/bin/synapos.js +331 -0
- package/package.json +26 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 06b-checkpoint-requisitos
|
|
3
|
+
name: "Aprovação dos Requisitos"
|
|
4
|
+
execution: checkpoint
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Checkpoint — Aprovação dos Requisitos
|
|
8
|
+
|
|
9
|
+
Os requisitos foram gerados. Antes de avançar para decisões de arquitetura, o usuário deve validar prioridades e completude.
|
|
10
|
+
|
|
11
|
+
## Apresentar resumo dos requisitos
|
|
12
|
+
|
|
13
|
+
Leia `docs/requirements.md` e apresente:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
17
|
+
RESUMO DOS REQUISITOS
|
|
18
|
+
|
|
19
|
+
Funcionais:
|
|
20
|
+
P0 (críticos): {N requisitos}
|
|
21
|
+
P1 (importantes): {N requisitos}
|
|
22
|
+
P2 (desejáveis): {N requisitos}
|
|
23
|
+
|
|
24
|
+
Não-Funcionais:
|
|
25
|
+
Performance: {requisito principal}
|
|
26
|
+
Segurança: {requisito principal}
|
|
27
|
+
Escalabilidade: {requisito principal}
|
|
28
|
+
|
|
29
|
+
Conflitos identificados: {N — lista breve}
|
|
30
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Decisão do usuário
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
As prioridades e requisitos estão corretos?
|
|
37
|
+
|
|
38
|
+
[1] Aprovado — prosseguir para arquitetura
|
|
39
|
+
[2] Ajustar prioridades — mover P0/P1/P2
|
|
40
|
+
[3] Adicionar requisito — algo está faltando
|
|
41
|
+
[4] Remover requisito — algo está além do escopo
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Se [2], [3] ou [4]:** Registre o ajuste em `_memory/memories.md`, retorne ao step 06-requisitos com o feedback.
|
|
45
|
+
|
|
46
|
+
**Se [1]:** Registre em `_memory/memories.md`:
|
|
47
|
+
```markdown
|
|
48
|
+
## Requisitos aprovados — {YYYY-MM-DD}
|
|
49
|
+
P0 confirmados: {lista breve}
|
|
50
|
+
Ajustes feitos: {se houver}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Prossiga para o step 07-arquitetura.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Step 06c — Especificação Visual e Design System
|
|
2
|
+
|
|
3
|
+
## Agent: Úrsula UI (ursula-ui)
|
|
4
|
+
|
|
5
|
+
## Objetivo
|
|
6
|
+
Com base na spec funcional (spec.md) e nos requisitos (requirements.md), produzir a especificação visual completa dos componentes e fluxos da feature, garantindo design system, acessibilidade e rastreabilidade para o handoff de desenvolvimento.
|
|
7
|
+
|
|
8
|
+
## Instrução
|
|
9
|
+
|
|
10
|
+
Leia da session:
|
|
11
|
+
- `context.md` — contexto e objetivos
|
|
12
|
+
- `spec.md` — especificação funcional aprovada
|
|
13
|
+
- `requirements.md` — requisitos e critérios de aceite
|
|
14
|
+
|
|
15
|
+
Para cada componente e fluxo identificado, siga o framework de Visual-Spec do seu perfil de agent.
|
|
16
|
+
|
|
17
|
+
## Output obrigatório: `visual-spec.md`
|
|
18
|
+
|
|
19
|
+
Estrutura mínima:
|
|
20
|
+
```markdown
|
|
21
|
+
# Visual Spec — {feature-name}
|
|
22
|
+
|
|
23
|
+
## Componentes
|
|
24
|
+
|
|
25
|
+
### {NomeComponente}
|
|
26
|
+
- **Propósito:** {o que faz}
|
|
27
|
+
- **Estados:** default | hover | focus | disabled | loading | error
|
|
28
|
+
- default: {descrição}
|
|
29
|
+
- hover: {descrição}
|
|
30
|
+
- focus: {descrição — ex: outline 2px --color-focus}
|
|
31
|
+
- disabled: {descrição}
|
|
32
|
+
- loading: {skeleton ou spinner? descrição}
|
|
33
|
+
- error: {mensagem de erro + ação de recuperação}
|
|
34
|
+
- **Contraste:** {ratio}:1 ({AA/AAA})
|
|
35
|
+
- **Tokens usados:** {lista de tokens do design system}
|
|
36
|
+
- **Mobile:** {comportamento em < 768px}
|
|
37
|
+
|
|
38
|
+
## Fluxos
|
|
39
|
+
|
|
40
|
+
### {NomeFluxo}
|
|
41
|
+
- **Estado vazio:** {o que o usuário vê}
|
|
42
|
+
- **Estado de erro:** {mensagem + ação}
|
|
43
|
+
- **Responsividade:** {breakpoints}
|
|
44
|
+
|
|
45
|
+
## Verificação GATE-DESIGN
|
|
46
|
+
|
|
47
|
+
- [ ] Todos os estados de componente especificados
|
|
48
|
+
- [ ] Contraste AA declarado
|
|
49
|
+
- [ ] Estado vazio documentado
|
|
50
|
+
- [ ] Estado de erro com ação de recuperação
|
|
51
|
+
- [ ] Componentes novos verificados no design system
|
|
52
|
+
- [ ] Tokens (sem hardcode)
|
|
53
|
+
- [ ] Responsividade definida
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Veto Conditions
|
|
57
|
+
- Output sem seção `## Verificação GATE-DESIGN`
|
|
58
|
+
- Componente interativo sem estado `focus` e `error`
|
|
59
|
+
- Nenhum valor de contraste declarado
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 07-arquitetura
|
|
3
|
+
name: "Arquitetura e Decisões Técnicas"
|
|
4
|
+
agent: tania-tecnica
|
|
5
|
+
execution: subagent
|
|
6
|
+
model_tier: powerful
|
|
7
|
+
output_files:
|
|
8
|
+
- architecture.md
|
|
9
|
+
- roadmap.md
|
|
10
|
+
- success-metrics.md
|
|
11
|
+
- risks.md
|
|
12
|
+
veto_conditions:
|
|
13
|
+
- "Decisão arquitetural sem ADR correspondente"
|
|
14
|
+
- "ADR sem alternativas rejeitadas documentadas"
|
|
15
|
+
- "Roadmap sem métricas de validação por fase"
|
|
16
|
+
- "Sem análise de riscos com ao menos 3 riscos"
|
|
17
|
+
on_reject: 07-arquitetura
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Arquitetura, Decisões e Planejamento
|
|
21
|
+
|
|
22
|
+
Você é **Tânia Técnica**. Leia seu `.agent.md` para aplicar sua persona e princípios completos.
|
|
23
|
+
|
|
24
|
+
## Contexto disponível
|
|
25
|
+
|
|
26
|
+
Leia todos antes de escrever:
|
|
27
|
+
- `docs/spec.md`
|
|
28
|
+
- `docs/requirements.md`
|
|
29
|
+
- `docs/business/business-context.md`
|
|
30
|
+
- `docs/product-vision.md`
|
|
31
|
+
|
|
32
|
+
## Documentos a gerar
|
|
33
|
+
|
|
34
|
+
### `docs/architecture.md`
|
|
35
|
+
|
|
36
|
+
```markdown
|
|
37
|
+
# Arquitetura
|
|
38
|
+
|
|
39
|
+
**Data:** {YYYY-MM-DD}
|
|
40
|
+
**Versão:** 1.0
|
|
41
|
+
|
|
42
|
+
## Visão de Alto Nível
|
|
43
|
+
{como as partes se encaixam — diagrama de texto se necessário}
|
|
44
|
+
|
|
45
|
+
## Componentes Principais
|
|
46
|
+
| Componente | Responsabilidade | Tecnologia sugerida |
|
|
47
|
+
|-----------|-----------------|---------------------|
|
|
48
|
+
|
|
49
|
+
## Decisões Arquiteturais
|
|
50
|
+
|
|
51
|
+
### ADR-001: {título da decisão}
|
|
52
|
+
**Data:** {YYYY-MM-DD}
|
|
53
|
+
**Status:** proposto | aceito
|
|
54
|
+
|
|
55
|
+
**Contexto:**
|
|
56
|
+
{por que esta decisão foi necessária}
|
|
57
|
+
|
|
58
|
+
**Decisão:**
|
|
59
|
+
{o que foi decidido}
|
|
60
|
+
|
|
61
|
+
**Consequências:**
|
|
62
|
+
✅ {positivo}
|
|
63
|
+
✅ {positivo}
|
|
64
|
+
⚠ {trade-off ou risco}
|
|
65
|
+
|
|
66
|
+
**Alternativas Rejeitadas:**
|
|
67
|
+
- {opção A}: rejeitada porque {motivo}
|
|
68
|
+
- {opção B}: rejeitada porque {motivo}
|
|
69
|
+
|
|
70
|
+
### ADR-002: ...
|
|
71
|
+
|
|
72
|
+
## Integrações Externas
|
|
73
|
+
{APIs, serviços, sistemas com que o produto se integra}
|
|
74
|
+
|
|
75
|
+
## Restrições Técnicas
|
|
76
|
+
{limites conhecidos: performance, segurança, compatibilidade}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### `docs/roadmap.md`
|
|
80
|
+
|
|
81
|
+
```markdown
|
|
82
|
+
# Roadmap
|
|
83
|
+
|
|
84
|
+
**Data:** {YYYY-MM-DD}
|
|
85
|
+
|
|
86
|
+
## Agora — {período ou sprint atual}
|
|
87
|
+
**Tema:** {foco estratégico}
|
|
88
|
+
**Iniciativas:**
|
|
89
|
+
- {feature/épico} → métrica de validação: {como saber se deu certo}
|
|
90
|
+
|
|
91
|
+
## Depois — {próximo período}
|
|
92
|
+
**Tema:** {foco estratégico}
|
|
93
|
+
**Iniciativas:**
|
|
94
|
+
- {feature/épico} → hipótese: {o que esperamos que aconteça}
|
|
95
|
+
|
|
96
|
+
## Mais tarde — {futuro}
|
|
97
|
+
**Tema:** {foco estratégico}
|
|
98
|
+
**Hipóteses:**
|
|
99
|
+
- {item em exploração}
|
|
100
|
+
|
|
101
|
+
## Dependências entre Fases
|
|
102
|
+
{o que precisa estar pronto na fase anterior para a próxima começar}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### `docs/success-metrics.md`
|
|
106
|
+
|
|
107
|
+
```markdown
|
|
108
|
+
# Métricas de Sucesso
|
|
109
|
+
|
|
110
|
+
**Data:** {YYYY-MM-DD}
|
|
111
|
+
|
|
112
|
+
## North Star Metric
|
|
113
|
+
**Métrica:** {nome}
|
|
114
|
+
**Definição:** {como é calculada}
|
|
115
|
+
**Baseline:** {valor atual, se conhecido}
|
|
116
|
+
**Meta:** {valor alvo} até {data}
|
|
117
|
+
|
|
118
|
+
## Supporting Metrics
|
|
119
|
+
| Métrica | Definição | Baseline | Meta | Prazo |
|
|
120
|
+
|---------|-----------|---------|------|-------|
|
|
121
|
+
|
|
122
|
+
## Counter Metrics (o que não deve piorar)
|
|
123
|
+
| Métrica | Threshold máximo aceitável |
|
|
124
|
+
|---------|--------------------------|
|
|
125
|
+
|
|
126
|
+
## Como Medir
|
|
127
|
+
{ferramentas, eventos, queries de analytics}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### `docs/risks.md`
|
|
131
|
+
|
|
132
|
+
```markdown
|
|
133
|
+
# Análise de Riscos
|
|
134
|
+
|
|
135
|
+
**Data:** {YYYY-MM-DD}
|
|
136
|
+
|
|
137
|
+
## Riscos Identificados
|
|
138
|
+
|
|
139
|
+
### RISCO-001: {título}
|
|
140
|
+
**Probabilidade:** Alta | Média | Baixa
|
|
141
|
+
**Impacto:** Alto | Médio | Baixo
|
|
142
|
+
**Descrição:** {o que pode acontecer}
|
|
143
|
+
**Mitigação:** {ação preventiva}
|
|
144
|
+
**Contingência:** {plano se o risco se materializar}
|
|
145
|
+
**Responsável:** {quem monitora}
|
|
146
|
+
|
|
147
|
+
### RISCO-002: ...
|
|
148
|
+
|
|
149
|
+
## Resumo por Prioridade
|
|
150
|
+
| Risco | Prob | Impacto | Score | Status |
|
|
151
|
+
|-------|------|---------|-------|--------|
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Critérios de qualidade
|
|
155
|
+
|
|
156
|
+
- [ ] Toda decisão arquitetural não óbvia tem ADR
|
|
157
|
+
- [ ] Todo ADR tem ao menos 2 alternativas rejeitadas com motivo
|
|
158
|
+
- [ ] Roadmap tem 3 horizontes com tema e métrica de validação
|
|
159
|
+
- [ ] North Star Metric definida com baseline e meta
|
|
160
|
+
- [ ] Ao menos 3 riscos com probabilidade, impacto e mitigação
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 08-handoff
|
|
3
|
+
name: "Handoff para Desenvolvimento"
|
|
4
|
+
agent: tania-tecnica
|
|
5
|
+
execution: subagent
|
|
6
|
+
model_tier: powerful
|
|
7
|
+
gate: GATE-4
|
|
8
|
+
output_files:
|
|
9
|
+
- decisions-log.md
|
|
10
|
+
- open-questions.md
|
|
11
|
+
- handoff-checklist.md
|
|
12
|
+
veto_conditions:
|
|
13
|
+
- "Handoff checklist com item em branco ou N/A sem justificativa"
|
|
14
|
+
- "Decisão sem data ou responsável"
|
|
15
|
+
- "Open question sem responsável definido"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Handoff para Desenvolvimento
|
|
19
|
+
|
|
20
|
+
Você é **Tânia Técnica**. Leia seu `.agent.md` para aplicar sua persona e princípios completos.
|
|
21
|
+
|
|
22
|
+
## Contexto disponível
|
|
23
|
+
|
|
24
|
+
Leia todos os documentos gerados antes de escrever:
|
|
25
|
+
- `docs/product-vision.md`
|
|
26
|
+
- `docs/spec.md`
|
|
27
|
+
- `docs/requirements.md`
|
|
28
|
+
- `docs/architecture.md`
|
|
29
|
+
- `docs/roadmap.md`
|
|
30
|
+
- `docs/success-metrics.md`
|
|
31
|
+
- `docs/risks.md`
|
|
32
|
+
|
|
33
|
+
## Documentos a gerar
|
|
34
|
+
|
|
35
|
+
### `docs/decisions-log.md`
|
|
36
|
+
|
|
37
|
+
Registre TODAS as decisões tomadas ao longo do processo:
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
# Decisions Log
|
|
41
|
+
|
|
42
|
+
**Projeto:** {nome do squad}
|
|
43
|
+
**Data de fechamento:** {YYYY-MM-DD}
|
|
44
|
+
|
|
45
|
+
| Data | Decisão | Contexto | Alternativas | Responsável |
|
|
46
|
+
|------|---------|---------|--------------|-------------|
|
|
47
|
+
| {data} | {o que foi decidido} | {por que} | {o que foi rejeitado} | {nome} |
|
|
48
|
+
|
|
49
|
+
## Decisões Pendentes de Validação
|
|
50
|
+
{decisões que precisam de confirmação antes do início do desenvolvimento}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### `docs/open-questions.md`
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
# Perguntas em Aberto
|
|
57
|
+
|
|
58
|
+
**Data:** {YYYY-MM-DD}
|
|
59
|
+
|
|
60
|
+
| # | Pergunta | Impacto | Responsável | Prazo |
|
|
61
|
+
|---|----------|---------|-------------|-------|
|
|
62
|
+
| 1 | {pergunta específica} | {o que bloqueia se não for respondida} | {nome} | {data} |
|
|
63
|
+
|
|
64
|
+
## Perguntas Respondidas Durante o Processo
|
|
65
|
+
{log de perguntas que surgiram e foram resolvidas}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### `docs/handoff-checklist.md`
|
|
69
|
+
|
|
70
|
+
```markdown
|
|
71
|
+
# Handoff Checklist
|
|
72
|
+
|
|
73
|
+
**Squad:** {slug}
|
|
74
|
+
**Data:** {YYYY-MM-DD}
|
|
75
|
+
**Status:** {pronto para dev | pendente: {o que falta}}
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Contexto de Produto
|
|
80
|
+
- [ ] Product vision documentada com North Star Metric
|
|
81
|
+
- [ ] Problema e personas claramente definidos
|
|
82
|
+
- [ ] Escopo IN/OUT explícito na spec
|
|
83
|
+
|
|
84
|
+
## Especificação
|
|
85
|
+
- [ ] Todas as features têm critérios de aceite no formato Dado/Quando/Então
|
|
86
|
+
- [ ] Casos de borda documentados para fluxos críticos
|
|
87
|
+
- [ ] Dependências identificadas
|
|
88
|
+
|
|
89
|
+
## Requisitos
|
|
90
|
+
- [ ] Todos os RF com prioridade P0/P1/P2
|
|
91
|
+
- [ ] RNF com métricas numéricas (tempo, %, quantidade)
|
|
92
|
+
- [ ] Conflitos resolvidos ou documentados com responsável
|
|
93
|
+
|
|
94
|
+
## Decisões Técnicas
|
|
95
|
+
- [ ] ADRs para todas as decisões arquiteturais relevantes
|
|
96
|
+
- [ ] Alternativas rejeitadas documentadas
|
|
97
|
+
- [ ] Integrações externas identificadas
|
|
98
|
+
|
|
99
|
+
## Planejamento
|
|
100
|
+
- [ ] Roadmap com 3 horizontes
|
|
101
|
+
- [ ] Métricas de sucesso com baseline e meta
|
|
102
|
+
- [ ] Riscos principais com mitigação
|
|
103
|
+
|
|
104
|
+
## Pendências
|
|
105
|
+
- [ ] Perguntas em aberto têm responsável e prazo
|
|
106
|
+
- [ ] Decisões pendentes estão no decisions-log
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Nota de Entrega
|
|
111
|
+
|
|
112
|
+
{Breve mensagem de Tânia Técnica para o time de desenvolvimento
|
|
113
|
+
resumindo os pontos mais importantes e o que precisa de atenção especial}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Verificação GATE-4
|
|
117
|
+
|
|
118
|
+
Antes de entregar, confirme que todos os arquivos existem:
|
|
119
|
+
- [ ] `docs/product-vision.md` ✓
|
|
120
|
+
- [ ] `docs/spec.md` ✓
|
|
121
|
+
- [ ] `docs/requirements.md` ✓
|
|
122
|
+
- [ ] `docs/architecture.md` ✓
|
|
123
|
+
- [ ] `docs/roadmap.md` ✓
|
|
124
|
+
- [ ] `docs/success-metrics.md` ✓
|
|
125
|
+
- [ ] `docs/risks.md` ✓
|
|
126
|
+
- [ ] `docs/decisions-log.md` ✓
|
|
127
|
+
- [ ] `docs/open-questions.md` ✓
|
|
128
|
+
- [ ] `docs/handoff-checklist.md` ✓
|
|
129
|
+
|
|
130
|
+
Se qualquer arquivo estiver ausente → GATE-4 FALHA. Informe e não conclua o pipeline.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: nf-02-validar-requisito
|
|
3
|
+
name: "Validar Requisito"
|
|
4
|
+
execution: checkpoint
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Validar Requisito
|
|
8
|
+
|
|
9
|
+
Antes de qualquer spec, o requisito precisa estar sólido. Não assuma nada — pergunte.
|
|
10
|
+
|
|
11
|
+
## Entrada
|
|
12
|
+
|
|
13
|
+
O requisito foi passado como argumento ou descrito pelo usuário:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
<requirement>
|
|
17
|
+
#$ARGUMENTS
|
|
18
|
+
</requirement>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Se nenhum argumento foi passado, pergunte:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
Descreva o requisito ou feature que vamos especificar.
|
|
25
|
+
Inclua: o que é, por que existe, para quem é.
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Validação obrigatória
|
|
31
|
+
|
|
32
|
+
Verifique se o requisito contém as três dimensões:
|
|
33
|
+
|
|
34
|
+
| Dimensão | Pergunta | Presente? |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| **POR QUÊ** | Qual problema de negócio isto resolve? | ✅ / ❓ |
|
|
37
|
+
| **O QUÊ** | O que exatamente está sendo construído? | ✅ / ❓ |
|
|
38
|
+
| **COMO** | Há alguma diretriz técnica ou de produto? (opcional) | ✅ / — |
|
|
39
|
+
|
|
40
|
+
Se qualquer dimensão obrigatória estiver ausente ou vaga, faça perguntas diretas:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Preciso esclarecer alguns pontos antes de continuar:
|
|
44
|
+
|
|
45
|
+
[Para POR QUÊ ausente]
|
|
46
|
+
- Qual problema de negócio ou dor do usuário motivou esse requisito?
|
|
47
|
+
- O que acontece se não fizermos isso?
|
|
48
|
+
|
|
49
|
+
[Para O QUÊ vago]
|
|
50
|
+
- Pode descrever o comportamento esperado em 2-3 frases?
|
|
51
|
+
- O que está dentro do escopo desta entrega? O que está fora?
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Iterate até ter clareza completa. Não prossiga com requisito incompleto.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Output
|
|
59
|
+
|
|
60
|
+
Ao validar, apresente resumo confirmando o entendimento:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
✅ Requisito validado
|
|
64
|
+
|
|
65
|
+
POR QUÊ: {resumo do problema/motivação}
|
|
66
|
+
O QUÊ: {resumo do que será construído}
|
|
67
|
+
PARA QUEM: {persona ou usuário alvo}
|
|
68
|
+
FORA DE ESCOPO: {o que não será feito}
|
|
69
|
+
|
|
70
|
+
Posso prosseguir para verificação dos docs?
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Aguarde confirmação do usuário antes de avançar.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: nf-03-verificar-docs
|
|
3
|
+
name: "Verificar Docs e Restrições"
|
|
4
|
+
agent: ana-analise
|
|
5
|
+
execution: subagent
|
|
6
|
+
model_tier: powerful
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Verificar Docs e Restrições
|
|
10
|
+
|
|
11
|
+
Você é **Ana Análise**. Leia seu `.agent.md` para aplicar sua persona completa.
|
|
12
|
+
|
|
13
|
+
## Contexto disponível
|
|
14
|
+
|
|
15
|
+
Leia todos antes de analisar:
|
|
16
|
+
- `docs/business/business-context.md` — modelo de negócio, stakeholders, restrições
|
|
17
|
+
- `docs/business/product-vision.md` — visão, missão, princípios, IN/OUT de escopo
|
|
18
|
+
- `docs/business/personas/user-personas.md` — personas ativas
|
|
19
|
+
- `docs/business/competitive_landscape.md` — posicionamento competitivo
|
|
20
|
+
- `docs/tech-context/briefing/critical-rules.md` — regras técnicas não-negociáveis
|
|
21
|
+
- `docs/tech-context/briefing/adrs-summary.md` — decisões arquiteturais registradas
|
|
22
|
+
- `_memory/memories.md` — requisito validado no step anterior
|
|
23
|
+
|
|
24
|
+
## Sua missão
|
|
25
|
+
|
|
26
|
+
Cruzar o requisito com a base de produto existente. Identificar:
|
|
27
|
+
|
|
28
|
+
1. **Alinhamento com visão** — o requisito está dentro do escopo definido em `product-vision.md`?
|
|
29
|
+
2. **Persona correta** — o requisito serve uma persona real do produto?
|
|
30
|
+
3. **Conflitos com decisões** — o requisito viola alguma ADR ou critical-rule?
|
|
31
|
+
4. **Restrições aplicáveis** — quais constraints de negócio ou técnicas se aplicam?
|
|
32
|
+
5. **Lacunas nos docs** — algo relevante ainda não está documentado?
|
|
33
|
+
|
|
34
|
+
## Output
|
|
35
|
+
|
|
36
|
+
Apresente análise estruturada:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
40
|
+
VERIFICAÇÃO DE DOCS
|
|
41
|
+
|
|
42
|
+
✅ Alinhamento com visão: {alinhado | parcial | conflito}
|
|
43
|
+
{justificativa em 1-2 linhas}
|
|
44
|
+
|
|
45
|
+
✅ Persona: {persona identificada} — {fit: alto | médio | baixo}
|
|
46
|
+
|
|
47
|
+
{SE CONFLITO COM RESTRIÇÕES}
|
|
48
|
+
⚠️ Conflito identificado:
|
|
49
|
+
ADR-{N}: {título} — {o que conflita}
|
|
50
|
+
→ Recomendação: {o que fazer}
|
|
51
|
+
|
|
52
|
+
✅ Restrições aplicáveis:
|
|
53
|
+
- {restrição 1}
|
|
54
|
+
- {restrição 2}
|
|
55
|
+
|
|
56
|
+
✅ Contexto adicional dos docs:
|
|
57
|
+
- {insight relevante 1}
|
|
58
|
+
- {insight relevante 2}
|
|
59
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Se houver conflito crítico com docs existentes, pause e apresente ao usuário antes de prosseguir. Só continue se o usuário pedir explicitamente.
|
|
63
|
+
|
|
64
|
+
Salve contexto em `_memory/memories.md`:
|
|
65
|
+
```markdown
|
|
66
|
+
## Verificação de docs — {YYYY-MM-DD}
|
|
67
|
+
Restrições aplicáveis: {lista}
|
|
68
|
+
Conflitos: {nenhum | lista}
|
|
69
|
+
```
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: nf-04-spec
|
|
3
|
+
name: "Spec da Feature"
|
|
4
|
+
agent: priscila-produto
|
|
5
|
+
execution: subagent
|
|
6
|
+
model_tier: powerful
|
|
7
|
+
output_files:
|
|
8
|
+
- spec.md
|
|
9
|
+
veto_conditions:
|
|
10
|
+
- "Spec sem critérios de aceite mensuráveis"
|
|
11
|
+
- "Sem seção IN/OUT de escopo"
|
|
12
|
+
- "Requisito funcional sem critério de aceite"
|
|
13
|
+
- "Critério de aceite vago sem condição verificável (ex: 'deve funcionar corretamente')"
|
|
14
|
+
- "Decisão técnica que viola uma ADR sem justificativa explícita"
|
|
15
|
+
on_reject: nf-04-spec
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Spec da Feature
|
|
19
|
+
|
|
20
|
+
Você é **Priscila Produto**. Leia seu `.agent.md` para aplicar sua persona completa.
|
|
21
|
+
|
|
22
|
+
## Contexto disponível
|
|
23
|
+
|
|
24
|
+
Leia todos antes de escrever:
|
|
25
|
+
- `_memory/memories.md` — requisito validado + restrições identificadas
|
|
26
|
+
- `docs/business/product-vision.md` — princípios e métricas de sucesso
|
|
27
|
+
- `docs/business/personas/user-personas.md` — personas ativas
|
|
28
|
+
- `docs/business/business-context.md` — contexto de negócio
|
|
29
|
+
- `docs/tech-context/briefing/critical-rules.md` — regras críticas
|
|
30
|
+
|
|
31
|
+
## Sua missão
|
|
32
|
+
|
|
33
|
+
Construir a spec completa da feature. Não invente contexto — use o que está nos docs. Onde há lacunas, marque como **A DEFINIR** e liste as perguntas no final.
|
|
34
|
+
|
|
35
|
+
Iterate com o usuário até ter clareza total antes de gerar o documento final.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Documento a gerar
|
|
40
|
+
|
|
41
|
+
Salve em `docs/specs/{feature-slug}-v1.md`:
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
# Spec: {Nome da Feature}
|
|
45
|
+
|
|
46
|
+
**Versão:** v1
|
|
47
|
+
**Data:** {YYYY-MM-DD}
|
|
48
|
+
**Agent:** Priscila Produto
|
|
49
|
+
**Status:** draft → aprovado
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Visão Geral
|
|
54
|
+
|
|
55
|
+
### Problema
|
|
56
|
+
{O problema específico que esta feature resolve — 2-3 frases}
|
|
57
|
+
|
|
58
|
+
### Solução Proposta
|
|
59
|
+
{O que será construído — 2-3 frases. Não o como, o quê.}
|
|
60
|
+
|
|
61
|
+
### Persona Principal
|
|
62
|
+
{Nome da persona} — {por que esta feature é para ela}
|
|
63
|
+
|
|
64
|
+
### Métricas de Sucesso
|
|
65
|
+
| Métrica | Baseline | Target | Prazo |
|
|
66
|
+
|---|---|---|---|
|
|
67
|
+
| {métrica} | {valor atual} | {valor esperado} | {quando} |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Escopo
|
|
72
|
+
|
|
73
|
+
### IN — O que está incluído nesta entrega
|
|
74
|
+
- {item 1}
|
|
75
|
+
- {item 2}
|
|
76
|
+
|
|
77
|
+
### OUT — O que está explicitamente fora
|
|
78
|
+
- {item 1}
|
|
79
|
+
- {item 2}
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Requisitos Funcionais
|
|
84
|
+
|
|
85
|
+
| ID | Descrição | Critério de Aceite | Prioridade |
|
|
86
|
+
|---|---|---|---|
|
|
87
|
+
| RF-01 | {descrição clara} | {condição verificável e mensurável} | P0 / P1 / P2 |
|
|
88
|
+
| RF-02 | ... | ... | ... |
|
|
89
|
+
|
|
90
|
+
> P0 = bloqueante para lançamento / P1 = importante / P2 = desejável
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Requisitos Não-Funcionais
|
|
95
|
+
|
|
96
|
+
| ID | Categoria | Requisito | Valor |
|
|
97
|
+
|---|---|---|---|
|
|
98
|
+
| RNF-01 | Performance | {ex: tempo de resposta do endpoint} | < 200ms p99 |
|
|
99
|
+
| RNF-02 | Segurança | {ex: autenticação obrigatória} | JWT Bearer |
|
|
100
|
+
| RNF-03 | Acessibilidade | {ex: WCAG} | 2.1 AA |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Fluxo Principal
|
|
105
|
+
|
|
106
|
+
{Descrever o fluxo feliz em passos numerados}
|
|
107
|
+
|
|
108
|
+
1. Usuário {ação}
|
|
109
|
+
2. Sistema {resposta}
|
|
110
|
+
3. ...
|
|
111
|
+
|
|
112
|
+
### Fluxos Alternativos
|
|
113
|
+
|
|
114
|
+
**{Cenário de erro ou exceção}:**
|
|
115
|
+
1. ...
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Considerações Técnicas
|
|
120
|
+
|
|
121
|
+
{Restrições, dependências, integrações relevantes identificadas nos docs}
|
|
122
|
+
|
|
123
|
+
- Stack: conforme `docs/tech-context/briefing/tech-stack.md`
|
|
124
|
+
- Regras aplicáveis: {listar critical-rules relevantes}
|
|
125
|
+
- ADRs que se aplicam: {ADR-N: título}
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Dependências
|
|
130
|
+
|
|
131
|
+
| Dependência | Tipo | Status |
|
|
132
|
+
|---|---|---|
|
|
133
|
+
| {feature/sistema} | técnica / negócio | existente / a desenvolver |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Perguntas em Aberto
|
|
138
|
+
|
|
139
|
+
| # | Pergunta | Responsável | Prazo |
|
|
140
|
+
|---|---|---|---|
|
|
141
|
+
| 1 | {questão não resolvida} | {quem decide} | {quando} |
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Referências
|
|
146
|
+
|
|
147
|
+
- Requisito original: `_memory/memories.md`
|
|
148
|
+
- Contexto de negócio: `docs/business/business-context.md`
|
|
149
|
+
- Persona: `docs/business/personas/user-personas.md`
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Critérios de qualidade
|
|
155
|
+
|
|
156
|
+
- [ ] Todos os RFs com critério de aceite mensurável
|
|
157
|
+
- [ ] RNFs com valores numéricos (não "deve ser rápido")
|
|
158
|
+
- [ ] IN/OUT de escopo explícito
|
|
159
|
+
- [ ] Nenhuma decisão técnica que viola ADRs (ou justificativa explícita)
|
|
160
|
+
- [ ] Perguntas em aberto documentadas com responsável
|