spec-first-claude 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.
- package/README.md +144 -147
- package/bin/cli.js +52 -52
- package/lib/init.js +89 -93
- package/package.json +24 -23
- package/templates/.ai/memory/napkin.md +68 -68
- package/templates/.claude/agents/backend-coder.md +215 -215
- package/templates/.claude/agents/db-coder.md +165 -165
- package/templates/.claude/agents/doc-writer.md +51 -51
- package/templates/.claude/agents/frontend-coder.md +222 -222
- package/templates/.claude/agents/infra-coder.md +341 -341
- package/templates/.claude/agents/reviewer.md +99 -99
- package/templates/.claude/agents/security-reviewer.md +153 -153
- package/templates/.claude/commands/design.md +107 -107
- package/templates/.claude/commands/dev.md +189 -167
- package/templates/.claude/commands/extract.md +137 -137
- package/templates/.claude/commands/feature.md +60 -60
- package/templates/.claude/commands/merge-delta.md +70 -70
- package/templates/.claude/commands/plan.md +86 -86
- package/templates/.claude/commands/{pausar.md → session-finish.md} +83 -83
- package/templates/.claude/commands/setup-projeto.md +68 -68
- package/templates/.claude/settings.local.json +6 -6
- package/templates/CLAUDE.md +198 -199
- package/templates/docs/Desenvolvimento/rules.md +229 -229
- package/templates/docs/_templates/estrutura/ADRs.template.md +91 -91
- package/templates/docs/_templates/estrutura/API.template.md +144 -144
- package/templates/docs/_templates/estrutura/Arquitetura.template.md +82 -82
- package/templates/docs/_templates/estrutura/Infraestrutura.template.md +104 -104
- package/templates/docs/_templates/estrutura/Modelo_Dados.template.md +99 -99
- package/templates/docs/_templates/estrutura/Seguranca.template.md +138 -138
- package/templates/docs/_templates/estrutura/Stack.template.md +78 -78
- package/templates/docs/_templates/estrutura/Visao.template.md +82 -82
- package/templates/docs/_templates/feature/Progresso.template.md +136 -136
- package/templates/docs/_templates/feature/backlog-extraido.template.md +154 -154
- package/templates/docs/_templates/feature/context.template.md +42 -42
- package/templates/docs/_templates/feature/extract-log.template.md +38 -38
- package/templates/docs/_templates/feature/projetos.template.yaml +73 -73
- package/templates/docs/_templates/global/progresso_global.template.md +57 -57
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
# /plan $ARGUMENTS
|
|
2
|
-
|
|
3
|
-
Skill atômica de planejamento. Lê SDD e gera tasks por área + Progresso.
|
|
4
|
-
$ARGUMENTS = nome (ex: setup_projeto, feat_cadastro_cliente)
|
|
5
|
-
|
|
6
|
-
## Agente: Planner (Opus)
|
|
7
|
-
Metódico e exaustivo. Cada task auto-contida. Prioriza ordem correta.
|
|
8
|
-
|
|
9
|
-
## Pré-condições
|
|
10
|
-
|
|
11
|
-
| # | Validação | Se falhar |
|
|
12
|
-
|---|-----------|-----------|
|
|
13
|
-
| 1 | $ARGUMENTS informado | Parar |
|
|
14
|
-
| 2 | `.context.md` com status `design_done` | Se anterior → "/design primeiro". Se posterior → "Tasks já geradas" |
|
|
15
|
-
| 3 | `sdd.md` existe | Parar → "/design primeiro" |
|
|
16
|
-
|
|
17
|
-
## Passos
|
|
18
|
-
|
|
19
|
-
### 1. Ler contexto
|
|
20
|
-
- SDD completo + `projetos.yaml` + `docs/Estrutura/` + `rules.md`
|
|
21
|
-
- Template `tasks.template.md` + `Progresso.template.md`
|
|
22
|
-
|
|
23
|
-
### 2. Identificar fases de entrega
|
|
24
|
-
Ler PRD §11 (Fases de Entrega) — cada fase vira um agrupamento de tasks:
|
|
25
|
-
- Fases são sequenciais: Fase 2 depende de Fase 1 concluída
|
|
26
|
-
- Cada fase tem entregável e critério de done
|
|
27
|
-
- O `/dev` pode rodar por fase: `/dev feat_nome --fase 1`
|
|
28
|
-
|
|
29
|
-
### 3. Identificar áreas (por fase)
|
|
30
|
-
|
|
31
|
-
| Seção SDD | Área |
|
|
32
|
-
|-----------|------|
|
|
33
|
-
| §3 Modelo de dados | BANCO |
|
|
34
|
-
| §5 Endpoints API | BACK |
|
|
35
|
-
| §6 Componentes/Telas | FRONT |
|
|
36
|
-
| §8 Integrações | INFRA |
|
|
37
|
-
| Outras | MOBILE, DEVOPS, etc. conforme SDD |
|
|
38
|
-
|
|
39
|
-
> **Nota**: Área DOC NÃO existe mais no setup. docs/Estrutura/ é gerado pelo /design (passo 3).
|
|
40
|
-
> DOC só aparece em features se houver necessidade explícita de documentação adicional.
|
|
41
|
-
|
|
42
|
-
Áreas são DINÂMICAS — só criar as que o SDD exige.
|
|
43
|
-
|
|
44
|
-
**Área INFRA obrigatória no setup:**
|
|
45
|
-
Sempre gerar estas tasks no setup (antes de qualquer código):
|
|
46
|
-
```
|
|
47
|
-
- [ ] INFRA-001: Validar e configurar ambiente local [M]
|
|
48
|
-
(detectar OS, instalar Docker/.NET/Node, verificar portas)
|
|
49
|
-
- [ ] INFRA-002: Criar docker-compose.yml + Dockerfiles [M]
|
|
50
|
-
- [ ] INFRA-003: Hello world — subir stack completa e validar [M]
|
|
51
|
-
(docker compose up, migrations, health check, frontend carrega)
|
|
52
|
-
```
|
|
53
|
-
INFRA-001 é a PRIMEIRA task executada no /dev do setup (antes de BANCO, BACK, FRONT).
|
|
54
|
-
INFRA-003 é a ÚLTIMA task (após tudo, como validação final).
|
|
55
|
-
Setup só é `done` quando INFRA-003 passa.
|
|
56
|
-
|
|
57
|
-
### 4. Gerar tasks por fase × área
|
|
58
|
-
Para cada área → `{area}_tasks.md`, agrupadas por fase de entrega:
|
|
59
|
-
```markdown
|
|
60
|
-
- [ ] **AREA-NNN**: Título [Tamanho]
|
|
61
|
-
- Fase: {{N}} — {{Nome da fase de entrega}}
|
|
62
|
-
- Repo: `{{repo_name}}` (de projetos.yaml)
|
|
63
|
-
- Arquivos: `caminho/arquivo.ext` (relativo à raiz do repo)
|
|
64
|
-
- Testes: `caminho/teste.ext`
|
|
65
|
-
- SDD: §N.N — Referência específica
|
|
66
|
-
- Depende: AREA-NNN (ou —)
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Regras:
|
|
70
|
-
- **Repo obrigatório** — consultar `projetos.yaml` para mapear área → repo. Caminhos relativos ao repo
|
|
71
|
-
- Tamanhos: S (<30min), M (30min-2h), L (2h+). L → avaliar se quebra em M+S
|
|
72
|
-
- IDs sequenciais por área, nunca reutilizar
|
|
73
|
-
- Dependências cross-area permitidas
|
|
74
|
-
- Fases sequenciais: P1 (bloqueia), P2 (importante), P3 (nice-to-have)
|
|
75
|
-
- Cada task inclui campo Testes (arquivo de teste correspondente)
|
|
76
|
-
|
|
77
|
-
### 5. Gerar Progresso.md (por fase de entrega)
|
|
78
|
-
- Resumo Área × Fase com contagem
|
|
79
|
-
- Ordem de execução com paralelismos
|
|
80
|
-
- Checklist pós-conclusão
|
|
81
|
-
|
|
82
|
-
### 6. Atualizar progresso global + `.context.md`
|
|
83
|
-
```yaml
|
|
84
|
-
status: "plan_done"
|
|
85
|
-
ultima_skill: "/plan"
|
|
86
|
-
```
|
|
1
|
+
# /plan $ARGUMENTS
|
|
2
|
+
|
|
3
|
+
Skill atômica de planejamento. Lê SDD e gera tasks por área + Progresso.
|
|
4
|
+
$ARGUMENTS = nome (ex: setup_projeto, feat_cadastro_cliente)
|
|
5
|
+
|
|
6
|
+
## Agente: Planner (Opus)
|
|
7
|
+
Metódico e exaustivo. Cada task auto-contida. Prioriza ordem correta.
|
|
8
|
+
|
|
9
|
+
## Pré-condições
|
|
10
|
+
|
|
11
|
+
| # | Validação | Se falhar |
|
|
12
|
+
|---|-----------|-----------|
|
|
13
|
+
| 1 | $ARGUMENTS informado | Parar |
|
|
14
|
+
| 2 | `.context.md` com status `design_done` | Se anterior → "/design primeiro". Se posterior → "Tasks já geradas" |
|
|
15
|
+
| 3 | `sdd.md` existe | Parar → "/design primeiro" |
|
|
16
|
+
|
|
17
|
+
## Passos
|
|
18
|
+
|
|
19
|
+
### 1. Ler contexto
|
|
20
|
+
- SDD completo + `projetos.yaml` + `docs/Estrutura/` + `rules.md`
|
|
21
|
+
- Template `tasks.template.md` + `Progresso.template.md`
|
|
22
|
+
|
|
23
|
+
### 2. Identificar fases de entrega
|
|
24
|
+
Ler PRD §11 (Fases de Entrega) — cada fase vira um agrupamento de tasks:
|
|
25
|
+
- Fases são sequenciais: Fase 2 depende de Fase 1 concluída
|
|
26
|
+
- Cada fase tem entregável e critério de done
|
|
27
|
+
- O `/dev` pode rodar por fase: `/dev feat_nome --fase 1`
|
|
28
|
+
|
|
29
|
+
### 3. Identificar áreas (por fase)
|
|
30
|
+
|
|
31
|
+
| Seção SDD | Área |
|
|
32
|
+
|-----------|------|
|
|
33
|
+
| §3 Modelo de dados | BANCO |
|
|
34
|
+
| §5 Endpoints API | BACK |
|
|
35
|
+
| §6 Componentes/Telas | FRONT |
|
|
36
|
+
| §8 Integrações | INFRA |
|
|
37
|
+
| Outras | MOBILE, DEVOPS, etc. conforme SDD |
|
|
38
|
+
|
|
39
|
+
> **Nota**: Área DOC NÃO existe mais no setup. docs/Estrutura/ é gerado pelo /design (passo 3).
|
|
40
|
+
> DOC só aparece em features se houver necessidade explícita de documentação adicional.
|
|
41
|
+
|
|
42
|
+
Áreas são DINÂMICAS — só criar as que o SDD exige.
|
|
43
|
+
|
|
44
|
+
**Área INFRA obrigatória no setup:**
|
|
45
|
+
Sempre gerar estas tasks no setup (antes de qualquer código):
|
|
46
|
+
```
|
|
47
|
+
- [ ] INFRA-001: Validar e configurar ambiente local [M]
|
|
48
|
+
(detectar OS, instalar Docker/.NET/Node, verificar portas)
|
|
49
|
+
- [ ] INFRA-002: Criar docker-compose.yml + Dockerfiles [M]
|
|
50
|
+
- [ ] INFRA-003: Hello world — subir stack completa e validar [M]
|
|
51
|
+
(docker compose up, migrations, health check, frontend carrega)
|
|
52
|
+
```
|
|
53
|
+
INFRA-001 é a PRIMEIRA task executada no /dev do setup (antes de BANCO, BACK, FRONT).
|
|
54
|
+
INFRA-003 é a ÚLTIMA task (após tudo, como validação final).
|
|
55
|
+
Setup só é `done` quando INFRA-003 passa.
|
|
56
|
+
|
|
57
|
+
### 4. Gerar tasks por fase × área
|
|
58
|
+
Para cada área → `{area}_tasks.md`, agrupadas por fase de entrega:
|
|
59
|
+
```markdown
|
|
60
|
+
- [ ] **AREA-NNN**: Título [Tamanho]
|
|
61
|
+
- Fase: {{N}} — {{Nome da fase de entrega}}
|
|
62
|
+
- Repo: `{{repo_name}}` (de projetos.yaml)
|
|
63
|
+
- Arquivos: `caminho/arquivo.ext` (relativo à raiz do repo)
|
|
64
|
+
- Testes: `caminho/teste.ext`
|
|
65
|
+
- SDD: §N.N — Referência específica
|
|
66
|
+
- Depende: AREA-NNN (ou —)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Regras:
|
|
70
|
+
- **Repo obrigatório** — consultar `projetos.yaml` para mapear área → repo. Caminhos relativos ao repo
|
|
71
|
+
- Tamanhos: S (<30min), M (30min-2h), L (2h+). L → avaliar se quebra em M+S
|
|
72
|
+
- IDs sequenciais por área, nunca reutilizar
|
|
73
|
+
- Dependências cross-area permitidas
|
|
74
|
+
- Fases sequenciais: P1 (bloqueia), P2 (importante), P3 (nice-to-have)
|
|
75
|
+
- Cada task inclui campo Testes (arquivo de teste correspondente)
|
|
76
|
+
|
|
77
|
+
### 5. Gerar Progresso.md (por fase de entrega)
|
|
78
|
+
- Resumo Área × Fase com contagem
|
|
79
|
+
- Ordem de execução com paralelismos
|
|
80
|
+
- Checklist pós-conclusão
|
|
81
|
+
|
|
82
|
+
### 6. Atualizar progresso global + `.context.md`
|
|
83
|
+
```yaml
|
|
84
|
+
status: "plan_done"
|
|
85
|
+
ultima_skill: "/plan"
|
|
86
|
+
```
|
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
# /
|
|
2
|
-
|
|
3
|
-
Encerra a sessão de trabalho de forma organizada.
|
|
4
|
-
Consolida estado, atualiza memória, gera ponto de retomada para a próxima sessão.
|
|
5
|
-
|
|
6
|
-
## Passos
|
|
7
|
-
|
|
8
|
-
### 1. Levantar estado atual
|
|
9
|
-
|
|
10
|
-
Para cada `.context.md` em `docs/Desenvolvimento/*/`:
|
|
11
|
-
- Status atual + Progresso.md (% concluído, fase atual)
|
|
12
|
-
- Tasks em andamento
|
|
13
|
-
|
|
14
|
-
### 2. Verificar working tree dos repos
|
|
15
|
-
|
|
16
|
-
Para cada repo em `projetos/`:
|
|
17
|
-
```bash
|
|
18
|
-
cd projetos/{repo}
|
|
19
|
-
git status --short
|
|
20
|
-
git log --oneline -3
|
|
21
|
-
```
|
|
22
|
-
- Se working tree sujo → avisar (sugerir commit antes de pausar)
|
|
23
|
-
|
|
24
|
-
### 3. Atualizar `.ai/memory/napkin.md`
|
|
25
|
-
|
|
26
|
-
Atualizar seção `## Sessão Atual` com:
|
|
27
|
-
- Data, o que foi feito, o que estava em andamento
|
|
28
|
-
- Decisões tomadas, armadilhas encontradas
|
|
29
|
-
|
|
30
|
-
### 4. Gerar resumo de retomada
|
|
31
|
-
|
|
32
|
-
Criar/atualizar `docs/Desenvolvimento/retomada.md`:
|
|
33
|
-
|
|
34
|
-
```markdown
|
|
35
|
-
# Ponto de Retomada — {{DATA}}
|
|
36
|
-
|
|
37
|
-
> Gerado pelo /
|
|
38
|
-
|
|
39
|
-
## Estado geral
|
|
40
|
-
|
|
41
|
-
| Feature/Setup | Status | Fase atual | % | Próxima ação |
|
|
42
|
-
|---------------|--------|------------|---|-------------|
|
|
43
|
-
| {{nome}} | {{status}} | Fase {{N}} | {{%}} | {{ação}} |
|
|
44
|
-
|
|
45
|
-
## Repos — estado do git
|
|
46
|
-
|
|
47
|
-
| Repo | Branch ativa | Working tree | Último commit |
|
|
48
|
-
|------|-------------|-------------|---------------|
|
|
49
|
-
| {{repo}} | {{branch}} | limpo/sujo | {{commit msg}} |
|
|
50
|
-
|
|
51
|
-
## O que estava em andamento
|
|
52
|
-
|
|
53
|
-
- Task: {{AREA-NNN}} — {{descrição}}
|
|
54
|
-
- Bloqueios: {{se houver}}
|
|
55
|
-
- Decisões pendentes: {{se houver}}
|
|
56
|
-
|
|
57
|
-
## Para retomar
|
|
58
|
-
|
|
59
|
-
1. {{Passo 1 — ex: "Subir infra: docker compose up -d"}}
|
|
60
|
-
2. {{Passo 2 — ex: "Continuar /dev feat_mvp --fase 2"}}
|
|
61
|
-
3. {{Passo 3 — ex: "Resolver ambiguidade X do PRD"}}
|
|
62
|
-
|
|
63
|
-
## Aprendizados desta sessão
|
|
64
|
-
|
|
65
|
-
- {{Decisão ou armadilha que vale registrar}}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### 5. Informar ao usuário
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
✅ Sessão encerrada. Estado salvo em:
|
|
72
|
-
- `.ai/memory/napkin.md` — memória atualizada
|
|
73
|
-
- `docs/Desenvolvimento/retomada.md` — ponto de retomada
|
|
74
|
-
|
|
75
|
-
Para retomar:
|
|
76
|
-
1. Ler retomada.md
|
|
77
|
-
2. Seguir os passos listados
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Notas
|
|
81
|
-
- Não modifica .context.md (status da pipeline não muda)
|
|
82
|
-
- Não faz commit automático — avisa se working tree sujo
|
|
83
|
-
- `retomada.md` é sobrescrito a cada /
|
|
1
|
+
# /session-finish
|
|
2
|
+
|
|
3
|
+
Encerra a sessão de trabalho de forma organizada.
|
|
4
|
+
Consolida estado, atualiza memória, gera ponto de retomada para a próxima sessão.
|
|
5
|
+
|
|
6
|
+
## Passos
|
|
7
|
+
|
|
8
|
+
### 1. Levantar estado atual
|
|
9
|
+
|
|
10
|
+
Para cada `.context.md` em `docs/Desenvolvimento/*/`:
|
|
11
|
+
- Status atual + Progresso.md (% concluído, fase atual)
|
|
12
|
+
- Tasks em andamento
|
|
13
|
+
|
|
14
|
+
### 2. Verificar working tree dos repos
|
|
15
|
+
|
|
16
|
+
Para cada repo em `projetos/`:
|
|
17
|
+
```bash
|
|
18
|
+
cd projetos/{repo}
|
|
19
|
+
git status --short
|
|
20
|
+
git log --oneline -3
|
|
21
|
+
```
|
|
22
|
+
- Se working tree sujo → avisar (sugerir commit antes de pausar)
|
|
23
|
+
|
|
24
|
+
### 3. Atualizar `.ai/memory/napkin.md`
|
|
25
|
+
|
|
26
|
+
Atualizar seção `## Sessão Atual` com:
|
|
27
|
+
- Data, o que foi feito, o que estava em andamento
|
|
28
|
+
- Decisões tomadas, armadilhas encontradas
|
|
29
|
+
|
|
30
|
+
### 4. Gerar resumo de retomada
|
|
31
|
+
|
|
32
|
+
Criar/atualizar `docs/Desenvolvimento/retomada.md`:
|
|
33
|
+
|
|
34
|
+
```markdown
|
|
35
|
+
# Ponto de Retomada — {{DATA}}
|
|
36
|
+
|
|
37
|
+
> Gerado pelo /session-finish. Leia este arquivo ao iniciar a próxima sessão.
|
|
38
|
+
|
|
39
|
+
## Estado geral
|
|
40
|
+
|
|
41
|
+
| Feature/Setup | Status | Fase atual | % | Próxima ação |
|
|
42
|
+
|---------------|--------|------------|---|-------------|
|
|
43
|
+
| {{nome}} | {{status}} | Fase {{N}} | {{%}} | {{ação}} |
|
|
44
|
+
|
|
45
|
+
## Repos — estado do git
|
|
46
|
+
|
|
47
|
+
| Repo | Branch ativa | Working tree | Último commit |
|
|
48
|
+
|------|-------------|-------------|---------------|
|
|
49
|
+
| {{repo}} | {{branch}} | limpo/sujo | {{commit msg}} |
|
|
50
|
+
|
|
51
|
+
## O que estava em andamento
|
|
52
|
+
|
|
53
|
+
- Task: {{AREA-NNN}} — {{descrição}}
|
|
54
|
+
- Bloqueios: {{se houver}}
|
|
55
|
+
- Decisões pendentes: {{se houver}}
|
|
56
|
+
|
|
57
|
+
## Para retomar
|
|
58
|
+
|
|
59
|
+
1. {{Passo 1 — ex: "Subir infra: docker compose up -d"}}
|
|
60
|
+
2. {{Passo 2 — ex: "Continuar /dev feat_mvp --fase 2"}}
|
|
61
|
+
3. {{Passo 3 — ex: "Resolver ambiguidade X do PRD"}}
|
|
62
|
+
|
|
63
|
+
## Aprendizados desta sessão
|
|
64
|
+
|
|
65
|
+
- {{Decisão ou armadilha que vale registrar}}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 5. Informar ao usuário
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
✅ Sessão encerrada. Estado salvo em:
|
|
72
|
+
- `.ai/memory/napkin.md` — memória atualizada
|
|
73
|
+
- `docs/Desenvolvimento/retomada.md` — ponto de retomada
|
|
74
|
+
|
|
75
|
+
Para retomar:
|
|
76
|
+
1. Ler retomada.md
|
|
77
|
+
2. Seguir os passos listados
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Notas
|
|
81
|
+
- Não modifica .context.md (status da pipeline não muda)
|
|
82
|
+
- Não faz commit automático — avisa se working tree sujo
|
|
83
|
+
- `retomada.md` é sobrescrito a cada /session-finish (ponto atual, não histórico)
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
# /setup-projeto
|
|
2
|
-
|
|
3
|
-
Orquestrador de bootstrap do projeto. Executa uma única vez.
|
|
4
|
-
Cria contexto TRD, chama /extract e para no checkpoint de aprovação.
|
|
5
|
-
|
|
6
|
-
## Execução
|
|
7
|
-
|
|
8
|
-
Siga EXATAMENTE os passos da skill em ordem. Leia o arquivo completo antes de agir.
|
|
9
|
-
|
|
10
|
-
### Pré-condições — validar TODAS antes de prosseguir
|
|
11
|
-
|
|
12
|
-
| # | Validação | Se falhar |
|
|
13
|
-
|---|-----------|-----------|
|
|
14
|
-
| 1 | `docs/PM/setup_projeto/` existe | Parar → "Crie a pasta docs/PM/setup_projeto/ e adicione seus insumos" |
|
|
15
|
-
| 2 | Pasta contém pelo menos 1 arquivo (ignorar .gitkeep) | Parar → "Adicione insumos na pasta (aceitos: .md, .txt, .sql, .xml, .html, .json, .csv, .png, .jpg, .pdf — qualquer formato)" |
|
|
16
|
-
| 3 | `docs/Estrutura/` está vazio ou contém apenas .gitkeep | Parar → "Setup já foi executado. Use /feature para novas funcionalidades" |
|
|
17
|
-
| 4 | `docs/Desenvolvimento/setup_projeto/.context.md` não existe ou status é `not_started` | Parar → "Setup já está em andamento. Verifique o status em .context.md" |
|
|
18
|
-
|
|
19
|
-
### Passos
|
|
20
|
-
|
|
21
|
-
1. Criar `docs/Desenvolvimento/setup_projeto/` se não existir
|
|
22
|
-
|
|
23
|
-
2. Criar `.context.md`:
|
|
24
|
-
```yaml
|
|
25
|
-
---
|
|
26
|
-
nome: "setup_projeto"
|
|
27
|
-
tipo: "setup"
|
|
28
|
-
documento: "TRD"
|
|
29
|
-
pm_path: "docs/PM/setup_projeto/"
|
|
30
|
-
status: "not_started"
|
|
31
|
-
ultima_skill: "/setup-projeto"
|
|
32
|
-
atualizado_em: "{{ISO_DATETIME}}"
|
|
33
|
-
---
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
3. Sugerir /sf-discovery (RECOMENDADO):
|
|
37
|
-
```
|
|
38
|
-
📋 Recomendo rodar /sf-discovery antes da extração para análise profunda dos insumos.
|
|
39
|
-
Quer rodar /sf-discovery docs/PM/setup_projeto/ agora? (s/n)
|
|
40
|
-
```
|
|
41
|
-
Se SIM → rodar discovery, salvar discovery.md em docs/Desenvolvimento/setup_projeto/
|
|
42
|
-
Se NÃO → pular direto para extract
|
|
43
|
-
|
|
44
|
-
4. Executar /extract setup_projeto (seguir o command /extract)
|
|
45
|
-
|
|
46
|
-
5. CHECKPOINT — Parar e informar:
|
|
47
|
-
```
|
|
48
|
-
✅ TRD gerado em docs/Desenvolvimento/setup_projeto/TRD.md
|
|
49
|
-
|
|
50
|
-
Revise o documento. Quando estiver satisfeito, execute:
|
|
51
|
-
/design setup_projeto
|
|
52
|
-
|
|
53
|
-
Se precisar adicionar mais insumos, coloque na pasta docs/PM/setup_projeto/
|
|
54
|
-
e execute:
|
|
55
|
-
/extract setup_projeto
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
**O orquestrador encerra aqui.** Próximos passos do usuário:
|
|
59
|
-
1. `/design setup_projeto` (pergunta aprovação → gera SDD + docs/Estrutura/ + projetos.yaml)
|
|
60
|
-
2. `/plan setup_projeto` (gera tasks com campo Repo por task)
|
|
61
|
-
3. `/dev setup_projeto` (INFRA-001 cria/clona repos em projetos/, executa tasks nos repos corretos)
|
|
62
|
-
|
|
63
|
-
### Notas
|
|
64
|
-
- Esta skill roda UMA ÚNICA VEZ por projeto
|
|
65
|
-
- docs/Estrutura/ é gerado pelo /design (passo 3), não por tasks DOC
|
|
66
|
-
- `projetos.yaml` é gerado pelo /design (passo 3b) — mapeia serviços para repos
|
|
67
|
-
- Repos são criados/clonados pelo /dev (INFRA-001) dentro de `projetos/`
|
|
68
|
-
- /merge-delta NÃO se aplica ao setup (é criação, não atualização)
|
|
1
|
+
# /setup-projeto
|
|
2
|
+
|
|
3
|
+
Orquestrador de bootstrap do projeto. Executa uma única vez.
|
|
4
|
+
Cria contexto TRD, chama /extract e para no checkpoint de aprovação.
|
|
5
|
+
|
|
6
|
+
## Execução
|
|
7
|
+
|
|
8
|
+
Siga EXATAMENTE os passos da skill em ordem. Leia o arquivo completo antes de agir.
|
|
9
|
+
|
|
10
|
+
### Pré-condições — validar TODAS antes de prosseguir
|
|
11
|
+
|
|
12
|
+
| # | Validação | Se falhar |
|
|
13
|
+
|---|-----------|-----------|
|
|
14
|
+
| 1 | `docs/PM/setup_projeto/` existe | Parar → "Crie a pasta docs/PM/setup_projeto/ e adicione seus insumos" |
|
|
15
|
+
| 2 | Pasta contém pelo menos 1 arquivo (ignorar .gitkeep) | Parar → "Adicione insumos na pasta (aceitos: .md, .txt, .sql, .xml, .html, .json, .csv, .png, .jpg, .pdf — qualquer formato)" |
|
|
16
|
+
| 3 | `docs/Estrutura/` está vazio ou contém apenas .gitkeep | Parar → "Setup já foi executado. Use /feature para novas funcionalidades" |
|
|
17
|
+
| 4 | `docs/Desenvolvimento/setup_projeto/.context.md` não existe ou status é `not_started` | Parar → "Setup já está em andamento. Verifique o status em .context.md" |
|
|
18
|
+
|
|
19
|
+
### Passos
|
|
20
|
+
|
|
21
|
+
1. Criar `docs/Desenvolvimento/setup_projeto/` se não existir
|
|
22
|
+
|
|
23
|
+
2. Criar `.context.md`:
|
|
24
|
+
```yaml
|
|
25
|
+
---
|
|
26
|
+
nome: "setup_projeto"
|
|
27
|
+
tipo: "setup"
|
|
28
|
+
documento: "TRD"
|
|
29
|
+
pm_path: "docs/PM/setup_projeto/"
|
|
30
|
+
status: "not_started"
|
|
31
|
+
ultima_skill: "/setup-projeto"
|
|
32
|
+
atualizado_em: "{{ISO_DATETIME}}"
|
|
33
|
+
---
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
3. Sugerir /sf-discovery (RECOMENDADO):
|
|
37
|
+
```
|
|
38
|
+
📋 Recomendo rodar /sf-discovery antes da extração para análise profunda dos insumos.
|
|
39
|
+
Quer rodar /sf-discovery docs/PM/setup_projeto/ agora? (s/n)
|
|
40
|
+
```
|
|
41
|
+
Se SIM → rodar discovery, salvar discovery.md em docs/Desenvolvimento/setup_projeto/
|
|
42
|
+
Se NÃO → pular direto para extract
|
|
43
|
+
|
|
44
|
+
4. Executar /extract setup_projeto (seguir o command /extract)
|
|
45
|
+
|
|
46
|
+
5. CHECKPOINT — Parar e informar:
|
|
47
|
+
```
|
|
48
|
+
✅ TRD gerado em docs/Desenvolvimento/setup_projeto/TRD.md
|
|
49
|
+
|
|
50
|
+
Revise o documento. Quando estiver satisfeito, execute:
|
|
51
|
+
/design setup_projeto
|
|
52
|
+
|
|
53
|
+
Se precisar adicionar mais insumos, coloque na pasta docs/PM/setup_projeto/
|
|
54
|
+
e execute:
|
|
55
|
+
/extract setup_projeto
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**O orquestrador encerra aqui.** Próximos passos do usuário:
|
|
59
|
+
1. `/design setup_projeto` (pergunta aprovação → gera SDD + docs/Estrutura/ + projetos.yaml)
|
|
60
|
+
2. `/plan setup_projeto` (gera tasks com campo Repo por task)
|
|
61
|
+
3. `/dev setup_projeto` (INFRA-001 cria/clona repos em projetos/, executa tasks nos repos corretos)
|
|
62
|
+
|
|
63
|
+
### Notas
|
|
64
|
+
- Esta skill roda UMA ÚNICA VEZ por projeto
|
|
65
|
+
- docs/Estrutura/ é gerado pelo /design (passo 3), não por tasks DOC
|
|
66
|
+
- `projetos.yaml` é gerado pelo /design (passo 3b) — mapeia serviços para repos
|
|
67
|
+
- Repos são criados/clonados pelo /dev (INFRA-001) dentro de `projetos/`
|
|
68
|
+
- /merge-delta NÃO se aplica ao setup (é criação, não atualização)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
{
|
|
2
|
-
"enabledMcpjsonServers": [
|
|
3
|
-
"supabase"
|
|
4
|
-
],
|
|
5
|
-
"enableAllProjectMcpServers": true
|
|
6
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"enabledMcpjsonServers": [
|
|
3
|
+
"supabase"
|
|
4
|
+
],
|
|
5
|
+
"enableAllProjectMcpServers": true
|
|
6
|
+
}
|