spec-first-copilot 0.3.0 → 0.5.0-beta.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/README.md +38 -30
  2. package/lib/init.js +2 -2
  3. package/package.json +31 -23
  4. package/templates/.ai/memory/napkin.md +1 -1
  5. package/templates/.github/agents/db-coder.md +1 -1
  6. package/templates/.github/agents/doc-writer.md +12 -15
  7. package/templates/.github/agents/security-reviewer.md +1 -1
  8. package/templates/.github/copilot-instructions.md +61 -43
  9. package/templates/.github/instructions/docs.instructions.md +12 -12
  10. package/templates/.github/instructions/sensitive-files.instructions.md +10 -10
  11. package/templates/{docs/Desenvolvimento → .github}/rules.md +2 -2
  12. package/templates/.github/skills/sf-design/SKILL.md +26 -27
  13. package/templates/.github/skills/sf-dev/SKILL.md +30 -7
  14. package/templates/.github/skills/sf-discovery/SKILL.md +405 -405
  15. package/templates/.github/skills/sf-extract/SKILL.md +9 -9
  16. package/templates/.github/skills/sf-feature/SKILL.md +21 -21
  17. package/templates/.github/skills/sf-merge-delta/SKILL.md +21 -18
  18. package/templates/.github/skills/sf-plan/SKILL.md +8 -8
  19. package/templates/.github/skills/{sf-pausar → sf-session-finish}/SKILL.md +10 -10
  20. package/templates/.github/skills/sf-setup-projeto/SKILL.md +20 -20
  21. package/templates/{docs/_templates/estrutura/API.template.md → .github/templates/estrutura/apiContracts.template.md} +24 -17
  22. package/templates/.github/templates/estrutura/architecture.template.md +158 -0
  23. package/templates/{docs/_templates/estrutura/Seguranca.template.md → .github/templates/estrutura/conventions.template.md} +74 -10
  24. package/templates/{docs/_templates/estrutura/ADRs.template.md → .github/templates/estrutura/decisions.template.md} +21 -13
  25. package/templates/.github/templates/estrutura/domain.template.md +148 -0
  26. package/templates/{docs/_templates → .github/templates}/feature/PRD.template.md +256 -256
  27. package/templates/{docs/_templates → .github/templates}/feature/Progresso.template.md +2 -2
  28. package/templates/{docs/_templates → .github/templates}/feature/TRD.template.md +204 -200
  29. package/templates/{docs/_templates → .github/templates}/feature/context.template.md +1 -1
  30. package/templates/{docs/_templates → .github/templates}/feature/projetos.template.yaml +1 -1
  31. package/templates/{docs/_templates → .github/templates}/feature/sdd.template.md +372 -372
  32. package/templates/{docs/_templates → .github/templates}/feature/tasks.template.md +115 -115
  33. package/templates/docs/_templates/estrutura/Arquitetura.template.md +0 -82
  34. package/templates/docs/_templates/estrutura/Infraestrutura.template.md +0 -104
  35. package/templates/docs/_templates/estrutura/Modelo_Dados.template.md +0 -99
  36. package/templates/docs/_templates/estrutura/Stack.template.md +0 -78
  37. package/templates/docs/_templates/estrutura/Visao.template.md +0 -82
  38. /package/templates/{docs/_templates → .github/templates}/feature/backlog-extraido.template.md +0 -0
  39. /package/templates/{docs/_templates → .github/templates}/feature/extract-log.template.md +0 -0
  40. /package/templates/{docs/_templates → .github/templates}/global/progresso_global.template.md +0 -0
  41. /package/templates/docs/{Desenvolvimento/.gitkeep → .gitkeep} +0 -0
  42. /package/templates/{docs/Estrutura → workspace/Input}/.gitkeep +0 -0
  43. /package/templates/{docs/PM → workspace/Input/setup_projeto}/.gitkeep +0 -0
  44. /package/templates/{docs/PM/setup_projeto → workspace/Output}/.gitkeep +0 -0
@@ -1,200 +1,204 @@
1
- # TRD — {{PROJETO}}
2
- ## Technical Requirements Document
3
-
4
- > **Artefato gerado pela IA** a partir do processamento de todos os insumos em `docs/PM/setup_projeto/`.
5
- > Este é o checkpoint de extração para ESTRUTURAÇÃO do projeto.
6
- > Após aprovação, gera os documentos de `docs/Estrutura/`.
7
-
8
- ---
9
-
10
- ## Meta
11
-
12
- | Campo | Valor |
13
- |-------|-------|
14
- | Tipo | `setup-projeto` |
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 /setup-projeto). NUNCA por /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 de docs/PM/setup_projeto/ individualmente
32
- 2. Analyzer (Opus) recebe todos os outputs e:
33
- a. Consolida decisões técnicas, stack, arquitetura, modelo base
34
- b. Cruza informações entre fontes — detecta contradições
35
- c. Identifica gaps — decisões críticas sem resposta viram perguntas §9
36
- d. Gera este documento seguindo as 10 seções fixas
37
- 3. Focar em ESTRUTURA do sistema, não em features específicas
38
- 4. Para cada informação, registrar DE QUAL insumo veio (§10)
39
-
40
- FORMATOS DE INSUMO (o que extrair de cada):
41
- - .txt, .md → visão, requisitos técnicos, decisões de arquitetura
42
- - .sql → modelo de dados base, convenções, tipos
43
- - .html → protótipos que revelam stack frontend
44
- - .xml (drawio) → diagramas de arquitetura, fluxos de infra
45
- - .json → configurações, schemas
46
- - Outros → extrair o que for relevante
47
-
48
- PÓS-APROVAÇÃO:
49
- - /design gera SDD a partir deste TRD
50
- - /plan gera tasks DOC que criam os 8 docs de docs/Estrutura/
51
- - Cada seção do TRD alimenta um doc específico:
52
- §1Visao.md | §2 Stack.md | §3 → Arquitetura.md
53
- §4 Modelo_Dados.md | §5 API.md | §6 → Infraestrutura.md
54
- §7 Seguranca.md | §8 Visao.md (roadmap de módulos)
55
-
56
- REGRAS DA EXTRAÇÃO:
57
- - Categorias FIXAS (as 10 seções abaixo) — não inventar novas
58
- - SEM texto narrativo apenas informação estruturada
59
- - Ambiguidades são BLOQUEANTES (§9) — workflow para até responder
60
- - Nunca INFERIR decisão técnica — se não está explícito, perguntar
61
- - Contradição entre fontes gerar pergunta em §9 citando ambos
62
-
63
- RE-EXTRAÇÃO:
64
- - Merge ADITIVO com TRD existente (não sobrescrever)
65
- - Seções afetadas marcadas com <!-- ATUALIZADO: re-extração ISO_DATE -->
66
-
67
- =============================================================================
68
- -->
69
-
70
- ## 1. Visão do Sistema
71
-
72
- ### O que é?
73
- <!-- Para que serve o sistema, qual problema resolve -->
74
-
75
- ### Quem usa?
76
-
77
- | Ator | Papel | Permissões gerais |
78
- |------|-------|--------------------|
79
- | | | |
80
-
81
- ### Integrações externas
82
-
83
- | Sistema | Direção | Descrição |
84
- |---------|---------|-----------|
85
- | | | |
86
-
87
- ### Restrições e premissas
88
- -
89
-
90
- ---
91
-
92
- ## 2. Stack e Tecnologias
93
-
94
- | Camada | Tecnologia | Versão | Justificativa extraída |
95
- |--------|-----------|--------|------------------------|
96
- | | | | |
97
-
98
- ### Ferramentas de desenvolvimento
99
-
100
- | Ferramenta | Para quê |
101
- |-----------|----------|
102
- | | |
103
-
104
- ---
105
-
106
- ## 3. Arquitetura
107
-
108
- ### Containers identificados
109
-
110
- | Container | Tecnologia | Responsabilidade |
111
- |-----------|-----------|-----------------|
112
- | | | |
113
-
114
- ### Padrões de comunicação
115
- -
116
-
117
- ### Padrões de design
118
- -
119
-
120
- ---
121
-
122
- ## 4. Modelo de Dados Base
123
-
124
- > Extraído de: arquivos `.sql`, texto.
125
-
126
- | Tabela | Campos principais | Propósito |
127
- |--------|-------------------|-----------|
128
- | | | |
129
-
130
- ### Convenções identificadas
131
- -
132
-
133
- ---
134
-
135
- ## 5. Convenções de API
136
-
137
- | Aspecto | Convenção extraída |
138
- |---------|-------------------|
139
- | Estilo | |
140
- | Formato | |
141
- | Versionamento | |
142
- | Autenticação | |
143
- | Paginação | |
144
- | Erros | |
145
-
146
- ---
147
-
148
- ## 6. Infraestrutura
149
-
150
- | Aspecto | Decisão extraída |
151
- |---------|-----------------|
152
- | Hospedagem | |
153
- | CI/CD | |
154
- | Containers | |
155
- | Ambientes | |
156
-
157
- ---
158
-
159
- ## 7. Segurança
160
-
161
- | Aspecto | Requisito extraído |
162
- |---------|-------------------|
163
- | Autenticação | |
164
- | Autorização | |
165
- | CORS | |
166
- | Rate limiting | |
167
- | LGPD | |
168
- | Auditoria | |
169
-
170
- ---
171
-
172
- ## 8. Módulos Planejados
173
-
174
- > Roadmap extraído dos insumos — ordem de implementação.
175
-
176
- | # | Módulo | Prioridade | Dependências |
177
- |---|--------|-----------|--------------|
178
- | 1 | | | |
179
-
180
- ---
181
-
182
- ## 9. Ambiguidades e Perguntas
183
-
184
- > ⚠️ **BLOQUEANTE** — responder antes de gerar docs/Estrutura/.
185
-
186
- | # | Pergunta | Contexto | Resposta do usuário |
187
- |---|----------|----------|---------------------|
188
- | 1 | ⚠️ | | (aguardando) |
189
-
190
- ---
191
-
192
- ## 10. Rastreabilidade
193
-
194
- | Insumo | Tipo | O que foi extraído |
195
- |--------|------|--------------------|
196
- | `{{arquivo}}` | {{tipo}} | {{seções alimentadas}} |
197
-
198
- ---
199
-
200
- > **Próximo passo**: Após aprovação, este TRD alimenta a geração de TODOS os documentos de `docs/Estrutura/`.
1
+ # TRD — {{PROJETO}}
2
+ ## Technical Requirements Document
3
+
4
+ > **Artefato gerado pela IA** a partir do processamento de todos os insumos em `workspace/Input/setup_projeto/`.
5
+ > Este é o checkpoint de extração para ESTRUTURAÇÃO do projeto.
6
+ > Após aprovação, gera os documentos de `docs/`.
7
+
8
+ ---
9
+
10
+ ## Meta
11
+
12
+ | Campo | Valor |
13
+ |-------|-------|
14
+ | Tipo | `setup-projeto` |
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 /setup-projeto). NUNCA por /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 de workspace/Input/setup_projeto/ individualmente
32
+ 2. Analyzer (Opus) recebe todos os outputs e:
33
+ a. Consolida decisões técnicas, stack, arquitetura, modelo base
34
+ b. Cruza informações entre fontes — detecta contradições
35
+ c. Identifica gaps — decisões críticas sem resposta viram perguntas §9
36
+ d. Gera este documento seguindo as 10 seções fixas
37
+ 3. Focar em ESTRUTURA do sistema, não em features específicas
38
+ 4. Para cada informação, registrar DE QUAL insumo veio (§10)
39
+
40
+ FORMATOS DE INSUMO (o que extrair de cada):
41
+ - .txt, .md → visão, requisitos técnicos, decisões de arquitetura
42
+ - .sql → modelo de dados base, convenções, tipos
43
+ - .html → protótipos que revelam stack frontend
44
+ - .xml (drawio) → diagramas de arquitetura, fluxos de infra
45
+ - .json → configurações, schemas
46
+ - Outros → extrair o que for relevante
47
+
48
+ PÓS-APROVAÇÃO:
49
+ - /design gera SDD a partir deste TRD e cria os 5 docs de docs/
50
+ - Mapeamento TRD doc de Estrutura (1 seção pode alimentar múltiplos docs):
51
+ §1 Visão domain.md
52
+ §2 Stack architecture.md (stack principal) + conventions.md (alternativas, versionamento)
53
+ §3 Arquiteturaarchitecture.md
54
+ §4 Modelo de Dadosdomain.md
55
+ §5 API → apiContracts.md (rotas, paginação, erros, catálogo) + conventions.md (códigos de erro do domínio)
56
+ §6 Infraestrutura → architecture.md (ambientes, deploy, CI/CD) + conventions.md (env vars, domínios, monitoramento)
57
+ §7 Segurança conventions.md
58
+ §8 Módulos backlog faseado (NÃO vira doc de Estrutura)
59
+
60
+ REGRAS DA EXTRAÇÃO:
61
+ - Categorias FIXAS (as 10 seções abaixo) não inventar novas
62
+ - SEM texto narrativo — apenas informação estruturada
63
+ - Ambiguidades são BLOQUEANTES (§9) — workflow para até responder
64
+ - Nunca INFERIR decisão técnica se não está explícito, perguntar
65
+ - Contradição entre fontes gerar pergunta em §9 citando ambos
66
+
67
+ RE-EXTRAÇÃO:
68
+ - Merge ADITIVO com TRD existente (não sobrescrever)
69
+ - Seções afetadas marcadas com <!-- ATUALIZADO: re-extração ISO_DATE -->
70
+
71
+ =============================================================================
72
+ -->
73
+
74
+ ## 1. Visão do Sistema
75
+
76
+ ### O que é?
77
+ <!-- Para que serve o sistema, qual problema resolve -->
78
+
79
+ ### Quem usa?
80
+
81
+ | Ator | Papel | Permissões gerais |
82
+ |------|-------|--------------------|
83
+ | | | |
84
+
85
+ ### Integrações externas
86
+
87
+ | Sistema | Direção | Descrição |
88
+ |---------|---------|-----------|
89
+ | | | |
90
+
91
+ ### Restrições e premissas
92
+ -
93
+
94
+ ---
95
+
96
+ ## 2. Stack e Tecnologias
97
+
98
+ | Camada | Tecnologia | Versão | Justificativa extraída |
99
+ |--------|-----------|--------|------------------------|
100
+ | | | | |
101
+
102
+ ### Ferramentas de desenvolvimento
103
+
104
+ | Ferramenta | Para quê |
105
+ |-----------|----------|
106
+ | | |
107
+
108
+ ---
109
+
110
+ ## 3. Arquitetura
111
+
112
+ ### Containers identificados
113
+
114
+ | Container | Tecnologia | Responsabilidade |
115
+ |-----------|-----------|-----------------|
116
+ | | | |
117
+
118
+ ### Padrões de comunicação
119
+ -
120
+
121
+ ### Padrões de design
122
+ -
123
+
124
+ ---
125
+
126
+ ## 4. Modelo de Dados Base
127
+
128
+ > Extraído de: arquivos `.sql`, texto.
129
+
130
+ | Tabela | Campos principais | Propósito |
131
+ |--------|-------------------|-----------|
132
+ | | | |
133
+
134
+ ### Convenções identificadas
135
+ -
136
+
137
+ ---
138
+
139
+ ## 5. Convenções de API
140
+
141
+ | Aspecto | Convenção extraída |
142
+ |---------|-------------------|
143
+ | Estilo | |
144
+ | Formato | |
145
+ | Versionamento | |
146
+ | Autenticação | |
147
+ | Paginação | |
148
+ | Erros | |
149
+
150
+ ---
151
+
152
+ ## 6. Infraestrutura
153
+
154
+ | Aspecto | Decisão extraída |
155
+ |---------|-----------------|
156
+ | Hospedagem | |
157
+ | CI/CD | |
158
+ | Containers | |
159
+ | Ambientes | |
160
+
161
+ ---
162
+
163
+ ## 7. Segurança
164
+
165
+ | Aspecto | Requisito extraído |
166
+ |---------|-------------------|
167
+ | Autenticação | |
168
+ | Autorização | |
169
+ | CORS | |
170
+ | Rate limiting | |
171
+ | LGPD | |
172
+ | Auditoria | |
173
+
174
+ ---
175
+
176
+ ## 8. Módulos Planejados
177
+
178
+ > Roadmap extraído dos insumos — ordem de implementação.
179
+
180
+ | # | Módulo | Prioridade | Dependências |
181
+ |---|--------|-----------|--------------|
182
+ | 1 | | | |
183
+
184
+ ---
185
+
186
+ ## 9. Ambiguidades e Perguntas
187
+
188
+ > ⚠️ **BLOQUEANTE** responder antes de gerar docs/.
189
+
190
+ | # | Pergunta | Contexto | Resposta do usuário |
191
+ |---|----------|----------|---------------------|
192
+ | 1 | ⚠️ | | (aguardando) |
193
+
194
+ ---
195
+
196
+ ## 10. Rastreabilidade
197
+
198
+ | Insumo | Tipo | O que foi extraído |
199
+ |--------|------|--------------------|
200
+ | `{{arquivo}}` | {{tipo}} | {{seções alimentadas}} |
201
+
202
+ ---
203
+
204
+ > **Próximo passo**: Após aprovação, este TRD alimenta a geração de TODOS os documentos de `docs/`.
@@ -2,7 +2,7 @@
2
2
  nome: "{{NOME}}"
3
3
  tipo: "{{feature|setup}}"
4
4
  documento: "{{PRD|TRD}}"
5
- pm_path: "docs/PM/{{NOME}}/"
5
+ pm_path: "workspace/Input/{{NOME}}/"
6
6
  status: "not_started"
7
7
  ultima_skill: ""
8
8
  atualizado_em: ""
@@ -18,7 +18,7 @@
18
18
  # - O campo `areas` define quais prefixos de task escrevem nesse repo
19
19
  # - Uma área NÃO pode pertencer a dois repos (mapeamento 1:1)
20
20
  # - BANCO pode ir junto com api (se usa EF migrations) ou separado (se repo de migrations)
21
- # - O campo `stack` deve ser consistente com docs/Estrutura/Stack.md
21
+ # - O campo `stack` deve ser consistente com docs/architecture.md (seção Stack Principal)
22
22
  # - O `org` é a organização/user do GitHub
23
23
  # =============================================================================
24
24