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,231 @@
1
+ <trigger>
2
+ Use este workflow quando:
3
+ - Iniciando nova sessao em projeto existente
4
+ - Usuario diz "continuar", "o que vem", "onde paramos", "retomar"
5
+ - Qualquer operacao de planejamento quando .plano/ ja existe
6
+ - Usuario retorna apos tempo longe do projeto
7
+ </trigger>
8
+
9
+ <purpose>
10
+ Restaurar instantaneamente contexto completo do projeto para que "Onde paramos?" tenha resposta imediata e completa.
11
+ </purpose>
12
+
13
+ <process>
14
+
15
+ <step name="initialize">
16
+ Carregar contexto:
17
+
18
+ ```bash
19
+ INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init resume)
20
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
21
+ ```
22
+
23
+ Parse JSON: `state_exists`, `roadmap_exists`, `project_exists`, `planning_exists`, `commit_docs`.
24
+
25
+ **Se `state_exists` = true:** Prosseguir para load_state
26
+ **Se `state_exists` = false mas `roadmap_exists` ou `project_exists` = true:** Oferecer reconstruir STATE.md
27
+ **Se `planning_exists` = false:** Projeto novo - rotear para /up:novo-projeto
28
+ </step>
29
+
30
+ <step name="load_state">
31
+
32
+ Ler e parsear STATE.md, depois PROJECT.md:
33
+
34
+ ```bash
35
+ cat .plano/STATE.md
36
+ cat .plano/PROJECT.md
37
+ ```
38
+
39
+ **Do STATE.md extrair:**
40
+
41
+ - **Referencia do Projeto**: Valor central e foco atual
42
+ - **Posicao Atual**: Fase X de Y, Plano A de B, Status
43
+ - **Progresso**: Barra de progresso visual
44
+ - **Decisoes Recentes**: Decisoes-chave afetando trabalho atual
45
+ - **Bloqueios/Preocupacoes**: Problemas herdados
46
+ - **Continuidade de Sessao**: Onde paramos, arquivos de retomada
47
+
48
+ **Do PROJECT.md extrair:**
49
+
50
+ - **O que e Isso**: Descricao atual precisa
51
+ - **Requisitos**: Validados, Ativos, Fora do Escopo
52
+ - **Decisoes-Chave**: Log completo de decisoes
53
+ </step>
54
+
55
+ <step name="check_incomplete_work">
56
+ Procurar trabalho incompleto que precisa atencao:
57
+
58
+ ```bash
59
+ # Verificar arquivos continue-aqui (retomada mid-plano)
60
+ ls .plano/fases/*/.continue-aqui.md 2>/dev/null
61
+
62
+ # Verificar planos sem summaries (execucao incompleta)
63
+ for plan in .plano/fases/*/*-PLAN.md; do
64
+ summary="${plan/PLAN/SUMMARY}"
65
+ [ ! -f "$summary" ] && echo "Incompleto: $plan"
66
+ done 2>/dev/null
67
+ ```
68
+
69
+ **Se arquivo .continue-aqui existe:**
70
+ - Este e um ponto de retomada mid-plano
71
+ - Ler arquivo para contexto especifico de retomada
72
+ - Flag: "Encontrado checkpoint mid-plano"
73
+
74
+ **Se PLAN sem SUMMARY existe:**
75
+ - Execucao foi iniciada mas nao completada
76
+ - Flag: "Encontrada execucao de plano incompleta"
77
+ </step>
78
+
79
+ <step name="present_status">
80
+ Apresentar status completo do projeto:
81
+
82
+ ```
83
+ ==============================================================
84
+ STATUS DO PROJETO
85
+ ==============================================================
86
+ Construindo: [one-liner do PROJECT.md "O que e Isso"]
87
+
88
+ Fase: [X] de [Y] - [Nome da fase]
89
+ Plano: [A] de [B] - [Status]
90
+ Progresso: [##########----------] XX%
91
+
92
+ Ultima atividade: [data] - [o que aconteceu]
93
+ ==============================================================
94
+
95
+ [Se trabalho incompleto encontrado:]
96
+ Trabalho incompleto detectado:
97
+ - [arquivo .continue-aqui ou plano incompleto]
98
+
99
+ [Se bloqueios existem:]
100
+ Preocupacoes herdadas:
101
+ - [bloqueio 1]
102
+ - [bloqueio 2]
103
+ ```
104
+ </step>
105
+
106
+ <step name="determine_next_action">
107
+ Baseado no estado do projeto, determinar acao mais logica:
108
+
109
+ **Se arquivo .continue-aqui existe:**
110
+ -> Primaria: Retomar do checkpoint
111
+ -> Opcao: Comecar limpo no plano atual
112
+
113
+ **Se plano incompleto (PLAN sem SUMMARY):**
114
+ -> Primaria: Completar plano incompleto
115
+ -> Opcao: Abandonar e seguir em frente
116
+
117
+ **Se fase em progresso, todos planos completos:**
118
+ -> Primaria: Transicionar para proxima fase
119
+
120
+ **Se fase pronta para planejar:**
121
+ -> Verificar se CONTEXT.md existe:
122
+ - Se CONTEXT.md faltando: Primaria = discutir fase
123
+ - Se CONTEXT.md existe: Primaria = planejar fase
124
+
125
+ **Se fase pronta para executar:**
126
+ -> Primaria: Executar proximo plano
127
+ </step>
128
+
129
+ <step name="offer_options">
130
+ Apresentar opcoes contextuais baseadas no estado:
131
+
132
+ ```
133
+ O que voce gostaria de fazer?
134
+
135
+ [Acao primaria baseada no estado - ex:]
136
+ 1. Executar fase (/up:executar-fase {fase})
137
+ OU
138
+ 1. Discutir contexto da Fase 3 (/up:discutir-fase 3)
139
+ OU
140
+ 1. Planejar Fase 3 (/up:planejar-fase 3)
141
+
142
+ [Opcoes secundarias:]
143
+ 2. Revisar status da fase atual
144
+ 3. Algo diferente
145
+ ```
146
+
147
+ Esperar selecao do usuario.
148
+ </step>
149
+
150
+ <step name="route_to_workflow">
151
+ Baseado na selecao do usuario, rotear para workflow apropriado:
152
+
153
+ - **Executar plano** -> Mostrar comando:
154
+ ```
155
+ ---
156
+
157
+ ## Proximo
158
+
159
+ **{fase}-{plano}: [Nome do Plano]** -- [objetivo]
160
+
161
+ `/up:executar-fase {fase}`
162
+
163
+ <sub>`/clear` primeiro -> janela de contexto limpa</sub>
164
+
165
+ ---
166
+ ```
167
+ - **Planejar fase** -> Mostrar comando:
168
+ ```
169
+ ---
170
+
171
+ ## Proximo
172
+
173
+ **Fase [N]: [Nome]** -- [Objetivo do ROADMAP.md]
174
+
175
+ `/up:planejar-fase [numero-fase]`
176
+
177
+ <sub>`/clear` primeiro -> janela de contexto limpa</sub>
178
+
179
+ ---
180
+
181
+ **Tambem disponivel:**
182
+ - `/up:discutir-fase [N]` -- reunir contexto primeiro
183
+
184
+ ---
185
+ ```
186
+ </step>
187
+
188
+ <step name="update_session">
189
+ Antes de prosseguir, atualizar continuidade de sessao no STATE.md:
190
+
191
+ ```markdown
192
+ ## Continuidade de Sessao
193
+
194
+ Ultima sessao: [agora]
195
+ Parado em: Sessao retomada, prosseguindo para [acao]
196
+ Arquivo de retomada: [atualizado se aplicavel]
197
+ ```
198
+ </step>
199
+
200
+ </process>
201
+
202
+ <reconstruction>
203
+ Se STATE.md faltando mas outros artefatos existem:
204
+
205
+ "STATE.md faltando. Reconstruindo a partir de artefatos..."
206
+
207
+ 1. Ler PROJECT.md -> Extrair "O que e Isso" e Valor Central
208
+ 2. Ler ROADMAP.md -> Determinar fases, encontrar posicao atual
209
+ 3. Escanear *-SUMMARY.md -> Extrair decisoes, preocupacoes
210
+ 4. Verificar arquivos .continue-aqui -> Continuidade de sessao
211
+
212
+ Reconstruir e escrever STATE.md, depois prosseguir normalmente.
213
+ </reconstruction>
214
+
215
+ <quick_resume>
216
+ Se usuario diz "continuar" ou "vai":
217
+ - Carregar estado silenciosamente
218
+ - Determinar acao primaria
219
+ - Executar imediatamente sem apresentar opcoes
220
+
221
+ "Continuando de [estado]... [acao]"
222
+ </quick_resume>
223
+
224
+ <success_criteria>
225
+ - [ ] STATE.md carregado (ou reconstruido)
226
+ - [ ] Trabalho incompleto detectado e sinalizado
227
+ - [ ] Status claro apresentado ao usuario
228
+ - [ ] Proximas acoes contextuais oferecidas
229
+ - [ ] Usuario sabe exatamente onde projeto esta
230
+ - [ ] Continuidade de sessao atualizada
231
+ </success_criteria>
@@ -0,0 +1,261 @@
1
+ <purpose>
2
+ Validar features construidas atraves de teste conversacional com estado persistente. Cria UAT.md que rastreia progresso de teste, sobrevive /clear, e alimenta lacunas em /up:planejar-fase --gaps.
3
+
4
+ Usuario testa, Claude registra. Um teste por vez. Respostas em texto simples.
5
+ </purpose>
6
+
7
+ <philosophy>
8
+ **Mostrar esperado, perguntar se realidade corresponde.**
9
+
10
+ Claude apresenta o que DEVERIA acontecer. Usuario confirma ou descreve o que esta diferente.
11
+ - "sim" / "s" / "proximo" / vazio -> passou
12
+ - Qualquer outra coisa -> registrado como problema, severidade inferida
13
+ </philosophy>
14
+
15
+ <process>
16
+
17
+ <step name="initialize" priority="first">
18
+ Se $ARGUMENTS contem numero de fase, carregar contexto:
19
+
20
+ ```bash
21
+ INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init verify-work "${PHASE_ARG}")
22
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
23
+ ```
24
+
25
+ Parse JSON: `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `has_verification`.
26
+ </step>
27
+
28
+ <step name="check_active_session">
29
+ **Verificar sessoes UAT ativas**
30
+
31
+ ```bash
32
+ find .plano/fases -name "*-UAT.md" -type f 2>/dev/null | head -5
33
+ ```
34
+
35
+ **Se sessoes ativas existem E sem $ARGUMENTS:**
36
+
37
+ Ler frontmatter de cada arquivo e secao Current Test.
38
+
39
+ ```
40
+ ## Sessoes UAT Ativas
41
+
42
+ | # | Fase | Status | Teste Atual | Progresso |
43
+ |---|------|--------|-------------|-----------|
44
+ | 1 | 04-comentarios | testando | 3. Responder Comentario | 2/6 |
45
+
46
+ Responda com um numero para retomar, ou forneca numero de fase para iniciar nova.
47
+ ```
48
+
49
+ **Se sem sessoes ativas E sem $ARGUMENTS:**
50
+
51
+ ```
52
+ Sem sessoes UAT ativas.
53
+
54
+ Forneca numero de fase para iniciar teste (ex: /up:verificar-trabalho 4)
55
+ ```
56
+ </step>
57
+
58
+ <step name="find_summaries">
59
+ **Encontrar o que testar:**
60
+
61
+ ```bash
62
+ ls "$phase_dir"/*-SUMMARY.md 2>/dev/null
63
+ ```
64
+
65
+ Ler cada SUMMARY.md para extrair entregaveis testaveis.
66
+ </step>
67
+
68
+ <step name="extract_tests">
69
+ **Extrair entregaveis testaveis do SUMMARY.md:**
70
+
71
+ Focar em resultados OBSERVAVEIS PELO USUARIO, nao detalhes de implementacao.
72
+
73
+ Para cada entregavel, criar teste:
74
+ - name: Nome breve do teste
75
+ - expected: O que usuario deveria ver/experimentar (especifico, observavel)
76
+ </step>
77
+
78
+ <step name="create_uat_file">
79
+ **Criar arquivo UAT com todos testes:**
80
+
81
+ Criar arquivo em `.plano/fases/XX-nome/{fase_num}-UAT.md`
82
+
83
+ ```markdown
84
+ ---
85
+ status: testing
86
+ phase: XX-nome
87
+ source: [lista de SUMMARY.md]
88
+ started: [timestamp ISO]
89
+ updated: [timestamp ISO]
90
+ ---
91
+
92
+ ## Teste Atual
93
+ <!-- SOBRESCREVER cada teste - mostra onde estamos -->
94
+
95
+ number: 1
96
+ name: [nome do primeiro teste]
97
+ expected: |
98
+ [o que usuario deve observar]
99
+ awaiting: resposta do usuario
100
+
101
+ ## Testes
102
+
103
+ ### 1. [Nome do Teste]
104
+ expected: [comportamento observavel]
105
+ result: [pendente]
106
+
107
+ ### 2. [Nome do Teste]
108
+ expected: [comportamento observavel]
109
+ result: [pendente]
110
+
111
+ ## Resumo
112
+
113
+ total: [N]
114
+ passed: 0
115
+ issues: 0
116
+ pending: [N]
117
+ skipped: 0
118
+
119
+ ## Lacunas
120
+
121
+ [nenhuma ainda]
122
+ ```
123
+
124
+ Prosseguir para `present_test`.
125
+ </step>
126
+
127
+ <step name="present_test">
128
+ **Apresentar teste atual ao usuario:**
129
+
130
+ ```
131
+ ==============================================================
132
+ CHECKPOINT: Verificacao Necessaria
133
+ ==============================================================
134
+
135
+ **Teste {number}: {name}**
136
+
137
+ {expected}
138
+
139
+ --------------------------------------------------------------
140
+ -> Digite "passou" ou descreva o que esta errado
141
+ --------------------------------------------------------------
142
+ ```
143
+
144
+ Esperar resposta do usuario (texto simples, sem AskUserQuestion).
145
+ </step>
146
+
147
+ <step name="process_response">
148
+ **Processar resposta do usuario e atualizar arquivo:**
149
+
150
+ **Se resposta indica passou:**
151
+ - Resposta vazia, "sim", "s", "ok", "passou", "proximo", "aprovado"
152
+
153
+ **Se resposta indica pular:**
154
+ - "pular", "nao posso testar", "n/a"
155
+
156
+ **Se resposta e qualquer outra coisa:**
157
+ - Tratar como descricao de problema
158
+
159
+ Inferir severidade da descricao:
160
+ - Contem: crash, erro, excecao, falha, quebrado, inutilizavel -> bloqueante
161
+ - Contem: nao funciona, errado, faltando, nao consigo -> grave
162
+ - Contem: lento, estranho, menor, pequeno -> menor
163
+ - Contem: cor, fonte, espacamento, alinhamento, visual -> cosmetico
164
+ - Padrao se incerto: grave
165
+
166
+ **Nunca pergunte "quao severo e isso?"** - apenas infira e siga em frente.
167
+
168
+ Apos qualquer resposta: Atualizar contagens do Resumo. Atualizar timestamp.
169
+
170
+ Se mais testes restam -> Atualizar Teste Atual, ir para `present_test`
171
+ Se sem mais testes -> Ir para `complete_session`
172
+ </step>
173
+
174
+ <step name="resume_from_file">
175
+ **Retomar teste do arquivo UAT:**
176
+
177
+ Ler arquivo UAT completo. Encontrar primeiro teste com `result: [pendente]`.
178
+
179
+ ```
180
+ Retomando: Fase {fase} UAT
181
+ Progresso: {passed + issues + skipped}/{total}
182
+ Problemas encontrados ate agora: {contagem}
183
+
184
+ Continuando do Teste {N}...
185
+ ```
186
+ </step>
187
+
188
+ <step name="complete_session">
189
+ **Completar teste e commitar:**
190
+
191
+ Atualizar frontmatter:
192
+ - status: complete
193
+ - updated: [agora]
194
+
195
+ Commitar arquivo UAT:
196
+ ```bash
197
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "test({fase_num}): completar UAT - {passed} passaram, {issues} problemas" --files ".plano/fases/XX-nome/{fase_num}-UAT.md"
198
+ ```
199
+
200
+ Apresentar resumo:
201
+ ```
202
+ ## UAT Completo: Fase {fase}
203
+
204
+ | Resultado | Contagem |
205
+ |-----------|----------|
206
+ | Passou | {N} |
207
+ | Problemas | {N} |
208
+ | Pulados | {N} |
209
+
210
+ [Se problemas > 0:]
211
+ ### Problemas Encontrados
212
+ [Lista da secao Lacunas]
213
+ ```
214
+
215
+ **Se problemas > 0:**
216
+ ```
217
+ {N} problemas encontrados.
218
+
219
+ ---
220
+
221
+ ## Proximo
222
+
223
+ **Planejar correcoes** -- criar planos para resolver lacunas
224
+
225
+ `/up:planejar-fase {fase} --gaps`
226
+
227
+ <sub>`/clear` primeiro -> janela de contexto limpa</sub>
228
+
229
+ ---
230
+ ```
231
+
232
+ **Se problemas == 0:**
233
+ ```
234
+ Todos testes passaram. Pronto para continuar.
235
+
236
+ - `/up:planejar-fase {proxima}` -- Planejar proxima fase
237
+ - `/up:executar-fase {proxima}` -- Executar proxima fase
238
+ ```
239
+ </step>
240
+
241
+ </process>
242
+
243
+ <severity_inference>
244
+ **Inferir severidade da linguagem natural do usuario:**
245
+
246
+ | Usuario diz | Inferir |
247
+ |-------------|---------|
248
+ | "crasha", "erro", "excecao", "falha completa" | bloqueante |
249
+ | "nao funciona", "nada acontece", "comportamento errado" | grave |
250
+ | "funciona mas...", "lento", "estranho", "problema menor" | menor |
251
+ | "cor", "espacamento", "alinhamento", "parece errado" | cosmetico |
252
+ </severity_inference>
253
+
254
+ <success_criteria>
255
+ - [ ] Arquivo UAT criado com todos testes do SUMMARY.md
256
+ - [ ] Testes apresentados um por vez com comportamento esperado
257
+ - [ ] Respostas do usuario processadas como passou/problema/pulou
258
+ - [ ] Severidade inferida da descricao (nunca perguntada)
259
+ - [ ] Committed na conclusao
260
+ - [ ] Se problemas: pronto para `/up:planejar-fase --gaps`
261
+ </success_criteria>