create-genia-os 1.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/bin/index.js +210 -0
- package/package.json +39 -0
- 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
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
# Checklist: Pré-Deploy
|
|
2
|
+
|
|
3
|
+
> Verificações obrigatórias antes de qualquer deploy em produção.
|
|
4
|
+
> Executado por @devops. Nenhum deploy acontece sem este checklist completo.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Garantir que um deploy em produção seja seguro, reversível e comunicado adequadamente. Deploys sem checklist são causa comum de incidentes. Este checklist é o contrato de @devops com a estabilidade do sistema.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Regra de Ouro
|
|
15
|
+
|
|
16
|
+
**Production nunca recebe código que não passou por staging.**
|
|
17
|
+
|
|
18
|
+
Se staging não está estável, o deploy não acontece. Sem exceção.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Checklist Completo
|
|
23
|
+
|
|
24
|
+
### Bloco 1 — Pré-Requisitos (Verificar ANTES de qualquer ação)
|
|
25
|
+
|
|
26
|
+
- [ ] @pm aprovou formalmente a release (decisão de delivery documentada)
|
|
27
|
+
- [ ] Todas as stories da release têm status `Done` (aprovadas por @po)
|
|
28
|
+
- [ ] PRs de todas as stories estão mergeados em `main`
|
|
29
|
+
- [ ] Branch `main` está sem conflitos pendentes
|
|
30
|
+
- [ ] Não há incidentes abertos em produção no momento
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### Bloco 2 — Validação de Staging
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Verificar status do pipeline de staging
|
|
38
|
+
gh run list --branch main --limit 5
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
- [ ] Pipeline CI/CD de staging: **verde** nos últimos 48h
|
|
42
|
+
- [ ] Ambiente de staging está respondendo (health check passa)
|
|
43
|
+
- [ ] Testes de integração em staging: passando
|
|
44
|
+
- [ ] Funcionalidades da release verificadas em staging por @qa
|
|
45
|
+
- [ ] Sem erros críticos nos logs de staging nas últimas 24h
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### Bloco 3 — Segurança
|
|
50
|
+
|
|
51
|
+
- [ ] Security scan executado no código da release (sem vulnerabilidades CRÍTICAS)
|
|
52
|
+
- [ ] Secrets e variáveis de ambiente de produção estão configurados
|
|
53
|
+
- [ ] Nenhum secret de staging sendo usado em produção
|
|
54
|
+
- [ ] Dependências verificadas por vulnerabilidades conhecidas (`npm audit`)
|
|
55
|
+
- [ ] Certificados SSL/TLS válidos e não próximos do vencimento
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm audit --audit-level=critical
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
- [ ] Zero vulnerabilidades críticas em dependências
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### Bloco 4 — Banco de Dados (se aplicável)
|
|
66
|
+
|
|
67
|
+
- [ ] Backup completo do banco de dados de produção realizado ANTES do deploy
|
|
68
|
+
- [ ] Migrações de banco testadas em staging sem erros
|
|
69
|
+
- [ ] Migrações são backward-compatible (se sistema precisa ser zero-downtime)
|
|
70
|
+
- [ ] Script de rollback de migração existe e foi testado
|
|
71
|
+
- [ ] Não há migrações destrutivas sem confirmação de @architect e @pm
|
|
72
|
+
- [ ] Tempo estimado de migração documentado (se > 5 min: avisar usuários)
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
### Bloco 5 — Variáveis de Ambiente e Configuração
|
|
77
|
+
|
|
78
|
+
- [ ] Todas as variáveis de ambiente necessárias estão configuradas em produção
|
|
79
|
+
- [ ] Nenhuma variável com valor de staging sendo usada em produção
|
|
80
|
+
- [ ] Arquivo `.env.example` atualizado com novas variáveis necessárias
|
|
81
|
+
- [ ] Configurações de feature flags (se usadas) verificadas
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Verificar variáveis críticas (sem expor valores)
|
|
85
|
+
env | grep -E "(API_URL|DATABASE|AUTH)" | cut -d= -f1
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
### Bloco 6 — Performance e Capacidade
|
|
91
|
+
|
|
92
|
+
- [ ] Build de produção gerado com sucesso (`npm run build`)
|
|
93
|
+
- [ ] Tamanho do bundle verificado (sem regressão de performance inesperada)
|
|
94
|
+
- [ ] Capacidade da infraestrutura verificada para o volume esperado
|
|
95
|
+
- [ ] Cache invalidado/renovado conforme necessário
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npm run build
|
|
99
|
+
npm run build:analyze # se disponível
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
### Bloco 7 — Plano de Rollback
|
|
105
|
+
|
|
106
|
+
**Pré-requisito:** Plano de rollback DEVE existir ANTES de iniciar o deploy.
|
|
107
|
+
|
|
108
|
+
- [ ] Versão anterior identificada: `v[X.X.X]`
|
|
109
|
+
- [ ] Comando de rollback documentado e testado:
|
|
110
|
+
```bash
|
|
111
|
+
# Exemplo para Vercel
|
|
112
|
+
vercel rollback [deployment-id]
|
|
113
|
+
|
|
114
|
+
# Exemplo para Railway
|
|
115
|
+
railway rollback
|
|
116
|
+
```
|
|
117
|
+
- [ ] Rollback de migração de banco documentado (se houver migração)
|
|
118
|
+
- [ ] Tempo estimado para rollback: < 10 minutos
|
|
119
|
+
- [ ] @architect e @pm notificados sobre plano de rollback
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
### Bloco 8 — Comunicação e Janela de Deploy
|
|
124
|
+
|
|
125
|
+
- [ ] Time notificado sobre a janela de deploy (com pelo menos 2h de antecedência)
|
|
126
|
+
- [ ] Deploy agendado em horário de baixo tráfego (evitar horário de pico)
|
|
127
|
+
- [ ] Evitar deploys em sexta-feira após 14h ou véspera de feriado
|
|
128
|
+
- [ ] Suporte de plantão identificado para primeiras 2h após deploy
|
|
129
|
+
- [ ] Canal de comunicação de incidentes configurado e verificado
|
|
130
|
+
- [ ] Stakeholders que precisam ser notificados identificados
|
|
131
|
+
|
|
132
|
+
**Janelas ideais de deploy:**
|
|
133
|
+
- Segunda a quinta: 10h-12h ou 14h-16h
|
|
134
|
+
- Evitar: sextas à tarde, vésperas de datas importantes, horário de pico de usuários
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
### Bloco 9 — Monitoramento Pós-Deploy
|
|
139
|
+
|
|
140
|
+
Configure alertas ANTES de iniciar o deploy:
|
|
141
|
+
|
|
142
|
+
- [ ] Alertas de erro (5xx) configurados com threshold e notificação imediata
|
|
143
|
+
- [ ] Dashboard de métricas aberto para monitoramento em tempo real
|
|
144
|
+
- [ ] Health check endpoint identificado para verificação contínua
|
|
145
|
+
- [ ] Plano de monitoramento por pelo menos 30 minutos após o deploy
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Bloco 10 — Release Notes e Documentação
|
|
150
|
+
|
|
151
|
+
- [ ] Release notes geradas e revisadas
|
|
152
|
+
- [ ] CHANGELOG.md atualizado com as mudanças desta release
|
|
153
|
+
- [ ] Documentação de APIs atualizada (se houve mudança de contrato)
|
|
154
|
+
- [ ] Tag de versão criada: `git tag -a v[X.X.X] -m "Release v[X.X.X]"`
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Execução do Deploy
|
|
159
|
+
|
|
160
|
+
Após checklist completo, a sequência de deploy:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# 1. Tag a versão
|
|
164
|
+
git tag -a v1.2.0 -m "Release v1.2.0: [descrição resumida]"
|
|
165
|
+
git push origin v1.2.0
|
|
166
|
+
|
|
167
|
+
# 2. Deploy (específico para cada plataforma)
|
|
168
|
+
# Vercel: vercel --prod
|
|
169
|
+
# Railway: railway up
|
|
170
|
+
# AWS: [comando específico]
|
|
171
|
+
|
|
172
|
+
# 3. Verificação imediata pós-deploy
|
|
173
|
+
curl https://[url-producao]/health
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Protocolo de Incidente Durante Deploy
|
|
179
|
+
|
|
180
|
+
Se algo der errado durante ou após o deploy:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
NÍVEL 1 (degradação leve):
|
|
184
|
+
→ Monitorar por 15 minutos
|
|
185
|
+
→ Se não melhorar: NÍVEL 2
|
|
186
|
+
|
|
187
|
+
NÍVEL 2 (funcionalidade impactada):
|
|
188
|
+
→ Notificar @architect imediatamente
|
|
189
|
+
→ Decidir: aguardar fix hotfix ou rollback
|
|
190
|
+
→ Timeout de decisão: 30 minutos
|
|
191
|
+
|
|
192
|
+
NÍVEL 3 (sistema fora do ar / dados em risco):
|
|
193
|
+
→ ROLLBACK IMEDIATO
|
|
194
|
+
→ Notificar @pm e @architect simultaneamente
|
|
195
|
+
→ Comunicar usuários via [canal definido]
|
|
196
|
+
→ Post-mortem obrigatório nas próximas 24h
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Verificação Pós-Deploy (Executar imediatamente após)
|
|
202
|
+
|
|
203
|
+
- [ ] Health check em produção: passando
|
|
204
|
+
- [ ] Testes de fumaça (smoke tests) em produção: passando
|
|
205
|
+
- [ ] Logs de produção: sem erros críticos nos primeiros 5 minutos
|
|
206
|
+
- [ ] Métricas de performance: normais (sem degradação)
|
|
207
|
+
- [ ] @qa executou smoke tests em produção e confirmou estabilidade
|
|
208
|
+
- [ ] @pm comunicado sobre sucesso do deploy
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Confirmação de Conclusão
|
|
213
|
+
|
|
214
|
+
```markdown
|
|
215
|
+
## Deploy Concluído — v[X.X.X]
|
|
216
|
+
Data/Hora: YYYY-MM-DD HH:MM
|
|
217
|
+
Ambiente: Production
|
|
218
|
+
Deploy executado por: Gate (@devops)
|
|
219
|
+
|
|
220
|
+
Checklist: ✅ Completo
|
|
221
|
+
Smoke tests: ✅ Passando
|
|
222
|
+
Monitoramento: ✅ Ativo (30 min)
|
|
223
|
+
Status: ✅ DEPLOY BEM-SUCEDIDO
|
|
224
|
+
|
|
225
|
+
Próximo passo: @pm comunica stakeholders
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
*GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# Checklist: QA Gate
|
|
2
|
+
|
|
3
|
+
> Verificações que @qa executa para emitir veredicto de qualidade.
|
|
4
|
+
> 7 verificações principais. Todas obrigatórias para aprovação.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## O que é o QA Gate?
|
|
9
|
+
|
|
10
|
+
O QA Gate é o checkpoint de qualidade que determina se o código pode avançar para code review e, posteriormente, para produção. @qa é a autoridade exclusiva para abrir ou fechar este gate. Um veredicto APROVADO pelo QA Gate é pré-requisito obrigatório para o code review por @reviewer.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Verificação 1 — Acceptance Criteria (Funcional)
|
|
15
|
+
|
|
16
|
+
**Propósito:** Garantir que o código implementa exatamente o que foi prometido na story.
|
|
17
|
+
|
|
18
|
+
Para cada AC da story:
|
|
19
|
+
|
|
20
|
+
| AC | Cenário testado | Resultado |
|
|
21
|
+
|----|----------------|---------|
|
|
22
|
+
| AC-01 | [descrever como foi testado] | ✅ / ❌ |
|
|
23
|
+
| AC-02 | [descrever como foi testado] | ✅ / ❌ |
|
|
24
|
+
| AC-03 | [descrever como foi testado] | ✅ / ❌ |
|
|
25
|
+
|
|
26
|
+
**Critério de passagem:** Todos os ACs com resultado ✅
|
|
27
|
+
|
|
28
|
+
- [ ] Todos os ACs verificados manualmente
|
|
29
|
+
- [ ] Happy path de cada AC funciona conforme descrito
|
|
30
|
+
- [ ] Nenhum AC implementado parcialmente ou com workaround oculto
|
|
31
|
+
- [ ] Comportamentos descritos nos ACs correspondem ao comportamento real
|
|
32
|
+
|
|
33
|
+
**BLOQUEANTE se falhar.**
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Verificação 2 — Testes Automáticos
|
|
38
|
+
|
|
39
|
+
**Propósito:** Garantir que a suite de testes está saudável e cobrindo o código.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm run test
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
- [ ] Todos os testes passando (zero falhas)
|
|
46
|
+
- [ ] Nenhum teste em `skip` ou `xtest` sem justificativa documentada
|
|
47
|
+
- [ ] Sem `test.only` que silencia outros testes
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm run coverage
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
- [ ] Coverage >= 80% nas linhas novas/modificadas
|
|
54
|
+
- [ ] Relatório de coverage gerado e verificado
|
|
55
|
+
|
|
56
|
+
**Resultados esperados:**
|
|
57
|
+
```
|
|
58
|
+
Test Suites: X passed, X total
|
|
59
|
+
Tests: X passed, X total
|
|
60
|
+
Coverage: XX% (>= 80%)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**BLOQUEANTE se falhar.**
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Verificação 3 — Qualidade Estática
|
|
68
|
+
|
|
69
|
+
**Propósito:** Garantir que o código segue os padrões de qualidade definidos.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npm run lint
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- [ ] Zero erros de lint
|
|
76
|
+
- [ ] Zero warnings de lint
|
|
77
|
+
- [ ] Nenhuma regra desabilitada sem comentário explicativo
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
npm run typecheck
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
- [ ] Zero erros TypeScript
|
|
84
|
+
- [ ] Sem `@ts-ignore` injustificado
|
|
85
|
+
- [ ] Sem `any` como atalho para evitar tipagem
|
|
86
|
+
|
|
87
|
+
**BLOQUEANTE se falhar.**
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Verificação 4 — Cenários de Borda (Edge Cases)
|
|
92
|
+
|
|
93
|
+
**Propósito:** Garantir que o código é robusto além dos cenários principais.
|
|
94
|
+
|
|
95
|
+
Testar:
|
|
96
|
+
|
|
97
|
+
- [ ] Campos obrigatórios vazios: o sistema se comporta corretamente?
|
|
98
|
+
- [ ] Caracteres especiais em inputs de texto: sem injeção ou quebra?
|
|
99
|
+
- [ ] Valores extremos (muito longos, muito curtos, zero, negativos): tratados?
|
|
100
|
+
- [ ] Ações repetidas rapidamente (double-click em botões): sem efeito duplo?
|
|
101
|
+
- [ ] Sem conexão ou timeout de API: mensagem de erro adequada?
|
|
102
|
+
- [ ] Dados nulos/undefined vindos da API: sem crash?
|
|
103
|
+
|
|
104
|
+
Documente cada cenário testado e o resultado.
|
|
105
|
+
|
|
106
|
+
**ALTO se falhar em cenário relevante. BLOQUEANTE se causar crash ou corrupção de dados.**
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Verificação 5 — Regressão
|
|
111
|
+
|
|
112
|
+
**Propósito:** Garantir que as mudanças desta story não quebraram funcionalidades existentes.
|
|
113
|
+
|
|
114
|
+
Testar as funcionalidades RELACIONADAS ao módulo modificado:
|
|
115
|
+
|
|
116
|
+
- [ ] Funcionalidades adjacentes ainda funcionam corretamente
|
|
117
|
+
- [ ] Navegação entre páginas relacionadas funciona
|
|
118
|
+
- [ ] Integrações com outros módulos não foram quebradas
|
|
119
|
+
- [ ] Dados persistidos anteriormente ainda são lidos corretamente
|
|
120
|
+
|
|
121
|
+
Em projetos brownfield, a verificação de regressão é expandida e inclui teste dos fluxos críticos de produção.
|
|
122
|
+
|
|
123
|
+
**CRÍTICO se houver regressão em funcionalidade existente.**
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Verificação 6 — Segurança Básica
|
|
128
|
+
|
|
129
|
+
**Propósito:** Identificar vulnerabilidades de segurança óbvias antes que cheguem ao code review.
|
|
130
|
+
|
|
131
|
+
- [ ] Sem dados sensíveis expostos em respostas de API desnecessariamente
|
|
132
|
+
- [ ] Endpoints protegidos retornam 401/403 sem autenticação válida
|
|
133
|
+
- [ ] Inputs com caracteres especiais não quebram o sistema
|
|
134
|
+
- [ ] Sem informações de stack trace expostas em respostas de erro para o usuário
|
|
135
|
+
- [ ] Sem secrets visíveis em logs ou respostas de API
|
|
136
|
+
- [ ] Rate limiting funcionando se implementado
|
|
137
|
+
|
|
138
|
+
**CRÍTICO se encontrar vulnerabilidade de segurança.**
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Verificação 7 — Experiência do Usuário Básica
|
|
143
|
+
|
|
144
|
+
**Propósito:** Garantir que a entrega é usável e não causa frustração desnecessária.
|
|
145
|
+
|
|
146
|
+
Para funcionalidades com interface:
|
|
147
|
+
|
|
148
|
+
- [ ] Estados de loading presentes durante operações assíncronas?
|
|
149
|
+
- [ ] Estado vazio (lista sem itens) tem tratamento visual adequado?
|
|
150
|
+
- [ ] Mensagens de erro são compreensíveis para o usuário (não stack traces)?
|
|
151
|
+
- [ ] Formulários fornecem feedback claro sobre campos inválidos?
|
|
152
|
+
- [ ] Interface não quebra visualmente em resoluções comuns (desktop 1280px+, mobile 375px)?
|
|
153
|
+
- [ ] Botões não ficam habilitados após ação que deveria desabilitá-los?
|
|
154
|
+
|
|
155
|
+
Para funcionalidades de API:
|
|
156
|
+
|
|
157
|
+
- [ ] Respostas de sucesso têm estrutura consistente?
|
|
158
|
+
- [ ] Respostas de erro têm mensagem clara e código HTTP correto?
|
|
159
|
+
- [ ] Documentação da API atualizada se necessário?
|
|
160
|
+
|
|
161
|
+
**MÉDIO se falhar (não bloqueia, mas deve ser documentado).**
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Sumário de Verificações
|
|
166
|
+
|
|
167
|
+
| # | Verificação | Criticidade | Resultado |
|
|
168
|
+
|---|-------------|------------|---------|
|
|
169
|
+
| 1 | Acceptance Criteria atendidos | BLOQUEANTE | ✅ / ❌ |
|
|
170
|
+
| 2 | Testes automáticos passando | BLOQUEANTE | ✅ / ❌ |
|
|
171
|
+
| 3 | Lint + TypeScript limpos | BLOQUEANTE | ✅ / ❌ |
|
|
172
|
+
| 4 | Edge cases tratados | ALTO | ✅ / ❌ |
|
|
173
|
+
| 5 | Sem regressão | CRÍTICO | ✅ / ❌ |
|
|
174
|
+
| 6 | Segurança básica | CRÍTICO | ✅ / ❌ |
|
|
175
|
+
| 7 | UX básica adequada | MÉDIO | ✅ / ❌ |
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Veredicto
|
|
180
|
+
|
|
181
|
+
**APROVADO** quando:
|
|
182
|
+
- Verificações 1, 2, 3 passam (obrigatórias)
|
|
183
|
+
- Verificações 5, 6 passam (zero críticos)
|
|
184
|
+
- Verificação 4 sem bugs ALTO ou com máx 2 documentados
|
|
185
|
+
- Verificação 7 com issues documentados para backlog
|
|
186
|
+
|
|
187
|
+
**REPROVADO** quando:
|
|
188
|
+
- Qualquer verificação BLOQUEANTE falha
|
|
189
|
+
- Verificação 5 ou 6 identificam bug CRÍTICO
|
|
190
|
+
- Verificação 4 tem mais de 2 bugs ALTO
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Registro do Veredicto
|
|
195
|
+
|
|
196
|
+
```markdown
|
|
197
|
+
## QA Gate — STORY-XXX — [APROVADO | REPROVADO]
|
|
198
|
+
Data: YYYY-MM-DD | QA: Quinn (@qa) | Iteração: X/5
|
|
199
|
+
|
|
200
|
+
| Verificação | Status |
|
|
201
|
+
|-------------|--------|
|
|
202
|
+
| 1. ACs | ✅ PASS |
|
|
203
|
+
| 2. Testes | ✅ PASS |
|
|
204
|
+
| 3. Estática | ✅ PASS |
|
|
205
|
+
| 4. Edge cases | ⚠️ 1 bug MÉDIO documentado |
|
|
206
|
+
| 5. Regressão | ✅ PASS |
|
|
207
|
+
| 6. Segurança | ✅ PASS |
|
|
208
|
+
| 7. UX | ✅ PASS |
|
|
209
|
+
|
|
210
|
+
Veredicto: ✅ APROVADO
|
|
211
|
+
Próximo passo: @reviewer para code review
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
*GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
|
|
@@ -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}}*
|