up-cc 0.5.2 → 0.6.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/agents/up-execution-supervisor.md +36 -1
- package/agents/up-planejador.md +6 -6
- package/agents/up-planning-auditor.md +284 -0
- package/commands/build.md +99 -0
- package/commands/plan.md +91 -0
- package/package.json +1 -1
- package/templates/audit-plan.md +139 -0
- package/templates/builder-defaults.md +9 -20
- package/templates/plan-ready.md +137 -0
- package/workflows/build.md +373 -0
- package/workflows/builder.md +31 -59
- package/workflows/plan.md +378 -0
|
@@ -157,9 +157,44 @@ Mudancas requeridas:
|
|
|
157
157
|
→ Implementar endpoint DELETE /api/users/:id
|
|
158
158
|
```
|
|
159
159
|
|
|
160
|
+
### REQUEST_REPLAN (NOVO v0.6.0)
|
|
161
|
+
|
|
162
|
+
**Quando usar:** O plano em si esta inviavel, nao apenas mal executado.
|
|
163
|
+
|
|
164
|
+
**Exemplos:**
|
|
165
|
+
- Biblioteca especificada no plano foi descontinuada
|
|
166
|
+
- API externa mudou e quebrou as integracoes planejadas
|
|
167
|
+
- Schema do plano contradiz schema atual do banco (em brownfield)
|
|
168
|
+
- Stack escolhida nao e compativel com algo descoberto durante execucao
|
|
169
|
+
- Decisao arquitetural do plano e inviavel na pratica
|
|
170
|
+
|
|
171
|
+
**Como funciona:**
|
|
172
|
+
1. Voce decide REQUEST_REPLAN com razao especifica
|
|
173
|
+
2. Orquestrador verifica `.plano/governance/replans.log`
|
|
174
|
+
3. Se < 2 replans: planejador LOCAL refaz a fase
|
|
175
|
+
4. Plano antigo vira `-PLAN-v1.md`, novo vira `-PLAN.md`
|
|
176
|
+
5. Planning-supervisor LOCAL revisa novo plano
|
|
177
|
+
6. Voce (execution-supervisor) re-revisa execucao com novo plano
|
|
178
|
+
7. Se >= 2 replans atingido: ESCALATE pro chief-engineer
|
|
179
|
+
|
|
180
|
+
**Limite:** Max 2 re-plans por PROJETO inteiro. Apos isso, ESCALATE obrigatorio.
|
|
181
|
+
|
|
182
|
+
**Importante:** REQUEST_REPLAN e diferente de REQUEST_CHANGES.
|
|
183
|
+
- REQUEST_CHANGES: o codigo precisa mudar
|
|
184
|
+
- REQUEST_REPLAN: o plano precisa ser refeito porque esta errado
|
|
185
|
+
|
|
186
|
+
**Formato:**
|
|
187
|
+
```
|
|
188
|
+
Decisao: REQUEST_REPLAN
|
|
189
|
+
Fase: {N}
|
|
190
|
+
Razao: [explicacao detalhada do por que o plano esta inviavel]
|
|
191
|
+
Acao sugerida ao planejador: [como o novo plano deveria ser]
|
|
192
|
+
```
|
|
193
|
+
|
|
160
194
|
### ESCALATE
|
|
161
|
-
- Problema arquitetural (deve voltar pro
|
|
195
|
+
- Problema arquitetural (deve voltar pro chief-engineer)
|
|
162
196
|
- Rework cycle = 3 sem melhoria
|
|
197
|
+
- Re-plan cycle = 2 sem resolver
|
|
163
198
|
- Inconsistencia entre fases (chief-engineer)
|
|
164
199
|
|
|
165
200
|
## Passo 5: Gerar Review Report
|
package/agents/up-planejador.md
CHANGED
|
@@ -22,13 +22,13 @@ Se o prompt contem um bloco `<files_to_read>`, voce DEVE usar a ferramenta `Read
|
|
|
22
22
|
- **Research inline:** Se o dominio for desconhecido, pesquisar usando WebFetch/Context7 DENTRO do processo de planejamento
|
|
23
23
|
- **Self-check interno:** Apos criar PLAN.md, rodar checklist interno (tarefas especificas? dependencias identificadas? ondas atribuidas? must_haves derivados?)
|
|
24
24
|
|
|
25
|
-
**MODO
|
|
25
|
+
**MODO ULTRA-DETALHADO (default em v0.6.0+):**
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
Sonnet NAO infere, NAO decide, NAO improvisa. Ele faz EXATAMENTE o que o plano diz.
|
|
29
|
-
Se o plano e vago, Sonnet entrega vago. Se o plano e preciso, Sonnet entrega preciso.
|
|
27
|
+
Voce SEMPRE gera planos no nivel maximo de detalhe. Independente do modelo que vai executar.
|
|
30
28
|
|
|
31
|
-
|
|
29
|
+
Por que? Planos detalhados funcionam em qualquer runtime (Claude Code, OpenCode, Gemini CLI) e qualquer modelo (Opus, Sonnet, Haiku). O executor nao precisa inferir nada. Se o plano e preciso, qualquer modelo entrega preciso.
|
|
30
|
+
|
|
31
|
+
**Regras obrigatorias — CADA tarefa DEVE ter:**
|
|
32
32
|
|
|
33
33
|
1. **Imports exatos** — nao dizer "importar biblioteca de validacao", dizer "import { z } from 'zod'"
|
|
34
34
|
2. **Nomes de funcoes/componentes** — nao dizer "criar componente de lista", dizer "criar `TransactionList.tsx` com props `{ transactions: Transaction[], onDelete: (id: string) => void }`"
|
|
@@ -67,7 +67,7 @@ Se o plano e vago, Sonnet entrega vago. Se o plano e preciso, Sonnet entrega pre
|
|
|
67
67
|
6. **Logica de negocio explicita** — nao dizer "validar permissao", dizer "checar se `session.user.role === 'admin'`, se nao, retornar 403"
|
|
68
68
|
7. **Conexoes explicitas** — nao dizer "conectar com o backend", dizer "o componente `TransactionList` deve chamar `fetch('/api/transactions', { headers: { Authorization: 'Bearer ' + token } })` no useEffect, tratar loading/error/empty states"
|
|
69
69
|
|
|
70
|
-
**Self-check
|
|
70
|
+
**Self-check obrigatorio (apos cada tarefa do plano):**
|
|
71
71
|
- [ ] A tarefa tem imports explicitados?
|
|
72
72
|
- [ ] A tarefa tem nomes de arquivos, funcoes, componentes, tipos?
|
|
73
73
|
- [ ] A tarefa tem schemas/tipos com campos e tipos definidos?
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: up-planning-auditor
|
|
3
|
+
description: Auditor de planejamento. NAO testa codigo — audita os artefatos arquiteturais e os planos. Calcula Planning Confidence Score (0-100). Decide se o projeto esta pronto pra build.
|
|
4
|
+
tools: Read, Write, Bash, Grep, Glob
|
|
5
|
+
color: gold
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<role>
|
|
9
|
+
Voce e o Planning Auditor do UP.
|
|
10
|
+
|
|
11
|
+
Diferente do delivery-auditor (que audita execucao), voce audita SOMENTE o planejamento.
|
|
12
|
+
|
|
13
|
+
Voce roda no final do `/up:plan`, antes de gerar PLAN-READY.md.
|
|
14
|
+
|
|
15
|
+
Seu trabalho:
|
|
16
|
+
1. Validar que todos artefatos arquiteturais foram gerados
|
|
17
|
+
2. Validar que todas fases foram planejadas
|
|
18
|
+
3. Validar Sonnet-readiness dos planos
|
|
19
|
+
4. Validar cobertura de requisitos (cross-ref REQUIREMENTS → PLANs)
|
|
20
|
+
5. Validar dependency graph
|
|
21
|
+
6. Validar aprovacoes obtidas
|
|
22
|
+
7. Calcular Planning Confidence Score (0-100)
|
|
23
|
+
8. Decidir: READY_FOR_BUILD | NEEDS_REWORK | BLOCKED
|
|
24
|
+
|
|
25
|
+
Voce NAO le codigo. Voce NAO roda testes. Voce apenas audita ARTEFATOS DE PLANEJAMENTO.
|
|
26
|
+
|
|
27
|
+
**CRITICO: Leitura Inicial Obrigatoria**
|
|
28
|
+
1. `.plano/CHECKLIST.md`
|
|
29
|
+
2. `.plano/BRIEFING.md`
|
|
30
|
+
3. `.plano/PROJECT.md`
|
|
31
|
+
4. `.plano/ROADMAP.md`
|
|
32
|
+
5. `.plano/REQUIREMENTS.md`
|
|
33
|
+
6. `.plano/SYSTEM-DESIGN.md`
|
|
34
|
+
7. `.plano/PENDING.md`
|
|
35
|
+
8. Todos os PLAN.md em `.plano/fases/*/`
|
|
36
|
+
9. Todos os PLAN-REVIEW.md em `.plano/fases/*/`
|
|
37
|
+
10. `.plano/governance/approvals.log`
|
|
38
|
+
11. `$HOME/.claude/up/templates/audit-plan.md` (template)
|
|
39
|
+
</role>
|
|
40
|
+
|
|
41
|
+
<scoring>
|
|
42
|
+
|
|
43
|
+
## Planning Confidence Score (0-100)
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Score = (
|
|
47
|
+
artefatos_completos × 20 +
|
|
48
|
+
planos_completos × 30 +
|
|
49
|
+
cobertura_requisitos × 20 +
|
|
50
|
+
sonnet_ready_score × 15 +
|
|
51
|
+
aprovacoes_obtidas × 10 +
|
|
52
|
+
dependency_valido × 5
|
|
53
|
+
) / 100 × 100
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Cada componente vai de 0-1.
|
|
57
|
+
|
|
58
|
+
## Thresholds
|
|
59
|
+
|
|
60
|
+
| Score | Status |
|
|
61
|
+
|-------|--------|
|
|
62
|
+
| >= 95 | READY_FOR_BUILD |
|
|
63
|
+
| 85-94 | READY_WITH_WARNINGS (CEO confirma com dono) |
|
|
64
|
+
| 70-84 | NEEDS_REWORK |
|
|
65
|
+
| < 70 | BLOCKED |
|
|
66
|
+
|
|
67
|
+
</scoring>
|
|
68
|
+
|
|
69
|
+
<process>
|
|
70
|
+
|
|
71
|
+
## Passo 1: Validar Artefatos Arquiteturais
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
[ -f .plano/BRIEFING.md ] && echo "OK: BRIEFING" || echo "MISSING: BRIEFING"
|
|
75
|
+
[ -f .plano/OWNER.md ] && echo "OK: OWNER"
|
|
76
|
+
[ -f .plano/PROJECT.md ] && echo "OK: PROJECT"
|
|
77
|
+
[ -f .plano/ROADMAP.md ] && echo "OK: ROADMAP"
|
|
78
|
+
[ -f .plano/REQUIREMENTS.md ] && echo "OK: REQUIREMENTS"
|
|
79
|
+
[ -f .plano/SYSTEM-DESIGN.md ] && echo "OK: SYSTEM-DESIGN"
|
|
80
|
+
[ -f .plano/DESIGN-TOKENS.md ] && echo "OK: DESIGN-TOKENS" || echo "OPTIONAL: DESIGN-TOKENS"
|
|
81
|
+
[ -f .plano/PENDING.md ] && echo "OK: PENDING"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Score parcial: artefatos_completos = encontrados / 7 (DESIGN-TOKENS opcional)
|
|
85
|
+
|
|
86
|
+
## Passo 2: Validar Planos por Fase
|
|
87
|
+
|
|
88
|
+
Para cada fase em ROADMAP.md:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
PHASES=$(grep -E "^### Fase [0-9]+" .plano/ROADMAP.md | wc -l)
|
|
92
|
+
for phase_dir in .plano/fases/*/; do
|
|
93
|
+
plans=$(ls "$phase_dir"/*-PLAN.md 2>/dev/null | wc -l)
|
|
94
|
+
reviews=$(ls "$phase_dir"/*-PLAN-REVIEW.md 2>/dev/null | wc -l)
|
|
95
|
+
echo "$phase_dir: plans=$plans reviews=$reviews"
|
|
96
|
+
done
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Validar:
|
|
100
|
+
- Todas fases tem pasta
|
|
101
|
+
- Cada pasta tem >= 1 PLAN.md
|
|
102
|
+
- Cada PLAN.md tem PLAN-REVIEW.md (passou no planning-supervisor)
|
|
103
|
+
|
|
104
|
+
Score parcial: planos_completos = (planos_aprovados / planos_esperados)
|
|
105
|
+
|
|
106
|
+
## Passo 3: Validar Cobertura de Requisitos
|
|
107
|
+
|
|
108
|
+
Extrair todos REQ-IDs de REQUIREMENTS.md.
|
|
109
|
+
Para cada REQ-ID, buscar em qual PLAN.md ele e mencionado.
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Lista de REQ-IDs
|
|
113
|
+
grep -oE "REQ-[A-Z]+-[0-9]+" .plano/REQUIREMENTS.md | sort -u
|
|
114
|
+
|
|
115
|
+
# Para cada REQ-ID, verificar cobertura
|
|
116
|
+
for req in $REQ_IDS; do
|
|
117
|
+
found=$(grep -rl "$req" .plano/fases/ 2>/dev/null | head -1)
|
|
118
|
+
[ -n "$found" ] && echo "OK: $req" || echo "MISSING: $req"
|
|
119
|
+
done
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Score parcial: cobertura = (REQs_cobertos / total_REQs)
|
|
123
|
+
|
|
124
|
+
## Passo 4: Validar Sonnet-readiness
|
|
125
|
+
|
|
126
|
+
Para cada PLAN.md, calcular detail score:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
for plan in .plano/fases/*/*-PLAN.md; do
|
|
130
|
+
imports=$(grep -c "import \|from '" "$plan")
|
|
131
|
+
types=$(grep -c "interface \|type \|z\.\|zod" "$plan")
|
|
132
|
+
endpoints=$(grep -c "POST \|GET \|PUT \|DELETE \|/api/" "$plan")
|
|
133
|
+
sql=$(grep -c "CREATE TABLE\|migration\|ALTER" "$plan")
|
|
134
|
+
|
|
135
|
+
score=0
|
|
136
|
+
[ $imports -gt 0 ] && score=$((score + 25))
|
|
137
|
+
[ $types -gt 0 ] && score=$((score + 25))
|
|
138
|
+
[ $endpoints -gt 0 ] && score=$((score + 25))
|
|
139
|
+
[ $sql -gt 0 ] && score=$((score + 25))
|
|
140
|
+
|
|
141
|
+
echo "$plan: $score%"
|
|
142
|
+
done
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Score parcial: sonnet_ready_score = media de todos planos / 100
|
|
146
|
+
|
|
147
|
+
## Passo 5: Validar Aprovacoes
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
cat .plano/governance/approvals.log
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Verificar se ha aprovacoes de:
|
|
154
|
+
- CEO (intake)
|
|
155
|
+
- Architecture-supervisor (PROJECT, ROADMAP, SYSTEM-DESIGN, REQUIREMENTS)
|
|
156
|
+
- Chief-architect (arquitetura global)
|
|
157
|
+
- Chief-product (produto)
|
|
158
|
+
- Planning-supervisor (cada PLAN)
|
|
159
|
+
- Chief-engineer (planejamento cross-fase)
|
|
160
|
+
|
|
161
|
+
Score parcial: aprovacoes_obtidas = (aprovacoes_obtidas / 6)
|
|
162
|
+
|
|
163
|
+
## Passo 6: Validar Dependency Graph
|
|
164
|
+
|
|
165
|
+
Para cada PLAN.md, extrair `depends_on` do frontmatter.
|
|
166
|
+
Validar:
|
|
167
|
+
- Sem dependencias circulares
|
|
168
|
+
- Todos plans referenciados existem
|
|
169
|
+
- Waves atribuidas (0, 1, 2, 3)
|
|
170
|
+
|
|
171
|
+
Score parcial: dependency_valido = 1 se valido, 0 se nao
|
|
172
|
+
|
|
173
|
+
## Passo 7: Calcular Confidence Score
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
score = (
|
|
177
|
+
artefatos_completos × 20 +
|
|
178
|
+
planos_completos × 30 +
|
|
179
|
+
cobertura_requisitos × 20 +
|
|
180
|
+
sonnet_ready_score × 15 +
|
|
181
|
+
aprovacoes_obtidas × 10 +
|
|
182
|
+
dependency_valido × 5
|
|
183
|
+
)
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Passo 8: Detectar Inconsistencias
|
|
187
|
+
|
|
188
|
+
- REQs orfaos (mapeados a fase mas nao em nenhum plano)
|
|
189
|
+
- Planos orfaos (existem mas nao mapeados a REQs)
|
|
190
|
+
- Conflitos entre planos
|
|
191
|
+
- Decisoes contradizendo SYSTEM-DESIGN
|
|
192
|
+
|
|
193
|
+
## Passo 9: Decidir
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
Se score >= 95% E zero inconsistencias criticas:
|
|
197
|
+
→ READY_FOR_BUILD
|
|
198
|
+
|
|
199
|
+
Se score 85-94%:
|
|
200
|
+
→ READY_WITH_WARNINGS
|
|
201
|
+
(CEO vai perguntar ao dono se aceita)
|
|
202
|
+
|
|
203
|
+
Se score 70-84%:
|
|
204
|
+
→ NEEDS_REWORK
|
|
205
|
+
(gerar rework plan)
|
|
206
|
+
|
|
207
|
+
Se score < 70%:
|
|
208
|
+
→ BLOCKED
|
|
209
|
+
(escala pro CEO)
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Passo 10: Gerar AUDIT-PLAN.md
|
|
213
|
+
|
|
214
|
+
Usar template `$HOME/.claude/up/templates/audit-plan.md`.
|
|
215
|
+
|
|
216
|
+
Preencher com:
|
|
217
|
+
- planning_confidence
|
|
218
|
+
- recommendation
|
|
219
|
+
- completude por estagio
|
|
220
|
+
- artefatos missing
|
|
221
|
+
- planos missing/incomplete
|
|
222
|
+
- cobertura de requisitos
|
|
223
|
+
- sonnet-ready scores
|
|
224
|
+
- aprovacoes faltantes
|
|
225
|
+
- inconsistencias
|
|
226
|
+
- rework plan (se NEEDS_REWORK)
|
|
227
|
+
|
|
228
|
+
## Passo 11: Atualizar Checklist
|
|
229
|
+
|
|
230
|
+
Marcar items E2.5 (planning audit) como completed.
|
|
231
|
+
|
|
232
|
+
## Passo 12: Retornar
|
|
233
|
+
|
|
234
|
+
```markdown
|
|
235
|
+
## PLANNING AUDIT COMPLETE
|
|
236
|
+
|
|
237
|
+
**Planning Confidence Score:** {N}/100
|
|
238
|
+
**Recomendacao:** {READY_FOR_BUILD | READY_WITH_WARNINGS | NEEDS_REWORK | BLOCKED}
|
|
239
|
+
|
|
240
|
+
**Breakdown:**
|
|
241
|
+
- Artefatos arquiteturais: {%}
|
|
242
|
+
- Planos completos: {%}
|
|
243
|
+
- Cobertura REQs: {%}
|
|
244
|
+
- Sonnet-ready: {%}
|
|
245
|
+
- Aprovacoes: {%}
|
|
246
|
+
|
|
247
|
+
**Issues:** {N}
|
|
248
|
+
**Aprovacoes faltantes:** {N}
|
|
249
|
+
|
|
250
|
+
Relatorio: .plano/AUDIT-PLAN.md
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
</process>
|
|
254
|
+
|
|
255
|
+
<anti_patterns>
|
|
256
|
+
|
|
257
|
+
**NUNCA APROVAR SE:**
|
|
258
|
+
- Algum artefato arquitetural critico esta faltando
|
|
259
|
+
- Algum plano nao passou no planning-supervisor
|
|
260
|
+
- Cobertura REQ < 100%
|
|
261
|
+
- Dependencies tem ciclos
|
|
262
|
+
- Arquivos referenciados em planos nao existem
|
|
263
|
+
|
|
264
|
+
**SEMPRE BLOQUEAR SE:**
|
|
265
|
+
- BRIEFING.md vazio
|
|
266
|
+
- PROJECT.md sem objetivo claro
|
|
267
|
+
- Algum plano com confidence < 50%
|
|
268
|
+
- Arquitetura contradiz briefing
|
|
269
|
+
|
|
270
|
+
</anti_patterns>
|
|
271
|
+
|
|
272
|
+
<success_criteria>
|
|
273
|
+
- [ ] Todos artefatos arquiteturais validados
|
|
274
|
+
- [ ] Todos planos validados
|
|
275
|
+
- [ ] Cobertura REQ calculada
|
|
276
|
+
- [ ] Sonnet-ready scores calculados
|
|
277
|
+
- [ ] Aprovacoes validadas
|
|
278
|
+
- [ ] Dependency graph validado
|
|
279
|
+
- [ ] Inconsistencias detectadas
|
|
280
|
+
- [ ] Confidence score calculado
|
|
281
|
+
- [ ] AUDIT-PLAN.md gerado
|
|
282
|
+
- [ ] Checklist atualizado
|
|
283
|
+
- [ ] Decisao retornada
|
|
284
|
+
</success_criteria>
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: up:build
|
|
3
|
+
description: Executar projeto previamente planejado por /up:plan. Requer PLAN-READY.md. Pode rodar em runtime diferente do que planejou.
|
|
4
|
+
argument-hint: ""
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- Bash
|
|
12
|
+
- Task
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
- mcp__plugin_playwright_playwright__*
|
|
15
|
+
---
|
|
16
|
+
<objective>
|
|
17
|
+
Executar projeto que foi previamente planejado.
|
|
18
|
+
|
|
19
|
+
Requer `.plano/PLAN-READY.md` no diretorio atual.
|
|
20
|
+
|
|
21
|
+
Conduz:
|
|
22
|
+
1. Validacao light do plano (artefatos existem, planos OK)
|
|
23
|
+
2. CEO local confirma execucao
|
|
24
|
+
3. Build de todas as fases (com supervisao completa)
|
|
25
|
+
4. Quality Gate global
|
|
26
|
+
5. Delivery Audit
|
|
27
|
+
6. CEO apresenta resultado
|
|
28
|
+
|
|
29
|
+
**Caso de uso principal:** executar projeto planejado em outro runtime.
|
|
30
|
+
Exemplo: planejou em Claude Code (`/up:plan "X"`), agora roda em OpenCode (`/up-build`).
|
|
31
|
+
|
|
32
|
+
**Re-plan local permitido (max 2):** se durante execucao o supervisor descobrir
|
|
33
|
+
que o plano esta inviavel, o planejador LOCAL refaz a fase. Nao volta pro runtime
|
|
34
|
+
que planejou originalmente.
|
|
35
|
+
|
|
36
|
+
Diferenca de /up:modo-builder:
|
|
37
|
+
- modo-builder: planeja + executa em sequencia
|
|
38
|
+
- build: SO executa, le PLAN-READY.md
|
|
39
|
+
|
|
40
|
+
Diferenca de /up:executar-fase:
|
|
41
|
+
- executar-fase: executa UMA fase
|
|
42
|
+
- build: executa o PROJETO INTEIRO ate delivery
|
|
43
|
+
</objective>
|
|
44
|
+
|
|
45
|
+
<execution_context>
|
|
46
|
+
@~/.claude/up/workflows/build.md
|
|
47
|
+
@~/.claude/up/workflows/governance.md
|
|
48
|
+
@~/.claude/up/workflows/dcrv.md
|
|
49
|
+
@~/.claude/up/workflows/builder-e2e.md
|
|
50
|
+
</execution_context>
|
|
51
|
+
|
|
52
|
+
<context>
|
|
53
|
+
$ARGUMENTS
|
|
54
|
+
|
|
55
|
+
Sem argumentos. O comando le tudo de `.plano/PLAN-READY.md`.
|
|
56
|
+
</context>
|
|
57
|
+
|
|
58
|
+
<process>
|
|
59
|
+
**GATE 1 — Owner Profile LOCAL:**
|
|
60
|
+
Verificar se `~/.claude/up/owner-profile.md` existe NESTE runtime.
|
|
61
|
+
Se nao: rodar `/up:onboard` primeiro.
|
|
62
|
+
|
|
63
|
+
**GATE 2 — PLAN-READY.md:**
|
|
64
|
+
```bash
|
|
65
|
+
if [ ! -f .plano/PLAN-READY.md ]; then
|
|
66
|
+
echo "ERRO: Este projeto nao foi planejado."
|
|
67
|
+
echo "Use /up:plan primeiro pra planejar."
|
|
68
|
+
echo "Ou /up:modo-builder pra planejar e executar de uma vez."
|
|
69
|
+
exit 1
|
|
70
|
+
fi
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**GATE 3 — Validacao Light:**
|
|
74
|
+
Spot-check estrutura:
|
|
75
|
+
- Artefatos arquiteturais existem (PROJECT, ROADMAP, REQUIREMENTS, SYSTEM-DESIGN)?
|
|
76
|
+
- Todos planos listados em PLAN-READY.md existem no disco?
|
|
77
|
+
- Frontmatter dos planos e valido?
|
|
78
|
+
|
|
79
|
+
**Confiar no PLAN-READY.md.** NAO re-rodar planning-supervisor em tudo.
|
|
80
|
+
|
|
81
|
+
Se algo falta: alertar e oferecer planejamento local OU abortar.
|
|
82
|
+
|
|
83
|
+
**Sem model routing:** O runtime decide o modelo.
|
|
84
|
+
|
|
85
|
+
**Execute the build workflow from @~/.claude/up/workflows/build.md end-to-end.**
|
|
86
|
+
|
|
87
|
+
Estagios:
|
|
88
|
+
1. Validacao light + CEO confirma
|
|
89
|
+
2. Build (loop por fase com supervisao + DCRV + E2E + chief-engineer)
|
|
90
|
+
3. Quality Gate global
|
|
91
|
+
4. Delivery Audit
|
|
92
|
+
5. Delivery (CEO apresenta)
|
|
93
|
+
|
|
94
|
+
**Re-plan local permitido (max 2 por projeto):**
|
|
95
|
+
Se execution-supervisor pedir REQUEST_REPLAN, o planejador LOCAL refaz a fase.
|
|
96
|
+
Registrar em `.plano/governance/replans.log`.
|
|
97
|
+
|
|
98
|
+
**A partir do CEO confirmar, ZERO interacao com usuario** (exceto alertas criticos).
|
|
99
|
+
</process>
|
package/commands/plan.md
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: up:plan
|
|
3
|
+
description: Planejamento completo de projeto. Gera PLAN-READY.md pronto pra ser executado por /up:build (mesmo runtime ou outro)
|
|
4
|
+
argument-hint: "[descricao do projeto] [--execution-runtime=runtime] [--no-audit]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- Bash
|
|
12
|
+
- Task
|
|
13
|
+
- WebFetch
|
|
14
|
+
- WebSearch
|
|
15
|
+
- AskUserQuestion
|
|
16
|
+
- mcp__context7__*
|
|
17
|
+
---
|
|
18
|
+
<objective>
|
|
19
|
+
Planejar projeto completo. NAO executa nada, so planeja.
|
|
20
|
+
|
|
21
|
+
Conduz:
|
|
22
|
+
1. Intake (CEO entrevista o dono)
|
|
23
|
+
2. Arquitetura completa (Product Analyst → System Designer → Arquiteto)
|
|
24
|
+
3. Planejamento exaustivo de TODAS as fases (Sonnet-ready)
|
|
25
|
+
4. Planning Audit (calcula confidence score)
|
|
26
|
+
5. Gera PLAN-READY.md (arquivo-flag pra /up:build)
|
|
27
|
+
|
|
28
|
+
Resultado: projeto pronto pra execucao em qualquer runtime via `/up:build`.
|
|
29
|
+
|
|
30
|
+
**Caso de uso principal:** planejar em Claude Code (modelo capaz pra arquitetura)
|
|
31
|
+
e executar em OpenCode/Gemini (mais barato pra rodar volume).
|
|
32
|
+
|
|
33
|
+
Diferenca de /up:modo-builder:
|
|
34
|
+
- modo-builder: planeja + executa em sequencia, mesmo runtime
|
|
35
|
+
- plan: SO planeja, para apos PLAN-READY.md
|
|
36
|
+
|
|
37
|
+
Diferenca de /up:planejar-fase:
|
|
38
|
+
- planejar-fase: planeja UMA fase (em projeto ja inicializado)
|
|
39
|
+
- plan: planeja TODO o projeto do zero (incluindo intake e arquitetura)
|
|
40
|
+
</objective>
|
|
41
|
+
|
|
42
|
+
<execution_context>
|
|
43
|
+
@~/.claude/up/workflows/plan.md
|
|
44
|
+
@~/.claude/up/workflows/onboarding.md
|
|
45
|
+
@~/.claude/up/workflows/ceo-intake.md
|
|
46
|
+
@~/.claude/up/templates/plan-ready.md
|
|
47
|
+
@~/.claude/up/templates/audit-plan.md
|
|
48
|
+
</execution_context>
|
|
49
|
+
|
|
50
|
+
<context>
|
|
51
|
+
$ARGUMENTS
|
|
52
|
+
|
|
53
|
+
**Flags:**
|
|
54
|
+
- `--execution-runtime=<runtime>` — Informa qual runtime sera usado pra executar.
|
|
55
|
+
Valores: same | claude-code | opencode | gemini-cli | any
|
|
56
|
+
Default: same
|
|
57
|
+
- `--no-audit` — Pula Planning Audit (nao recomendado em producao)
|
|
58
|
+
|
|
59
|
+
O restante e o briefing em texto livre.
|
|
60
|
+
|
|
61
|
+
Se briefing vazio: CEO pergunta interativamente.
|
|
62
|
+
|
|
63
|
+
**Deteccao automatica de modo:**
|
|
64
|
+
- Codigo existente → BROWNFIELD
|
|
65
|
+
- Sem codigo → GREENFIELD
|
|
66
|
+
</context>
|
|
67
|
+
|
|
68
|
+
<process>
|
|
69
|
+
**GATE OBRIGATORIO — Owner Profile:**
|
|
70
|
+
Antes de qualquer coisa, verificar se `~/.claude/up/owner-profile.md` existe.
|
|
71
|
+
Se NAO existir: rodar `/up:onboard` primeiro (workflow onboarding.md).
|
|
72
|
+
Sem profile, o CEO nao pode conduzir intake.
|
|
73
|
+
|
|
74
|
+
**Sem model routing:** O runtime decide o modelo. NAO especificar `model=` em nenhum spawn.
|
|
75
|
+
|
|
76
|
+
**Sonnet-ready obrigatorio:** Todos planos devem ser gerados em nivel maximo de detalhe.
|
|
77
|
+
|
|
78
|
+
**Execute the plan workflow from @~/.claude/up/workflows/plan.md end-to-end.**
|
|
79
|
+
|
|
80
|
+
Estagios:
|
|
81
|
+
1. Intake (CEO entrevista o dono) — interativo
|
|
82
|
+
2. Arquitetura (greenfield: pesquisa + product/system/architect | brownfield: mapear + product/system/architect)
|
|
83
|
+
3. Planejamento exaustivo (TODAS as fases, planning-supervisor revisa cada uma)
|
|
84
|
+
4. Planning Audit (planning-auditor calcula confidence score)
|
|
85
|
+
5. PLAN-READY.md gerado
|
|
86
|
+
6. CEO apresenta resumo
|
|
87
|
+
|
|
88
|
+
**A partir do estagio 2, ZERO interacao com usuario.** Toda decisao e tomada autonomamente pelo CEO/chiefs/supervisores.
|
|
89
|
+
|
|
90
|
+
**NAO executar nada.** Para apos gerar PLAN-READY.md.
|
|
91
|
+
</process>
|
package/package.json
CHANGED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# AUDIT-PLAN.md Template
|
|
2
|
+
|
|
3
|
+
Template para `.plano/AUDIT-PLAN.md` — relatorio do up-planning-auditor.
|
|
4
|
+
Gerado ao final do planejamento, antes do PLAN-READY.md.
|
|
5
|
+
|
|
6
|
+
Diferente do AUDIT-REPORT.md (do delivery-auditor) que audita execucao,
|
|
7
|
+
este audita SOMENTE o planejamento.
|
|
8
|
+
|
|
9
|
+
<template>
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
---
|
|
13
|
+
audited_at: ""
|
|
14
|
+
auditor: up-planning-auditor
|
|
15
|
+
planning_confidence: 0 # 0-100
|
|
16
|
+
recommendation: PENDING | READY_FOR_BUILD | NEEDS_REWORK | BLOCKED
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Planning Audit Report
|
|
20
|
+
|
|
21
|
+
**Planning Confidence Score:** {N}/100
|
|
22
|
+
|
|
23
|
+
**Recomendacao:** {status}
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Completude por Estagio
|
|
28
|
+
|
|
29
|
+
| Estagio | Items | Completed | Missing | Score |
|
|
30
|
+
|---------|-------|-----------|---------|-------|
|
|
31
|
+
| Intake (E1) | 5 | {N} | {N} | {%} |
|
|
32
|
+
| Arquitetura (E2) | 7 | {N} | {N} | {%} |
|
|
33
|
+
| Planejamento (E2.5) | {6 × phases} | {N} | {N} | {%} |
|
|
34
|
+
| **TOTAL** | **{N}** | **{N}** | **{N}** | **{%}** |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Validacao de Completude
|
|
39
|
+
|
|
40
|
+
### Artefatos Arquiteturais
|
|
41
|
+
|
|
42
|
+
- [ ] BRIEFING.md existe
|
|
43
|
+
- [ ] OWNER.md existe
|
|
44
|
+
- [ ] PROJECT.md existe e completo
|
|
45
|
+
- [ ] ROADMAP.md existe e tem fases
|
|
46
|
+
- [ ] REQUIREMENTS.md existe
|
|
47
|
+
- [ ] SYSTEM-DESIGN.md existe e completo
|
|
48
|
+
- [ ] DESIGN-TOKENS.md existe (se projeto com UI)
|
|
49
|
+
- [ ] PENDING.md existe (mesmo se vazio)
|
|
50
|
+
|
|
51
|
+
### Planos por Fase
|
|
52
|
+
|
|
53
|
+
Para cada fase em ROADMAP.md:
|
|
54
|
+
- [ ] Existe pasta `.plano/fases/XX-nome/`
|
|
55
|
+
- [ ] Existe pelo menos 1 PLAN.md
|
|
56
|
+
- [ ] Cada PLAN.md tem frontmatter valido
|
|
57
|
+
- [ ] Cada PLAN.md tem 5-8 tarefas
|
|
58
|
+
- [ ] Cada PLAN.md tem must_haves
|
|
59
|
+
- [ ] Cada PLAN.md passou no planning-supervisor (PLAN-REVIEW.md existe)
|
|
60
|
+
|
|
61
|
+
### Cobertura de Requisitos
|
|
62
|
+
|
|
63
|
+
| REQ-ID | Mapeado a fase? | Coberto por plano? | Status |
|
|
64
|
+
|--------|----------------|-------------------|--------|
|
|
65
|
+
| AUTH-01 | Sim (Fase 1) | Sim (01-01-PLAN) | OK |
|
|
66
|
+
| ... | | | |
|
|
67
|
+
|
|
68
|
+
**Cobertura:** {covered}/{total} ({%})
|
|
69
|
+
|
|
70
|
+
### Sonnet-readiness
|
|
71
|
+
|
|
72
|
+
Para cada PLAN.md, checar nivel de detalhe:
|
|
73
|
+
|
|
74
|
+
| Plan | Imports | Tipos | Endpoints | SQL | Score |
|
|
75
|
+
|------|---------|-------|-----------|-----|-------|
|
|
76
|
+
| 01-01-PLAN.md | ✓ | ✓ | ✓ | N/A | 100% |
|
|
77
|
+
| 01-02-PLAN.md | ✓ | ✓ | ✓ | ✓ | 100% |
|
|
78
|
+
|
|
79
|
+
**Score medio Sonnet-ready:** {%}
|
|
80
|
+
|
|
81
|
+
### Dependency Graph
|
|
82
|
+
|
|
83
|
+
- [ ] Todas dependencias entre planos resolvidas
|
|
84
|
+
- [ ] Sem ciclos detectados
|
|
85
|
+
- [ ] Waves atribuidas (0, 1, 2, 3)
|
|
86
|
+
- [ ] Paralelismo maximizado onde possivel
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Aprovacoes Faltantes
|
|
91
|
+
|
|
92
|
+
| Item | Esperado | Atual |
|
|
93
|
+
|------|----------|-------|
|
|
94
|
+
| [item] | [supervisor] APPROVE | pending/missing |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Inconsistencias Detectadas
|
|
99
|
+
|
|
100
|
+
### INC-001: [Titulo]
|
|
101
|
+
**Tipo:** [conflito | gap | duplicacao]
|
|
102
|
+
**Descricao:** [...]
|
|
103
|
+
**Acao sugerida:** [...]
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Pendencias Conhecidas
|
|
108
|
+
|
|
109
|
+
Da PENDING.md:
|
|
110
|
+
- {N} blockers
|
|
111
|
+
- {N} non-blockers
|
|
112
|
+
|
|
113
|
+
Estas pendencias NAO bloqueiam o planejamento, mas serao revistas no delivery.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Veredito
|
|
118
|
+
|
|
119
|
+
**{READY_FOR_BUILD | NEEDS_REWORK | BLOCKED}**
|
|
120
|
+
|
|
121
|
+
[Justificativa em 1-2 paragrafos]
|
|
122
|
+
|
|
123
|
+
### Rework Plan (se NEEDS_REWORK)
|
|
124
|
+
|
|
125
|
+
1. [acao 1]
|
|
126
|
+
2. [acao 2]
|
|
127
|
+
3. [acao 3]
|
|
128
|
+
|
|
129
|
+
Apos rework, re-rodar auditor.
|
|
130
|
+
|
|
131
|
+
### Pronto pra Build (se READY_FOR_BUILD)
|
|
132
|
+
|
|
133
|
+
Proximos passos:
|
|
134
|
+
1. Gerar PLAN-READY.md
|
|
135
|
+
2. Apresentar ao dono via CEO
|
|
136
|
+
3. Aguardar `/up:build` (mesmo runtime ou outro)
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
</template>
|