spec-first-claude 0.1.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.
Files changed (44) hide show
  1. package/bin/cli.js +52 -0
  2. package/package.json +25 -0
  3. package/templates/.ai/memory/napkin.md +68 -0
  4. package/templates/.claude/agents/backend-coder.md +215 -0
  5. package/templates/.claude/agents/db-coder.md +165 -0
  6. package/templates/.claude/agents/doc-writer.md +51 -0
  7. package/templates/.claude/agents/frontend-coder.md +222 -0
  8. package/templates/.claude/agents/infra-coder.md +341 -0
  9. package/templates/.claude/agents/reviewer.md +99 -0
  10. package/templates/.claude/agents/security-reviewer.md +153 -0
  11. package/templates/.claude/commands/design.md +107 -0
  12. package/templates/.claude/commands/dev.md +167 -0
  13. package/templates/.claude/commands/discovery.md +405 -0
  14. package/templates/.claude/commands/extract.md +137 -0
  15. package/templates/.claude/commands/feature.md +60 -0
  16. package/templates/.claude/commands/merge-delta.md +70 -0
  17. package/templates/.claude/commands/pausar.md +83 -0
  18. package/templates/.claude/commands/plan.md +86 -0
  19. package/templates/.claude/commands/setup-projeto.md +68 -0
  20. package/templates/.claude/settings.local.json +6 -0
  21. package/templates/CLAUDE.md +199 -0
  22. package/templates/docs/Desenvolvimento/.gitkeep +0 -0
  23. package/templates/docs/Desenvolvimento/rules.md +229 -0
  24. package/templates/docs/Estrutura/.gitkeep +0 -0
  25. package/templates/docs/PM/.gitkeep +0 -0
  26. package/templates/docs/PM/setup_projeto/.gitkeep +0 -0
  27. package/templates/docs/_templates/estrutura/ADRs.template.md +91 -0
  28. package/templates/docs/_templates/estrutura/API.template.md +144 -0
  29. package/templates/docs/_templates/estrutura/Arquitetura.template.md +82 -0
  30. package/templates/docs/_templates/estrutura/Infraestrutura.template.md +104 -0
  31. package/templates/docs/_templates/estrutura/Modelo_Dados.template.md +99 -0
  32. package/templates/docs/_templates/estrutura/Seguranca.template.md +138 -0
  33. package/templates/docs/_templates/estrutura/Stack.template.md +78 -0
  34. package/templates/docs/_templates/estrutura/Visao.template.md +82 -0
  35. package/templates/docs/_templates/feature/PRD.template.md +256 -0
  36. package/templates/docs/_templates/feature/Progresso.template.md +136 -0
  37. package/templates/docs/_templates/feature/TRD.template.md +200 -0
  38. package/templates/docs/_templates/feature/backlog-extraido.template.md +154 -0
  39. package/templates/docs/_templates/feature/context.template.md +42 -0
  40. package/templates/docs/_templates/feature/extract-log.template.md +38 -0
  41. package/templates/docs/_templates/feature/projetos.template.yaml +73 -0
  42. package/templates/docs/_templates/feature/sdd.template.md +372 -0
  43. package/templates/docs/_templates/feature/tasks.template.md +115 -0
  44. package/templates/docs/_templates/global/progresso_global.template.md +57 -0
@@ -0,0 +1,78 @@
1
+ # Stack Tecnológica
2
+
3
+ > Tecnologias escolhidas, versões fixadas, e alternativas descartadas com justificativa.
4
+
5
+ ---
6
+
7
+ <!--
8
+ =============================================================================
9
+ INSTRUÇÕES PARA O AGENTE (não incluir no arquivo gerado)
10
+ =============================================================================
11
+
12
+ ORIGEM: Gerado pelo /setup-projeto a partir do TRD §2.
13
+ ATUALIZAÇÃO: /merge-delta quando features introduzem novas tecnologias ou mudanças de stack (raro — deve gerar ADR).
14
+
15
+ COMO GERAR:
16
+ 1. Ler TRD §2 (Stack e Tecnologias) — todas decisões de tech
17
+ 2. Preencher TODAS as camadas, mesmo que "a definir"
18
+ 3. Para cada tecnologia: versão EXATA (não "latest")
19
+ 4. Justificativa deve ser técnica, não "é popular"
20
+ 5. Alternativas descartadas: documentar POR QUE foram rejeitadas (evita rediscussão)
21
+
22
+ REGRAS:
23
+ - Versões devem ser fixadas (ex: "18.3.1", não "^18.0.0")
24
+ - Cada biblioteca/pacote precisa de justificativa (evita bloat)
25
+ - Alternativas descartadas previnem que o time rediscuta decisões já tomadas
26
+ - Mudanças de stack DEVEM gerar ADR em ADRs.md
27
+ - Camadas são dinâmicas — adicionar conforme necessidade (mobile, infra, etc.)
28
+
29
+ =============================================================================
30
+ -->
31
+
32
+ ## Stack Principal
33
+
34
+ | Camada | Tecnologia | Versão | Justificativa |
35
+ |--------|-----------|--------|---------------|
36
+ | Frontend | | | |
37
+ | Backend | | | |
38
+ | Banco de Dados | | | |
39
+ | ORM/Query Builder | | | |
40
+ | Autenticação | | | |
41
+ | Testes | | | |
42
+ | CI/CD | | | |
43
+
44
+ <!-- Adicionar camadas conforme necessidade: Mobile, Cache, Fila, Monitoramento, etc. -->
45
+
46
+ ## Bibliotecas e Dependências
47
+
48
+ <!-- Repetir seção para cada camada que tenha dependências relevantes -->
49
+
50
+ ### {{Camada}}
51
+
52
+ | Pacote | Versão | Para quê | Alternativa descartada |
53
+ |--------|--------|----------|----------------------|
54
+ | | | | |
55
+
56
+ ## Alternativas Descartadas
57
+
58
+ > Decisões já tomadas. Se alguém perguntar "por que não usamos X?", a resposta está aqui.
59
+
60
+ | Tecnologia escolhida | Alternativa considerada | Por que descartamos | Ref ADR |
61
+ |----------------------|------------------------|---------------------|---------|
62
+ | | | | |
63
+
64
+ ## Convenções de Versionamento
65
+
66
+ | Aspecto | Convenção |
67
+ |---------|-----------|
68
+ | Versionamento | <!-- Semver? Pinned? --> |
69
+ | Lock files | <!-- package-lock.json? yarn.lock? --> |
70
+ | Atualização | <!-- Dependabot? Manual? Periodicidade? --> |
71
+
72
+ ---
73
+
74
+ ## Changelog
75
+
76
+ | Data | Feature | Tipo | Descrição |
77
+ |------|---------|------|-----------|
78
+ | | | | |
@@ -0,0 +1,82 @@
1
+ # Visão do Sistema
2
+
3
+ > C4 Nível 1 — Contexto do sistema: o que é, quem usa, com o que integra, quais restrições existem.
4
+
5
+ ---
6
+
7
+ <!--
8
+ =============================================================================
9
+ INSTRUÇÕES PARA O AGENTE (não incluir no arquivo gerado)
10
+ =============================================================================
11
+
12
+ ORIGEM: Gerado pelo /setup-projeto a partir do TRD §1.
13
+ ATUALIZAÇÃO: /merge-delta quando features alteram contexto global (novos atores, integrações, restrições).
14
+
15
+ COMO GERAR:
16
+ 1. Ler TRD §1 (Visão do Sistema) — é a fonte primária
17
+ 2. Ler TRD §8 (Módulos Planejados) — alimenta o Roadmap
18
+ 3. Descrever o sistema em 2-3 frases objetivas (sem jargão de marketing)
19
+ 4. Listar TODOS os atores e papéis mencionados nos insumos
20
+ 5. Listar TODAS as integrações externas com direção clara
21
+ 6. Glossário: termos de domínio que o time precisa compartilhar (DDD ubiquitous language)
22
+
23
+ REGRAS:
24
+ - Descrição do sistema deve responder: O QUE faz, PARA QUEM, QUAL PROBLEMA resolve
25
+ - Atores devem ter permissões gerais claras (o que pode E o que NÃO pode)
26
+ - Integrações devem ter direção explícita (envia/recebe/ambos)
27
+ - Glossário não é opcional — termos ambíguos geram bugs
28
+
29
+ =============================================================================
30
+ -->
31
+
32
+ ## O que é este sistema?
33
+
34
+ <!-- Descrição em 2-3 frases. O que ele faz, para quem, qual problema resolve. -->
35
+
36
+
37
+ ## Usuários e Papéis
38
+
39
+ | Papel | O que faz | O que NÃO pode fazer | Nível de acesso |
40
+ |-------|-----------|----------------------|-----------------|
41
+ | | | | |
42
+
43
+ ## Integrações Externas
44
+
45
+ | Sistema/Serviço | Tipo (API/Webhook/Arquivo/Fila) | Direção (Envia/Recebe/Ambos) | Descrição | SLA/Disponibilidade |
46
+ |-----------------|--------------------------------|------------------------------|-----------|---------------------|
47
+ | | | | | |
48
+
49
+ ## Restrições e Premissas
50
+
51
+ ### Restrições técnicas
52
+ -
53
+
54
+ ### Restrições de negócio
55
+ -
56
+
57
+ ### Premissas
58
+ -
59
+
60
+ ## Roadmap de Módulos
61
+
62
+ > Extraído do TRD §8. Visão de alto nível das funcionalidades planejadas.
63
+
64
+ | # | Módulo | Prioridade | Dependências | Status |
65
+ |---|--------|-----------|--------------|--------|
66
+ | | | | | planejado / em desenvolvimento / concluído |
67
+
68
+ ## Glossário
69
+
70
+ > Termos do domínio usados em todo o projeto. Linguagem ubíqua (DDD).
71
+
72
+ | Termo | Definição | Exemplo de uso |
73
+ |-------|-----------|----------------|
74
+ | | | |
75
+
76
+ ---
77
+
78
+ ## Changelog
79
+
80
+ | Data | Feature | Tipo | Descrição |
81
+ |------|---------|------|-----------|
82
+ | | | | |
@@ -0,0 +1,256 @@
1
+ # PRD — {{FEATURE}}
2
+ ## Product Requirements Document
3
+
4
+ > **Artefato gerado pela IA** a partir do processamento de todos os insumos em `docs/PM/{{FEATURE}}/`.
5
+ > Este é o checkpoint de extração — o usuário DEVE revisar e aprovar antes de prosseguir.
6
+ > Todos os documentos subsequentes (SDD, tasks) são gerados a partir DESTE arquivo.
7
+
8
+ ---
9
+
10
+ ## Meta
11
+
12
+ | Campo | Valor |
13
+ |-------|-------|
14
+ | Feature | `{{FEATURE}}` |
15
+ | Status | `em extração` → `aguardando revisão` → `aprovado` |
16
+ | Insumos processados | {{LISTA_INSUMOS}} |
17
+ | Gerado em | |
18
+ | Aprovado em | |
19
+
20
+ ---
21
+
22
+ <!--
23
+ =============================================================================
24
+ INSTRUÇÕES PARA O AGENTE (não incluir no arquivo gerado)
25
+ =============================================================================
26
+
27
+ QUANDO USAR: Gerado pelo /extract (chamado via /feature).
28
+ QUEM GERA: Agent Analyzer (Opus) a partir dos outputs dos Readers (Sonnet).
29
+
30
+ COMO GERAR:
31
+ 1. Readers (Sonnet) leem cada arquivo do PM/ individualmente e catalogam por seção
32
+ 2. Analyzer (Opus) recebe todos os outputs e:
33
+ a. Consolida em visão unificada
34
+ b. Cruza informações entre fontes — detecta contradições
35
+ c. Identifica gaps — seções sem informação viram ambiguidades
36
+ d. Gera este documento seguindo as 14 seções fixas
37
+ 3. Ler `docs/Estrutura/` para contexto de arquitetura existente
38
+ 4. Para cada informação, registrar DE QUAL insumo veio (rastreabilidade §14)
39
+ 5. Se faltam dados para preencher uma seção → pergunta BLOQUEANTE em §13
40
+
41
+ FORMATOS DE INSUMO (o que extrair de cada):
42
+ - .txt, .md → requisitos, regras, contexto, restrições
43
+ - .sql → entidades, campos, tipos, constraints, índices, relações
44
+ - .html → telas, campos (data-field), ações (data-action),
45
+ validações (data-validation), rotas (data-route),
46
+ permissões (data-permission), estados (data-state)
47
+ - .xml (drawio) → fluxos, decisões, atores, sequências
48
+ - .csv → dados tabulares, mapeamentos
49
+ - .png, .jpg, .pdf → wireframes, mockups (análise visual)
50
+ - Outros → extrair o que for relevante — nunca ignorar
51
+
52
+ REGRAS DA EXTRAÇÃO:
53
+ - Categorias FIXAS (as 15 seções abaixo) — não inventar novas
54
+ - §11 Fases de Entrega é OBRIGATÓRIO — organizar funcionalidades em fases incrementais
55
+ Se existe backlog_extraido.md, usar como referência para as fases
56
+ Princípio: entregáveis contínuos, cada fase entrega valor e pode ir pra produção
57
+ - Regras de negócio com IDs únicos e ESTÁVEIS (RN-001, RN-002...)
58
+ → IDs nunca renumeram após criação. Em re-extração, novos continuam sequência
59
+ - Ambiguidades como perguntas diretas — BLOQUEANTES
60
+ - SEM texto narrativo — apenas informação estruturada em tabelas e listas
61
+ - Rastreabilidade: de qual arquivo veio cada informação
62
+ - Nunca INFERIR regra de negócio — se não está explícito, é ambiguidade
63
+ - Contradição entre fontes → gerar ambiguidade citando os dois arquivos
64
+
65
+ RE-EXTRAÇÃO:
66
+ - Merge ADITIVO com PRD existente (não sobrescrever)
67
+ - Seções afetadas marcadas com <!-- ATUALIZADO: re-extração ISO_DATE -->
68
+ - IDs de regras continuam sequência existente
69
+
70
+ =============================================================================
71
+ -->
72
+
73
+ ## 1. Contexto e Motivação
74
+
75
+ ### Qual problema resolve?
76
+ <!-- POR QUÊ essa feature existe — extraído dos insumos -->
77
+
78
+ ### Como funciona hoje?
79
+ <!-- Estado ATUAL — o que existe, como é feito, quais os problemas -->
80
+
81
+ ### Estado desejado
82
+ <!-- O que muda com essa feature — o delta é o escopo real -->
83
+
84
+ ---
85
+
86
+ ## 2. Atores e Permissões
87
+
88
+ | Ator | O que pode fazer | O que NÃO pode fazer |
89
+ |------|------------------|----------------------|
90
+ | | | |
91
+
92
+ ---
93
+
94
+ ## 3. Entidades e Modelo de Dados
95
+
96
+ > Extraído de: arquivos `.sql`, protótipos, texto livre.
97
+
98
+ | Entidade | Campos principais | Tipo dos campos | Relações |
99
+ |----------|-------------------|-----------------|----------|
100
+ | | | | |
101
+
102
+ ### Índices e constraints identificados
103
+ -
104
+
105
+ ### Histórico / Auditoria
106
+ -
107
+
108
+ ---
109
+
110
+ ## 4. Jornadas do Usuário
111
+
112
+ > Extraído de: protótipos HTML, textos, fluxos.
113
+
114
+ ### Jornada 1: {{NOME}}
115
+ | Passo | Ator | Ação | Resultado esperado |
116
+ |-------|------|------|--------------------|
117
+ | 1 | | | |
118
+
119
+ ---
120
+
121
+ ## 5. Regras de Negócio
122
+
123
+ > Extraídas de TODOS os insumos. Cada regra deve ser clara, testável e ter ID único.
124
+
125
+ | ID | Regra | Fonte | Testável? |
126
+ |----|-------|-------|-----------|
127
+ | RN-001 | | {{arquivo_fonte}} | Sim/Não |
128
+
129
+ ---
130
+
131
+ ## 6. Validações
132
+
133
+ > Extraídas de: protótipos (`data-validation`), `.sql` (constraints), texto.
134
+
135
+ | Campo | Validações | Obrigatório? | Máscara | Fonte |
136
+ |-------|-----------|--------------|---------|-------|
137
+ | | | | | |
138
+
139
+ ---
140
+
141
+ ## 7. Telas e Componentes UI
142
+
143
+ > Extraídos de: protótipos HTML (`data-field`, `data-action`, `data-route`, `data-state`).
144
+
145
+ ### Tela 1: {{NOME}}
146
+ - **Rota**:
147
+ - **Campos**: (extraídos dos `data-field`)
148
+ - **Ações**: (extraídas dos `data-action`)
149
+ - **Navegação**: (extraída dos `data-route`)
150
+ - **Estados**: (extraídos dos `data-state`)
151
+ - **Permissões por elemento**: (extraídos dos `data-permission`)
152
+
153
+ ---
154
+
155
+ ## 8. Integrações Externas
156
+
157
+ | Serviço | Método | Quando é chamado | O que envia | O que recebe | Fallback |
158
+ |---------|--------|------------------|-------------|--------------|----------|
159
+ | | | | | | |
160
+
161
+ ---
162
+
163
+ ## 9. Cenários de Erro
164
+
165
+ | # | Cenário | Causa | Comportamento esperado | Fonte |
166
+ |---|---------|-------|----------------------|-------|
167
+ | 1 | | | | |
168
+
169
+ ---
170
+
171
+ ## 10. Requisitos Não-Funcionais
172
+
173
+ | Aspecto | Requisito | Fonte |
174
+ |---------|-----------|-------|
175
+ | Volume esperado | | |
176
+ | Performance | | |
177
+ | Disponibilidade | | |
178
+ | Acessibilidade | | |
179
+
180
+ ---
181
+
182
+ ## 11. Fases de Entrega
183
+
184
+ > Princípio: **entregáveis contínuos** — cada fase entrega valor e pode ir pra produção.
185
+ > Fases são sequenciais por dependência. Cada uma tem entregável testável.
186
+ > Se o `/extract` foi precedido por um roadmap (backlog_extraido.md), usar as fases como base.
187
+
188
+ ### Fase 1 — {{Nome}} [P1]
189
+
190
+ > **Entregável**: {{O que o usuário pode usar ao final}}
191
+ > **Critério de done**: {{Como validar — testes E2E que devem passar}}
192
+
193
+ | # | Funcionalidade | Entidades | Regras | Jornadas |
194
+ |---|---------------|-----------|--------|----------|
195
+ | 1 | | | RN-NNN | Jornada N |
196
+
197
+ ### Fase 2 — {{Nome}} [P1]
198
+
199
+ > **Entregável**: {{...}}
200
+ > **Critério de done**: {{...}}
201
+ > **Depende de**: Fase 1
202
+
203
+ | # | Funcionalidade | Entidades | Regras | Jornadas |
204
+ |---|---------------|-----------|--------|----------|
205
+ | 1 | | | | |
206
+
207
+ <!-- Repetir fases conforme necessário. Máximo 4-5 fases. -->
208
+
209
+ ### Visão geral
210
+
211
+ | Fase | Nome | Prioridade | Entregável | Depende de |
212
+ |------|------|-----------|------------|------------|
213
+ | 1 | | P1 | | — |
214
+ | 2 | | P1 | | Fase 1 |
215
+
216
+ ---
217
+
218
+ ## 12. Dependências
219
+
220
+ | Dependência | Tipo | Status | Impacto se indisponível |
221
+ |-------------|------|--------|------------------------|
222
+ | | feature / serviço / tabela | pronto / pendente | |
223
+
224
+ ---
225
+
226
+ ## 13. Fora de Escopo
227
+
228
+ > Explicitamente listado — o que NÃO será feito nesta feature.
229
+
230
+ | # | Item | Motivo |
231
+ |---|------|--------|
232
+ | 1 | | futuro / outra feature / decisão do usuário |
233
+
234
+ ---
235
+
236
+ ## 14. Ambiguidades e Perguntas
237
+
238
+ > ⚠️ **BLOQUEANTE** — o fluxo NÃO avança até o usuário responder TODAS.
239
+
240
+ | # | Pergunta | Contexto | Fonte | Resposta do usuário |
241
+ |---|----------|----------|-------|---------------------|
242
+ | 1 | ⚠️ | | | (aguardando) |
243
+
244
+ ---
245
+
246
+ ## 15. Rastreabilidade — De onde veio cada informação
247
+
248
+ > Mapa de qual insumo originou qual seção. Permite auditoria da extração.
249
+
250
+ | Insumo | Tipo | O que foi extraído |
251
+ |--------|------|--------------------|
252
+ | `{{arquivo}}` | {{tipo}} | {{seções alimentadas}} |
253
+
254
+ ---
255
+
256
+ > **Próximo passo**: Após aprovação do usuário, este PRD alimenta a geração do `sdd.md` e das tasks (`*_tasks.md`).
@@ -0,0 +1,136 @@
1
+ # Progresso — {{FEATURE}}
2
+
3
+ > Visão consolidada do andamento da feature.
4
+ > Organizado por **fases de entrega** — cada fase é um entregável independente.
5
+ > Atualizado automaticamente pelo /dev a cada task concluída.
6
+
7
+ ---
8
+
9
+ ## Status Geral: `não iniciado`
10
+
11
+ <!-- não iniciado → em desenvolvimento → em revisão → concluído → arquivado -->
12
+
13
+ ---
14
+
15
+ <!--
16
+ =============================================================================
17
+ INSTRUÇÕES PARA O AGENTE (não incluir no arquivo gerado)
18
+ =============================================================================
19
+
20
+ COMO GERAR ESTE ARQUIVO:
21
+
22
+ 1. Ler PRD §11 (Fases de Entrega) para definir as fases
23
+ 2. Ler TODOS os *_tasks.md da feature
24
+ 3. Para cada FASE DE ENTREGA, listar as áreas e contagem de tasks
25
+ 4. A visão primária é POR FASE, não por área
26
+
27
+ COMO ATUALIZAR:
28
+
29
+ - O /dev atualiza após cada task concluída
30
+ - Status por fase: ⬜ pendente → 🔄 em andamento → ✅ concluída
31
+ - Fase concluída = todas tasks de todas áreas daquela fase estão [x]
32
+ - Ao concluir uma fase: registrar no Histórico + abrir PR
33
+
34
+ =============================================================================
35
+ -->
36
+
37
+ ## Fases de Entrega
38
+
39
+ | Fase | Nome | Prioridade | Entregável | Status | Tasks |
40
+ |------|------|-----------|------------|--------|-------|
41
+ | 1 | {{Nome}} | P1 | {{Entregável}} | ⬜ pendente | 0/{{N}} |
42
+ | 2 | {{Nome}} | P1 | {{Entregável}} | ⬜ pendente | 0/{{N}} |
43
+ | 3 | {{Nome}} | P2 | {{Entregável}} | ⬜ pendente | 0/{{N}} |
44
+
45
+ ---
46
+
47
+ ## Fase 1 — {{Nome}} [P1]
48
+
49
+ > **Entregável**: {{O que o usuário pode usar}}
50
+ > **Critério de done**: {{Testes E2E que devem passar}}
51
+ > **Branch**: `feature/{{FEATURE}}_fase1`
52
+ > **PR**: (a ser criado)
53
+
54
+ ### Tasks por área
55
+
56
+ #### {{AREA_1}} ({{N}} tasks)
57
+
58
+ | Task | Descrição | Tamanho | Repo | Status |
59
+ |------|-----------|---------|------|--------|
60
+ | AREA-001 | | S/M/L | {{repo}} | ⬜ |
61
+
62
+ #### {{AREA_2}} ({{N}} tasks)
63
+
64
+ | Task | Descrição | Tamanho | Repo | Status |
65
+ |------|-----------|---------|------|--------|
66
+ | AREA-001 | | S/M/L | {{repo}} | ⬜ |
67
+
68
+ ### Resumo Fase 1
69
+
70
+ | Área | Total | Feitas | % |
71
+ |------|-------|--------|---|
72
+ | {{AREA_1}} | {{N}} | 0 | 0% |
73
+ | {{AREA_2}} | {{N}} | 0 | 0% |
74
+ | **Total Fase 1** | **{{N}}** | **0** | **0%** |
75
+
76
+ ---
77
+
78
+ ## Fase 2 — {{Nome}} [P1]
79
+
80
+ > **Entregável**: {{...}}
81
+ > **Depende de**: Fase 1 concluída
82
+
83
+ <!-- Repetir mesma estrutura -->
84
+
85
+ ---
86
+
87
+ ## Totais Gerais
88
+
89
+ | Fase | Total | Feitas | % |
90
+ |------|-------|--------|---|
91
+ | Fase 1 | {{N}} | 0 | 0% |
92
+ | Fase 2 | {{N}} | 0 | 0% |
93
+ | **Total** | **{{N}}** | **0** | **0%** |
94
+
95
+ ---
96
+
97
+ ## Ordem de Execução
98
+
99
+ ```
100
+ Fase 1:
101
+ 1. INFRA (setup de repos/ambiente)
102
+ 2. BANCO (schema/migrations)
103
+ 3. BACK (endpoints) ← pode paralelizar com FRONT após BANCO
104
+ 4. FRONT (telas)
105
+ → PR Fase 1 + testes manuais + merge
106
+
107
+ Fase 2:
108
+ 1. BANCO (novas tabelas/migrations)
109
+ 2. BACK (endpoints + regras)
110
+ 3. FRONT (telas + integração)
111
+ → PR Fase 2 + testes manuais + merge
112
+ ```
113
+
114
+ ---
115
+
116
+ ## Histórico
117
+
118
+ | Data | Evento | Detalhes |
119
+ |------|--------|----------|
120
+ | | Feature criada | PRD aprovado, SDD gerado |
121
+
122
+ ---
123
+
124
+ ## Pós-conclusão (por fase)
125
+
126
+ - [ ] PR aberto com template detalhado
127
+ - [ ] Ambiente local rodando para testes manuais
128
+ - [ ] Testes automatizados passando (unit + integration + security)
129
+ - [ ] Usuário aprovou e fez merge
130
+
131
+ ## Pós-conclusão (feature completa)
132
+
133
+ - [ ] Todas fases concluídas e mergeadas
134
+ - [ ] Mergear Delta Specs (SDD §11) nos docs de `docs/Estrutura/`
135
+ - [ ] Atualizar `docs/Desenvolvimento/progresso.md` (visão global)
136
+ - [ ] Atualizar `.ai/memory/napkin.md` se houver aprendizado relevante