spec-first-copilot 0.2.0 → 0.4.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 (38) hide show
  1. package/README.md +148 -148
  2. package/bin/cli.js +52 -52
  3. package/lib/init.js +89 -93
  4. package/package.json +24 -23
  5. package/templates/.ai/memory/napkin.md +68 -68
  6. package/templates/.github/agents/backend-coder.md +215 -215
  7. package/templates/.github/agents/db-coder.md +165 -165
  8. package/templates/.github/agents/doc-writer.md +51 -51
  9. package/templates/.github/agents/frontend-coder.md +222 -222
  10. package/templates/.github/agents/infra-coder.md +341 -341
  11. package/templates/.github/agents/reviewer.md +99 -99
  12. package/templates/.github/agents/security-reviewer.md +153 -153
  13. package/templates/.github/copilot-instructions.md +175 -176
  14. package/templates/.github/instructions/docs.instructions.md +123 -123
  15. package/templates/.github/instructions/sensitive-files.instructions.md +32 -32
  16. package/templates/.github/skills/sf-design/SKILL.md +181 -181
  17. package/templates/.github/skills/sf-dev/SKILL.md +349 -326
  18. package/templates/.github/skills/sf-extract/SKILL.md +284 -284
  19. package/templates/.github/skills/sf-feature/SKILL.md +130 -130
  20. package/templates/.github/skills/sf-merge-delta/SKILL.md +142 -142
  21. package/templates/.github/skills/sf-plan/SKILL.md +178 -178
  22. package/templates/.github/skills/{sf-pausar → sf-session-finish}/SKILL.md +120 -120
  23. package/templates/.github/skills/sf-setup-projeto/SKILL.md +123 -123
  24. package/templates/docs/Desenvolvimento/rules.md +229 -229
  25. package/templates/docs/_templates/estrutura/ADRs.template.md +91 -91
  26. package/templates/docs/_templates/estrutura/API.template.md +144 -144
  27. package/templates/docs/_templates/estrutura/Arquitetura.template.md +82 -82
  28. package/templates/docs/_templates/estrutura/Infraestrutura.template.md +104 -104
  29. package/templates/docs/_templates/estrutura/Modelo_Dados.template.md +99 -99
  30. package/templates/docs/_templates/estrutura/Seguranca.template.md +138 -138
  31. package/templates/docs/_templates/estrutura/Stack.template.md +78 -78
  32. package/templates/docs/_templates/estrutura/Visao.template.md +82 -82
  33. package/templates/docs/_templates/feature/Progresso.template.md +136 -136
  34. package/templates/docs/_templates/feature/backlog-extraido.template.md +154 -154
  35. package/templates/docs/_templates/feature/context.template.md +42 -42
  36. package/templates/docs/_templates/feature/extract-log.template.md +38 -38
  37. package/templates/docs/_templates/feature/projetos.template.yaml +73 -73
  38. package/templates/docs/_templates/global/progresso_global.template.md +57 -57
@@ -1,82 +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
- | | | | |
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
+ | | | | |
@@ -1,136 +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
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