create-genia-os 2.0.0 → 2.1.1
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 +154 -0
- package/bin/index.js +240 -0
- package/package.json +40 -42
- package/template/.claude/CLAUDE.md +215 -0
- package/template/.claude/agent-memory/analyst/MEMORY.md +20 -0
- package/template/.claude/agent-memory/architect/MEMORY.md +20 -0
- package/template/.claude/agent-memory/dev/MEMORY.md +20 -0
- package/template/.claude/agent-memory/devops/MEMORY.md +20 -0
- package/template/.claude/agent-memory/pm/MEMORY.md +20 -0
- package/template/.claude/agent-memory/po/MEMORY.md +20 -0
- package/template/.claude/agent-memory/qa/MEMORY.md +20 -0
- package/template/.claude/agent-memory/reviewer/MEMORY.md +20 -0
- package/template/.claude/agent-memory/sm/MEMORY.md +20 -0
- package/template/.claude/hooks/enforce-git-push-authority.py +70 -0
- package/template/.claude/hooks/precompact-session-digest.cjs +87 -0
- package/template/.claude/hooks/sql-governance.py +65 -0
- package/template/.claude/hooks/synapse-engine.cjs +122 -0
- package/template/.claude/hooks/write-path-validation.py +59 -0
- package/template/.claude/rules/agent-authority.md +39 -0
- package/template/.claude/rules/agent-handoff.md +71 -0
- package/template/.claude/rules/agent-memory.md +61 -0
- package/template/.claude/rules/ids-principles.md +52 -0
- package/template/.claude/rules/mcp-usage.md +49 -0
- package/template/.claude/rules/story-lifecycle.md +87 -0
- package/template/.claude/rules/workflow-execution.md +68 -0
- package/template/.claude/settings.json +58 -0
- package/template/.claude/settings.local.json +14 -0
- package/template/.genia/CONSTITUTION.md +129 -0
- package/template/.genia/contexts/api-patterns.md +134 -0
- package/template/.genia/contexts/nextjs-react.md +210 -0
- package/template/.genia/contexts/projeto.md +18 -0
- package/template/.genia/contexts/supabase.md +152 -0
- package/template/.genia/contexts/whatsapp-cloud.md +176 -0
- package/template/.genia/core-config.yaml +192 -0
- package/template/.genia/development/agents/analyst.md +138 -0
- package/template/.genia/development/agents/architect.md +171 -0
- package/template/.genia/development/agents/dev.md +160 -0
- package/template/.genia/development/agents/devops.md +200 -0
- package/template/.genia/development/agents/pm.md +142 -0
- package/template/.genia/development/agents/po.md +165 -0
- package/template/.genia/development/agents/qa.md +183 -0
- package/template/.genia/development/agents/reviewer.md +198 -0
- package/template/.genia/development/agents/sm.md +230 -0
- package/template/.genia/development/checklists/architecture-review.md +189 -0
- package/template/.genia/development/checklists/pre-commit.md +205 -0
- package/template/.genia/development/checklists/pre-deploy.md +230 -0
- package/template/.genia/development/checklists/qa-gate.md +216 -0
- package/template/.genia/development/checklists/story-dod.md +155 -0
- package/template/.genia/development/tasks/code-review.md +197 -0
- package/template/.genia/development/tasks/criar-prd.md +170 -0
- package/template/.genia/development/tasks/criar-spec.md +188 -0
- package/template/.genia/development/tasks/criar-story.md +185 -0
- package/template/.genia/development/tasks/debug-sistematico.md +230 -0
- package/template/.genia/development/tasks/dev-implement.md +199 -0
- package/template/.genia/development/tasks/qa-review.md +224 -0
- package/template/.genia/development/workflows/brownfield.md +178 -0
- package/template/.genia/development/workflows/delivery.md +208 -0
- package/template/.genia/development/workflows/development.md +189 -0
- package/template/.genia/development/workflows/greenfield.md +166 -0
- package/template/.genia/development/workflows/planning.md +167 -0
- package/template/.genia/development/workflows/qa-loop.md +179 -0
- package/template/.genia/development/workflows/spec-pipeline.md +192 -0
- package/template/.genia/development/workflows/story-development-cycle.md +252 -0
- package/template/.genia/guidelines/clean-code.md +98 -0
- package/template/.genia/guidelines/testing.md +176 -0
- package/template/.genia/skills/design/canvas-design.md +109 -0
- package/template/.genia/skills/design/frontend-design.md +140 -0
- package/template/.genia/skills/dev/mcp-builder.md +172 -0
- package/template/.genia/skills/dev/webapp-testing.md +150 -0
- package/template/.genia/skills/documents/docx.md +153 -0
- package/template/.genia/skills/documents/pdf.md +134 -0
- package/template/.genia/skills/documents/pptx.md +118 -0
- package/template/.genia/skills/documents/xlsx.md +140 -0
- package/template/.synapse/agent-analyst +8 -0
- package/template/.synapse/agent-architect +8 -0
- package/template/.synapse/agent-dev +8 -0
- package/template/.synapse/agent-devops +8 -0
- package/template/.synapse/agent-pm +8 -0
- package/template/.synapse/agent-po +7 -0
- package/template/.synapse/agent-qa +8 -0
- package/template/.synapse/agent-reviewer +7 -0
- package/template/.synapse/agent-sm +7 -0
- package/template/.synapse/constitution +7 -0
- package/template/.synapse/context +8 -0
- package/template/.synapse/global +8 -0
- package/template/.synapse/manifest +14 -0
- package/template/README.md +53 -0
- package/bin/create.js +0 -181
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Checklist: Definition of Done (DoD) — Story
|
|
2
|
+
|
|
3
|
+
> Critérios obrigatórios para uma story ser considerada Done.
|
|
4
|
+
> Verificado por @po (negócio) + @qa (técnica) + @reviewer (código).
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## O que é o Definition of Done?
|
|
9
|
+
|
|
10
|
+
O Definition of Done (DoD) é o conjunto de critérios acordados pelo time que define quando uma story está genuinamente pronta — não "tecnicamente funcionando", mas entregável com qualidade para o usuário final. Uma story que não atende ao DoD não é Done, independente de o código estar escrito.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Checklist Completo (10 Critérios)
|
|
15
|
+
|
|
16
|
+
### Critério 1 — Acceptance Criteria Atendidos
|
|
17
|
+
- [ ] Todos os ACs da story foram implementados
|
|
18
|
+
- [ ] Todos os ACs foram verificados manualmente por @qa
|
|
19
|
+
- [ ] @po confirmou que o comportamento atende à intenção de negócio
|
|
20
|
+
- [ ] Não há ACs parcialmente implementados ou com workaround
|
|
21
|
+
|
|
22
|
+
**Responsável de verificar:** @qa + @po
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
### Critério 2 — Testes Passando
|
|
27
|
+
- [ ] Todos os testes unitários passam: `npm run test`
|
|
28
|
+
- [ ] Nenhum teste ignorado (`skip`, `xtest`, `.only`) sem justificativa documentada
|
|
29
|
+
- [ ] Testes de regressão de funcionalidades existentes passando (se brownfield)
|
|
30
|
+
|
|
31
|
+
**Responsável de verificar:** @qa
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### Critério 3 — Cobertura de Testes
|
|
36
|
+
- [ ] Cobertura de testes >= 80% nas linhas novas/modificadas
|
|
37
|
+
- [ ] Verificado com: `npm run coverage`
|
|
38
|
+
- [ ] Linhas não cobertas têm justificativa (ex: código de fallback impossível de testar)
|
|
39
|
+
|
|
40
|
+
**Responsável de verificar:** @qa
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
### Critério 4 — Qualidade de Código (Lint + Types)
|
|
45
|
+
- [ ] `npm run lint` — zero erros e zero warnings
|
|
46
|
+
- [ ] `npm run typecheck` — zero erros TypeScript
|
|
47
|
+
- [ ] Sem `any` injustificado
|
|
48
|
+
- [ ] Imports absolutos com `@/` em todos os arquivos novos
|
|
49
|
+
|
|
50
|
+
**Responsável de verificar:** @reviewer
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### Critério 5 — Sem Bugs Críticos
|
|
55
|
+
- [ ] Zero bugs de severidade CRÍTICO pendentes
|
|
56
|
+
- [ ] Máximo 2 bugs de severidade ALTO (documentados no backlog para sprint futuro)
|
|
57
|
+
- [ ] Bugs de severidade MÉDIO e BAIXO documentados no backlog
|
|
58
|
+
|
|
59
|
+
**Responsável de verificar:** @qa
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### Critério 6 — Code Review Aprovado
|
|
64
|
+
- [ ] @reviewer realizou code review formal
|
|
65
|
+
- [ ] Todos os itens BLOQUEANTES foram corrigidos
|
|
66
|
+
- [ ] Aprovação (LGTM) emitida por @reviewer
|
|
67
|
+
- [ ] Relatório de code review disponível em `docs/reviews/`
|
|
68
|
+
|
|
69
|
+
**Responsável de verificar:** @reviewer
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### Critério 7 — Arquitetura Respeitada
|
|
74
|
+
- [ ] Código segue os padrões do SPEC-TECNICO.md
|
|
75
|
+
- [ ] Estrutura de pastas correta
|
|
76
|
+
- [ ] Separação de responsabilidades respeitada
|
|
77
|
+
- [ ] Nenhuma decisão arquitetural tomada sem aprovação de @architect
|
|
78
|
+
|
|
79
|
+
**Responsável de verificar:** @reviewer (+ @architect se houver dúvida)
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
### Critério 8 — PR Criado por @devops
|
|
84
|
+
- [ ] Branch feito push para o remoto por @devops (nunca diretamente por @dev)
|
|
85
|
+
- [ ] Pull Request criado com template completo
|
|
86
|
+
- [ ] PR associado à story (referência no título ou body)
|
|
87
|
+
- [ ] CI/CD pipeline verde no PR
|
|
88
|
+
- [ ] PR mergeado para `main`
|
|
89
|
+
|
|
90
|
+
**Responsável de verificar:** @devops
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### Critério 9 — Segurança Básica
|
|
95
|
+
- [ ] Sem hardcoded secrets, tokens ou URLs de ambiente
|
|
96
|
+
- [ ] Inputs validados e sanitizados onde necessário
|
|
97
|
+
- [ ] Dados sensíveis não expostos em logs
|
|
98
|
+
- [ ] Autenticação/autorização corretas nos endpoints protegidos
|
|
99
|
+
|
|
100
|
+
**Responsável de verificar:** @reviewer + @qa
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
### Critério 10 — Validação Final por @po
|
|
105
|
+
- [ ] @po revisou o entregue e confirmou que atende à User Story
|
|
106
|
+
- [ ] @po atualizou o status da story para `Done` no arquivo
|
|
107
|
+
- [ ] @po atualizou o backlog para refletir a story entregue
|
|
108
|
+
- [ ] Velocity do sprint atualizado
|
|
109
|
+
|
|
110
|
+
**Responsável de verificar:** @po
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Resumo Visual
|
|
115
|
+
|
|
116
|
+
| # | Critério | Responsável | Bloqueante |
|
|
117
|
+
|---|---------|------------|-----------|
|
|
118
|
+
| 1 | Acceptance Criteria atendidos | @qa + @po | Sim |
|
|
119
|
+
| 2 | Testes passando | @qa | Sim |
|
|
120
|
+
| 3 | Coverage >= 80% | @qa | Sim |
|
|
121
|
+
| 4 | Lint + Typecheck limpos | @reviewer | Sim |
|
|
122
|
+
| 5 | Sem bugs críticos | @qa | Sim |
|
|
123
|
+
| 6 | Code review aprovado | @reviewer | Sim |
|
|
124
|
+
| 7 | Arquitetura respeitada | @reviewer | Sim |
|
|
125
|
+
| 8 | PR criado e mergeado | @devops | Sim |
|
|
126
|
+
| 9 | Segurança básica | @reviewer + @qa | Sim |
|
|
127
|
+
| 10 | Validação final de @po | @po | Sim |
|
|
128
|
+
|
|
129
|
+
**Todos os 10 critérios são obrigatórios.** Uma story com 9/10 critérios não é Done.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Processo de Verificação do DoD
|
|
134
|
+
|
|
135
|
+
1. @qa verifica critérios 1, 2, 3, 5, 9 (parcial)
|
|
136
|
+
2. @reviewer verifica critérios 4, 6, 7, 9 (parcial)
|
|
137
|
+
3. @devops executa critério 8
|
|
138
|
+
4. @po verifica critério 10 e confirma o Done
|
|
139
|
+
|
|
140
|
+
Qualquer critério não atendido bloqueia a story de ir para Done.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## DoD vs. Acceptance Criteria
|
|
145
|
+
|
|
146
|
+
| | DoD | Acceptance Criteria |
|
|
147
|
+
|-|-----|-------------------|
|
|
148
|
+
| **Escopo** | Toda story | Específico por story |
|
|
149
|
+
| **Quem define** | Time (imutável no sprint) | @sm + @po (por story) |
|
|
150
|
+
| **O que avalia** | Qualidade do processo de entrega | Comportamento funcional |
|
|
151
|
+
| **Pode variar** | Não (é padrão do time) | Sim (por story) |
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
*GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# Task: Code Review
|
|
2
|
+
|
|
3
|
+
> Tarefa executada por @reviewer. Revisão formal de código antes do merge.
|
|
4
|
+
> Pré-requisito: @qa aprovou o código (story em InReview).
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Realizar revisão técnica completa do código implementado por @dev, verificando corretude, arquitetura, segurança, legibilidade e manutenibilidade. Emitir aprovação (LGTM) ou solicitar mudanças bloqueantes com feedback construtivo.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Pré-requisitos
|
|
15
|
+
|
|
16
|
+
Antes de iniciar, confirme:
|
|
17
|
+
|
|
18
|
+
- [ ] Story tem status `InReview`
|
|
19
|
+
- [ ] @qa aprovou formalmente (relatório de QA disponível)
|
|
20
|
+
- [ ] Branch está disponível para checkout/análise
|
|
21
|
+
- [ ] @reviewer leu a story e os ACs
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Passos de Execução
|
|
26
|
+
|
|
27
|
+
### Passo 1 — Contexto e Preparação
|
|
28
|
+
|
|
29
|
+
1. Leia a story completa (User Story, ACs, não-escopo)
|
|
30
|
+
2. Leia o relatório de QA de @qa
|
|
31
|
+
3. Revise as seções relevantes do SPEC-TECNICO.md
|
|
32
|
+
4. Analise o diff completo:
|
|
33
|
+
```bash
|
|
34
|
+
git diff main...feat/STORY-XXX-descricao
|
|
35
|
+
```
|
|
36
|
+
5. Liste mentalmente o que espera ver antes de começar a revisar
|
|
37
|
+
|
|
38
|
+
### Passo 2 — Revisão de Corretude
|
|
39
|
+
|
|
40
|
+
**O código faz o que deveria fazer?**
|
|
41
|
+
|
|
42
|
+
- [ ] A lógica implementa corretamente cada AC?
|
|
43
|
+
- [ ] Edge cases relevantes são tratados?
|
|
44
|
+
- [ ] Erros são capturados e tratados adequadamente?
|
|
45
|
+
- [ ] Mensagens de erro são úteis e claras?
|
|
46
|
+
- [ ] Não há bugs óbvios de lógica (condições invertidas, off-by-one, etc.)?
|
|
47
|
+
- [ ] Fluxos assíncronos são tratados corretamente (loading, error, success)?
|
|
48
|
+
|
|
49
|
+
### Passo 3 — Revisão Arquitetural
|
|
50
|
+
|
|
51
|
+
**O código está na estrutura correta?**
|
|
52
|
+
|
|
53
|
+
- [ ] Segue os padrões do SPEC-TECNICO.md?
|
|
54
|
+
- [ ] Imports absolutos com `@/` em todos os arquivos?
|
|
55
|
+
- [ ] Componentes/funções estão nas pastas corretas conforme a estrutura definida?
|
|
56
|
+
- [ ] Não viola separação de responsabilidades?
|
|
57
|
+
- [ ] Não há código de lógica de negócio em componentes de UI (e vice-versa)?
|
|
58
|
+
- [ ] Não há código duplicado que poderia ser extraído?
|
|
59
|
+
- [ ] Dependências entre módulos respeitam os boundaries definidos?
|
|
60
|
+
|
|
61
|
+
### Passo 4 — Revisão de Segurança
|
|
62
|
+
|
|
63
|
+
**O código é seguro?**
|
|
64
|
+
|
|
65
|
+
- [ ] Sem hardcoded secrets, tokens, passwords ou URLs de ambiente?
|
|
66
|
+
- [ ] Input validation presente onde dados externos são consumidos?
|
|
67
|
+
- [ ] Sem vulnerabilidades de XSS (dados de usuário inseridos no DOM sem sanitização)?
|
|
68
|
+
- [ ] Autenticação e autorização corretas nos endpoints/páginas protegidas?
|
|
69
|
+
- [ ] Dados sensíveis não aparecem em logs?
|
|
70
|
+
- [ ] Sem SQL injection ou query injection possível?
|
|
71
|
+
- [ ] Dependências externas verificadas (nenhuma suspeita adicionada)?
|
|
72
|
+
|
|
73
|
+
### Passo 5 — Revisão de Qualidade de Código
|
|
74
|
+
|
|
75
|
+
**O código é legível e manutenível?**
|
|
76
|
+
|
|
77
|
+
- [ ] Nomes de variáveis, funções e componentes são descritivos?
|
|
78
|
+
- [ ] Funções têm responsabilidade única (fazem uma coisa bem)?
|
|
79
|
+
- [ ] Complexidade cognitiva é aceitável? (se você precisar de >30 segundos para entender uma função, é complexa demais)
|
|
80
|
+
- [ ] Comentários existentes agregam valor (explicam o "por quê", não o "o quê")?
|
|
81
|
+
- [ ] Não há código morto (código comentado, imports não usados, variáveis não usadas)?
|
|
82
|
+
- [ ] TypeScript usado de forma efetiva (sem `any` injustificado, tipos bem definidos)?
|
|
83
|
+
|
|
84
|
+
### Passo 6 — Revisão de Testes
|
|
85
|
+
|
|
86
|
+
**Os testes são de qualidade?**
|
|
87
|
+
|
|
88
|
+
- [ ] Testes existem para a funcionalidade implementada?
|
|
89
|
+
- [ ] Os testes testam comportamento (o que o código faz), não implementação (como faz)?
|
|
90
|
+
- [ ] Testes cobrem happy path, edge cases e cenários de erro?
|
|
91
|
+
- [ ] Testes são legíveis? (outro dev entende o que está sendo testado sem precisar ler o código fonte)
|
|
92
|
+
- [ ] Não há testes que testam a implementação de terceiros (React, bibliotecas)?
|
|
93
|
+
- [ ] Coverage >= 80% conforme verificado por @qa?
|
|
94
|
+
|
|
95
|
+
### Passo 7 — Revisão de Performance
|
|
96
|
+
|
|
97
|
+
**O código tem problemas de performance óbvios?**
|
|
98
|
+
|
|
99
|
+
- [ ] Sem N+1 queries (buscar dados dentro de um loop)?
|
|
100
|
+
- [ ] Sem re-renders desnecessários (React — memoização faltando quando necessário)?
|
|
101
|
+
- [ ] Operações custosas fora de loops quando possível?
|
|
102
|
+
- [ ] Assets (imagens, fontes) otimizados se aplicável?
|
|
103
|
+
- [ ] Sem chamadas de API desnecessárias?
|
|
104
|
+
|
|
105
|
+
### Passo 8 — Categorização de Issues
|
|
106
|
+
|
|
107
|
+
Para cada problema encontrado, classifique:
|
|
108
|
+
|
|
109
|
+
| Categoria | Bloqueia merge? | Quando usar |
|
|
110
|
+
|-----------|----------------|------------|
|
|
111
|
+
| CRÍTICO | Sim | Segurança, dados corrompidos, crash |
|
|
112
|
+
| BLOQUEANTE | Sim | Violação arquitetural, lógica incorreta, AC não implementado |
|
|
113
|
+
| SUGESTÃO | Não | Nome melhor, refatoração opcional, documentação |
|
|
114
|
+
| COSMÉTICO | Não | Formatação (já coberta por linter automático) |
|
|
115
|
+
|
|
116
|
+
**Regra:** Não invente razões para reprovar. Se o código funciona, é seguro e está na arquitetura correta, aprove — mesmo que você tivesse feito diferente.
|
|
117
|
+
|
|
118
|
+
### Passo 9 — Emissão do Veredicto
|
|
119
|
+
|
|
120
|
+
**APROVADO (LGTM):**
|
|
121
|
+
|
|
122
|
+
```markdown
|
|
123
|
+
## ✅ Code Review — APROVADO
|
|
124
|
+
Story: STORY-XXX | Branch: feat/STORY-XXX-descricao
|
|
125
|
+
Revisor: Rev (@reviewer) | Data: YYYY-MM-DD
|
|
126
|
+
|
|
127
|
+
### Pontos Positivos
|
|
128
|
+
- [Algo bem feito que merece reconhecimento]
|
|
129
|
+
- [Boa prática identificada]
|
|
130
|
+
|
|
131
|
+
### Sugestões (Não-Bloqueantes)
|
|
132
|
+
- [arquivo:linha] [sugestão para o futuro]
|
|
133
|
+
- [arquivo:linha] [alternativa a considerar]
|
|
134
|
+
|
|
135
|
+
LGTM. @devops pode fazer push e criar o PR.
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**MUDANÇAS SOLICITADAS:**
|
|
139
|
+
|
|
140
|
+
```markdown
|
|
141
|
+
## ❌ Code Review — MUDANÇAS SOLICITADAS
|
|
142
|
+
Story: STORY-XXX | Branch: feat/STORY-XXX-descricao
|
|
143
|
+
Revisor: Rev (@reviewer) | Data: YYYY-MM-DD
|
|
144
|
+
|
|
145
|
+
### Issues BLOQUEANTES (devem ser corrigidos antes do merge)
|
|
146
|
+
|
|
147
|
+
1. **[CRÍTICO]** `src/components/Login/index.tsx:45`
|
|
148
|
+
Token da API hardcodado na linha 45.
|
|
149
|
+
**Correção:** mover para variável de ambiente `NEXT_PUBLIC_API_TOKEN`
|
|
150
|
+
|
|
151
|
+
2. **[BLOQUEANTE]** `src/services/auth.ts:23`
|
|
152
|
+
Import relativo `../../lib/api` viola o padrão de imports absolutos.
|
|
153
|
+
**Correção:** mudar para `@/lib/api`
|
|
154
|
+
|
|
155
|
+
### Sugestões (Não-Bloqueantes)
|
|
156
|
+
1. `src/hooks/useAuth.ts:12` — considerar usar `useCallback` para o handler
|
|
157
|
+
|
|
158
|
+
@dev por favor corrija os itens BLOQUEANTES e sinalize quando pronto para re-review.
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Passo 10 — Comunicação
|
|
162
|
+
|
|
163
|
+
**Se APROVADO:**
|
|
164
|
+
- Atualize status da story para `InPR`
|
|
165
|
+
- Notifique @devops com: branch name, story ID, "aprovado para push e PR"
|
|
166
|
+
|
|
167
|
+
**Se MUDANÇAS SOLICITADAS:**
|
|
168
|
+
- Mantenha status como `InReview`
|
|
169
|
+
- Notifique @dev com o relatório de mudanças
|
|
170
|
+
- Aguarde @dev corrigir e sinalizar para re-review
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Re-review
|
|
175
|
+
|
|
176
|
+
Quando @dev notifica que corrigiu:
|
|
177
|
+
|
|
178
|
+
1. Verifique APENAS os itens que foram sinalizados como BLOQUEANTES
|
|
179
|
+
2. Se todos corrigidos: APROVAR
|
|
180
|
+
3. Se algum não foi corrigido adequadamente: solicitar mudança novamente com mais clareza
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Critérios de Saída
|
|
185
|
+
|
|
186
|
+
O code review está concluído quando:
|
|
187
|
+
|
|
188
|
+
- [ ] Diff completo lido e analisado
|
|
189
|
+
- [ ] Todos os itens do checklist verificados
|
|
190
|
+
- [ ] Issues categorizados (BLOQUEANTE vs. SUGESTÃO)
|
|
191
|
+
- [ ] Veredicto emitido formalmente (APROVADO ou MUDANÇAS SOLICITADAS)
|
|
192
|
+
- [ ] Relatório salvo em `docs/reviews/REVIEW-STORY-XXX.md`
|
|
193
|
+
- [ ] Agente correto notificado (@devops ou @dev)
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
*GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Task: Criar PRD
|
|
2
|
+
|
|
3
|
+
> Tarefa executada por @pm após receber o BRIEFING.md de @analyst.
|
|
4
|
+
> Output: `docs/[projeto]/PRD.md`
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Transformar o briefing de negócios em um Product Requirements Document (PRD) completo, priorizado e aprovado por stakeholders. O PRD é o documento de referência que guia todo o desenvolvimento — ele deve ser suficientemente claro para que qualquer agente entenda o que está sendo construído e por quê.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Pré-requisitos
|
|
15
|
+
|
|
16
|
+
Antes de iniciar, confirme:
|
|
17
|
+
|
|
18
|
+
- [ ] `docs/[projeto]/BRIEFING.md` existe e está completo
|
|
19
|
+
- [ ] @analyst confirmou que o briefing foi validado com stakeholders
|
|
20
|
+
- [ ] Todas as ambiguidades do briefing foram resolvidas
|
|
21
|
+
- [ ] @pm tem acesso a qualquer material adicional do cliente
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Passos de Execução
|
|
26
|
+
|
|
27
|
+
### Passo 1 — Revisão do Briefing
|
|
28
|
+
1. Leia o BRIEFING.md completamente
|
|
29
|
+
2. Identifique e anote quaisquer pontos que precisam de esclarecimento
|
|
30
|
+
3. Se necessário, solicite esclarecimento a @analyst antes de prosseguir
|
|
31
|
+
4. Nunca assuma — dúvidas são resolvidas antes de escrever o PRD
|
|
32
|
+
|
|
33
|
+
### Passo 2 — Definição da Visão de Produto
|
|
34
|
+
1. Articule o problema central que o produto resolve (em 1-2 parágrafos)
|
|
35
|
+
2. Defina a proposta de valor única (o que diferencia este produto)
|
|
36
|
+
3. Descreva o estado futuro desejado: como fica o mundo com este produto?
|
|
37
|
+
4. Identifique as restrições não-negociáveis (tecnologia, prazo, regulatório)
|
|
38
|
+
|
|
39
|
+
### Passo 3 — Definição de Personas
|
|
40
|
+
1. Liste as personas identificadas no briefing
|
|
41
|
+
2. Para cada persona, defina:
|
|
42
|
+
- Nome e perfil
|
|
43
|
+
- Objetivos principais ao usar o sistema
|
|
44
|
+
- Dores e frustrações atuais
|
|
45
|
+
- Nível de expertise técnica
|
|
46
|
+
3. Priorize as personas (primária, secundária)
|
|
47
|
+
|
|
48
|
+
### Passo 4 — Estruturação em Épicos
|
|
49
|
+
1. Agrupe as funcionalidades em Épicos coesos:
|
|
50
|
+
- Cada épico é um conjunto de funcionalidades relacionadas
|
|
51
|
+
- Épicos devem ser independentes entre si quando possível
|
|
52
|
+
- Épicos têm uma "promessa de valor" clara
|
|
53
|
+
2. Nomeie os épicos com IDs: E-01, E-02, E-03...
|
|
54
|
+
3. Escreva uma frase de valor para cada épico
|
|
55
|
+
|
|
56
|
+
### Passo 5 — Priorização MoSCoW
|
|
57
|
+
Para cada funcionalidade/épico, aplique:
|
|
58
|
+
- **Must Have (M):** crítico para o produto funcionar. Sem isso, não há produto
|
|
59
|
+
- **Should Have (S):** importante mas há workaround possível
|
|
60
|
+
- **Could Have (C):** desejável se houver tempo e budget
|
|
61
|
+
- **Won't Have (W):** explicitamente fora do escopo desta versão
|
|
62
|
+
|
|
63
|
+
### Passo 6 — Definição de Métricas de Sucesso
|
|
64
|
+
1. Defina 3-5 métricas de produto que indicam sucesso
|
|
65
|
+
2. Para cada métrica:
|
|
66
|
+
- Nome claro
|
|
67
|
+
- Como é medida
|
|
68
|
+
- Baseline atual (se disponível)
|
|
69
|
+
- Meta após lançamento
|
|
70
|
+
3. Evite métricas de vaidade — prefira métricas de comportamento do usuário
|
|
71
|
+
|
|
72
|
+
### Passo 7 — Validação com @architect
|
|
73
|
+
1. Compartilhe o PRD rascunho com @architect
|
|
74
|
+
2. Aguarde avaliação de viabilidade técnica
|
|
75
|
+
3. Incorpore feedback técnico (ajustes de escopo, riscos identificados)
|
|
76
|
+
4. Se @architect vetar algum item, documente a decisão
|
|
77
|
+
|
|
78
|
+
### Passo 8 — Aprovação com @po
|
|
79
|
+
1. Compartilhe o PRD atualizado com @po
|
|
80
|
+
2. @po valida que é possível criar stories claras para cada item
|
|
81
|
+
3. Incorpore ajustes de @po
|
|
82
|
+
4. Obtenha aprovação formal de @po
|
|
83
|
+
|
|
84
|
+
### Passo 9 — Publicação
|
|
85
|
+
1. Salve o documento final em `docs/[projeto]/PRD.md`
|
|
86
|
+
2. Versione o documento (v1.0)
|
|
87
|
+
3. Notifique o time sobre a disponibilidade do PRD
|
|
88
|
+
4. Acione @sm para iniciar criação de stories
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Critérios de Saída
|
|
93
|
+
|
|
94
|
+
O PRD está pronto quando:
|
|
95
|
+
|
|
96
|
+
- [ ] Todos os épicos estão definidos com proposta de valor
|
|
97
|
+
- [ ] Priorização MoSCoW aplicada a todas as funcionalidades
|
|
98
|
+
- [ ] Personas definidas e priorizadas
|
|
99
|
+
- [ ] Métricas de sucesso definidas (mínimo 3)
|
|
100
|
+
- [ ] Não-escopo documentado explicitamente
|
|
101
|
+
- [ ] @architect validou viabilidade técnica
|
|
102
|
+
- [ ] @po aprovou formalmente
|
|
103
|
+
- [ ] Documento salvo em `docs/[projeto]/PRD.md`
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Output — Estrutura do PRD.md
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
# PRD — [Nome do Produto]
|
|
111
|
+
Versão: 1.0 | PM: Marina (@pm) | Data: YYYY-MM-DD
|
|
112
|
+
Status: Rascunho | Em Revisão | Aprovado
|
|
113
|
+
|
|
114
|
+
## 1. Visão e Proposta de Valor
|
|
115
|
+
### Problema Central
|
|
116
|
+
### Proposta de Valor Única
|
|
117
|
+
### Estado Futuro Desejado
|
|
118
|
+
|
|
119
|
+
## 2. Personas
|
|
120
|
+
### Persona Primária: [Nome]
|
|
121
|
+
### Persona Secundária: [Nome]
|
|
122
|
+
|
|
123
|
+
## 3. Objetivos de Produto
|
|
124
|
+
| Objetivo | Métrica | Baseline | Meta |
|
|
125
|
+
|---------|--------|---------|------|
|
|
126
|
+
|
|
127
|
+
## 4. Épicos e Funcionalidades
|
|
128
|
+
|
|
129
|
+
### E-01 — [Nome do Épico]
|
|
130
|
+
**Promessa de valor:** [Uma frase]
|
|
131
|
+
**Prioridade:** Must Have
|
|
132
|
+
|
|
133
|
+
#### Funcionalidades
|
|
134
|
+
- [Feature 1] — Must Have
|
|
135
|
+
- [Feature 2] — Should Have
|
|
136
|
+
- [Feature 3] — Could Have
|
|
137
|
+
|
|
138
|
+
### E-02 — [Nome do Épico]
|
|
139
|
+
...
|
|
140
|
+
|
|
141
|
+
## 5. Não-Escopo (Explícito)
|
|
142
|
+
O que NÃO será construído nesta versão:
|
|
143
|
+
- [Item 1]
|
|
144
|
+
- [Item 2]
|
|
145
|
+
|
|
146
|
+
## 6. Restrições
|
|
147
|
+
- Prazo: [data]
|
|
148
|
+
- Budget: [informação se disponível]
|
|
149
|
+
- Tecnologia obrigatória: [se houver]
|
|
150
|
+
- Regulatório: [compliance, LGPD, etc]
|
|
151
|
+
|
|
152
|
+
## 7. Roadmap e Milestones
|
|
153
|
+
| Milestone | O que inclui | Data estimada |
|
|
154
|
+
|----------|------------|--------------|
|
|
155
|
+
|
|
156
|
+
## 8. Riscos de Produto
|
|
157
|
+
| Risco | Probabilidade | Impacto | Mitigação |
|
|
158
|
+
|-------|--------------|--------|----------|
|
|
159
|
+
|
|
160
|
+
## 9. Glossário
|
|
161
|
+
[Termos de negócio específicos do domínio]
|
|
162
|
+
|
|
163
|
+
## 10. Histórico de Versões
|
|
164
|
+
| Versão | Data | Autor | Mudança |
|
|
165
|
+
|--------|------|-------|--------|
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
*GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# Task: Criar SPEC-TECNICO
|
|
2
|
+
|
|
3
|
+
> Tarefa executada por @architect após PRD aprovado por @pm e @po.
|
|
4
|
+
> Output: `docs/[projeto]/SPEC-TECNICO.md` + ADRs iniciais
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Criar a especificação técnica completa que traduz os requisitos de negócio do PRD em decisões de arquitetura, tecnologia, estrutura de código e padrões de desenvolvimento. O SPEC-TECNICO é o guia técnico definitivo — qualquer decisão de implementação que não esteja aqui deve ser escalada para @architect antes de ser tomada.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Pré-requisitos
|
|
15
|
+
|
|
16
|
+
Antes de iniciar, confirme:
|
|
17
|
+
|
|
18
|
+
- [ ] `docs/[projeto]/PRD.md` existe e está aprovado por @pm e @po
|
|
19
|
+
- [ ] @architect leu o PRD completamente
|
|
20
|
+
- [ ] Acesso ao repositório (se brownfield) ou liberdade para definir stack (se greenfield)
|
|
21
|
+
- [ ] Clareza sobre restrições de tecnologia (se houver imposições do cliente)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Passos de Execução
|
|
26
|
+
|
|
27
|
+
### Passo 1 — Análise do PRD
|
|
28
|
+
1. Leia o PRD completamente e anote:
|
|
29
|
+
- Requisitos funcionais por épico
|
|
30
|
+
- Requisitos não-funcionais (desempenho, segurança, disponibilidade)
|
|
31
|
+
- Integrações necessárias com sistemas externos
|
|
32
|
+
- Restrições tecnológicas declaradas
|
|
33
|
+
2. Identifique perguntas técnicas abertas e resolva com @pm antes de continuar
|
|
34
|
+
|
|
35
|
+
### Passo 2 — Definição de Stack
|
|
36
|
+
1. Para cada camada da stack, avalie opções e registre decisão:
|
|
37
|
+
- **Frontend:** React, Next.js, Vue, etc.
|
|
38
|
+
- **Backend:** Node.js, Python, Go, etc.
|
|
39
|
+
- **Banco de dados:** PostgreSQL, MongoDB, Supabase, etc.
|
|
40
|
+
- **Autenticação:** NextAuth, Clerk, Auth0, etc.
|
|
41
|
+
- **Infraestrutura:** Vercel, Railway, AWS, etc.
|
|
42
|
+
- **Cache:** Redis, memória, etc. (se necessário)
|
|
43
|
+
2. Para cada escolha, justifique explicitamente (não apenas "é popular")
|
|
44
|
+
3. Registre alternativas consideradas e por que foram descartadas
|
|
45
|
+
4. Crie ADRs para as decisões mais relevantes
|
|
46
|
+
|
|
47
|
+
### Passo 3 — Arquitetura de Alto Nível
|
|
48
|
+
1. Defina os componentes principais do sistema
|
|
49
|
+
2. Descreva como cada componente se comunica (REST, GraphQL, WebSocket, etc.)
|
|
50
|
+
3. Identifique boundaries de domínio (onde uma responsabilidade termina e outra começa)
|
|
51
|
+
4. Documente o fluxo dos dados principais
|
|
52
|
+
5. Escreva um diagrama textual (ou ASCII) da arquitetura
|
|
53
|
+
|
|
54
|
+
### Passo 4 — Estrutura de Pastas
|
|
55
|
+
1. Defina a estrutura completa de pastas do projeto:
|
|
56
|
+
```
|
|
57
|
+
src/
|
|
58
|
+
├── app/ # pages e rotas (Next.js)
|
|
59
|
+
├── components/ # componentes reutilizáveis
|
|
60
|
+
│ ├── ui/ # componentes base (Button, Input, etc.)
|
|
61
|
+
│ └── [domain]/ # componentes de domínio
|
|
62
|
+
├── lib/ # utilitários e helpers
|
|
63
|
+
├── hooks/ # React hooks customizados
|
|
64
|
+
├── services/ # chamadas a APIs externas
|
|
65
|
+
├── types/ # tipagens TypeScript
|
|
66
|
+
├── contexts/ # React Contexts
|
|
67
|
+
└── schemas/ # validação com Zod
|
|
68
|
+
```
|
|
69
|
+
2. Justifique escolhas não-óbvias
|
|
70
|
+
3. Configure `tsconfig.json` com paths absolutos (`@/`)
|
|
71
|
+
|
|
72
|
+
### Passo 5 — Modelagem de Dados
|
|
73
|
+
1. Defina as entidades principais do domínio
|
|
74
|
+
2. Para cada entidade: campos, tipos, relacionamentos, constraints
|
|
75
|
+
3. Defina estratégia de migração de banco (ferramentas, convenções)
|
|
76
|
+
4. Documente índices importantes para performance
|
|
77
|
+
5. Identifique dados sensíveis e como serão protegidos (LGPD/GDPR)
|
|
78
|
+
|
|
79
|
+
### Passo 6 — APIs e Contratos
|
|
80
|
+
1. Para cada endpoint/operação relevante, defina:
|
|
81
|
+
- Método HTTP e path
|
|
82
|
+
- Request body (campos, tipos, validações)
|
|
83
|
+
- Response body (campos, tipos)
|
|
84
|
+
- Códigos de status e cenários de erro
|
|
85
|
+
2. Defina convenções de nomenclatura de API
|
|
86
|
+
3. Documente integrações com APIs externas (webhook, polling, SDK)
|
|
87
|
+
|
|
88
|
+
### Passo 7 — Autenticação e Autorização
|
|
89
|
+
1. Defina o mecanismo de autenticação escolhido
|
|
90
|
+
2. Mapeie os perfis/roles de usuário
|
|
91
|
+
3. Defina regras de autorização por role
|
|
92
|
+
4. Documente estratégia de sessão (JWT, cookie, etc.)
|
|
93
|
+
|
|
94
|
+
### Passo 8 — Estratégia de Testes
|
|
95
|
+
1. Defina a pirâmide de testes:
|
|
96
|
+
- Unitários: ferramentas, o que testar, cobertura mínima
|
|
97
|
+
- Integração: quais fluxos, ferramentas
|
|
98
|
+
- E2E: ferramentas (Cypress, Playwright), fluxos críticos
|
|
99
|
+
2. Configure as ferramentas de teste no projeto
|
|
100
|
+
3. Defina cobertura mínima aceitável (GEN.IA OS default: 80%)
|
|
101
|
+
|
|
102
|
+
### Passo 9 — Segurança e Boas Práticas
|
|
103
|
+
1. Defina como secrets são gerenciados (variáveis de ambiente, Vault)
|
|
104
|
+
2. Liste as vulnerabilidades OWASP Top 10 relevantes e como serão mitigadas
|
|
105
|
+
3. Defina política de rate limiting se aplicável
|
|
106
|
+
4. Documente estratégia de logging (sem dados sensíveis nos logs)
|
|
107
|
+
|
|
108
|
+
### Passo 10 — ADRs de Fundação
|
|
109
|
+
Para cada decisão arquitetural importante, crie um ADR:
|
|
110
|
+
- `docs/adr/ADR-001-escolha-de-stack.md`
|
|
111
|
+
- `docs/adr/ADR-002-estrategia-autenticacao.md`
|
|
112
|
+
- `docs/adr/ADR-003-modelagem-de-dados.md`
|
|
113
|
+
- [etc.]
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Critérios de Saída
|
|
118
|
+
|
|
119
|
+
O SPEC-TECNICO está pronto quando:
|
|
120
|
+
|
|
121
|
+
- [ ] Stack definida e justificada para cada camada
|
|
122
|
+
- [ ] Arquitetura de alto nível documentada
|
|
123
|
+
- [ ] Estrutura de pastas definida
|
|
124
|
+
- [ ] `tsconfig.json` com paths absolutos configurado
|
|
125
|
+
- [ ] Modelagem de dados completa
|
|
126
|
+
- [ ] APIs e contratos documentados (ao menos os principais)
|
|
127
|
+
- [ ] Autenticação e autorização especificadas
|
|
128
|
+
- [ ] Estratégia de testes definida com cobertura mínima
|
|
129
|
+
- [ ] Considerações de segurança documentadas
|
|
130
|
+
- [ ] ADRs iniciais criados (mínimo 3)
|
|
131
|
+
- [ ] @qa revisou criticamente o spec (Fase 5 do Spec Pipeline)
|
|
132
|
+
- [ ] Documento salvo em `docs/[projeto]/SPEC-TECNICO.md`
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Output — Estrutura do SPEC-TECNICO.md
|
|
137
|
+
|
|
138
|
+
```markdown
|
|
139
|
+
# Especificação Técnica — [Nome do Projeto]
|
|
140
|
+
Versão: 1.0 | Arquiteta: Arqui (@architect) | Data: YYYY-MM-DD
|
|
141
|
+
Status: Rascunho | Em Revisão | Aprovado
|
|
142
|
+
|
|
143
|
+
## 1. Visão Técnica
|
|
144
|
+
### Objetivos Técnicos
|
|
145
|
+
### Princípios Guias de Arquitetura
|
|
146
|
+
|
|
147
|
+
## 2. Stack Tecnológica
|
|
148
|
+
| Camada | Tecnologia | Versão | Justificativa |
|
|
149
|
+
|--------|-----------|--------|--------------|
|
|
150
|
+
|
|
151
|
+
## 3. Arquitetura de Alto Nível
|
|
152
|
+
[Diagrama textual/ASCII]
|
|
153
|
+
[Descrição dos componentes e comunicações]
|
|
154
|
+
|
|
155
|
+
## 4. Estrutura de Pastas
|
|
156
|
+
[Árvore de pastas comentada]
|
|
157
|
+
|
|
158
|
+
## 5. Modelagem de Dados
|
|
159
|
+
[Entidades, campos e relacionamentos]
|
|
160
|
+
|
|
161
|
+
## 6. APIs e Contratos
|
|
162
|
+
[Endpoints, request/response, erros]
|
|
163
|
+
|
|
164
|
+
## 7. Autenticação e Autorização
|
|
165
|
+
[Mecanismo, roles, regras]
|
|
166
|
+
|
|
167
|
+
## 8. Integrações Externas
|
|
168
|
+
[APIs de terceiros, webhooks, SDKs]
|
|
169
|
+
|
|
170
|
+
## 9. Estratégia de Testes
|
|
171
|
+
[Pirâmide, ferramentas, cobertura]
|
|
172
|
+
|
|
173
|
+
## 10. Segurança
|
|
174
|
+
[Gestão de secrets, OWASP, logging]
|
|
175
|
+
|
|
176
|
+
## 11. Requisitos Não-Funcionais
|
|
177
|
+
| RNF | Requisito | Como Medir |
|
|
178
|
+
|-----|----------|-----------|
|
|
179
|
+
|
|
180
|
+
## 12. ADRs
|
|
181
|
+
[Links para os ADRs criados]
|
|
182
|
+
|
|
183
|
+
## 13. Histórico de Versões
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
*GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
|