nexus-core-v3 3.0.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/LICENSE +21 -0
- package/README.md +134 -0
- package/agents/README.md +133 -0
- package/agents/_protocol.md +107 -0
- package/agents/analyst.md +138 -0
- package/agents/architect.md +146 -0
- package/agents/data-engineer.md +170 -0
- package/agents/dev.md +134 -0
- package/agents/devops.md +141 -0
- package/agents/nexus-master.md +147 -0
- package/agents/pm.md +133 -0
- package/agents/po.md +138 -0
- package/agents/qa.md +192 -0
- package/agents/sm.md +122 -0
- package/agents/squad-creator.md +121 -0
- package/agents/ux-design-expert.md +165 -0
- package/artifact-manifest.json +903 -0
- package/bin/nexus.mjs +37 -0
- package/checklists/README.md +49 -0
- package/checklists/architect-checklist.md +47 -0
- package/checklists/change-checklist.md +61 -0
- package/checklists/db-predeploy-checklist.md +57 -0
- package/checklists/design-quality-checklist.md +57 -0
- package/checklists/discovery-checklist.md +36 -0
- package/checklists/foundation-checklist.md +39 -0
- package/checklists/launch-checklist.md +39 -0
- package/checklists/pm-checklist.md +48 -0
- package/checklists/po-master-checklist.md +64 -0
- package/checklists/reality-check-checklist.md +49 -0
- package/checklists/story-dod-checklist.md +52 -0
- package/checklists/story-draft-checklist.md +36 -0
- package/dist/bin/dashboard.html +279 -0
- package/dist/bin/nexus.mjs +20008 -0
- package/dist/constitution.yaml +76 -0
- package/knowledge/README.md +57 -0
- package/knowledge/architecture/architectural-styles-map.md +182 -0
- package/knowledge/architecture/design-patterns-gof.md +192 -0
- package/knowledge/architecture/distributed-patterns-cheatsheet.md +201 -0
- package/knowledge/architecture/saas-subscription-blueprint.md +355 -0
- package/knowledge/architecture/system-design-tradeoffs.md +231 -0
- package/knowledge/architecture/t3-fullstack-typesafe-stack.md +273 -0
- package/knowledge/copy/landing-copy-that-converts.md +168 -0
- package/knowledge/data/postgres-indexing-and-tuning.md +263 -0
- package/knowledge/data/schema-modeling-decisions.md +273 -0
- package/knowledge/data/supabase-rls-patterns.md +316 -0
- package/knowledge/data/zero-downtime-migrations.md +308 -0
- package/knowledge/devops/cicd-pipeline-best-practices.md +318 -0
- package/knowledge/devops/production-dockerfile.md +283 -0
- package/knowledge/devops/twelve-factor-app.md +398 -0
- package/knowledge/engineering/clean-code-principles.md +429 -0
- package/knowledge/engineering/effective-code-review.md +204 -0
- package/knowledge/engineering/testing-strategy-beyond-unit.md +307 -0
- package/knowledge/governance/risk-matrix.md +56 -0
- package/knowledge/integration/mcp-server-selection-matrix.md +235 -0
- package/knowledge/marketing/copy-que-converte.md +43 -0
- package/knowledge/marketing/funil-e-jornada.md +36 -0
- package/knowledge/negocios/proposta-vencedora.md +38 -0
- package/knowledge/negocios/roi-e-unit-economics.md +46 -0
- package/knowledge/pipeline/1-descobrir.md +26 -0
- package/knowledge/pipeline/2-estrategizar.md +26 -0
- package/knowledge/pipeline/3-estruturar.md +27 -0
- package/knowledge/pipeline/4-construir.md +27 -0
- package/knowledge/pipeline/5-endurecer.md +28 -0
- package/knowledge/pipeline/6-lancar.md +27 -0
- package/knowledge/pipeline/7-operar.md +27 -0
- package/knowledge/security/lgpd-conformidade-basica.md +35 -0
- package/knowledge/security/owasp-secure-coding-gates.md +220 -0
- package/knowledge/security/owasp-top10-threat-assessment.md +287 -0
- package/knowledge/security/threat-modeling-stride.md +34 -0
- package/knowledge/web-craft/a11y-audit-checklist.md +251 -0
- package/knowledge/web-craft/accessible-component-patterns.md +383 -0
- package/knowledge/web-craft/anti-ai-look.md +114 -0
- package/knowledge/web-craft/design-system-from-code.md +195 -0
- package/knowledge/web-craft/intrinsic-css-layout.md +420 -0
- package/knowledge/web-craft/style-cloning.md +185 -0
- package/knowledge/web-craft/visual-polish-review.md +183 -0
- package/package.json +55 -0
- package/runbooks/campanha-de-conteudo.md +36 -0
- package/runbooks/feature-em-projeto-existente.md +37 -0
- package/runbooks/mvp-startup.md +38 -0
- package/runbooks/resposta-a-incidente.md +37 -0
- package/squads/exemplo-conteudo/agents/editor-chefe.md +48 -0
- package/squads/exemplo-conteudo/agents/pesquisador.md +44 -0
- package/squads/exemplo-conteudo/agents/redator.md +45 -0
- package/squads/exemplo-conteudo/knowledge/estilo-editorial.md +21 -0
- package/squads/exemplo-conteudo/squad.yaml +19 -0
- package/squads/exemplo-conteudo/tasks/pesquisar-fontes.md +26 -0
- package/squads/exemplo-conteudo/tasks/planejar-pauta.md +27 -0
- package/squads/exemplo-conteudo/tasks/redigir-artigo.md +26 -0
- package/squads/exemplo-conteudo/tasks/revisar-artigo.md +27 -0
- package/squads/marketing/agents/analista.md +56 -0
- package/squads/marketing/agents/chefe-marketing.md +65 -0
- package/squads/marketing/agents/conteudo.md +55 -0
- package/squads/marketing/agents/copy.md +55 -0
- package/squads/marketing/agents/growth.md +56 -0
- package/squads/marketing/agents/social.md +55 -0
- package/squads/marketing/squad.yaml +17 -0
- package/squads/marketing/tasks/aprovar-campanha.md +43 -0
- package/squads/negocios/agents/chefe-negocios.md +65 -0
- package/squads/negocios/agents/financas-roi.md +55 -0
- package/squads/negocios/agents/suporte.md +55 -0
- package/squads/negocios/agents/vendas-proposta.md +56 -0
- package/squads/negocios/squad.yaml +17 -0
- package/squads/negocios/tasks/aprovar-proposta.md +40 -0
- package/squads/security/agents/appsec-reviewer.md +59 -0
- package/squads/security/agents/chefe-seguranca.md +65 -0
- package/squads/security/agents/compliance-auditor.md +60 -0
- package/squads/security/agents/threat-modeler.md +60 -0
- package/squads/security/squad.yaml +20 -0
- package/squads/security/tasks/aprovar-gate-seguranca.md +42 -0
- package/squads/security/tasks/emitir-parecer-conformidade.md +42 -0
- package/tasks/README.md +72 -0
- package/tasks/accessibility-wcag-checklist.md +69 -0
- package/tasks/advanced-elicitation.md +42 -0
- package/tasks/analyze-performance.md +54 -0
- package/tasks/analyze-project-structure.md +59 -0
- package/tasks/apply-qa-fixes.md +57 -0
- package/tasks/architect-analyze-impact.md +62 -0
- package/tasks/archive-squad.md +52 -0
- package/tasks/audit-codebase.md +53 -0
- package/tasks/build-component.md +61 -0
- package/tasks/calculate-roi.md +63 -0
- package/tasks/ci-cd-configuration.md +51 -0
- package/tasks/collect-visual-evidence.md +62 -0
- package/tasks/compose-molecule.md +57 -0
- package/tasks/consolidate-patterns.md +54 -0
- package/tasks/create-brownfield-prd.md +54 -0
- package/tasks/create-competitor-analysis.md +42 -0
- package/tasks/create-deep-research-prompt.md +62 -0
- package/tasks/create-doc.md +62 -0
- package/tasks/create-epic.md +49 -0
- package/tasks/create-front-end-spec.md +56 -0
- package/tasks/create-migration-plan.md +57 -0
- package/tasks/create-next-story.md +66 -0
- package/tasks/create-prd.md +53 -0
- package/tasks/create-project-brief.md +47 -0
- package/tasks/create-rls-policies.md +59 -0
- package/tasks/create-schema.md +57 -0
- package/tasks/create-service.md +55 -0
- package/tasks/create-squad.md +100 -0
- package/tasks/create-suite.md +62 -0
- package/tasks/db-apply-migration.md +56 -0
- package/tasks/db-domain-modeling.md +57 -0
- package/tasks/db-dry-run.md +50 -0
- package/tasks/db-env-check.md +57 -0
- package/tasks/db-load-csv.md +54 -0
- package/tasks/db-policy-apply.md +58 -0
- package/tasks/db-rollback.md +51 -0
- package/tasks/db-run-sql.md +61 -0
- package/tasks/db-seed.md +52 -0
- package/tasks/db-smoke-test.md +51 -0
- package/tasks/db-snapshot.md +48 -0
- package/tasks/db-verify-order.md +49 -0
- package/tasks/deliberate.md +46 -0
- package/tasks/design-indexes.md +59 -0
- package/tasks/dev-develop-story.md +61 -0
- package/tasks/document-project.md +59 -0
- package/tasks/execute-checklist.md +57 -0
- package/tasks/execute-epic-plan.md +52 -0
- package/tasks/execute-subtask.md +51 -0
- package/tasks/extend-pattern.md +63 -0
- package/tasks/extend-squad.md +60 -0
- package/tasks/extract-patterns.md +64 -0
- package/tasks/extract-tokens.md +59 -0
- package/tasks/facilitate-brainstorming-session.md +42 -0
- package/tasks/generate-ai-frontend-prompt.md +57 -0
- package/tasks/generate-documentation.md +60 -0
- package/tasks/generate-migration-strategy.md +57 -0
- package/tasks/generate-shock-report.md +56 -0
- package/tasks/mcp-management.md +66 -0
- package/tasks/orchestrate.md +50 -0
- package/tasks/perform-market-research.md +42 -0
- package/tasks/plan-create-context.md +57 -0
- package/tasks/plan-create-implementation.md +58 -0
- package/tasks/po-close-story.md +60 -0
- package/tasks/po-manage-story-backlog.md +59 -0
- package/tasks/po-pull-story.md +60 -0
- package/tasks/po-sync-story.md +59 -0
- package/tasks/pr-automation.md +50 -0
- package/tasks/pre-push-quality-gate.md +54 -0
- package/tasks/push.md +53 -0
- package/tasks/qa-browser-console-check.md +52 -0
- package/tasks/qa-create-fix-request.md +58 -0
- package/tasks/qa-evidence-requirements.md +55 -0
- package/tasks/qa-false-positive-detection.md +55 -0
- package/tasks/qa-fix-issues.md +55 -0
- package/tasks/qa-gate.md +53 -0
- package/tasks/qa-migration-validation.md +58 -0
- package/tasks/qa-nfr-assess.md +45 -0
- package/tasks/qa-review-story.md +56 -0
- package/tasks/qa-risk-profile.md +45 -0
- package/tasks/qa-security-checklist.md +64 -0
- package/tasks/qa-test-design.md +47 -0
- package/tasks/qa-trace-requirements.md +48 -0
- package/tasks/release-management.md +53 -0
- package/tasks/repository-cleanup.md +61 -0
- package/tasks/route.md +44 -0
- package/tasks/run-tests.md +50 -0
- package/tasks/security-audit.md +54 -0
- package/tasks/setup-database.md +60 -0
- package/tasks/setup-design-system.md +60 -0
- package/tasks/shard-doc.md +60 -0
- package/tasks/spec-assess-complexity.md +55 -0
- package/tasks/spec-critique.md +64 -0
- package/tasks/spec-gather-requirements.md +48 -0
- package/tasks/spec-research-dependencies.md +42 -0
- package/tasks/spec-write-spec.md +50 -0
- package/tasks/test-as-user.md +52 -0
- package/tasks/ux-create-wireframe.md +54 -0
- package/tasks/ux-user-research.md +55 -0
- package/tasks/validate-next-story.md +61 -0
- package/tasks/validate-squad.md +55 -0
- package/tasks/verify-subtask.md +52 -0
- package/tasks/version-management.md +45 -0
- package/templates/README.md +47 -0
- package/templates/architecture-tmpl.md +115 -0
- package/templates/competitor-analysis-tmpl.md +87 -0
- package/templates/epic-tmpl.md +83 -0
- package/templates/front-end-spec-tmpl.md +110 -0
- package/templates/market-research-tmpl.md +98 -0
- package/templates/migration-plan-tmpl.md +92 -0
- package/templates/prd-tmpl.md +95 -0
- package/templates/project-brief-tmpl.md +100 -0
- package/templates/qa-verdict-tmpl.md +73 -0
- package/templates/rls-policies-tmpl.md +93 -0
- package/templates/schema-design-tmpl.md +107 -0
- package/templates/spec-tmpl.md +88 -0
- package/templates/squad/agent-dna-tmpl.md +72 -0
- package/templates/squad/chief-dna-tmpl.md +98 -0
- package/templates/squad/squad-task-tmpl.md +50 -0
- package/templates/squad/squad-yaml-tmpl.md +47 -0
- package/templates/story-tmpl.md +63 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: verify-subtask
|
|
3
|
+
agent: dev
|
|
4
|
+
title: Verificar uma subtask pela verificação configurada
|
|
5
|
+
inputs: [subtask-id, implementation.yaml]
|
|
6
|
+
outputs: [veredito da verificação: pass/fail, evidência]
|
|
7
|
+
elicit: false
|
|
8
|
+
modes: [yolo, interactive]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Verificar uma subtask pela verificação configurada
|
|
12
|
+
|
|
13
|
+
**Objetivo:** provar objetivamente que uma subtask implementada atende ao seu critério, rodando o
|
|
14
|
+
método de verificação que o plano definiu — e emitir um veredito com evidência.
|
|
15
|
+
|
|
16
|
+
**Pré-condições:**
|
|
17
|
+
- A subtask está `done` (foi implementada via `execute-subtask`). Se ainda está aberta, **pare**:
|
|
18
|
+
não há o que verificar.
|
|
19
|
+
- A subtask tem um bloco `verify` no `implementation.yaml` com um dos tipos: `command`, `api`,
|
|
20
|
+
`browser` ou `e2e`. Sem método de verificação definido, **pare** e devolvo ao @architect.
|
|
21
|
+
|
|
22
|
+
## Passos
|
|
23
|
+
|
|
24
|
+
1. **Leio o bloco `verify`** da subtask e identifico o tipo de verificação configurado.
|
|
25
|
+
2. **Executo a verificação conforme o tipo:**
|
|
26
|
+
- `command` → rodo o comando declarado (ex.: teste, lint, build) e checo exit code 0 + saída
|
|
27
|
+
esperada.
|
|
28
|
+
- `api` → faço a chamada ao endpoint declarado e confiro status/payload contra o esperado.
|
|
29
|
+
- `browser` → navego à URL declarada e checo o estado/elemento esperado (consumidor de browser,
|
|
30
|
+
não administrador de MCP).
|
|
31
|
+
- `e2e` → rodo o fluxo end-to-end declarado e confiro o resultado final.
|
|
32
|
+
3. **Comparo o resultado com o esperado** definido no `verify`. Igual → `pass`. Diferente → `fail`.
|
|
33
|
+
4. **Registro a evidência** (saída do comando, status da resposta, screenshot/estado) junto ao
|
|
34
|
+
veredito — quem vem depois confia nesse rastro.
|
|
35
|
+
5. **Emito o veredito:**
|
|
36
|
+
- `pass` → marco a subtask como verificada e libero a próxima na cadeia.
|
|
37
|
+
- `fail` → devolvo a subtask ao loop de implementação (`execute-subtask`) com o diff esperado×obtido.
|
|
38
|
+
|
|
39
|
+
## Critério de pronto (DoD)
|
|
40
|
+
|
|
41
|
+
- [ ] A verificação do tipo configurado foi executada de fato (não presumida)
|
|
42
|
+
- [ ] Resultado comparado contra o esperado, com evidência registrada
|
|
43
|
+
- [ ] Veredito `pass`/`fail` emitido e a subtask roteada conforme o veredito
|
|
44
|
+
|
|
45
|
+
## Falha / recuperação
|
|
46
|
+
|
|
47
|
+
- **A verificação falha (`fail`)** → devolvo ao `execute-subtask` com o delta esperado×obtido; não
|
|
48
|
+
marco verificada uma subtask que não passou.
|
|
49
|
+
- **O método de verificação está quebrado/indisponível** (comando inexistente, endpoint fora do ar)
|
|
50
|
+
→ HALT e reporto; o `verify` precisa ser corrigido no plano, não ignorado.
|
|
51
|
+
- **A subtask passa mas quebra regressão em outra área** → reporto a regressão; não dou por verde
|
|
52
|
+
algo que verde-localmente mas vermelho-no-conjunto.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: version-management
|
|
3
|
+
agent: devops
|
|
4
|
+
title: Analisar e recomendar o bump semântico
|
|
5
|
+
inputs: [diff desde a última tag]
|
|
6
|
+
outputs: [bump recomendado (MAJOR/MINOR/PATCH), próxima versão]
|
|
7
|
+
elicit: false
|
|
8
|
+
modes: [interactive, yolo]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Analisar e recomendar o bump semântico
|
|
12
|
+
|
|
13
|
+
**Objetivo:** analisar o diff desde a última tag e recomendar o próximo incremento semântico (MAJOR,
|
|
14
|
+
MINOR ou PATCH), com a próxima versão calculada — base para a `release-management`.
|
|
15
|
+
|
|
16
|
+
**Pré-condições:**
|
|
17
|
+
- O repositório tem histórico git e ao menos uma referência de versão (tag ou versão em manifesto). Se
|
|
18
|
+
não há nenhuma, **pare** e proponha `v0.1.0` como ponto de partida.
|
|
19
|
+
|
|
20
|
+
## Passos
|
|
21
|
+
|
|
22
|
+
1. **Detecte o contexto do repositório** — remoto, branch base e a última tag (`git describe --tags
|
|
23
|
+
--abbrev=0`). Nunca assuma repo fixo.
|
|
24
|
+
2. **Colete o diff desde a última tag** (`git log {ultima-tag}..HEAD --oneline`) — os commits que
|
|
25
|
+
entrarão na próxima versão. Sem commits novos → não há bump a recomendar; reporte.
|
|
26
|
+
3. **Classifique os commits** pelos prefixos conventional: `feat!`/`BREAKING CHANGE` → MAJOR; `feat`
|
|
27
|
+
→ MINOR; `fix`/`perf` → PATCH; `chore`/`docs`/`refactor` sem efeito externo → sem bump por si.
|
|
28
|
+
4. **Determine o maior bump presente.** Um breaking change manda MAJOR; sem breaking, qualquer feature
|
|
29
|
+
manda MINOR; só fixes mandam PATCH. Aplique sobre a última versão para obter a próxima.
|
|
30
|
+
5. **Reporte a recomendação** — bump, próxima versão e os commits que justificam cada nível, para que o
|
|
31
|
+
usuário confirme antes de uma release.
|
|
32
|
+
|
|
33
|
+
## Critério de pronto (DoD)
|
|
34
|
+
|
|
35
|
+
- [ ] Última versão detectada dinamicamente
|
|
36
|
+
- [ ] Diff desde a última tag coletado e classificado por tipo
|
|
37
|
+
- [ ] Bump recomendado coerente com SemVer (maior nível presente vence)
|
|
38
|
+
- [ ] Próxima versão calculada e justificada pelos commits reais
|
|
39
|
+
|
|
40
|
+
## Falha / recuperação
|
|
41
|
+
|
|
42
|
+
- **Sem tag base** → proponho `v0.1.0` e sigo a partir daí; não invento histórico.
|
|
43
|
+
- **Commits sem padrão conventional** → não infiro escopo; sinalizo a ambiguidade e recomendo bump
|
|
44
|
+
conservador (PATCH) até o usuário esclarecer.
|
|
45
|
+
- **Sem commits novos desde a tag** → reporto "nada a versionar"; não recomendo bump vazio.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# NEXUS Templates — os esqueletos dos documentos
|
|
2
|
+
|
|
3
|
+
Um template é o **esqueleto** de um documento que uma task preenche: a estrutura que captura o que
|
|
4
|
+
importa, com placeholders `{assim}`. Se a task é o *como fazer*, o template é o *no que despejar*.
|
|
5
|
+
Padronizar o esqueleto é o que faz dois PRDs (ou duas stories) terem a mesma forma, revisáveis pelo
|
|
6
|
+
mesmo checklist.
|
|
7
|
+
|
|
8
|
+
## Formato canônico
|
|
9
|
+
|
|
10
|
+
Frontmatter YAML (metadados) + corpo Markdown com placeholders.
|
|
11
|
+
|
|
12
|
+
```markdown
|
|
13
|
+
---
|
|
14
|
+
id: story-tmpl
|
|
15
|
+
kind: template
|
|
16
|
+
agent: sm # agente que tipicamente preenche
|
|
17
|
+
produces: docs/stories/{epicNum}.{storyNum}.story.md # onde o artefato preenchido mora
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# {título do documento}
|
|
21
|
+
|
|
22
|
+
## {Seção}
|
|
23
|
+
{placeholder explicando o que vai aqui}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Regras
|
|
27
|
+
|
|
28
|
+
- **Placeholders são `{kebab-ou-livre}`** — o que a task substitui. Toda seção tem um placeholder ou
|
|
29
|
+
uma instrução curta do que entra.
|
|
30
|
+
- **Sem invenção embutida.** O template estrutura; ele não inventa conteúdo. O conteúdo vem da task,
|
|
31
|
+
que rastreia a story/spec/objetivo.
|
|
32
|
+
- **NEXUS-nativo.** `produces:` aponta para `docs/{tipo}/` (artefato produzido). Nada de frameworks
|
|
33
|
+
externos.
|
|
34
|
+
- **Revisável.** A estrutura do template casa com o checklist que o valida (ex.: `story-tmpl` ↔
|
|
35
|
+
`story-draft-checklist`).
|
|
36
|
+
|
|
37
|
+
## Onde os artefatos preenchidos moram
|
|
38
|
+
|
|
39
|
+
| Template | Produz em |
|
|
40
|
+
|---|---|
|
|
41
|
+
| `story-tmpl` | `docs/stories/` |
|
|
42
|
+
| `prd-tmpl` / `epic-tmpl` | `docs/prd/` |
|
|
43
|
+
| `spec-tmpl` | `docs/specs/` |
|
|
44
|
+
| `architecture-tmpl` | `docs/architecture/` |
|
|
45
|
+
| `front-end-spec-tmpl` | `docs/design/` |
|
|
46
|
+
| `project-brief-tmpl` / `competitor-analysis-tmpl` / `market-research-tmpl` | `docs/research/` |
|
|
47
|
+
| `schema-design-tmpl` / `migration-plan-tmpl` / `rls-policies-tmpl` | `docs/data-models/` |
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: architecture-tmpl
|
|
3
|
+
kind: template
|
|
4
|
+
agent: architect
|
|
5
|
+
produces: docs/architecture/{slug}-architecture.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Arquitetura: {nome do sistema/feature}
|
|
9
|
+
|
|
10
|
+
**Status:** Draft
|
|
11
|
+
**Classe de complexidade:** {SIMPLE / STANDARD / COMPLEX}
|
|
12
|
+
**Camada:** {fullstack / backend / frontend / brownfield}
|
|
13
|
+
**Rastreio:** {FRs/NFRs/CONs e achados de pesquisa que esta arquitetura serve}
|
|
14
|
+
|
|
15
|
+
## Contexto e Objetivo
|
|
16
|
+
|
|
17
|
+
> O quadro completo antes do desenho. Necessidade do usuário, restrição de negócio, capacidade do time.
|
|
18
|
+
> Pensar do usuário pra trás. Sem invenção: cada linha rastreia a um FR/NFR/CON ou achado.
|
|
19
|
+
|
|
20
|
+
- **Problema:** {o que o sistema precisa resolver}
|
|
21
|
+
- **Usuário/jornada:** {quem usa e como — do usuário pra trás}
|
|
22
|
+
- **Restrições de negócio:** {orçamento, prazo, conformidade}
|
|
23
|
+
- **Fonte:** {docs/prd/..., docs/specs/..., docs/research/...}
|
|
24
|
+
|
|
25
|
+
## Requisitos Não-Funcionais (NFRs)
|
|
26
|
+
|
|
27
|
+
> NFR não declarado é a causa nº 1 de arquitetura que parece certa e quebra em produção. Declarar números.
|
|
28
|
+
|
|
29
|
+
| NFR | Alvo | Fonte |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| Escala (RPS / usuários / volume) | {número} | {FR/NFR/CON} |
|
|
32
|
+
| Latência (p50 / p95 / p99) | {ms} | {...} |
|
|
33
|
+
| Disponibilidade (SLA) | {%} | {...} |
|
|
34
|
+
| Segurança / conformidade | {requisito} | {...} |
|
|
35
|
+
| Orçamento de infra | {custo-alvo} | {...} |
|
|
36
|
+
|
|
37
|
+
## Decisões de Arquitetura
|
|
38
|
+
|
|
39
|
+
> A decisão E o porquê. Decisão sem rastro vira mito de equipe em seis meses. Tecnologia chata por
|
|
40
|
+
> padrão; empolgante só por exceção justificada.
|
|
41
|
+
|
|
42
|
+
| # | Decisão | Alternativas descartadas | Trade-off (custo/risco) | Rastreio |
|
|
43
|
+
|---|---|---|---|---|
|
|
44
|
+
| AD-1 | {o que foi decidido} | {o que NÃO foi e por quê} | {o preço pago} | {FR/NFR/pesquisa} |
|
|
45
|
+
| AD-2 | {...} | {...} | {...} | {...} |
|
|
46
|
+
|
|
47
|
+
## Espinha Estrutural
|
|
48
|
+
|
|
49
|
+
> Fronteiras de serviço, fluxo de dados, pontos de integração. Complexidade tem que ser ganha:
|
|
50
|
+
> começar simples, projetar pra crescer.
|
|
51
|
+
|
|
52
|
+
- **Componentes/serviços:** {o que existe e a responsabilidade de cada um}
|
|
53
|
+
- **Fronteiras:** {onde uma parte termina e a outra começa — o contrato entre elas}
|
|
54
|
+
- **Fluxo de dados:** {como o dado atravessa o sistema, do request à persistência}
|
|
55
|
+
- **Diagrama:** {referência ou bloco — texto/mermaid}
|
|
56
|
+
|
|
57
|
+
## Stack Tecnológico
|
|
58
|
+
|
|
59
|
+
> Cada peça é um custo de operação, contratação e risco. Justificar o exótico.
|
|
60
|
+
|
|
61
|
+
| Camada | Tecnologia | Por quê (justificativa chata-por-padrão) |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| {frontend} | {tech} | {razão} |
|
|
64
|
+
| {backend} | {tech} | {razão} |
|
|
65
|
+
| {dados} | {tech — tecnologia decidida aqui; DDL delegado ao @data-engineer} | {razão} |
|
|
66
|
+
| {infra} | {tech} | {razão} |
|
|
67
|
+
|
|
68
|
+
## Contratos de API e Integração
|
|
69
|
+
|
|
70
|
+
> O contrato é a fronteira entre os donos das camadas. Definir aqui; implementação fica com o @dev.
|
|
71
|
+
|
|
72
|
+
- **Estilo:** {REST / GraphQL / tRPC / WebSocket}
|
|
73
|
+
- **Endpoints/operações principais:** {operação → entrada → saída}
|
|
74
|
+
- **Integrações externas:** {serviço → protocolo → modo de falha}
|
|
75
|
+
|
|
76
|
+
## Segurança e Custo
|
|
77
|
+
|
|
78
|
+
> Camadas do design, não apêndices. Defesa em profundidade; conta de infra dentro da decisão.
|
|
79
|
+
|
|
80
|
+
- **Defesa por camada:** {autenticação, autorização, validação, criptografia em trânsito/repouso}
|
|
81
|
+
- **Superfície de ataque e mitigação:** {ameaça → controle}
|
|
82
|
+
- **Modelo de custo:** {drivers de custo e estimativa por camada}
|
|
83
|
+
|
|
84
|
+
## Failure Modes ao Escalar (Teste do 10×)
|
|
85
|
+
|
|
86
|
+
> Toda fronteira passa pelo teste do 10×. Design sem o "o que quebra" é meio design.
|
|
87
|
+
|
|
88
|
+
| Componente/fronteira | O que quebra a 10× | Sinal de alerta | Mitigação |
|
|
89
|
+
|---|---|---|---|
|
|
90
|
+
| {ex.: query do feed} | {N+1, hot path, ponto único de falha} | {métrica que avisa} | {o que fazer} |
|
|
91
|
+
| {...} | {...} | {...} | {...} |
|
|
92
|
+
|
|
93
|
+
## Roteamento por Especialista
|
|
94
|
+
|
|
95
|
+
> Eu costuro o sistema; cada camada vai ao seu dono. Defino a fronteira e o contrato; o dono executa.
|
|
96
|
+
|
|
97
|
+
| Camada / artefato | Dono | O que é delegado |
|
|
98
|
+
|---|---|---|
|
|
99
|
+
| Schema / DDL / RLS / índices / migration | @data-engineer | {decisão de tecnologia feita aqui; implementação lá} |
|
|
100
|
+
| UX / fluxos / design system | @ux-design-expert | {fluxos a detalhar} |
|
|
101
|
+
| Código de implementação | @dev | {a partir desta arquitetura} |
|
|
102
|
+
| Quality gate | @qa | {após implementação} |
|
|
103
|
+
| git push / PR / release / CI/CD | @devops | {sempre — exclusivo} |
|
|
104
|
+
|
|
105
|
+
## Riscos e Pendências
|
|
106
|
+
|
|
107
|
+
> O que ainda não está resolvido e precisa de decisão, pesquisa ou validação.
|
|
108
|
+
|
|
109
|
+
- {risco / pergunta aberta — quem resolve e quando}
|
|
110
|
+
|
|
111
|
+
## Change Log
|
|
112
|
+
|
|
113
|
+
| Data | Mudança | Autor |
|
|
114
|
+
|---|---|---|
|
|
115
|
+
| {data} | {o quê} | @architect |
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: competitor-analysis-tmpl
|
|
3
|
+
kind: template
|
|
4
|
+
agent: analyst
|
|
5
|
+
produces: docs/research/{slug}-competitor-analysis.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Análise Competitiva: {mercado/categoria}
|
|
9
|
+
|
|
10
|
+
**Status:** Draft
|
|
11
|
+
**Autor:** @analyst (Alex)
|
|
12
|
+
**Data:** {data}
|
|
13
|
+
**Decisão que esta análise destrava:** {posicionamento, gap de mercado, escopo do MVP}
|
|
14
|
+
|
|
15
|
+
## Resumo Executivo
|
|
16
|
+
|
|
17
|
+
> O "portanto" no topo. 3-5 frases: onde está o gap, quem é a ameaça real, o que recomendamos.
|
|
18
|
+
|
|
19
|
+
{síntese do cenário competitivo e a oportunidade identificada}
|
|
20
|
+
|
|
21
|
+
## Escopo da Análise
|
|
22
|
+
|
|
23
|
+
> Limites do que foi analisado — para o leitor saber o que NÃO está coberto.
|
|
24
|
+
|
|
25
|
+
- **Categoria/mercado:** {definição}
|
|
26
|
+
- **Concorrentes incluídos:** {quantos e por que estes}
|
|
27
|
+
- **Período dos dados:** {datas das fontes}
|
|
28
|
+
- **Fontes:** {sites, relatórios, reviews — listadas; sem fonte = [hipótese]}
|
|
29
|
+
|
|
30
|
+
## Mapa Competitivo
|
|
31
|
+
|
|
32
|
+
> Cada concorrente classificado. Diretos resolvem o mesmo problema; indiretos resolvem o problema de outro jeito.
|
|
33
|
+
|
|
34
|
+
| Concorrente | Tipo (direto/indireto/substituto) | Público | Posicionamento | Fonte |
|
|
35
|
+
|---|---|---|---|---|
|
|
36
|
+
| {nome} | {tipo} | {público} | {como se posiciona} | {url/relatório} |
|
|
37
|
+
|
|
38
|
+
## Perfil dos Concorrentes-Chave
|
|
39
|
+
|
|
40
|
+
> Detalhe dos 3-5 mais relevantes. Repetir bloco por concorrente.
|
|
41
|
+
|
|
42
|
+
### {Concorrente}
|
|
43
|
+
- **O que faz:** {oferta principal}
|
|
44
|
+
- **Forças:** {o que faz bem — com evidência}
|
|
45
|
+
- **Fraquezas:** {onde falha — com evidência ou [hipótese]}
|
|
46
|
+
- **Modelo de receita:** {como ganha dinheiro}
|
|
47
|
+
- **Sinais recentes:** {lançamentos, funding, mudanças — com fonte e data}
|
|
48
|
+
|
|
49
|
+
## Comparação de Recursos
|
|
50
|
+
|
|
51
|
+
> Matriz objetiva. Marca presença/ausência de cada capacidade relevante.
|
|
52
|
+
|
|
53
|
+
| Recurso / capacidade | {Conc. A} | {Conc. B} | {Conc. C} | Nós (alvo) |
|
|
54
|
+
|---|---|---|---|---|
|
|
55
|
+
| {feature} | ✓ / ✗ / parcial | | | |
|
|
56
|
+
|
|
57
|
+
## Posicionamento e Diferenciação
|
|
58
|
+
|
|
59
|
+
> Onde cada um se planta e onde está o espaço vazio.
|
|
60
|
+
|
|
61
|
+
- **Eixos de posicionamento:** {ex.: preço × sofisticação, nicho × amplo}
|
|
62
|
+
- **Aglomerações:** {onde a maioria se concentra}
|
|
63
|
+
- **Espaço em branco:** {a posição não ocupada — a oportunidade}
|
|
64
|
+
|
|
65
|
+
## Forças e Fraquezas Agregadas (SWOT do mercado)
|
|
66
|
+
|
|
67
|
+
> Leitura do tabuleiro como um todo, da nossa perspectiva.
|
|
68
|
+
|
|
69
|
+
- **Oportunidades:** {gaps exploráveis — cada um rastreável a um achado acima}
|
|
70
|
+
- **Ameaças:** {movimentos competitivos que nos atingiriam}
|
|
71
|
+
|
|
72
|
+
## Implicações Estratégicas
|
|
73
|
+
|
|
74
|
+
> O "e daí?". Como cada achado-chave informa nossa estratégia.
|
|
75
|
+
|
|
76
|
+
- {achado} → {implicação para produto/posicionamento/preço}
|
|
77
|
+
|
|
78
|
+
## Portanto — Recomendações
|
|
79
|
+
|
|
80
|
+
> O handoff acionável. Sem recomendação inventada — cada uma liga a um achado.
|
|
81
|
+
|
|
82
|
+
1. {recomendação} (baseada em: {achado}) → {@pm para estratégia / @architect para viabilidade}
|
|
83
|
+
2. {...}
|
|
84
|
+
|
|
85
|
+
## Perguntas em Aberto
|
|
86
|
+
|
|
87
|
+
- {o que ainda precisa de validação} → {@analyst *perform-market-research / *research-prompt}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: epic-tmpl
|
|
3
|
+
kind: template
|
|
4
|
+
agent: pm
|
|
5
|
+
produces: docs/prd/epic-{epicNum}-{slug}.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Epic {epicNum}: {nome do epic}
|
|
9
|
+
|
|
10
|
+
**Status:** Draft
|
|
11
|
+
**PRD de origem:** {docs/prd/...-prd.md}
|
|
12
|
+
**Autor:** @pm (Morgan)
|
|
13
|
+
**Data:** {data}
|
|
14
|
+
|
|
15
|
+
## Objetivo do Epic
|
|
16
|
+
|
|
17
|
+
> Uma fronteira limpa: o que este epic entrega, em uma frase. Rastreia aos objetivos do PRD.
|
|
18
|
+
|
|
19
|
+
- **Entrega:** {capacidade coesa que este epic conclui}
|
|
20
|
+
- **Rastreia a:** OBJ-{n} / FR-{n} do PRD
|
|
21
|
+
- **Valor ao usuário:** {resultado concreto quando o epic fecha}
|
|
22
|
+
|
|
23
|
+
## Critérios de Aceite do Epic
|
|
24
|
+
|
|
25
|
+
> Como saber que o epic está "feito". Verificável, não vago.
|
|
26
|
+
|
|
27
|
+
1. {critério de fechamento do epic — testável sim/não}
|
|
28
|
+
|
|
29
|
+
## Stories previstas
|
|
30
|
+
|
|
31
|
+
> O @pm estrutura o recorte; a CRIAÇÃO das stories é delegada ao @sm (Gate 1). Aqui só o esqueleto.
|
|
32
|
+
|
|
33
|
+
| # | Título provável | Entrega | FR/NFR | Depende de |
|
|
34
|
+
|---|---|---|---|---|
|
|
35
|
+
| {epicNum}.1 | {título curto} | {o que cobre} | FR-{n} | {nenhuma / story X} |
|
|
36
|
+
|
|
37
|
+
> **Delegação (Gate 1):** após este recorte, `@sm *draft` cria cada story; `@po *validate` valida.
|
|
38
|
+
|
|
39
|
+
## Fronteiras e Dependências
|
|
40
|
+
|
|
41
|
+
> O que está dentro, o que está fora, e de que este epic depende para começar.
|
|
42
|
+
|
|
43
|
+
- **Dentro:** {escopo coberto}
|
|
44
|
+
- **Fora:** {escopo deliberadamente excluído — evita inchaço}
|
|
45
|
+
- **Depende de:** {outro epic / serviço / dado / decisão de arquitetura}
|
|
46
|
+
- **Bloqueia:** {epics/stories que só podem rodar depois deste}
|
|
47
|
+
|
|
48
|
+
## Agentes e Especialistas previstos
|
|
49
|
+
|
|
50
|
+
> Qualidade é design: prevejo quem toca o quê antes de começar.
|
|
51
|
+
|
|
52
|
+
| Trabalho | Dono |
|
|
53
|
+
|---|---|
|
|
54
|
+
| Stories | @sm |
|
|
55
|
+
| Validação de story | @po |
|
|
56
|
+
| Implementação | @dev |
|
|
57
|
+
| Schema/dados | @data-engineer |
|
|
58
|
+
| UI/UX | @ux-design-expert |
|
|
59
|
+
| Arquitetura | @architect |
|
|
60
|
+
| QA gate | @qa |
|
|
61
|
+
| Subida (push/PR/release) | @devops |
|
|
62
|
+
|
|
63
|
+
## Quality Gates do Epic
|
|
64
|
+
|
|
65
|
+
> Os portões que cada story atravessa antes de o epic fechar.
|
|
66
|
+
|
|
67
|
+
- Definition of Ready (@po) por story
|
|
68
|
+
- QA Gate (@qa): {PASS exigido / NFRs verificados}
|
|
69
|
+
- Pre-push (@devops) antes de qualquer subida
|
|
70
|
+
|
|
71
|
+
## Sequenciamento (waves)
|
|
72
|
+
|
|
73
|
+
> Se executado em ondas paralelas via `*execute-epic`, respeitando dependências.
|
|
74
|
+
|
|
75
|
+
| Wave | Stories | Pode rodar em paralelo? | Pré-condição |
|
|
76
|
+
|---|---|---|---|
|
|
77
|
+
| 1 | {epicNum}.x | {sim/não} | {nenhuma / ...} |
|
|
78
|
+
|
|
79
|
+
## Riscos do Epic
|
|
80
|
+
|
|
81
|
+
| Risco | Impacto | Mitigação |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| {o que pode travar o epic} | {severidade} | {plano} |
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: front-end-spec-tmpl
|
|
3
|
+
kind: template
|
|
4
|
+
agent: ux-design-expert
|
|
5
|
+
produces: docs/design/{feature-ou-produto}-front-end-spec.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Especificação de Front-End — {nome da feature/produto}
|
|
9
|
+
|
|
10
|
+
**Status:** Draft
|
|
11
|
+
**Origem:** {PRD/spec/story que esta UX serve — ex.: docs/prd/...}
|
|
12
|
+
**Plataformas-alvo:** {web / mobile web / app / desktop}
|
|
13
|
+
|
|
14
|
+
> Esta spec traduz necessidade de usuário em estrutura de interface — fluxos, telas, componentes,
|
|
15
|
+
> estados e regras de acessibilidade. Cada decisão aqui rastreia a um FR/NFR/CON ou a um achado de
|
|
16
|
+
> pesquisa. Nada de UX inventada: sem fonte, não entra (No Invention).
|
|
17
|
+
|
|
18
|
+
## Visão Geral de UX
|
|
19
|
+
|
|
20
|
+
- **Problema do usuário:** {a dor real que esta interface resolve — fonte de pesquisa/PRD}
|
|
21
|
+
- **Resultado esperado:** {o que a pessoa consegue fazer ao final — métrica de sucesso se houver}
|
|
22
|
+
- **Princípios de design aplicados:** {ex.: clareza > densidade, mobile-first — cada um justificado}
|
|
23
|
+
|
|
24
|
+
## Personas & Necessidades
|
|
25
|
+
|
|
26
|
+
> Quem usa, o que precisa, em que contexto. Sem persona validada, marque como hipótese.
|
|
27
|
+
|
|
28
|
+
| Persona | Necessidade-chave | Contexto de uso | Fonte |
|
|
29
|
+
|---|---|---|---|
|
|
30
|
+
| {persona} | {o que precisa fazer} | {dispositivo/ambiente/restrição} | {pesquisa/PRD} |
|
|
31
|
+
|
|
32
|
+
## Fluxos de Usuário
|
|
33
|
+
|
|
34
|
+
> Cada fluxo é uma jornada com começo, decisões e fim. Liste passos e os pontos onde algo pode falhar.
|
|
35
|
+
|
|
36
|
+
### Fluxo: {nome do fluxo}
|
|
37
|
+
- **Entrada (trigger):** {de onde o usuário chega}
|
|
38
|
+
- **Passos:** {1 → 2 → 3, com decisões}
|
|
39
|
+
- **Sucesso:** {estado final desejado}
|
|
40
|
+
- **Caminhos de erro:** {o que dá errado e como a interface responde}
|
|
41
|
+
- **Rastreabilidade:** {AC/FR que este fluxo satisfaz}
|
|
42
|
+
|
|
43
|
+
## Arquitetura de Informação
|
|
44
|
+
|
|
45
|
+
- **Mapa de navegação:** {hierarquia de telas/seções e como se conectam}
|
|
46
|
+
- **Entradas principais:** {pontos de partida — menu, deep link, dashboard}
|
|
47
|
+
- **Agrupamento de conteúdo:** {como a informação é organizada e por quê}
|
|
48
|
+
|
|
49
|
+
## Inventário de Telas
|
|
50
|
+
|
|
51
|
+
> Cada tela com seu propósito e o que ela precisa mostrar. O wireframe detalha; aqui é o índice.
|
|
52
|
+
|
|
53
|
+
| Tela | Propósito | Elementos-chave | Fluxos que a usam |
|
|
54
|
+
|---|---|---|---|
|
|
55
|
+
| {tela} | {o que resolve} | {componentes/dados essenciais} | {fluxo(s)} |
|
|
56
|
+
|
|
57
|
+
## Componentes (Atomic Design)
|
|
58
|
+
|
|
59
|
+
> Mapeie cada elemento de UI ao nível atômico. Reaproveite o design system antes de propor novo.
|
|
60
|
+
> Nada de valor hardcoded — cor/espaço/tipografia/raio vêm de design tokens.
|
|
61
|
+
|
|
62
|
+
| Componente | Nível (átomo/molécula/organismo) | Novo ou existente | Tokens/variantes | Estados |
|
|
63
|
+
|---|---|---|---|---|
|
|
64
|
+
| {componente} | {nível} | {existente: ref / novo: justificar} | {tokens usados} | {default/hover/focus/disabled/loading/error} |
|
|
65
|
+
|
|
66
|
+
## Estados & Feedback
|
|
67
|
+
|
|
68
|
+
> Toda tela tem mais que o estado "feliz". Defina como a interface se comporta em cada situação.
|
|
69
|
+
|
|
70
|
+
- **Vazio (empty):** {o que mostrar quando não há dados}
|
|
71
|
+
- **Carregando (loading):** {skeleton/spinner — sem layout shift}
|
|
72
|
+
- **Erro:** {mensagem acionável, não código cru}
|
|
73
|
+
- **Sucesso/confirmação:** {feedback claro de que a ação funcionou}
|
|
74
|
+
|
|
75
|
+
## Acessibilidade (WCAG AA — piso inegociável)
|
|
76
|
+
|
|
77
|
+
> A11y não é etapa final, é critério de pronto. Estes pontos entram desde o desenho.
|
|
78
|
+
|
|
79
|
+
- **Contraste:** {alvo AA — 4.5:1 texto normal, 3:1 texto grande/ícones}
|
|
80
|
+
- **Foco visível:** {indicador de foco em todo elemento interativo}
|
|
81
|
+
- **Navegação por teclado:** {ordem de tab lógica, sem armadilhas de foco}
|
|
82
|
+
- **Semântica & leitores de tela:** {roles, labels, alt text, hierarquia de headings}
|
|
83
|
+
- **Alvos de toque:** {tamanho mínimo para mobile}
|
|
84
|
+
- **Movimento:** {respeitar prefers-reduced-motion quando houver animação}
|
|
85
|
+
|
|
86
|
+
## Responsividade
|
|
87
|
+
|
|
88
|
+
- **Breakpoints:** {mobile / tablet / desktop e o que muda em cada um}
|
|
89
|
+
- **Estratégia:** {mobile-first / adaptação de layout / conteúdo prioritário por viewport}
|
|
90
|
+
|
|
91
|
+
## Identidade Visual & Tokens
|
|
92
|
+
|
|
93
|
+
> Referencie o design system. Se algum token novo for necessário, justifique e marque para extração.
|
|
94
|
+
|
|
95
|
+
- **Tipografia:** {famílias/escala — via token}
|
|
96
|
+
- **Paleta:** {cores semânticas — via token}
|
|
97
|
+
- **Espaçamento & raio:** {escala — via token}
|
|
98
|
+
- **Iconografia:** {set de ícones e regra de uso}
|
|
99
|
+
|
|
100
|
+
## Rastreabilidade
|
|
101
|
+
|
|
102
|
+
> Cada decisão de UX liga à sua origem. Linha sem fonte é UX inventada e não passa no gate.
|
|
103
|
+
|
|
104
|
+
| Decisão de design | Origem (FR/NFR/CON/pesquisa) |
|
|
105
|
+
|---|---|
|
|
106
|
+
| {decisão} | {fonte} |
|
|
107
|
+
|
|
108
|
+
## Itens em Aberto
|
|
109
|
+
|
|
110
|
+
- {pergunta de design não resolvida, hipótese a validar, dependência de @architect/@dev}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: market-research-tmpl
|
|
3
|
+
kind: template
|
|
4
|
+
agent: analyst
|
|
5
|
+
produces: docs/research/{slug}-market-research.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Pesquisa de Mercado: {mercado/oportunidade}
|
|
9
|
+
|
|
10
|
+
**Status:** Draft
|
|
11
|
+
**Autor:** @analyst (Alex)
|
|
12
|
+
**Data:** {data}
|
|
13
|
+
**Decisão que esta pesquisa destrava:** {entrar no mercado? dimensionar oportunidade? validar demanda?}
|
|
14
|
+
|
|
15
|
+
## Resumo Executivo
|
|
16
|
+
|
|
17
|
+
> O "portanto" no topo. 3-5 frases: tamanho da oportunidade, dinâmica-chave, recomendação.
|
|
18
|
+
|
|
19
|
+
{síntese da atratividade do mercado e o veredito acionável}
|
|
20
|
+
|
|
21
|
+
## Objetivo e Metodologia
|
|
22
|
+
|
|
23
|
+
> A pergunta que a pesquisa responde e como chegamos às respostas — para o leitor confiar (ou questionar) os números.
|
|
24
|
+
|
|
25
|
+
- **Pergunta central:** {a decisão que isto destrava}
|
|
26
|
+
- **Método:** {top-down / bottom-up / fontes secundárias / entrevistas}
|
|
27
|
+
- **Fontes:** {relatórios, bases, entrevistas — listadas; sem fonte = [hipótese] marcada}
|
|
28
|
+
- **Período dos dados:** {datas}
|
|
29
|
+
|
|
30
|
+
## Dimensionamento do Mercado (TAM / SAM / SOM)
|
|
31
|
+
|
|
32
|
+
> Cada número rastreia a uma fonte e mostra a conta. Sem fonte, vira hipótese explícita.
|
|
33
|
+
|
|
34
|
+
| Camada | Definição | Valor | Como calculado | Fonte |
|
|
35
|
+
|---|---|---|---|---|
|
|
36
|
+
| TAM | {mercado total} | {valor} | {fórmula/premissa} | {url/relatório} |
|
|
37
|
+
| SAM | {mercado endereçável} | {valor} | {fórmula/premissa} | {fonte} |
|
|
38
|
+
| SOM | {mercado obtenível} | {valor} | {fórmula/premissa} | {fonte} |
|
|
39
|
+
|
|
40
|
+
## Segmentos de Mercado
|
|
41
|
+
|
|
42
|
+
> Quem compõe o mercado e qual segmento importa mais.
|
|
43
|
+
|
|
44
|
+
| Segmento | Tamanho | Necessidade dominante | Disposição a pagar | Fonte |
|
|
45
|
+
|---|---|---|---|---|
|
|
46
|
+
| {segmento} | {%/valor} | {dor principal} | {alta/média/baixa} | {fonte} |
|
|
47
|
+
|
|
48
|
+
## Tendências e Forças (drivers)
|
|
49
|
+
|
|
50
|
+
> O que move o mercado. Cada tendência com direção e evidência.
|
|
51
|
+
|
|
52
|
+
- **Crescimento/declínio:** {tendência} — {direção e taxa, com fonte}
|
|
53
|
+
- **Tecnologia:** {mudança técnica relevante}
|
|
54
|
+
- **Regulação:** {mudança regulatória relevante}
|
|
55
|
+
- **Comportamento:** {mudança no comportamento do consumidor}
|
|
56
|
+
|
|
57
|
+
## Análise de Demanda
|
|
58
|
+
|
|
59
|
+
> Há demanda real, ou é desejo nosso? Sinais que comprovam (ou não).
|
|
60
|
+
|
|
61
|
+
- **Sinais de demanda:** {buscas, listas de espera, adoção de adjacentes — com fonte}
|
|
62
|
+
- **Gatilhos de compra:** {o que leva à decisão de compra}
|
|
63
|
+
- **Barreiras de adoção:** {o que segura a compra}
|
|
64
|
+
|
|
65
|
+
## Forças Competitivas (Porter, sintético)
|
|
66
|
+
|
|
67
|
+
> Pressões estruturais do mercado. Liga ao competitor-analysis quando houver.
|
|
68
|
+
|
|
69
|
+
- **Rivalidade:** {intensidade}
|
|
70
|
+
- **Novos entrantes:** {facilidade de entrada}
|
|
71
|
+
- **Poder de fornecedores/clientes:** {quem detém poder}
|
|
72
|
+
- **Substitutos:** {alternativas fora da categoria}
|
|
73
|
+
- **Fonte:** {docs/research/{slug}-competitor-analysis.md ou [hipótese]}
|
|
74
|
+
|
|
75
|
+
## Oportunidades e Riscos
|
|
76
|
+
|
|
77
|
+
> O tabuleiro lido em duas colunas. Cada item rastreável a um achado acima.
|
|
78
|
+
|
|
79
|
+
| Oportunidade | Evidência | | Risco | Impacto |
|
|
80
|
+
|---|---|---|---|---|
|
|
81
|
+
| {oportunidade} | {achado/fonte} | | {risco} | {alto/médio/baixo} |
|
|
82
|
+
|
|
83
|
+
## Implicações Estratégicas
|
|
84
|
+
|
|
85
|
+
> O "e daí?". Como os números viram decisão.
|
|
86
|
+
|
|
87
|
+
- {achado} → {implicação para entrada/timing/escopo}
|
|
88
|
+
|
|
89
|
+
## Portanto — Recomendações
|
|
90
|
+
|
|
91
|
+
> O handoff acionável. Cada recomendação liga a um achado; nada inventado.
|
|
92
|
+
|
|
93
|
+
1. {recomendação} (baseada em: {achado/número}) → {@pm para PRD / @architect para viabilidade}
|
|
94
|
+
2. {...}
|
|
95
|
+
|
|
96
|
+
## Perguntas em Aberto
|
|
97
|
+
|
|
98
|
+
- {lacuna de dado/incerteza} → {@analyst *research-prompt / *create-competitor-analysis}
|