create-genia-os 2.1.1 → 2.3.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/README.md +117 -11
- package/bin/index.js +92 -0
- package/package.json +4 -2
- package/template/.claude/CLAUDE.md +215 -215
- package/template/.claude/agent-memory/analyst/MEMORY.md +20 -20
- package/template/.claude/agent-memory/architect/MEMORY.md +20 -20
- package/template/.claude/agent-memory/dev/MEMORY.md +20 -20
- package/template/.claude/agent-memory/devops/MEMORY.md +20 -20
- package/template/.claude/agent-memory/pm/MEMORY.md +20 -20
- package/template/.claude/agent-memory/po/MEMORY.md +20 -20
- package/template/.claude/agent-memory/qa/MEMORY.md +20 -20
- package/template/.claude/agent-memory/reviewer/MEMORY.md +20 -20
- package/template/.claude/agent-memory/sm/MEMORY.md +20 -20
- package/template/.claude/hooks/enforce-git-push-authority.py +70 -70
- package/template/.claude/hooks/metrics-tracker.cjs +65 -0
- package/template/.claude/hooks/precompact-session-digest.cjs +87 -87
- package/template/.claude/hooks/sql-governance.py +65 -65
- package/template/.claude/hooks/synapse-engine.cjs +122 -122
- package/template/.claude/hooks/write-path-validation.py +59 -59
- package/template/.claude/rules/agent-authority.md +39 -39
- package/template/.claude/rules/agent-handoff.md +71 -71
- package/template/.claude/rules/agent-memory.md +61 -61
- package/template/.claude/rules/ids-principles.md +52 -52
- package/template/.claude/rules/mcp-usage.md +49 -49
- package/template/.claude/rules/new-project.md +157 -0
- package/template/.claude/rules/story-lifecycle.md +87 -87
- package/template/.claude/rules/workflow-execution.md +68 -68
- package/template/.claude/settings.json +58 -58
- package/template/.claude/settings.local.json +14 -14
- package/template/.genia/CONSTITUTION.md +129 -129
- package/template/.genia/contexts/api-patterns.md +134 -134
- package/template/.genia/contexts/nextjs-react.md +210 -210
- package/template/.genia/contexts/projeto.md +18 -18
- package/template/.genia/contexts/supabase.md +152 -152
- package/template/.genia/contexts/whatsapp-cloud.md +176 -176
- package/template/.genia/core-config.yaml +192 -192
- package/template/.genia/development/agents/analyst.md +138 -138
- package/template/.genia/development/agents/architect.md +171 -171
- package/template/.genia/development/agents/dev.md +160 -160
- package/template/.genia/development/agents/devops.md +200 -200
- package/template/.genia/development/agents/pm.md +142 -142
- package/template/.genia/development/agents/po.md +165 -165
- package/template/.genia/development/agents/qa.md +183 -183
- package/template/.genia/development/agents/reviewer.md +198 -198
- package/template/.genia/development/agents/sm.md +230 -230
- package/template/.genia/development/checklists/architecture-review.md +189 -189
- package/template/.genia/development/checklists/pre-commit.md +205 -205
- package/template/.genia/development/checklists/pre-deploy.md +230 -230
- package/template/.genia/development/checklists/qa-gate.md +216 -216
- package/template/.genia/development/checklists/story-dod.md +155 -155
- package/template/.genia/development/tasks/code-review.md +197 -197
- package/template/.genia/development/tasks/criar-prd.md +170 -170
- package/template/.genia/development/tasks/criar-spec.md +188 -188
- package/template/.genia/development/tasks/criar-story.md +185 -185
- package/template/.genia/development/tasks/debug-sistematico.md +230 -230
- package/template/.genia/development/tasks/dev-implement.md +199 -199
- package/template/.genia/development/tasks/qa-review.md +224 -224
- package/template/.genia/development/workflows/brownfield.md +178 -178
- package/template/.genia/development/workflows/delivery.md +208 -208
- package/template/.genia/development/workflows/development.md +189 -189
- package/template/.genia/development/workflows/greenfield.md +166 -166
- package/template/.genia/development/workflows/planning.md +167 -167
- package/template/.genia/development/workflows/qa-loop.md +179 -179
- package/template/.genia/development/workflows/spec-pipeline.md +192 -192
- package/template/.genia/development/workflows/story-development-cycle.md +252 -252
- package/template/.genia/guidelines/clean-code.md +98 -98
- package/template/.genia/guidelines/testing.md +176 -176
- package/template/.genia/skills/design/canvas-design.md +109 -109
- package/template/.genia/skills/design/frontend-design.md +140 -140
- package/template/.genia/skills/dev/mcp-builder.md +172 -172
- package/template/.genia/skills/dev/webapp-testing.md +150 -150
- package/template/.genia/skills/documents/docx.md +153 -153
- package/template/.genia/skills/documents/pdf.md +134 -134
- package/template/.genia/skills/documents/pptx.md +118 -118
- package/template/.genia/skills/documents/xlsx.md +140 -140
- package/template/.synapse/agent-analyst +8 -8
- package/template/.synapse/agent-architect +8 -8
- package/template/.synapse/agent-dev +8 -8
- package/template/.synapse/agent-devops +8 -8
- package/template/.synapse/agent-pm +8 -8
- package/template/.synapse/agent-po +7 -7
- package/template/.synapse/agent-qa +8 -8
- package/template/.synapse/agent-reviewer +7 -7
- package/template/.synapse/agent-sm +7 -7
- package/template/.synapse/constitution +7 -7
- package/template/.synapse/context +8 -8
- package/template/.synapse/global +8 -8
- package/template/.synapse/manifest +14 -14
- package/template/README.md +53 -53
|
@@ -1,197 +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}}*
|
|
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}}*
|