spec-first-claude 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.
- package/README.md +39 -34
- package/lib/init.js +1 -1
- package/package.json +31 -23
- package/templates/.ai/memory/napkin.md +1 -1
- package/templates/.claude/agents/db-coder.md +1 -1
- package/templates/.claude/agents/doc-writer.md +12 -15
- package/templates/.claude/agents/security-reviewer.md +1 -1
- package/templates/.claude/commands/design.md +18 -19
- package/templates/.claude/commands/dev.md +24 -2
- package/templates/.claude/commands/discovery.md +405 -405
- package/templates/.claude/commands/extract.md +3 -3
- package/templates/.claude/commands/feature.md +8 -8
- package/templates/.claude/commands/merge-delta.md +10 -9
- package/templates/.claude/commands/plan.md +2 -2
- package/templates/.claude/commands/{pausar.md → session-finish.md} +6 -6
- package/templates/.claude/commands/setup-projeto.md +11 -11
- package/templates/{docs/Desenvolvimento → .claude}/rules.md +2 -2
- package/templates/.claude/settings.local.json +6 -6
- package/templates/{docs/_templates/estrutura/API.template.md → .claude/templates/estrutura/apiContracts.template.md} +24 -17
- package/templates/.claude/templates/estrutura/architecture.template.md +158 -0
- package/templates/{docs/_templates/estrutura/Seguranca.template.md → .claude/templates/estrutura/conventions.template.md} +74 -10
- package/templates/{docs/_templates/estrutura/ADRs.template.md → .claude/templates/estrutura/decisions.template.md} +21 -13
- package/templates/.claude/templates/estrutura/domain.template.md +148 -0
- package/templates/{docs/_templates → .claude/templates}/feature/PRD.template.md +256 -256
- package/templates/{docs/_templates → .claude/templates}/feature/Progresso.template.md +2 -2
- package/templates/{docs/_templates → .claude/templates}/feature/TRD.template.md +204 -200
- package/templates/{docs/_templates → .claude/templates}/feature/context.template.md +1 -1
- package/templates/{docs/_templates → .claude/templates}/feature/projetos.template.yaml +1 -1
- package/templates/{docs/_templates → .claude/templates}/feature/sdd.template.md +372 -372
- package/templates/{docs/_templates → .claude/templates}/feature/tasks.template.md +115 -115
- package/templates/CLAUDE.md +67 -51
- package/templates/docs/_templates/estrutura/Arquitetura.template.md +0 -82
- package/templates/docs/_templates/estrutura/Infraestrutura.template.md +0 -104
- package/templates/docs/_templates/estrutura/Modelo_Dados.template.md +0 -99
- package/templates/docs/_templates/estrutura/Stack.template.md +0 -78
- package/templates/docs/_templates/estrutura/Visao.template.md +0 -82
- /package/templates/{docs/_templates → .claude/templates}/feature/backlog-extraido.template.md +0 -0
- /package/templates/{docs/_templates → .claude/templates}/feature/extract-log.template.md +0 -0
- /package/templates/{docs/_templates → .claude/templates}/global/progresso_global.template.md +0 -0
- /package/templates/docs/{Desenvolvimento/.gitkeep → .gitkeep} +0 -0
- /package/templates/{docs/Estrutura → workspace/Input}/.gitkeep +0 -0
- /package/templates/{docs/PM → workspace/Input/setup_projeto}/.gitkeep +0 -0
- /package/templates/{docs/PM/setup_projeto → workspace/Output}/.gitkeep +0 -0
package/README.md
CHANGED
|
@@ -46,33 +46,41 @@ Isso cria a pasta `MeuProjeto/` com toda a estrutura pronta:
|
|
|
46
46
|
```
|
|
47
47
|
MeuProjeto/
|
|
48
48
|
├── .ai/memory/napkin.md <- Memoria persistente do projeto
|
|
49
|
-
├── .claude/
|
|
49
|
+
├── .claude/ <- AI OPERATIONAL CONFIG
|
|
50
|
+
│ ├── rules.md <- Regras de desenvolvimento
|
|
51
|
+
│ ├── templates/ <- 15 templates do workflow
|
|
52
|
+
│ │ ├── feature/ <- PRD, TRD, SDD, tasks, etc.
|
|
53
|
+
│ │ ├── estrutura/ <- 5 templates de estado do sistema
|
|
54
|
+
│ │ └── global/ <- Progresso global
|
|
50
55
|
│ ├── commands/ <- 9 commands do workflow
|
|
51
|
-
│ │ ├── setup-projeto.md
|
|
52
|
-
│ │ ├── feature.md
|
|
53
|
-
│ │ ├── discovery.md
|
|
54
|
-
│ │ ├── extract.md
|
|
55
|
-
│ │ ├── design.md
|
|
56
|
-
│ │ ├── plan.md
|
|
57
|
-
│ │ ├── dev.md
|
|
58
|
-
│ │ ├── merge-delta.md
|
|
59
|
-
│ │ └──
|
|
60
|
-
│ └── agents/
|
|
61
|
-
│ ├── backend-coder.md
|
|
62
|
-
│ ├── frontend-coder.md
|
|
63
|
-
│ ├── db-coder.md
|
|
64
|
-
│ ├── infra-coder.md
|
|
65
|
-
│ ├── doc-writer.md
|
|
66
|
-
│ ├── reviewer.md
|
|
67
|
-
│ └── security-reviewer.md
|
|
68
|
-
├── docs/
|
|
69
|
-
│ ├──
|
|
70
|
-
│
|
|
71
|
-
│ ├──
|
|
72
|
-
│ ├──
|
|
73
|
-
│ └──
|
|
74
|
-
|
|
75
|
-
├──
|
|
56
|
+
│ │ ├── setup-projeto.md
|
|
57
|
+
│ │ ├── feature.md
|
|
58
|
+
│ │ ├── discovery.md
|
|
59
|
+
│ │ ├── extract.md
|
|
60
|
+
│ │ ├── design.md
|
|
61
|
+
│ │ ├── plan.md
|
|
62
|
+
│ │ ├── dev.md
|
|
63
|
+
│ │ ├── merge-delta.md
|
|
64
|
+
│ │ └── session-finish.md
|
|
65
|
+
│ └── agents/ <- 7 agentes especializados
|
|
66
|
+
│ ├── backend-coder.md <- .NET 8 / C#
|
|
67
|
+
│ ├── frontend-coder.md <- React
|
|
68
|
+
│ ├── db-coder.md <- PostgreSQL
|
|
69
|
+
│ ├── infra-coder.md <- Docker
|
|
70
|
+
│ ├── doc-writer.md <- Documentacao
|
|
71
|
+
│ ├── reviewer.md <- Code review
|
|
72
|
+
│ └── security-reviewer.md <- Auditoria de seguranca
|
|
73
|
+
├── docs/ <- SYSTEM KNOWLEDGE (gerado pelo /design)
|
|
74
|
+
│ ├── architecture.md <- Containers, stack, ambientes, deploy
|
|
75
|
+
│ ├── domain.md <- Visao de negocio + modelo de dados
|
|
76
|
+
│ ├── conventions.md <- Auth, authz, LGPD, env vars, monitoramento
|
|
77
|
+
│ ├── apiContracts.md <- Rotas, paginacao, erros, catalogo de endpoints
|
|
78
|
+
│ └── decisions.md <- ADRs
|
|
79
|
+
├── workspace/ <- TEAM CONTENT (futuro wiki)
|
|
80
|
+
│ ├── Input/ <- Jogue seus insumos aqui
|
|
81
|
+
│ │ └── setup_projeto/ <- Insumos do bootstrap
|
|
82
|
+
│ └── Output/ <- Docs por feature (gerados)
|
|
83
|
+
├── CLAUDE.md <- Regras globais pro agente
|
|
76
84
|
└── .gitignore
|
|
77
85
|
```
|
|
78
86
|
|
|
@@ -84,7 +92,7 @@ MeuProjeto/
|
|
|
84
92
|
cd MeuProjeto
|
|
85
93
|
```
|
|
86
94
|
|
|
87
|
-
2. Jogue seus insumos em `
|
|
95
|
+
2. Jogue seus insumos em `workspace/Input/setup_projeto/` — qualquer formato:
|
|
88
96
|
- `.md`, `.txt` (descricoes, requisitos, decisoes)
|
|
89
97
|
- `.sql` (modelagem de banco)
|
|
90
98
|
- `.csv`, `.xml`, `.html` (dados, configs)
|
|
@@ -103,28 +111,25 @@ MeuProjeto/
|
|
|
103
111
|
## Pipeline completo
|
|
104
112
|
|
|
105
113
|
```
|
|
106
|
-
|
|
114
|
+
workspace/Input/ (seus arquivos)
|
|
107
115
|
|
|
|
108
116
|
v
|
|
109
117
|
/setup-projeto --> /extract --> TRD (voce revisa e aprova)
|
|
110
118
|
|
|
|
111
119
|
v
|
|
112
|
-
/design --> SDD + docs/
|
|
120
|
+
/design --> SDD + docs/ (5 arquivos)
|
|
113
121
|
|
|
|
114
122
|
v
|
|
115
123
|
/plan --> tasks + Progresso.md
|
|
116
124
|
|
|
|
117
125
|
v
|
|
118
|
-
/dev --> codigo nos repos
|
|
119
|
-
|
|
|
120
|
-
v
|
|
121
|
-
/merge-delta --> docs atualizados
|
|
126
|
+
/dev --> codigo nos repos + merge-delta automatico
|
|
122
127
|
```
|
|
123
128
|
|
|
124
129
|
Para features (apos o setup):
|
|
125
130
|
|
|
126
131
|
```
|
|
127
|
-
/feature nome_da_feature --> /extract --> PRD --> /design --> /plan --> /dev
|
|
132
|
+
/feature nome_da_feature --> /extract --> PRD --> /design --> /plan --> /dev (inclui merge-delta)
|
|
128
133
|
```
|
|
129
134
|
|
|
130
135
|
## Opcoes do CLI
|
package/lib/init.js
CHANGED
|
@@ -62,7 +62,7 @@ function init({ name, templatesDir, targetDir }) {
|
|
|
62
62
|
console.log(`\nDone! Project "${name}" is ready.`);
|
|
63
63
|
console.log('\nNext steps:');
|
|
64
64
|
console.log(` 1. cd ${name}`);
|
|
65
|
-
console.log(' 2. Add your input files to
|
|
65
|
+
console.log(' 2. Add your input files to workspace/Input/setup_projeto/');
|
|
66
66
|
console.log(' 3. Run /setup-projeto to start the pipeline');
|
|
67
67
|
console.log('');
|
|
68
68
|
}
|
package/package.json
CHANGED
|
@@ -1,23 +1,31 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "spec-first-claude",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Spec-first workflow kit for Claude Code — AI-driven development with specs, not guesswork",
|
|
5
|
-
"bin": {
|
|
6
|
-
"spec-first-claude": "
|
|
7
|
-
},
|
|
8
|
-
"files": [
|
|
9
|
-
"bin/",
|
|
10
|
-
"lib/",
|
|
11
|
-
"templates/"
|
|
12
|
-
],
|
|
13
|
-
"author": "gustavomaritan",
|
|
14
|
-
"keywords": [
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "spec-first-claude",
|
|
3
|
+
"version": "0.5.0-beta.0",
|
|
4
|
+
"description": "Spec-first workflow kit for Claude Code — AI-driven development with specs, not guesswork",
|
|
5
|
+
"bin": {
|
|
6
|
+
"spec-first-claude": "bin/cli.js"
|
|
7
|
+
},
|
|
8
|
+
"files": [
|
|
9
|
+
"bin/",
|
|
10
|
+
"lib/",
|
|
11
|
+
"templates/"
|
|
12
|
+
],
|
|
13
|
+
"author": "gustavomaritan",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"spec-first",
|
|
16
|
+
"workflow",
|
|
17
|
+
"ai",
|
|
18
|
+
"claude",
|
|
19
|
+
"anthropic",
|
|
20
|
+
"scaffolding"
|
|
21
|
+
],
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/gustavomaritan-labs/spec-first-workflow.git",
|
|
25
|
+
"directory": "packages/spec-first-claude"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"test": "echo \"No tests yet\""
|
|
29
|
+
},
|
|
30
|
+
"license": "MIT"
|
|
31
|
+
}
|
|
@@ -39,7 +39,7 @@ src/Infrastructure/Data/
|
|
|
39
39
|
└── DevSeedData.cs ← Seed para desenvolvimento
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
### Convenções SQL (alinhado com
|
|
42
|
+
### Convenções SQL (alinhado com domain.md)
|
|
43
43
|
|
|
44
44
|
| Elemento | Convenção | Exemplo |
|
|
45
45
|
|----------|-----------|---------|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent: Doc Writer
|
|
2
2
|
|
|
3
3
|
> Especialista em geração de documentação técnica.
|
|
4
|
-
> Usado pelo /design (setup) para gerar docs/
|
|
4
|
+
> Usado pelo /design (setup) para gerar docs/ e pelo /merge-delta para atualizá-los.
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -16,21 +16,18 @@
|
|
|
16
16
|
|
|
17
17
|
## Responsabilidades
|
|
18
18
|
|
|
19
|
-
1. **No setup (via /design passo 3)**: gerar os
|
|
20
|
-
2. **Em features (via /merge-delta)**: atualizar docs de
|
|
19
|
+
1. **No setup (via /design passo 3)**: gerar os 5 docs de `docs/` a partir do TRD aprovado (architecture, domain, conventions, apiContracts, decisions)
|
|
20
|
+
2. **Em features (via /merge-delta)**: atualizar os docs de `docs/` com Delta Specs do SDD §11
|
|
21
21
|
|
|
22
|
-
## Mapeamento TRD → docs/
|
|
22
|
+
## Mapeamento TRD/SDD → docs/
|
|
23
23
|
|
|
24
|
-
|
|
|
25
|
-
|
|
26
|
-
| §
|
|
27
|
-
| §
|
|
28
|
-
| §
|
|
29
|
-
| §
|
|
30
|
-
| §
|
|
31
|
-
| §6 Infra | Infraestrutura.md | `_templates/estrutura/Infraestrutura.template.md` |
|
|
32
|
-
| §7 Segurança | Seguranca.md | `_templates/estrutura/Seguranca.template.md` |
|
|
33
|
-
| SDD §2 Decisões | ADRs.md | `_templates/estrutura/ADRs.template.md` |
|
|
24
|
+
| Doc gerado | Fontes | Template |
|
|
25
|
+
|-----------|--------|---------|
|
|
26
|
+
| architecture.md | TRD §2 Stack + §3 Arquitetura + §6 Infra (ambientes/deploy/CI/rollback) | `.claude/templates/estrutura/architecture.template.md` |
|
|
27
|
+
| domain.md | TRD §1 Visão + §4 Modelo de Dados (+ SDD §3 em features) | `.claude/templates/estrutura/domain.template.md` |
|
|
28
|
+
| conventions.md | TRD §7 Segurança + §6 Infra (env vars/monitoramento) + §5 API (códigos de erro) + §2 Stack (alternativas/versionamento) | `.claude/templates/estrutura/conventions.template.md` |
|
|
29
|
+
| apiContracts.md | TRD §5 API (padrão geral, rotas, paginação, filtros, erros, catálogo) | `.claude/templates/estrutura/apiContracts.template.md` |
|
|
30
|
+
| decisions.md | SDD §2 Decisões + decisões iniciais de stack/arquitetura | `.claude/templates/estrutura/decisions.template.md` |
|
|
34
31
|
|
|
35
32
|
## Regras
|
|
36
33
|
|
|
@@ -48,4 +45,4 @@
|
|
|
48
45
|
2. **Ler TRD/SDD** → extrair dados para cada seção
|
|
49
46
|
3. **Preencher** → seguindo formato do template exatamente
|
|
50
47
|
4. **Remover instruções** → bloco `<!-- INSTRUÇÕES -->` não vai pro doc final
|
|
51
|
-
5. **Commitar** → `docs(DOC-001): gerar
|
|
48
|
+
5. **Commitar** → `docs(DOC-001): gerar architecture.md a partir do TRD`
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|-------|-------|
|
|
12
12
|
| Área | Todas (cross-area) |
|
|
13
13
|
| Modelo padrão | Opus |
|
|
14
|
-
| Lê | Código produzido + SDD §5 (endpoints/auth) + SDD §9 (testes) + docs/
|
|
14
|
+
| Lê | Código produzido + SDD §5 (endpoints/auth) + SDD §9 (testes) + docs/conventions.md (auth, authz, LGPD, auditoria) |
|
|
15
15
|
| Nunca lê | PRD, PM |
|
|
16
16
|
|
|
17
17
|
## Quando é acionado
|
|
@@ -13,7 +13,7 @@ Técnico e preciso. Gera contratos completos. Toda decisão tem justificativa.
|
|
|
13
13
|
| 1 | $ARGUMENTS informado | Parar |
|
|
14
14
|
| 2 | `.context.md` existe com status `extract_done` ou `approved` | Se anterior → "/extract primeiro". Se posterior → "SDD já gerado" |
|
|
15
15
|
| 3 | PRD.md ou TRD.md existe | Parar → "/extract primeiro" |
|
|
16
|
-
| 4 | `docs
|
|
16
|
+
| 4 | `docs/` populado (para features) | Parar → "/setup-projeto primeiro" (não aplica para tipo=setup) |
|
|
17
17
|
|
|
18
18
|
## Passos
|
|
19
19
|
|
|
@@ -27,29 +27,27 @@ Se status é `extract_done`:
|
|
|
27
27
|
- Ler seção de ambiguidades (§13 PRD / §9 TRD)
|
|
28
28
|
- Se há perguntas sem resposta → PARAR, listar pendentes
|
|
29
29
|
|
|
30
|
-
### 3. Gerar docs/
|
|
30
|
+
### 3. Gerar docs/ (APENAS para setup)
|
|
31
31
|
|
|
32
|
-
> Este passo só executa quando tipo=setup. Para features, docs/
|
|
32
|
+
> Este passo só executa quando tipo=setup. Para features, docs/ já existe.
|
|
33
33
|
|
|
34
|
-
Ler TRD e gerar os
|
|
34
|
+
Ler TRD e gerar os 5 docs de `docs/` usando os templates correspondentes:
|
|
35
35
|
|
|
36
|
-
|
|
|
37
|
-
|
|
38
|
-
| §
|
|
39
|
-
| §
|
|
40
|
-
| §
|
|
41
|
-
| §
|
|
42
|
-
| §
|
|
43
|
-
| §6 Infra | Infraestrutura.md | `_templates/estrutura/Infraestrutura.template.md` |
|
|
44
|
-
| §7 Segurança | Seguranca.md | `_templates/estrutura/Seguranca.template.md` |
|
|
45
|
-
| SDD §2 (após gerar) | ADRs.md | `_templates/estrutura/ADRs.template.md` |
|
|
36
|
+
| Doc gerado | Fontes (TRD) | Template |
|
|
37
|
+
|-----------|--------------|---------|
|
|
38
|
+
| architecture.md | §3 Arquitetura + §2 Stack + §6 Infra (ambientes, deploy, CI/CD, rollback) | `.claude/templates/estrutura/architecture.template.md` |
|
|
39
|
+
| domain.md | §1 Visão + §4 Modelo de Dados | `.claude/templates/estrutura/domain.template.md` |
|
|
40
|
+
| conventions.md | §7 Segurança + §6 Infra (env vars, domínios, monitoramento) + §5 API (códigos de erro de domínio) + §2 Stack (alternativas, versionamento) | `.claude/templates/estrutura/conventions.template.md` |
|
|
41
|
+
| apiContracts.md | §5 API (padrão geral, rotas, paginação, filtros, erros, catálogo) | `.claude/templates/estrutura/apiContracts.template.md` |
|
|
42
|
+
| decisions.md | SDD §2 Decisões (após gerar) + decisões iniciais de stack/arquitetura | `.claude/templates/estrutura/decisions.template.md` |
|
|
46
43
|
|
|
47
44
|
Regras:
|
|
48
45
|
- Ler template → preencher TODAS seções com dados do TRD
|
|
49
46
|
- Remover bloco `<!-- INSTRUÇÕES -->` do doc gerado
|
|
50
47
|
- Changelog inicia vazio (primeira geração)
|
|
51
48
|
- Se TRD não tem dados pra uma seção → marcar "A definir"
|
|
52
|
-
-
|
|
49
|
+
- decisions.md é gerado APÓS o SDD (usa §2 Decisões de Design como ponto de partida)
|
|
50
|
+
- TRD §8 Módulos NÃO vira doc de Estrutura — vai para backlog faseado
|
|
53
51
|
|
|
54
52
|
### 3b. Gerar `projetos.yaml` (APENAS para setup)
|
|
55
53
|
|
|
@@ -75,8 +73,8 @@ Nunca juntar serviços que o TRD definiu como distintos.
|
|
|
75
73
|
|
|
76
74
|
### 4. Carregar contexto
|
|
77
75
|
- PRD.md ou TRD.md completo
|
|
78
|
-
- `docs
|
|
79
|
-
-
|
|
76
|
+
- `docs/` (agora já populado, mesmo no setup)
|
|
77
|
+
- `.claude/rules.md`
|
|
80
78
|
- Template `sdd.template.md`
|
|
81
79
|
|
|
82
80
|
### 5. Gerar SDD
|
|
@@ -96,8 +94,9 @@ Nunca juntar serviços que o TRD definiu como distintos.
|
|
|
96
94
|
**Setup**: §4-§8 podem ser N/A (normal).
|
|
97
95
|
**Feature**: todas seções aplicáveis preenchidas.
|
|
98
96
|
|
|
99
|
-
### 6.
|
|
100
|
-
Após gerar SDD §2,
|
|
97
|
+
### 6. Complementar decisions.md (setup — complemento do passo 3)
|
|
98
|
+
Após gerar SDD §2, popular `decisions.md` com as decisões iniciais de arquitetura
|
|
99
|
+
(stack principal, padrões de design, trade-offs significativos).
|
|
101
100
|
|
|
102
101
|
### 7. Atualizar `.context.md`
|
|
103
102
|
```yaml
|
|
@@ -70,7 +70,16 @@ Ler o perfil do agente em `.claude/agents/` antes de implementar.
|
|
|
70
70
|
║ VALIDAÇÃO POR FEATURE ║
|
|
71
71
|
║ 1. Rodar E2E (SDD §9.3 CAs) ║
|
|
72
72
|
║ → Falhou? Identificar → fix → loop (max 3)║
|
|
73
|
-
║ 2. Tudo passou? →
|
|
73
|
+
║ 2. Tudo passou? → prosseguir ║
|
|
74
|
+
╚═══════════════════════════════════════════════╝
|
|
75
|
+
↓ (E2E aprovado, só features)
|
|
76
|
+
╔═══════════════════════════════════════════════╗
|
|
77
|
+
║ MERGE-DELTA (automático, só features) ║
|
|
78
|
+
║ 1. Ler SDD §11 (Delta Specs) ║
|
|
79
|
+
║ 2. Aplicar ADDED/MODIFIED/REMOVED em ║
|
|
80
|
+
║ docs/ ║
|
|
81
|
+
║ 3. Registrar changelog em cada doc alterado ║
|
|
82
|
+
║ 4. dev_done ✅ ║
|
|
74
83
|
╚═══════════════════════════════════════════════╝
|
|
75
84
|
```
|
|
76
85
|
|
|
@@ -160,8 +169,21 @@ git branch -d feature/{nome}_fase{N}
|
|
|
160
169
|
git remote prune origin
|
|
161
170
|
```
|
|
162
171
|
|
|
172
|
+
## Merge-Delta automático (só features)
|
|
173
|
+
|
|
174
|
+
Após E2E aprovado, SE `.context.md` tipo = `feature`:
|
|
175
|
+
1. Ler SDD §11 (seção Delta Specs: ADDED/MODIFIED/REMOVED)
|
|
176
|
+
2. Para cada delta, mapear para o doc de `docs/` correspondente
|
|
177
|
+
3. Aplicar as mudanças (adicionar, modificar ou remover seções)
|
|
178
|
+
4. Registrar changelog em cada doc alterado: `| {{DATA}} | {{NOME}} | {{TIPO}} | {{DESCRIÇÃO}} |`
|
|
179
|
+
5. Validar consistência cross-doc (ex: endpoint no apiContracts.md referencia tabela no domain.md)
|
|
180
|
+
|
|
181
|
+
Se tipo = `setup` → pular (docs/ já foi criado pelo /design).
|
|
182
|
+
|
|
183
|
+
> O `/merge-delta` continua existindo como command atômico para re-execução manual se necessário.
|
|
184
|
+
|
|
163
185
|
## Atualizar `.context.md`
|
|
164
186
|
```yaml
|
|
165
187
|
status: "dev_in_progress" # durante
|
|
166
|
-
status: "dev_done" # ao final (todas fases mergeadas)
|
|
188
|
+
status: "dev_done" # ao final (todas fases mergeadas + merge-delta aplicado)
|
|
167
189
|
```
|