up-cc 0.1.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/agents/up-depurador.md +357 -0
  2. package/agents/up-executor.md +409 -0
  3. package/agents/up-pesquisador-projeto.md +358 -0
  4. package/agents/up-planejador.md +390 -0
  5. package/agents/up-roteirista.md +401 -0
  6. package/agents/up-sintetizador.md +232 -0
  7. package/agents/up-verificador.md +357 -0
  8. package/bin/install.js +709 -0
  9. package/bin/lib/core.cjs +270 -0
  10. package/bin/up-tools.cjs +1361 -0
  11. package/commands/adicionar-fase.md +33 -0
  12. package/commands/ajuda.md +131 -0
  13. package/commands/discutir-fase.md +35 -0
  14. package/commands/executar-fase.md +40 -0
  15. package/commands/novo-projeto.md +39 -0
  16. package/commands/pausar.md +33 -0
  17. package/commands/planejar-fase.md +43 -0
  18. package/commands/progresso.md +33 -0
  19. package/commands/rapido.md +40 -0
  20. package/commands/remover-fase.md +34 -0
  21. package/commands/retomar.md +35 -0
  22. package/commands/verificar-trabalho.md +35 -0
  23. package/package.json +32 -0
  24. package/references/checkpoints.md +358 -0
  25. package/references/git-integration.md +208 -0
  26. package/references/questioning.md +156 -0
  27. package/references/ui-brand.md +124 -0
  28. package/templates/config.json +6 -0
  29. package/templates/continue-here.md +78 -0
  30. package/templates/project.md +184 -0
  31. package/templates/requirements.md +129 -0
  32. package/templates/roadmap.md +131 -0
  33. package/templates/state.md +130 -0
  34. package/templates/summary.md +174 -0
  35. package/workflows/discutir-fase.md +324 -0
  36. package/workflows/executar-fase.md +277 -0
  37. package/workflows/executar-plano.md +192 -0
  38. package/workflows/novo-projeto.md +561 -0
  39. package/workflows/pausar.md +111 -0
  40. package/workflows/planejar-fase.md +208 -0
  41. package/workflows/progresso.md +226 -0
  42. package/workflows/rapido.md +209 -0
  43. package/workflows/retomar.md +231 -0
  44. package/workflows/verificar-trabalho.md +261 -0
@@ -0,0 +1,208 @@
1
+ <purpose>
2
+ Criar prompts executaveis (PLAN.md) para uma fase do roteiro. Fluxo simplificado: um unico up-planejador faz pesquisa inline (se necessario), cria planos e auto-verifica. Sem loop planner-checker separado.
3
+
4
+ Flags: --pesquisar (pesquisa profunda), --sem-pesquisa (pular), --auto (encadear executar+verificar), --gaps (replanejar a partir de lacunas).
5
+ </purpose>
6
+
7
+ <process>
8
+
9
+ ## 1. Inicializar
10
+
11
+ ```bash
12
+ INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init plan-phase "$PHASE")
13
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
14
+ ```
15
+
16
+ Parse JSON: `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `plan_count`, `planning_exists`, `roadmap_exists`, `phase_req_ids`.
17
+
18
+ **Caminhos de arquivo:** `state_path`, `roadmap_path`, `requirements_path`, `context_path`, `research_path`, `verification_path`.
19
+
20
+ **Se `planning_exists` = false:** Erro -- executar `/up:novo-projeto` primeiro.
21
+
22
+ ## 2. Parsear Argumentos
23
+
24
+ Extrair do $ARGUMENTS: numero da fase, flags (`--pesquisar`, `--sem-pesquisa`, `--gaps`, `--auto`).
25
+
26
+ **Se sem numero da fase:** Detectar proxima fase nao planejada do roteiro.
27
+
28
+ **Se `phase_found` = false:** Validar fase existe no ROADMAP.md. Se valida, criar diretorio:
29
+ ```bash
30
+ mkdir -p ".plano/fases/${padded_phase}-${phase_slug}"
31
+ ```
32
+
33
+ ## 3. Validar Fase
34
+
35
+ ```bash
36
+ PHASE_INFO=$(node "$HOME/.claude/up/bin/up-tools.cjs" roadmap get-phase "${PHASE}")
37
+ ```
38
+
39
+ **Se `found` = false:** Erro com fases disponiveis.
40
+ **Se `found` = true:** Extrair `phase_number`, `phase_name`, `goal`.
41
+
42
+ ## 4. Carregar CONTEXT.md
43
+
44
+ Verificar `context_path` do init JSON.
45
+
46
+ Se `context_path` nao e null, exibir: `Usando contexto da fase: ${context_path}`
47
+
48
+ **Se `context_path` e null (sem CONTEXT.md):**
49
+
50
+ Use AskUserQuestion:
51
+ - header: "Sem contexto"
52
+ - question: "Sem CONTEXT.md para Fase {X}. Planos usarao pesquisa e requisitos apenas. Continuar ou capturar contexto primeiro?"
53
+ - options:
54
+ - "Continuar sem contexto" -- Planejar usando pesquisa + requisitos apenas
55
+ - "Executar discutir-fase primeiro" -- Capturar decisoes de design antes de planejar
56
+
57
+ Se "Continuar sem contexto": Prosseguir para passo 5.
58
+ Se "Executar discutir-fase primeiro": Exibir `/up:discutir-fase {X}` e sair.
59
+
60
+ ## 5. Tratar Pesquisa
61
+
62
+ **Pular se:** flag `--gaps`, flag `--sem-pesquisa`.
63
+
64
+ **Se `has_research` = true (do init) E sem flag `--pesquisar`:** Usar existente, pular para passo 6.
65
+
66
+ **Se RESEARCH.md faltando OU flag `--pesquisar`:**
67
+
68
+ O up-planejador fara a pesquisa inline como parte do planejamento. Definir `RESEARCH_INLINE=true`.
69
+
70
+ ## 6. Verificar Planos Existentes
71
+
72
+ ```bash
73
+ ls "${PHASE_DIR}"/*-PLAN.md 2>/dev/null
74
+ ```
75
+
76
+ **Se existem:** Oferecer: 1) Adicionar mais planos, 2) Ver existentes, 3) Replanejar do zero.
77
+
78
+ ## 7. Spawn up-planejador
79
+
80
+ ```
81
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
82
+ UP > PLANEJANDO FASE {X}
83
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
84
+
85
+ Spawning planejador...
86
+ ```
87
+
88
+ ```
89
+ Task(
90
+ prompt="
91
+ <planning_context>
92
+ **Fase:** {phase_number}
93
+ **Modo:** {standard | gap_closure}
94
+ **Pesquisa inline:** {RESEARCH_INLINE}
95
+
96
+ <files_to_read>
97
+ - {state_path} (Estado do Projeto)
98
+ - {roadmap_path} (Roteiro)
99
+ - {requirements_path} (Requisitos)
100
+ - {context_path} (DECISOES DO USUARIO de /up:discutir-fase)
101
+ - {research_path} (Pesquisa Tecnica - se existir)
102
+ - {verification_path} (Lacunas de Verificacao - se --gaps)
103
+ </files_to_read>
104
+
105
+ **IDs de requisitos da fase (cada ID DEVE aparecer no campo `requirements` de um plano):** {phase_req_ids}
106
+
107
+ **Instrucoes do projeto:** Ler ./CLAUDE.md se existir
108
+
109
+ Se RESEARCH_INLINE=true:
110
+ - Pesquisar o dominio antes de planejar
111
+ - Usar Context7/docs oficiais para verificar versoes e APIs
112
+ - Documentar achados de pesquisa no inicio de cada PLAN.md
113
+ </planning_context>
114
+
115
+ <self_check>
116
+ Apos criar os planos, auto-verificar:
117
+ - [ ] Cada requisito da fase mapeado a um plano
118
+ - [ ] Frontmatter valido (wave, depends_on, files_modified, autonomous)
119
+ - [ ] Tarefas sao especificas e acionaveis
120
+ - [ ] Dependencias corretamente identificadas
121
+ - [ ] Waves atribuidas para execucao paralela
122
+ - [ ] must_haves derivados do objetivo da fase
123
+ Se algo falhar na verificacao, corrija antes de retornar.
124
+ </self_check>
125
+
126
+ <output>
127
+ Escrever PLAN.md em: {phase_dir}/
128
+ Retornar: ## PLANNING COMPLETE com resumo dos planos
129
+ </output>
130
+ ",
131
+ subagent_type="up-planejador",
132
+ description="Planejar Fase {phase}"
133
+ )
134
+ ```
135
+
136
+ ## 8. Tratar Retorno do Planejador
137
+
138
+ - **`## PLANNING COMPLETE`:** Exibir contagem de planos. Prosseguir para passo 9.
139
+ - **`## CHECKPOINT REACHED`:** Apresentar ao usuario, obter resposta, spawn continuacao.
140
+ - **`## PLANNING INCONCLUSIVE`:** Mostrar tentativas, oferecer: Adicionar contexto / Tentar novamente / Manual.
141
+
142
+ ## 9. Apresentar Status Final
143
+
144
+ ```
145
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
146
+ UP > FASE {X} PLANEJADA
147
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
148
+
149
+ **Fase {X}: {Nome}** -- {N} plano(s) em {M} wave(s)
150
+
151
+ | Wave | Planos | O que constroi |
152
+ |------|--------|----------------|
153
+ | 1 | 01, 02 | [objetivos] |
154
+ | 2 | 03 | [objetivo] |
155
+
156
+ Pesquisa: {Completa | Usou existente | Pulada | Inline}
157
+
158
+ ───────────────────────────────────────────────────────────────
159
+
160
+ ## Proximo
161
+
162
+ **Executar Fase {X}** -- rodar todos {N} planos
163
+
164
+ /up:executar-fase {X}
165
+
166
+ <sub>/clear primeiro -> janela de contexto limpa</sub>
167
+
168
+ ───────────────────────────────────────────────────────────────
169
+
170
+ **Tambem disponivel:**
171
+ - cat .plano/fases/{fase-dir}/*-PLAN.md -- revisar planos
172
+ - /up:planejar-fase {X} --pesquisar -- re-pesquisar primeiro
173
+
174
+ ───────────────────────────────────────────────────────────────
175
+ ```
176
+
177
+ ## 10. Auto-Advance (se --auto)
178
+
179
+ **Se flag `--auto` presente:**
180
+
181
+ ```
182
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
183
+ UP > AUTO-AVANCANDO PARA EXECUTAR
184
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
185
+
186
+ Planos prontos. Lancando executar-fase...
187
+ ```
188
+
189
+ Lancar executar-fase:
190
+ ```
191
+ Skill(skill="up:executar-fase", args="${PHASE}")
192
+ ```
193
+
194
+ </process>
195
+
196
+ <success_criteria>
197
+ - [ ] .plano/ diretorio validado
198
+ - [ ] Fase validada contra roteiro
199
+ - [ ] Diretorio da fase criado se necessario
200
+ - [ ] CONTEXT.md carregado e passado ao planejador
201
+ - [ ] Pesquisa tratada (inline, existente ou pulada)
202
+ - [ ] Planos existentes verificados
203
+ - [ ] up-planejador spawned com contexto completo
204
+ - [ ] Planejador auto-verificou os planos
205
+ - [ ] Planos criados (PLANNING COMPLETE ou CHECKPOINT tratado)
206
+ - [ ] Usuario ve status entre spawns de agentes
207
+ - [ ] Usuario sabe proximos passos
208
+ </success_criteria>
@@ -0,0 +1,226 @@
1
+ <purpose>
2
+ Verificar progresso do projeto, resumir trabalho recente e o que vem a seguir, entao rotear inteligentemente para a proxima acao -- seja executar um plano existente ou criar o proximo.
3
+ </purpose>
4
+
5
+ <process>
6
+
7
+ <step name="init_context">
8
+ **Carregar contexto de progresso:**
9
+
10
+ ```bash
11
+ INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init progress)
12
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
13
+ ```
14
+
15
+ Extrair do init JSON: `project_exists`, `roadmap_exists`, `state_exists`, `phases`, `current_phase`, `next_phase`, `completed_count`, `phase_count`, `paused_at`, `state_path`, `roadmap_path`, `project_path`, `config_path`.
16
+
17
+ Se `project_exists` = false (sem diretorio `.plano/`):
18
+
19
+ ```
20
+ Sem estrutura de planejamento encontrada.
21
+
22
+ Execute /up:novo-projeto para iniciar um novo projeto.
23
+ ```
24
+
25
+ Sair.
26
+
27
+ Se STATE.md faltando: sugerir `/up:novo-projeto`.
28
+ Se ROADMAP.md faltando mas PROJECT.md existe: sugerir `/up:novo-projeto`.
29
+ </step>
30
+
31
+ <step name="load">
32
+ **Usar extracao estruturada:**
33
+
34
+ ```bash
35
+ ROADMAP=$(node "$HOME/.claude/up/bin/up-tools.cjs" roadmap analyze)
36
+ STATE=$(node "$HOME/.claude/up/bin/up-tools.cjs" state-snapshot)
37
+ ```
38
+ </step>
39
+
40
+ <step name="recent">
41
+ **Reunir contexto de trabalho recente:**
42
+
43
+ Encontrar os 2-3 SUMMARY.md mais recentes:
44
+ ```bash
45
+ node "$HOME/.claude/up/bin/up-tools.cjs" summary-extract <caminho> --fields one_liner
46
+ ```
47
+ </step>
48
+
49
+ <step name="report">
50
+ **Gerar barra de progresso e apresentar relatorio:**
51
+
52
+ ```bash
53
+ PROGRESS_BAR=$(node "$HOME/.claude/up/bin/up-tools.cjs" progress bar --raw)
54
+ ```
55
+
56
+ ```
57
+ # [Nome do Projeto]
58
+
59
+ **Progresso:** {PROGRESS_BAR}
60
+
61
+ ## Trabalho Recente
62
+ - [Fase X, Plano Y]: [o que foi realizado - 1 linha]
63
+ - [Fase X, Plano Z]: [o que foi realizado - 1 linha]
64
+
65
+ ## Posicao Atual
66
+ Fase [N] de [total]: [nome-da-fase]
67
+ Plano [M] de [total-fase]: [status]
68
+ CONTEXTO: [ok se has_context | - se nao]
69
+
70
+ ## Decisoes-Chave Tomadas
71
+ - [extrair de $STATE.decisions[]]
72
+
73
+ ## Bloqueios/Preocupacoes
74
+ - [extrair de $STATE.blockers[]]
75
+
76
+ ## Proximo
77
+ [Proximo objetivo fase/plano do roadmap analyze]
78
+ ```
79
+ </step>
80
+
81
+ <step name="route">
82
+ **Determinar proxima acao baseada em contagens verificadas.**
83
+
84
+ **Passo 1: Contar planos e summaries na fase atual**
85
+
86
+ ```bash
87
+ ls -1 .plano/fases/[dir-fase-atual]/*-PLAN.md 2>/dev/null | wc -l
88
+ ls -1 .plano/fases/[dir-fase-atual]/*-SUMMARY.md 2>/dev/null | wc -l
89
+ ```
90
+
91
+ **Passo 2: Rotear baseado em contagens**
92
+
93
+ | Condicao | Significado | Acao |
94
+ |----------|-------------|------|
95
+ | summaries < plans | Planos nao executados existem | Ir para **Rota A** |
96
+ | summaries = plans E plans > 0 | Fase completa | Ir para Passo 3 |
97
+ | plans = 0 | Fase ainda nao planejada | Ir para **Rota B** |
98
+
99
+ ---
100
+
101
+ **Rota A: Plano nao executado existe**
102
+
103
+ Encontrar primeiro PLAN.md sem SUMMARY.md correspondente.
104
+
105
+ ```
106
+ ---
107
+
108
+ ## Proximo
109
+
110
+ **{fase}-{plano}: [Nome do Plano]** -- [resumo do objetivo]
111
+
112
+ `/up:executar-fase {fase}`
113
+
114
+ <sub>`/clear` primeiro -> janela de contexto limpa</sub>
115
+
116
+ ---
117
+ ```
118
+
119
+ ---
120
+
121
+ **Rota B: Fase precisa planejamento**
122
+
123
+ Verificar se `{fase_num}-CONTEXT.md` existe no diretorio da fase.
124
+
125
+ **Se CONTEXT.md existe:**
126
+
127
+ ```
128
+ ---
129
+
130
+ ## Proximo
131
+
132
+ **Fase {N}: {Nome}** -- {Objetivo do ROADMAP.md}
133
+ <sub>Contexto reunido, pronto para planejar</sub>
134
+
135
+ `/up:planejar-fase {numero-fase}`
136
+
137
+ <sub>`/clear` primeiro -> janela de contexto limpa</sub>
138
+
139
+ ---
140
+ ```
141
+
142
+ **Se CONTEXT.md NAO existe:**
143
+
144
+ ```
145
+ ---
146
+
147
+ ## Proximo
148
+
149
+ **Fase {N}: {Nome}** -- {Objetivo do ROADMAP.md}
150
+
151
+ `/up:discutir-fase {fase}` -- reunir contexto e esclarecer abordagem
152
+
153
+ <sub>`/clear` primeiro -> janela de contexto limpa</sub>
154
+
155
+ ---
156
+
157
+ **Tambem disponivel:**
158
+ - `/up:planejar-fase {fase}` -- pular discussao, planejar diretamente
159
+
160
+ ---
161
+ ```
162
+
163
+ ---
164
+
165
+ **Passo 3: Verificar status do projeto (apenas quando fase completa)**
166
+
167
+ | Condicao | Significado | Acao |
168
+ |----------|-------------|------|
169
+ | fase atual < maior fase | Mais fases restam | **Rota C** |
170
+ | fase atual = maior fase | Projeto completo | **Rota D** |
171
+
172
+ ---
173
+
174
+ **Rota C: Fase completa, mais fases restam**
175
+
176
+ ```
177
+ ---
178
+
179
+ ## Fase {Z} Completa
180
+
181
+ ## Proximo
182
+
183
+ **Fase {Z+1}: {Nome}** -- {Objetivo do ROADMAP.md}
184
+
185
+ `/up:discutir-fase {Z+1}` -- reunir contexto e esclarecer abordagem
186
+
187
+ <sub>`/clear` primeiro -> janela de contexto limpa</sub>
188
+
189
+ ---
190
+
191
+ **Tambem disponivel:**
192
+ - `/up:planejar-fase {Z+1}` -- pular discussao, planejar diretamente
193
+ - `/up:verificar-trabalho {Z}` -- teste de aceitacao antes de continuar
194
+
195
+ ---
196
+ ```
197
+
198
+ ---
199
+
200
+ **Rota D: Projeto completo**
201
+
202
+ ```
203
+ ---
204
+
205
+ ## Projeto Completo!
206
+
207
+ Todas {N} fases finalizadas!
208
+
209
+ ---
210
+
211
+ **Tambem disponivel:**
212
+ - `/up:verificar-trabalho` -- teste de aceitacao antes de encerrar
213
+
214
+ ---
215
+ ```
216
+ </step>
217
+
218
+ </process>
219
+
220
+ <success_criteria>
221
+ - [ ] Contexto rico fornecido (trabalho recente, decisoes, problemas)
222
+ - [ ] Posicao atual clara com progresso visual
223
+ - [ ] Proximo passo claramente explicado
224
+ - [ ] Roteamento inteligente: /up:executar-fase se planos existem, /up:planejar-fase se nao
225
+ - [ ] Handoff seamless para comando up apropriado
226
+ </success_criteria>
@@ -0,0 +1,209 @@
1
+ <purpose>
2
+ Executar tarefas pequenas e ad-hoc com garantias UP (commits atomicos, rastreamento STATE.md). Modo rapido spawna up-planejador (modo rapido) + up-executor(s), rastreia tarefas em `.plano/rapido/`, e atualiza tabela "Tarefas Rapidas Completadas" do STATE.md.
3
+ </purpose>
4
+
5
+ <process>
6
+ **Passo 1: Parsear argumentos e obter descricao da tarefa**
7
+
8
+ Parsear `$ARGUMENTS` para:
9
+ - Texto restante -> usar como `$DESCRIPTION` se nao-vazio
10
+
11
+ Se `$DESCRIPTION` esta vazio, promptar usuario interativamente:
12
+
13
+ ```
14
+ AskUserQuestion(
15
+ header: "Tarefa Rapida",
16
+ question: "O que voce quer fazer?",
17
+ followUp: null
18
+ )
19
+ ```
20
+
21
+ Guardar resposta como `$DESCRIPTION`.
22
+
23
+ Se ainda vazio, re-promptar: "Por favor forneca descricao da tarefa."
24
+
25
+ Exibir banner:
26
+ ```
27
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
28
+ UP > TAREFA RAPIDA
29
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
30
+ ```
31
+
32
+ ---
33
+
34
+ **Passo 2: Inicializar**
35
+
36
+ ```bash
37
+ INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init quick "$DESCRIPTION")
38
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
39
+ ```
40
+
41
+ Parse JSON: `commit_docs`, `next_num`, `slug`, `date`, `timestamp`, `quick_dir`, `task_dir`, `roadmap_exists`, `planning_exists`.
42
+
43
+ **Se `roadmap_exists` = false:** Erro -- Modo rapido requer projeto ativo com ROADMAP.md. Execute `/up:novo-projeto` primeiro.
44
+
45
+ ---
46
+
47
+ **Passo 3: Criar diretorio da tarefa**
48
+
49
+ ```bash
50
+ QUICK_DIR=".plano/rapido/${next_num}-${slug}"
51
+ mkdir -p "$QUICK_DIR"
52
+ ```
53
+
54
+ Reportar:
55
+ ```
56
+ Criando tarefa rapida ${next_num}: ${DESCRIPTION}
57
+ Diretorio: ${QUICK_DIR}
58
+ ```
59
+
60
+ ---
61
+
62
+ **Passo 4: Spawn planejador (modo rapido)**
63
+
64
+ ```
65
+ Task(
66
+ prompt="
67
+ <planning_context>
68
+
69
+ **Modo:** quick
70
+ **Diretorio:** ${QUICK_DIR}
71
+ **Descricao:** ${DESCRIPTION}
72
+
73
+ <files_to_read>
74
+ - .plano/STATE.md (Estado do Projeto)
75
+ - ./CLAUDE.md (se existir -- seguir diretrizes do projeto)
76
+ </files_to_read>
77
+
78
+ </planning_context>
79
+
80
+ <constraints>
81
+ - Criar UM UNICO plano com 1-3 tarefas focadas
82
+ - Tarefas rapidas devem ser atomicas e autocontidas
83
+ - Sem fase de pesquisa
84
+ - Alvo ~30% uso de contexto (simples, focado)
85
+ </constraints>
86
+
87
+ <output>
88
+ Escrever plano em: ${QUICK_DIR}/${next_num}-PLAN.md
89
+ Retornar: ## PLANNING COMPLETE com caminho do plano
90
+ </output>
91
+ ",
92
+ subagent_type="up-planejador",
93
+ description="Plano rapido: ${DESCRIPTION}"
94
+ )
95
+ ```
96
+
97
+ Apos planejador retornar:
98
+ 1. Verificar plano existe em `${QUICK_DIR}/${next_num}-PLAN.md`
99
+ 2. Reportar: "Plano criado: ${QUICK_DIR}/${next_num}-PLAN.md"
100
+
101
+ ---
102
+
103
+ **Passo 5: Spawn executor**
104
+
105
+ ```
106
+ Task(
107
+ prompt="
108
+ Executar tarefa rapida ${next_num}.
109
+
110
+ <files_to_read>
111
+ - ${QUICK_DIR}/${next_num}-PLAN.md (Plano)
112
+ - .plano/STATE.md (Estado do projeto)
113
+ - ./CLAUDE.md (Instrucoes do projeto, se existir)
114
+ </files_to_read>
115
+
116
+ <constraints>
117
+ - Executar todas tarefas do plano
118
+ - Commitar cada tarefa atomicamente
119
+ - Criar summary em: ${QUICK_DIR}/${next_num}-SUMMARY.md
120
+ - NAO atualizar ROADMAP.md (tarefas rapidas sao separadas de fases planejadas)
121
+ </constraints>
122
+ ",
123
+ subagent_type="up-executor",
124
+ description="Executar: ${DESCRIPTION}"
125
+ )
126
+ ```
127
+
128
+ Apos executor retornar:
129
+ 1. Verificar summary existe em `${QUICK_DIR}/${next_num}-SUMMARY.md`
130
+ 2. Se summary nao encontrado, erro: "Executor falhou ao criar ${next_num}-SUMMARY.md"
131
+
132
+ ---
133
+
134
+ **Passo 6: Atualizar STATE.md**
135
+
136
+ **6a. Verificar se secao "Tarefas Rapidas Completadas" existe:**
137
+
138
+ Ler STATE.md e verificar secao `### Tarefas Rapidas Completadas`.
139
+
140
+ **6b. Se secao nao existe, criar:**
141
+
142
+ Inserir apos secao `### Bloqueios/Preocupacoes`:
143
+
144
+ ```markdown
145
+ ### Tarefas Rapidas Completadas
146
+
147
+ | # | Descricao | Data | Commit | Diretorio |
148
+ |---|-----------|------|--------|-----------|
149
+ ```
150
+
151
+ **6c. Adicionar nova linha a tabela:**
152
+
153
+ ```markdown
154
+ | ${next_num} | ${DESCRIPTION} | ${date} | ${commit_hash} | [${next_num}-${slug}](./rapido/${next_num}-${slug}/) |
155
+ ```
156
+
157
+ **6d. Atualizar linha "Ultima atividade":**
158
+
159
+ ```
160
+ Ultima atividade: ${date} - Completou tarefa rapida ${next_num}: ${DESCRIPTION}
161
+ ```
162
+
163
+ Usar ferramenta Edit para fazer mudancas atomicamente.
164
+
165
+ ---
166
+
167
+ **Passo 7: Commit final e conclusao**
168
+
169
+ Stagear e commitar artefatos da tarefa rapida:
170
+
171
+ ```bash
172
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs(rapido-${next_num}): ${DESCRIPTION}" --files ${QUICK_DIR}/${next_num}-PLAN.md ${QUICK_DIR}/${next_num}-SUMMARY.md .plano/STATE.md
173
+ ```
174
+
175
+ Obter hash do commit final:
176
+ ```bash
177
+ commit_hash=$(git rev-parse --short HEAD)
178
+ ```
179
+
180
+ Exibir saida de conclusao:
181
+
182
+ ```
183
+ ---
184
+
185
+ UP > TAREFA RAPIDA COMPLETA
186
+
187
+ Tarefa Rapida ${next_num}: ${DESCRIPTION}
188
+
189
+ Summary: ${QUICK_DIR}/${next_num}-SUMMARY.md
190
+ Commit: ${commit_hash}
191
+
192
+ ---
193
+
194
+ Pronto para proxima tarefa: /up:rapido
195
+ ```
196
+
197
+ </process>
198
+
199
+ <success_criteria>
200
+ - [ ] Validacao ROADMAP.md passa
201
+ - [ ] Usuario forneceu descricao da tarefa
202
+ - [ ] Slug gerado (minusculo, hifens, max 40 chars)
203
+ - [ ] Proximo numero calculado (001, 002, 003...)
204
+ - [ ] Diretorio criado em `.plano/rapido/NNN-slug/`
205
+ - [ ] `${next_num}-PLAN.md` criado pelo planejador
206
+ - [ ] `${next_num}-SUMMARY.md` criado pelo executor
207
+ - [ ] STATE.md atualizado com linha da tarefa rapida
208
+ - [ ] Artefatos committed
209
+ </success_criteria>