specifica-br 1.2.2 → 1.5.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 +114 -44
- package/dist/boilerplate/commands/executar-task.md +133 -0
- package/dist/boilerplate/commands/gerar-contexto.md +1462 -0
- package/dist/boilerplate/commands/gerar-prd.md +289 -0
- package/dist/boilerplate/commands/gerar-tasks.md +168 -0
- package/dist/boilerplate/commands/gerar-techspec.md +1467 -0
- package/dist/boilerplate/commands/gerar-visao.md +731 -0
- package/dist/boilerplate/commands/realizar-codereview.md +288 -0
- package/dist/boilerplate/opencode-commands/executar-task.md +55 -48
- package/dist/boilerplate/opencode-commands/gerar-contexto.md +1462 -0
- package/dist/boilerplate/opencode-commands/gerar-prd.md +232 -40
- package/dist/boilerplate/opencode-commands/gerar-tasks.md +112 -31
- package/dist/boilerplate/opencode-commands/gerar-techspec.md +1464 -80
- package/dist/boilerplate/opencode-commands/gerar-visao.md +731 -0
- package/dist/boilerplate/opencode-commands/realizar-codereview.md +288 -0
- package/dist/boilerplate/skills/product-manager/SKILL.md +32 -0
- package/dist/boilerplate/skills/techspec-generator/SKILL.md +489 -0
- package/dist/boilerplate/skills/techspec-generator/references/api-contracts.md +421 -0
- package/dist/boilerplate/skills/techspec-generator/references/architecture-patterns.md +316 -0
- package/dist/boilerplate/skills/techspec-generator/references/database-modeling.md +436 -0
- package/dist/boilerplate/skills/techspec-generator/references/observability-testing.md +436 -0
- package/dist/boilerplate/skills/techspec-generator/references/security-hardening.md +238 -0
- package/dist/boilerplate/skills/techspec-generator/references/ux-ui-accessibility.md +511 -0
- package/dist/boilerplate/specs-templates/architecture-template.md +736 -0
- package/dist/boilerplate/specs-templates/codereview-template.md +95 -0
- package/dist/boilerplate/specs-templates/prd-template.md +101 -19
- package/dist/boilerplate/specs-templates/product_vision-template.md +284 -0
- package/dist/boilerplate/specs-templates/task-template.md +64 -18
- package/dist/boilerplate/specs-templates/tasks-template.md +12 -4
- package/dist/boilerplate/specs-templates/techspec-template.md +1227 -89
- package/dist/boilerplate/templates/architecture-template.md +736 -0
- package/dist/boilerplate/templates/codereview-template.md +95 -0
- package/dist/boilerplate/templates/prd-template.md +167 -0
- package/dist/boilerplate/templates/product_vision-template.md +284 -0
- package/dist/boilerplate/templates/task-template.md +169 -0
- package/dist/boilerplate/templates/tasks-template.md +15 -0
- package/dist/boilerplate/templates/techspec-template.md +1306 -0
- package/dist/commands/help.js +33 -11
- package/dist/commands/init.js +39 -43
- package/dist/tools-mapping.json +32 -0
- package/dist/types/init.d.ts +14 -17
- package/dist/utils/file-service.d.ts +5 -3
- package/dist/utils/file-service.js +168 -56
- package/dist/utils/message-formatter.d.ts +2 -1
- package/dist/utils/message-formatter.js +39 -22
- package/package.json +1 -1
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Task: {{TASK_ID}} - {{TASK_TITLE}}
|
|
2
|
+
|
|
3
|
+
| Metadata | Details |
|
|
4
|
+
| :--- | :--- |
|
|
5
|
+
| **Status** | [TODO | IN_PROGRESS | DONE] |
|
|
6
|
+
| **Data** | {{DATA_ATUAL}} |
|
|
7
|
+
| **Task** | {{TASK_TITLE}} |
|
|
8
|
+
| **Feature** | [nome-da-funcionalidade] |
|
|
9
|
+
| **Referência PRD** | [Link PRD](./specs/features/[nome-da-funcionalidade]/prd.md) |
|
|
10
|
+
| **Referência Tech Spec** | [Link PRD](@specs/features/[nome-da-funcionalidade]/techspec.md) |
|
|
11
|
+
<!-- Status: TODO → IN_PROGRESS → DONE -->
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## 1. Contexto e Objetivo
|
|
15
|
+
{{CONTEXT_CONTENT}}
|
|
16
|
+
<!--
|
|
17
|
+
Regras:
|
|
18
|
+
- Não reinterpretar requisitos
|
|
19
|
+
- Não adicionar objetivos não explicitados no PRD
|
|
20
|
+
- Usar este contexto apenas como orientação de execução
|
|
21
|
+
-->
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 2. Requisitos da Tarefa
|
|
26
|
+
### 2.1 Funcionais (Comportamento)
|
|
27
|
+
<!-- Cada requisito DEVE mapear 1:1 com o PRD -->
|
|
28
|
+
- [ ] (PRD-REQ-01) ...
|
|
29
|
+
- [ ] (PRD-REQ-02) ...
|
|
30
|
+
|
|
31
|
+
### 2.2 Técnicos (Implementação)
|
|
32
|
+
- [ ] Seguir APENAS os padrões definidos na seção {{ITEM_REF}} do techspec.md
|
|
33
|
+
- [ ] Utilizar exclusivamente as bibliotecas listadas abaixo:
|
|
34
|
+
{{LIBS_LIST}}
|
|
35
|
+
<!-- Proibido adicionar novas dependências -->
|
|
36
|
+
- [ ] Tratamento de erros conforme padrão do projeto.
|
|
37
|
+
|
|
38
|
+
### 2.3 Contratos (Boundaries)
|
|
39
|
+
<!--
|
|
40
|
+
Os contratos abaixo sao referencias EXPLICITAS a secao 4 do techspec.md.
|
|
41
|
+
Cada contrato que esta task toca DEVE estar listado.
|
|
42
|
+
O executor DEVE implementar o contrato EXATAMENTE como definido na techspec.
|
|
43
|
+
|
|
44
|
+
ORIGEM DO CONTRATO:
|
|
45
|
+
- DESCOBERTO: contrato ja existia no codigo (task = adaptar/integrar)
|
|
46
|
+
- SOLICITADO: contrato foi definido pelo usuario (task = implementar do zero)
|
|
47
|
+
- PROPOSTO: contrato foi proposto pela LLM (task = implementar + validar)
|
|
48
|
+
-->
|
|
49
|
+
|
|
50
|
+
#### Contratos de Entrada (O que esta task recebe)
|
|
51
|
+
- [ ] ({{CONTRACT_ID}}) {{CONTRACT_NAME}} - Secao {{TECHSPEC_SECTION}} do techspec.md
|
|
52
|
+
- Schema de entrada: {{INPUT_SCHEMA_REF}}
|
|
53
|
+
- Validacoes obrigatorias: {{VALIDATIONS_REF}}
|
|
54
|
+
<!-- ADICIONAR CONTRATOS DE ENTRADA CONFORME NECESSARIO -->
|
|
55
|
+
|
|
56
|
+
#### Contratos de Saida (O que esta task produz)
|
|
57
|
+
- [ ] ({{CONTRACT_ID}}) {{CONTRACT_NAME}} - Secao {{TECHSPEC_SECTION}} do techspec.md
|
|
58
|
+
- Schema de saida: {{OUTPUT_SCHEMA_REF}}
|
|
59
|
+
- Status codes / codigos de erro: {{ERROR_CODES_REF}}
|
|
60
|
+
<!-- ADICIONAR CONTRATOS DE SAIDA CONFORME NECESSARIO -->
|
|
61
|
+
|
|
62
|
+
#### Contratos de Configuracao (Variaveis de ambiente)
|
|
63
|
+
- [ ] ({{ENV_ID}}) {{ENV_VAR_NAME}} - obrigatoria: {{REQUIRED}}, default: {{DEFAULT_VALUE}}
|
|
64
|
+
<!-- ADICIONAR VARIÁVEIS DE AMBIENTE CONFORME NECESSARIO -->
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 3. Plano de Execução (Sub-tarefas)
|
|
69
|
+
<!-- Regras de Execução:
|
|
70
|
+
- Os passos DEVEM ser executados em ordem
|
|
71
|
+
- Um passo só pode ser marcado como concluído se os arquivos-alvo forem alterados
|
|
72
|
+
- Não avançar para o próximo passo se houver erro
|
|
73
|
+
-->
|
|
74
|
+
|
|
75
|
+
- [ ] **Passo 1: Estruturas de Dados e Contratos**
|
|
76
|
+
- *Ação:* Criar interfaces, DTOs, Enums ou Tabelas.
|
|
77
|
+
- *Arquivos Alvo:* `{{TARGET_FILES_STEP_1}}`
|
|
78
|
+
- *Critério de Saída:* Código compilável + tipos acessíveis pelos passos seguintes
|
|
79
|
+
|
|
80
|
+
- [ ] **Passo 2: Implementação da Lógica de Negócio**
|
|
81
|
+
- *Ação:* Implementar o algoritmo, regra de negócio ou fluxo principal.
|
|
82
|
+
- *Arquivos Alvo:* `{{TARGET_FILES_STEP_2}}`
|
|
83
|
+
- *Critério de Saída:* Código compilável + tipos acessíveis pelos passos seguintes
|
|
84
|
+
|
|
85
|
+
- [ ] **Passo 3: Integração e Exposição**
|
|
86
|
+
- *Ação:* Conectar a lógica a APIs, UI, CLI ou Banco de Dados.
|
|
87
|
+
- *Arquivos Alvo:* `{{TARGET_FILES_STEP_3}}`
|
|
88
|
+
- *Critério de Saída:* Código compilável + tipos acessíveis pelos passos seguintes
|
|
89
|
+
|
|
90
|
+
- [ ] **Passo 4: Testes e Validação**
|
|
91
|
+
- *Ação:* Criar testes unitários ou de integração para garantir o funcionamento.
|
|
92
|
+
- *Arquivos Alvo:* `{{TARGET_FILES_STEP_4}}`
|
|
93
|
+
- *Critério de Saída:* Código compilável + tipos acessíveis pelos passos seguintes
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 4. Detalhes de Implementacao & Contratos
|
|
98
|
+
<!--
|
|
99
|
+
Os exemplos abaixo sao CONTRATOS extraidos da techspec.md secao 4.
|
|
100
|
+
A implementacao final DEVE respeitar EXATAMENTE o schema definido.
|
|
101
|
+
Qualquer desvio DEVE ser justificado em "Notas de Execucao" (secao 8).
|
|
102
|
+
-->
|
|
103
|
+
|
|
104
|
+
* **Contrato(s) Implementado(s):** {{CONTRACT_IDS}} (ref: techspec.md secao {{TECHSPEC_SECTIONS}})
|
|
105
|
+
* **Nomenclatura Esperada:** `{{NAMING_CONVENTION}}`
|
|
106
|
+
* **Schema de Entrada (obrigatorio):**
|
|
107
|
+
```json
|
|
108
|
+
{{INPUT_EXAMPLE}}
|
|
109
|
+
```
|
|
110
|
+
* **Schema de Saida (obrigatorio):**
|
|
111
|
+
```json
|
|
112
|
+
{{OUTPUT_EXAMPLE}}
|
|
113
|
+
```
|
|
114
|
+
* **Schema de Erro (obrigatorio):**
|
|
115
|
+
```json
|
|
116
|
+
{{ERROR_EXAMPLE}}
|
|
117
|
+
```
|
|
118
|
+
* **Headers/Metadata:**
|
|
119
|
+
```json
|
|
120
|
+
{{HEADERS_EXAMPLE}}
|
|
121
|
+
```
|
|
122
|
+
* **Variaveis de Ambiente Necessarias:**
|
|
123
|
+
- `{{ENV_VAR_A}}` - {{descricao}}
|
|
124
|
+
- `{{ENV_VAR_B}}` - {{descricao}}
|
|
125
|
+
* **Restricoes:**
|
|
126
|
+
- Nao alterar assinaturas publicas
|
|
127
|
+
- Nao introduzir parametros opcionais nao documentados
|
|
128
|
+
- Schemas DEVEM conferir com o definido na techspec.md secao 4
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 5. Contexto de Arquivos (File Context)
|
|
133
|
+
<!-- O modelo está AUTORIZADO a ler SOMENTE os arquivos listados abaixo -->
|
|
134
|
+
### 5.1 Arquivos de Leitura (Referência/Exemplos)
|
|
135
|
+
- `@spec/features/[nome-da-funcionalidade]/prd.md`
|
|
136
|
+
- `@spec/features/[nome-da-funcionalidade]/techspec.md`
|
|
137
|
+
- `{{EXAMPLE_FILE_PATH}}` (Exemplo de código existente similar)
|
|
138
|
+
|
|
139
|
+
### 5.2 Arquivos Permitidos para Escrita (Alvos)
|
|
140
|
+
- `{{TARGET_FILE_A}}`
|
|
141
|
+
- `{{TARGET_FILE_B}}`
|
|
142
|
+
- `{{TARGET_FILE_C}}`
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 6. Criterios de Aceite (Definition of Done)
|
|
147
|
+
- [ ] O codigo compila/executa sem erros de sintaxe.
|
|
148
|
+
- [ ] Todos os requisitos funcionais da secao 2.1 foram atendidos.
|
|
149
|
+
- [ ] Todos os contratos listados na secao 2.3 foram implementados conforme techspec.md secao 4.
|
|
150
|
+
- [ ] Schemas de entrada/saida conferem exatamente com o definido na techspec.
|
|
151
|
+
- [ ] Codigos de erro e responses documentados foram implementados.
|
|
152
|
+
- [ ] Variaveis de ambiente obrigatorias estao documentadas e validadas no startup.
|
|
153
|
+
- [ ] Os testes (Passo 4) foram criados e estao passando.
|
|
154
|
+
- [ ] Nao ha trechos de codigo comentados ou "TODOs" residuais.
|
|
155
|
+
- [ ] A implementacao respeita a arquitetura descrita no `@spec/features/[nome-da-funcionalidade]/techspec.md`.
|
|
156
|
+
- [ ] Todos os passos da secao 3 estao marcados como concluidos
|
|
157
|
+
- [ ] Esta task foi marcada como DONE no arquivo `./spec/features/[nome-da-funcionalidade]/tasks.md` <!-- O modelo DEVE atualizar este arquivo -->
|
|
158
|
+
|
|
159
|
+
### 6.1 Efeitos Colaterais Obrigatórios
|
|
160
|
+
- [ ] Status da task atualizado para DONE
|
|
161
|
+
- [ ] `./spec/features/[nome-da-funcionalidade]/tasks.md` atualizado corretamente
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 7. Arquivos Relevantes (Obrigatório)
|
|
166
|
+
[Listar os arquivos relatantes (arquivos da aplicação, documentações, etc) para a execução da tarefa]
|
|
167
|
+
|
|
168
|
+
## 8. Notas de Execução (Scratchpad)
|
|
169
|
+
[Uso para decisões técnicas relevantes. Não repetir informações já documentadas]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Lista de tarefas da funcionalidade [nome-da-funcionalidade]
|
|
2
|
+
|
|
3
|
+
## Contratos (Resumo da Techspec Secao 4)
|
|
4
|
+
<!-- Referencia rapida: IDs dos contratos que esta feature implementa -->
|
|
5
|
+
| ID | Fronteira | Contrato | Secao Techspec |
|
|
6
|
+
|:---|:---|:---|:---|
|
|
7
|
+
| CT-001 | Client-Backend | {{CONTRATO}} | 4.1 |
|
|
8
|
+
| CT-002 | Backend-Database | {{CONTRATO}} | 4.2 |
|
|
9
|
+
<!-- Preencher com base na Tabela Resumo de Contratos da techspec.md -->
|
|
10
|
+
|
|
11
|
+
## Tarefas
|
|
12
|
+
[ ] 1.0 - Titulo da Tarefa Principal (CT-XXX, CT-YYY)
|
|
13
|
+
[ ] 2.0 - Titulo da Tarefa Principal (CT-XXX, ENV-XXX)
|
|
14
|
+
[ ] 3.0 - Titulo da Tarefa Principal (CT-XXX)
|
|
15
|
+
...
|