up-cc 0.16.1 → 2.0.1

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 (135) hide show
  1. package/README.md +87 -577
  2. package/package.json +5 -3
  3. package/up/CHANGELOG.md +110 -0
  4. package/up/agents/up-arquiteto.md +95 -39
  5. package/up/agents/up-auditor.md +218 -0
  6. package/up/agents/up-executor.md +94 -31
  7. package/up/agents/up-mapeador-codigo.md +63 -10
  8. package/up/agents/up-pesquisador.md +278 -0
  9. package/up/agents/up-revisor.md +249 -0
  10. package/up/agents/up-sintetizador.md +156 -179
  11. package/up/agents/up-tester.md +280 -0
  12. package/up/agents/up-verificador.md +95 -11
  13. package/up/bin/install.js +182 -19
  14. package/up/bin/lib/core.cjs +17 -43
  15. package/up/bin/lib/github.cjs +495 -0
  16. package/up/bin/lib/multica.cjs +424 -0
  17. package/up/bin/up-tools.cjs +167 -46
  18. package/up/commands/auditar.md +66 -0
  19. package/up/commands/build.md +54 -43
  20. package/up/commands/depurar.md +1 -1
  21. package/up/commands/plan.md +52 -38
  22. package/up/commands/rapido.md +15 -9
  23. package/up/commands/testar.md +81 -122
  24. package/up/commands/up.md +106 -0
  25. package/up/hooks/up-session-start.js +107 -0
  26. package/up/references/engineering-principles.md +1 -1
  27. package/up/references/governance-rules.md +5 -5
  28. package/up/references/production-requirements.md +1 -1
  29. package/up/references/severity-levels.md +2 -2
  30. package/up/references/tdd-evidence-types.md +81 -0
  31. package/up/skills/up-brainstorm/SKILL.md +54 -0
  32. package/up/skills/up-brainstorm/visual-companion.md +33 -0
  33. package/up/skills/up-tdd/SKILL.md +39 -0
  34. package/up/skills/up-verificar-antes-de-concluir/SKILL.md +49 -0
  35. package/up/skills/usando-up/SKILL.md +26 -0
  36. package/up/templates/audit-plan.md +3 -3
  37. package/up/templates/audit-report.md +2 -2
  38. package/up/templates/design-tokens.md +2 -2
  39. package/up/workflows/auditar.md +255 -0
  40. package/up/workflows/build.md +600 -386
  41. package/up/workflows/dcrv.md +183 -99
  42. package/up/workflows/governance.md +112 -220
  43. package/up/workflows/plan.md +169 -399
  44. package/up/workflows/rapido.md +7 -1
  45. package/up/workflows/up.md +447 -0
  46. package/up/agents/up-analista-codigo.md +0 -446
  47. package/up/agents/up-api-tester.md +0 -405
  48. package/up/agents/up-architecture-supervisor.md +0 -126
  49. package/up/agents/up-audit-supervisor.md +0 -83
  50. package/up/agents/up-auditor-modernidade.md +0 -378
  51. package/up/agents/up-auditor-performance.md +0 -426
  52. package/up/agents/up-auditor-ux.md +0 -396
  53. package/up/agents/up-backend-specialist.md +0 -175
  54. package/up/agents/up-blind-validator.md +0 -259
  55. package/up/agents/up-chief-architect.md +0 -184
  56. package/up/agents/up-chief-engineer.md +0 -202
  57. package/up/agents/up-chief-operations.md +0 -123
  58. package/up/agents/up-chief-product.md +0 -103
  59. package/up/agents/up-chief-quality.md +0 -211
  60. package/up/agents/up-clone-crawler.md +0 -234
  61. package/up/agents/up-clone-design-extractor.md +0 -227
  62. package/up/agents/up-clone-feature-mapper.md +0 -225
  63. package/up/agents/up-clone-prd-writer.md +0 -169
  64. package/up/agents/up-clone-verifier.md +0 -227
  65. package/up/agents/up-code-reviewer.md +0 -229
  66. package/up/agents/up-consolidador-ideias.md +0 -493
  67. package/up/agents/up-database-specialist.md +0 -169
  68. package/up/agents/up-delivery-auditor.md +0 -247
  69. package/up/agents/up-devops-agent.md +0 -203
  70. package/up/agents/up-execution-supervisor.md +0 -315
  71. package/up/agents/up-exhaustive-tester.md +0 -348
  72. package/up/agents/up-frontend-specialist.md +0 -152
  73. package/up/agents/up-operations-supervisor.md +0 -94
  74. package/up/agents/up-pesquisador-mercado.md +0 -350
  75. package/up/agents/up-pesquisador-projeto.md +0 -358
  76. package/up/agents/up-planning-auditor.md +0 -284
  77. package/up/agents/up-planning-supervisor.md +0 -260
  78. package/up/agents/up-product-analyst.md +0 -192
  79. package/up/agents/up-product-supervisor.md +0 -83
  80. package/up/agents/up-project-ceo.md +0 -352
  81. package/up/agents/up-qa-agent.md +0 -171
  82. package/up/agents/up-quality-supervisor.md +0 -178
  83. package/up/agents/up-requirements-validator.md +0 -230
  84. package/up/agents/up-security-reviewer.md +0 -137
  85. package/up/agents/up-sintetizador-melhorias.md +0 -407
  86. package/up/agents/up-system-designer.md +0 -332
  87. package/up/agents/up-technical-writer.md +0 -188
  88. package/up/agents/up-verification-supervisor.md +0 -111
  89. package/up/agents/up-visual-critic.md +0 -358
  90. package/up/commands/adicionar-fase.md +0 -47
  91. package/up/commands/adicionar-testes.md +0 -145
  92. package/up/commands/ajuda.md +0 -176
  93. package/up/commands/atualizar.md +0 -103
  94. package/up/commands/clone-builder.md +0 -67
  95. package/up/commands/configurar.md +0 -219
  96. package/up/commands/custos.md +0 -67
  97. package/up/commands/dashboard.md +0 -48
  98. package/up/commands/discutir-fase.md +0 -35
  99. package/up/commands/executar-fase.md +0 -40
  100. package/up/commands/ideias.md +0 -49
  101. package/up/commands/iniciar.md +0 -31
  102. package/up/commands/mapear-codigo.md +0 -63
  103. package/up/commands/melhorias.md +0 -45
  104. package/up/commands/mobile-first.md +0 -71
  105. package/up/commands/modo-builder.md +0 -186
  106. package/up/commands/novo-projeto.md +0 -40
  107. package/up/commands/onboard.md +0 -69
  108. package/up/commands/pausar.md +0 -33
  109. package/up/commands/planejar-fase.md +0 -45
  110. package/up/commands/progresso.md +0 -33
  111. package/up/commands/remover-fase.md +0 -34
  112. package/up/commands/resetar.md +0 -27
  113. package/up/commands/retomar.md +0 -35
  114. package/up/commands/saude.md +0 -103
  115. package/up/commands/ux-tester.md +0 -63
  116. package/up/commands/verificar-trabalho.md +0 -35
  117. package/up/workflows/adicionar-fase.md +0 -112
  118. package/up/workflows/builder-e2e.md +0 -501
  119. package/up/workflows/builder.md +0 -3419
  120. package/up/workflows/ceo-intake.md +0 -305
  121. package/up/workflows/ceo-updates.md +0 -183
  122. package/up/workflows/clone-builder.md +0 -320
  123. package/up/workflows/discutir-fase.md +0 -336
  124. package/up/workflows/executar-fase.md +0 -358
  125. package/up/workflows/executar-plano.md +0 -659
  126. package/up/workflows/ideias.md +0 -381
  127. package/up/workflows/iniciar.md +0 -235
  128. package/up/workflows/melhorias.md +0 -409
  129. package/up/workflows/mobile-first.md +0 -692
  130. package/up/workflows/novo-projeto.md +0 -778
  131. package/up/workflows/planejar-fase.md +0 -293
  132. package/up/workflows/progresso.md +0 -226
  133. package/up/workflows/retomar.md +0 -231
  134. package/up/workflows/ux-tester.md +0 -526
  135. package/up/workflows/verificar-trabalho.md +0 -308
@@ -1,778 +0,0 @@
1
- <purpose>
2
- Inicializar projeto: questionamento, pesquisa (opcional), requisitos, roteiro. Detecta automaticamente se e greenfield (sem codigo) ou brownfield (codigo existente) e adapta o fluxo.
3
-
4
- Este e o momento mais importante do projeto -- questionamento profundo aqui significa planos melhores, execucao melhor, resultados melhores.
5
- </purpose>
6
-
7
- <process>
8
-
9
- ## 1. Setup
10
-
11
- **PRIMEIRO PASSO OBRIGATORIO -- Execute antes de qualquer interacao:**
12
-
13
- ```bash
14
- INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init novo-projeto)
15
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
16
- ```
17
-
18
- Parse JSON: `commit_docs`, `project_exists`, `planning_exists`, `has_existing_code`, `has_codebase_map`, `codebase_files`, `has_git`, `project_path`.
19
-
20
- **Se `project_exists` = true:**
21
-
22
- Use AskUserQuestion:
23
- - header: "Projeto existente"
24
- - question: "Ja existe um PROJECT.md. O que voce quer fazer?"
25
- - options:
26
- - "Revisar e atualizar" -- Atualizar projeto existente com novos objetivos
27
- - "Recomecar do zero" -- Apagar e reinicializar (PROJECT.md sera recriado)
28
- - "Cancelar" -- Manter como esta
29
-
30
- Se "Revisar e atualizar": Ler PROJECT.md existente, pular para passo 2 com contexto carregado.
31
- Se "Recomecar do zero": Continuar normalmente (sobrescreve).
32
- Se "Cancelar": Sair. Sugerir `/up:progresso`.
33
-
34
- **Se `has_git` = false:** Inicializar git:
35
- ```bash
36
- git init
37
- ```
38
-
39
- **Determinar modo:**
40
- - `has_existing_code` = true OU `has_codebase_map` = true → **MODO BROWNFIELD**
41
- - Caso contrario → **MODO GREENFIELD**
42
-
43
- ## 2. Questionamento Profundo
44
-
45
- ```
46
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
47
- UP > QUESTIONAMENTO
48
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
49
- ```
50
-
51
- ### MODO GREENFIELD
52
-
53
- **Abrir a conversa:**
54
-
55
- Pergunte inline (freeform, NAO AskUserQuestion):
56
-
57
- "O que voce quer construir?"
58
-
59
- Espere a resposta. Isso da o contexto para perguntas inteligentes.
60
-
61
- ### MODO BROWNFIELD
62
-
63
- **Carregar contexto do codebase:**
64
-
65
- Se `has_codebase_map` = true:
66
- ```bash
67
- # Ler documentos do mapeamento
68
- cat .plano/codebase/STACK.md 2>/dev/null
69
- cat .plano/codebase/ARCHITECTURE.md 2>/dev/null
70
- cat .plano/codebase/CONCERNS.md 2>/dev/null
71
- ```
72
-
73
- Se `has_codebase_map` = false (tem codigo mas nao mapeou):
74
- ```bash
75
- # Mini-scan: detectar stack e estrutura
76
- ls package.json go.mod Cargo.toml requirements.txt pyproject.toml pom.xml build.gradle composer.json Gemfile 2>/dev/null
77
- ls -d src/ app/ lib/ cmd/ internal/ pages/ components/ 2>/dev/null | head -10
78
- ```
79
-
80
- **Apresentar o que ja sabemos:**
81
-
82
- ```
83
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
84
- UP > PROJETO EXISTENTE DETECTADO
85
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
86
-
87
- [Se mapeamento existe:]
88
- Stack: [de STACK.md]
89
- Arquitetura: [resumo de ARCHITECTURE.md]
90
- Preocupacoes: [de CONCERNS.md]
91
-
92
- [Se sem mapeamento:]
93
- Detectado: [stack inferido dos arquivos de config]
94
- Estrutura: [diretorios encontrados]
95
-
96
- Dica: /up:mapear-codigo produz analise mais detalhada
97
- ```
98
-
99
- **Abrir a conversa (brownfield):**
100
-
101
- Pergunte inline (freeform, NAO AskUserQuestion):
102
-
103
- "Voce ja tem codigo rodando. O que voce quer fazer com ele? (novas features, refatoracao, correcoes, migracoes...)"
104
-
105
- Espere a resposta.
106
-
107
- ### AMBOS OS MODOS — Seguir os fios
108
-
109
- Com base na resposta, faca perguntas de acompanhamento que aprofundem. Use AskUserQuestion com opcoes que investiguem o que mencionaram -- interpretacoes, esclarecimentos, exemplos concretos.
110
-
111
- Continue seguindo fios. Cada resposta abre novos fios para explorar. Pergunte sobre:
112
- - O que os empolgou
113
- - Qual problema gerou isso
114
- - O que significam termos vagos
115
- - Como seria na pratica
116
- - O que ja esta decidido
117
-
118
- **Brownfield extra — pergunte tambem:**
119
- - O que funciona bem e NAO deve mudar
120
- - O que causa mais dor
121
- - Se ha divida tecnica urgente
122
- - Se ha restricoes de retrocompatibilidade
123
-
124
- Consulte `questioning.md` para tecnicas:
125
- - Desafie vaguidao
126
- - Torne o abstrato concreto
127
- - Exponha suposicoes
128
- - Encontre bordas
129
- - Revele motivacao
130
-
131
- **Portao de decisao:**
132
-
133
- Quando puder escrever um PROJECT.md claro, use AskUserQuestion:
134
-
135
- - header: "Pronto?"
136
- - question: "Acho que entendi o que voce quer. Pronto para criar o PROJECT.md?"
137
- - options:
138
- - "Criar PROJECT.md" -- Vamos em frente
139
- - "Continuar explorando" -- Quero compartilhar mais / me pergunte mais
140
-
141
- Se "Continuar explorando" -- pergunte o que querem adicionar, ou identifique lacunas e investigue naturalmente.
142
-
143
- Loop ate "Criar PROJECT.md" selecionado.
144
-
145
- ## 3. Escrever PROJECT.md
146
-
147
- Sintetize todo o contexto em `.plano/PROJECT.md` usando o template de `templates/project.md`.
148
-
149
- ### MODO GREENFIELD
150
-
151
- Inicialize requisitos como hipoteses:
152
-
153
- ```markdown
154
- ## Requisitos
155
-
156
- ### Validados
157
-
158
- (Nenhum ainda -- lance para validar)
159
-
160
- ### Ativos
161
-
162
- - [ ] [Requisito 1]
163
- - [ ] [Requisito 2]
164
- - [ ] [Requisito 3]
165
-
166
- ### Fora do Escopo
167
-
168
- - [Exclusao 1] -- [por que]
169
- - [Exclusao 2] -- [por que]
170
- ```
171
-
172
- ### MODO BROWNFIELD
173
-
174
- Inferir requisitos validados do codebase existente, separar objetivos novos:
175
-
176
- ```markdown
177
- ## Requisitos
178
-
179
- ### Validados
180
-
181
- <!-- Inferidos do codebase existente -- ja funcionam em producao -->
182
-
183
- - [x] [Feature existente 1 inferida do codigo]
184
- - [x] [Feature existente 2 inferida do codigo]
185
- - [x] [Padrao estabelecido inferido do codigo]
186
-
187
- ### Ativos
188
-
189
- <!-- Novos objetivos do usuario para este trabalho -->
190
-
191
- - [ ] [Novo objetivo 1]
192
- - [ ] [Novo objetivo 2]
193
- - [ ] [Novo objetivo 3]
194
-
195
- ### Fora do Escopo
196
-
197
- - [Exclusao 1] -- [por que]
198
- - [Exclusao 2] -- [por que]
199
- ```
200
-
201
- Se `has_codebase_map` = true, popular secao Contexto com dados do mapeamento:
202
-
203
- ```markdown
204
- ## Contexto
205
-
206
- **Codebase existente mapeado em:** .plano/codebase/
207
-
208
- - **Stack:** [de STACK.md]
209
- - **Arquitetura:** [de ARCHITECTURE.md]
210
- - **Convencoes:** Ver .plano/codebase/CONVENTIONS.md
211
- - **Divida tecnica:** [resumo de CONCERNS.md]
212
- - **Testes:** [resumo de TESTING.md]
213
- ```
214
-
215
- ### AMBOS OS MODOS
216
-
217
- **Decisoes-Chave:**
218
-
219
- Inicialize com decisoes tomadas durante questionamento:
220
-
221
- ```markdown
222
- ## Decisoes-Chave
223
-
224
- | Decisao | Justificativa | Resultado |
225
- |---------|---------------|-----------|
226
- | [Escolha do questionamento] | [Por que] | -- Pendente |
227
- ```
228
-
229
- **Rodape de ultima atualizacao:**
230
-
231
- ```markdown
232
- ---
233
- *Ultima atualizacao: [data] apos inicializacao*
234
- ```
235
-
236
- Nao comprima. Capture tudo que foi reunido.
237
-
238
- **Commit PROJECT.md:**
239
-
240
- ```bash
241
- mkdir -p .plano
242
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: inicializar projeto" --files .plano/PROJECT.md
243
- ```
244
-
245
- ## 4. Preferencias de Workflow
246
-
247
- **Round 1 -- Configuracoes principais (3 perguntas):**
248
-
249
- ```
250
- questions: [
251
- {
252
- header: "Modo",
253
- question: "Como voce quer trabalhar?",
254
- multiSelect: false,
255
- options: [
256
- { label: "YOLO (Recomendado)", description: "Auto-aprovar, apenas executar" },
257
- { label: "Interativo", description: "Confirmar a cada passo" }
258
- ]
259
- },
260
- {
261
- header: "Granularidade",
262
- question: "Quao finamente o escopo deve ser dividido em fases?",
263
- multiSelect: false,
264
- options: [
265
- { label: "Grosso", description: "Menos fases, mais amplas (3-5 fases, 1-3 planos cada)" },
266
- { label: "Padrao", description: "Tamanho de fase equilibrado (5-8 fases, 3-5 planos cada)" },
267
- { label: "Fino", description: "Muitas fases focadas (8-12 fases, 5-10 planos cada)" }
268
- ]
269
- },
270
- {
271
- header: "Execucao",
272
- question: "Executar planos em paralelo?",
273
- multiSelect: false,
274
- options: [
275
- { label: "Paralelo (Recomendado)", description: "Planos independentes rodam simultaneamente" },
276
- { label: "Sequencial", description: "Um plano por vez" }
277
- ]
278
- }
279
- ]
280
- ```
281
-
282
- Criar `.plano/config.json`:
283
-
284
- ```json
285
- {
286
- "mode": "yolo|interactive",
287
- "granularity": "coarse|standard|fine",
288
- "parallelization": true|false,
289
- "commit_docs": true
290
- }
291
- ```
292
-
293
- **Commit config.json:**
294
-
295
- ```bash
296
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "chore: adicionar config do projeto" --files .plano/config.json
297
- ```
298
-
299
- ## 5. Decisao de Pesquisa
300
-
301
- ### MODO BROWNFIELD
302
-
303
- **Se `has_codebase_map` = true:**
304
-
305
- A pesquisa de stack/arquitetura ja foi feita pelo mapeamento. Oferecer pesquisa focada:
306
-
307
- Use AskUserQuestion:
308
- - header: "Pesquisa"
309
- - question: "O mapeamento do codebase ja cobriu stack e arquitetura. Quer pesquisar algo especifico?"
310
- - options:
311
- - "Pesquisar novas tecnologias" -- Pesquisar apenas tecnologias/padroes NOVOS que voce quer adotar
312
- - "Pular pesquisa" -- Conheco o que preciso, ir para requisitos
313
-
314
- **Se "Pesquisar novas tecnologias":** Pesquisa focada apenas no que e NOVO (nao re-pesquisar stack existente).
315
-
316
- **Se `has_codebase_map` = false:**
317
-
318
- Use AskUserQuestion:
319
- - header: "Pesquisa"
320
- - question: "Quer que eu analise o codebase antes de definir requisitos?"
321
- - options:
322
- - "Mapear codebase (Recomendado)" -- Analise profunda com /up:mapear-codigo
323
- - "Pesquisa leve" -- Pesquisa de ecossistema sem mapeamento completo
324
- - "Pular" -- Conheco bem o projeto
325
-
326
- Se "Mapear codebase": Sugerir `/up:mapear-codigo` e depois retomar `/up:novo-projeto`. Sair.
327
-
328
- ### MODO GREENFIELD
329
-
330
- Use AskUserQuestion:
331
- - header: "Pesquisa"
332
- - question: "Pesquisar o ecossistema do dominio antes de definir requisitos?"
333
- - options:
334
- - "Pesquisar primeiro (Recomendado)" -- Descobrir stacks padrao, features esperadas, padroes de arquitetura
335
- - "Pular pesquisa" -- Conheco bem esse dominio, ir direto para requisitos
336
-
337
- **Se "Pesquisar primeiro":**
338
-
339
- ```
340
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
341
- UP > PESQUISANDO
342
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
343
-
344
- Pesquisando ecossistema de [dominio]...
345
- ```
346
-
347
- Criar diretorio de pesquisa:
348
- ```bash
349
- mkdir -p .plano/pesquisa
350
- ```
351
-
352
- Exibir indicador de spawn:
353
- ```
354
- Spawning 4 pesquisadores em paralelo...
355
- -> Pesquisa de Stack
356
- -> Pesquisa de Features
357
- -> Pesquisa de Arquitetura
358
- -> Pesquisa de Armadilhas
359
- ```
360
-
361
- Spawn 4 agentes up-pesquisador-projeto em paralelo:
362
-
363
- ```
364
- Task(prompt="<research_type>
365
- Pesquisa de Projeto -- Dimensao Stack para [dominio].
366
- </research_type>
367
-
368
- <question>
369
- Qual e a stack padrao de 2025 para [dominio]?
370
- </question>
371
-
372
- <files_to_read>
373
- - {project_path} (Contexto e objetivos do projeto)
374
- </files_to_read>
375
-
376
- <output>
377
- Write to: .plano/pesquisa/STACK.md
378
- </output>
379
- ", subagent_type="up-pesquisador-projeto", description="Pesquisa de Stack")
380
-
381
- Task(prompt="<research_type>
382
- Pesquisa de Projeto -- Dimensao Features para [dominio].
383
- </research_type>
384
-
385
- <question>
386
- Quais features produtos de [dominio] tem? O que e obrigatorio vs diferenciador?
387
- </question>
388
-
389
- <files_to_read>
390
- - {project_path} (Contexto do projeto)
391
- </files_to_read>
392
-
393
- <output>
394
- Write to: .plano/pesquisa/FEATURES.md
395
- </output>
396
- ", subagent_type="up-pesquisador-projeto", description="Pesquisa de Features")
397
-
398
- Task(prompt="<research_type>
399
- Pesquisa de Projeto -- Dimensao Arquitetura para [dominio].
400
- </research_type>
401
-
402
- <question>
403
- Como sistemas de [dominio] sao tipicamente estruturados? Quais os componentes principais?
404
- </question>
405
-
406
- <files_to_read>
407
- - {project_path} (Contexto do projeto)
408
- </files_to_read>
409
-
410
- <output>
411
- Write to: .plano/pesquisa/ARCHITECTURE.md
412
- </output>
413
- ", subagent_type="up-pesquisador-projeto", description="Pesquisa de Arquitetura")
414
-
415
- Task(prompt="<research_type>
416
- Pesquisa de Projeto -- Dimensao Armadilhas para [dominio].
417
- </research_type>
418
-
419
- <question>
420
- O que projetos de [dominio] comumente erram? Erros criticos?
421
- </question>
422
-
423
- <files_to_read>
424
- - {project_path} (Contexto do projeto)
425
- </files_to_read>
426
-
427
- <output>
428
- Write to: .plano/pesquisa/PITFALLS.md
429
- </output>
430
- ", subagent_type="up-pesquisador-projeto", description="Pesquisa de Armadilhas")
431
- ```
432
-
433
- Apos os 4 agentes completarem, spawn sintetizador para criar SUMMARY.md:
434
-
435
- ```
436
- Task(prompt="
437
- <task>
438
- Sintetizar outputs de pesquisa em SUMMARY.md.
439
- </task>
440
-
441
- <files_to_read>
442
- - .plano/pesquisa/STACK.md
443
- - .plano/pesquisa/FEATURES.md
444
- - .plano/pesquisa/ARCHITECTURE.md
445
- - .plano/pesquisa/PITFALLS.md
446
- </files_to_read>
447
-
448
- <output>
449
- Write to: .plano/pesquisa/SUMMARY.md
450
- Commit apos escrever.
451
- </output>
452
- ", subagent_type="up-sintetizador", description="Sintetizar pesquisa")
453
- ```
454
-
455
- Exibir banner de pesquisa completa e achados-chave:
456
- ```
457
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
458
- UP > PESQUISA COMPLETA
459
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
460
-
461
- ## Achados-Chave
462
-
463
- **Stack:** [de SUMMARY.md]
464
- **Obrigatorio:** [de SUMMARY.md]
465
- **Cuidado com:** [de SUMMARY.md]
466
-
467
- Arquivos: `.plano/pesquisa/`
468
- ```
469
-
470
- **Se "Pular pesquisa":** Continue para Passo 6.
471
-
472
- ## 6. Definir Requisitos
473
-
474
- ```
475
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
476
- UP > DEFININDO REQUISITOS
477
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
478
- ```
479
-
480
- **Carregar contexto:**
481
-
482
- Ler PROJECT.md e extrair:
483
- - Valor central (a UNICA coisa que deve funcionar)
484
- - Restricoes declaradas (orcamento, timeline, limitacoes tecnicas)
485
- - Quaisquer fronteiras de escopo explicitas
486
-
487
- ### MODO BROWNFIELD
488
-
489
- **Carregar requisitos existentes do codebase:**
490
-
491
- Se `has_codebase_map` = true:
492
- - Ler `.plano/codebase/ARCHITECTURE.md` para features existentes
493
- - Ler `.plano/codebase/CONCERNS.md` para divida tecnica
494
-
495
- Apresentar o que ja existe como requisitos validados:
496
-
497
- ```
498
- ## O que ja existe (inferido do codebase)
499
-
500
- ### Funcionalidades existentes
501
- - [Feature 1 detectada]
502
- - [Feature 2 detectada]
503
- - ...
504
-
505
- ### Divida tecnica identificada
506
- - [Concern 1 de CONCERNS.md]
507
- - [Concern 2 de CONCERNS.md]
508
- ```
509
-
510
- Pergunte: "Quais sao seus objetivos? (novas features, correcoes, refatoracao, migracoes)"
511
-
512
- Para cada objetivo, usar AskUserQuestion para escopar e priorizar.
513
-
514
- ### MODO GREENFIELD
515
-
516
- **Se pesquisa existe:** Ler pesquisa/FEATURES.md e extrair categorias de features.
517
-
518
- **Apresentar features por categoria:**
519
-
520
- ```
521
- Aqui estao as features para [dominio]:
522
-
523
- ## Autenticacao
524
- **Obrigatorio:**
525
- - Cadastro com email/senha
526
- - Verificacao de email
527
- - Reset de senha
528
-
529
- **Diferenciadores:**
530
- - Login com magic link
531
- - OAuth (Google, GitHub)
532
-
533
- ---
534
-
535
- ## [Proxima Categoria]
536
- ...
537
- ```
538
-
539
- **Se nao ha pesquisa:** Reunir requisitos por conversa.
540
-
541
- Pergunte: "Quais sao as principais coisas que usuarios precisam fazer?"
542
-
543
- ### AMBOS OS MODOS
544
-
545
- **Escopar cada categoria:**
546
-
547
- Para cada categoria, use AskUserQuestion:
548
-
549
- - header: "[Categoria]" (max 12 chars)
550
- - question: "Quais features de [categoria] estao no v1?"
551
- - multiSelect: true
552
- - options:
553
- - "[Feature 1]" -- [descricao breve]
554
- - "[Feature 2]" -- [descricao breve]
555
- - "Nenhuma para v1" -- Adiar categoria inteira
556
-
557
- **Gerar REQUIREMENTS.md:**
558
-
559
- Criar `.plano/REQUIREMENTS.md` com:
560
- - Requisitos v1 agrupados por categoria (checkboxes, REQ-IDs)
561
- - Requisitos v2 (adiados)
562
- - Fora do Escopo (exclusoes explicitas com raciocinio)
563
-
564
- **Formato REQ-ID:** `[CATEGORIA]-[NUMERO]` (AUTH-01, CONTENT-02)
565
-
566
- **Apresentar lista completa de requisitos:**
567
-
568
- Mostrar cada requisito para confirmacao do usuario.
569
-
570
- Se "ajustar": Retornar ao escopo.
571
-
572
- **Commit requisitos:**
573
-
574
- ```bash
575
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: definir requisitos v1" --files .plano/REQUIREMENTS.md
576
- ```
577
-
578
- ## 7. Criar Roteiro
579
-
580
- ```
581
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
582
- UP > CRIANDO ROTEIRO
583
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
584
-
585
- Spawning roteirista...
586
- ```
587
-
588
- Spawn agente up-roteirista:
589
-
590
- ```
591
- Task(prompt="
592
- <planning_context>
593
-
594
- <files_to_read>
595
- - .plano/PROJECT.md (Contexto do projeto)
596
- - .plano/REQUIREMENTS.md (Requisitos v1)
597
- - .plano/pesquisa/SUMMARY.md (Achados de pesquisa - se existir)
598
- - .plano/config.json (Configuracoes de granularidade e modo)
599
- - .plano/codebase/CONCERNS.md (Divida tecnica - se existir, BROWNFIELD)
600
- - .plano/codebase/CONVENTIONS.md (Convencoes a seguir - se existir, BROWNFIELD)
601
- </files_to_read>
602
-
603
- </planning_context>
604
-
605
- <instructions>
606
- Criar roteiro:
607
- 1. Derivar fases dos requisitos (nao impor estrutura)
608
- 2. Mapear cada requisito v1 a exatamente uma fase
609
- 3. Derivar 2-5 criterios de sucesso por fase (comportamentos observaveis do usuario)
610
- 4. Validar 100% de cobertura
611
- 5. Escrever arquivos imediatamente (ROADMAP.md, STATE.md, atualizar REQUIREMENTS.md rastreabilidade)
612
- 6. Retornar ROADMAP CREATED com resumo
613
-
614
- **Se projeto brownfield:**
615
- - Ler .plano/codebase/ARCHITECTURE.md e .plano/codebase/STACK.md para entender o que ja existe
616
- - Agrupar funcionalidades existentes em fases macro concluidas (max 3-6 fases, por dominio)
617
- - Fases existentes usam checkbox marcado [x], status "Existente", sem criterios de sucesso, sem planos
618
- - Numerar fases NOVAS apos as existentes (ex: se 3 fases existentes, nova fase comeca em 4)
619
- - Considerar divida tecnica de CONCERNS.md ao priorizar fases novas
620
- - Respeitar convencoes existentes de CONVENTIONS.md
621
- - Fases de refatoracao/correcao devem vir antes de features que dependem delas
622
-
623
- Escreva arquivos primeiro, depois retorne.
624
- </instructions>
625
- ", subagent_type="up-roteirista", description="Criar roteiro")
626
- ```
627
-
628
- **Tratar retorno do roteirista:**
629
-
630
- **Se `## ROADMAP BLOCKED`:**
631
- - Apresentar informacao do bloqueio
632
- - Trabalhar com usuario para resolver
633
- - Re-spawn quando resolvido
634
-
635
- **Se `## ROADMAP CREATED`:**
636
-
637
- Ler ROADMAP.md criado e apresentar inline:
638
-
639
- ```
640
- ---
641
-
642
- ## Roteiro Proposto
643
-
644
- **[N] fases** | **[X] requisitos mapeados** | Todos requisitos v1 cobertos
645
-
646
- | # | Fase | Objetivo | Requisitos | Criterios |
647
- |---|------|----------|------------|-----------|
648
- | 1 | [Nome] | [Objetivo] | [REQ-IDs] | [contagem] |
649
- | 2 | [Nome] | [Objetivo] | [REQ-IDs] | [contagem] |
650
- ```
651
-
652
- **Pedir aprovacao antes de commitar:**
653
-
654
- Use AskUserQuestion:
655
- - header: "Roteiro"
656
- - question: "Essa estrutura de roteiro funciona para voce?"
657
- - options:
658
- - "Aprovar" -- Commitar e continuar
659
- - "Ajustar fases" -- Me diga o que mudar
660
- - "Revisar arquivo completo" -- Mostrar ROADMAP.md bruto
661
-
662
- **Se "Aprovar":** Continuar para commit.
663
-
664
- **Se "Ajustar fases":**
665
- - Pegar notas de ajuste do usuario
666
- - Re-spawn roteirista com contexto de revisao
667
- - Loop ate usuario aprovar
668
-
669
- **Commit roteiro (apos aprovacao):**
670
-
671
- ```bash
672
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: criar roteiro ([N] fases)" --files .plano/ROADMAP.md .plano/STATE.md .plano/REQUIREMENTS.md
673
- ```
674
-
675
- ## 7.5. Injetar persistência no CLAUDE.md do projeto
676
-
677
- Verificar se `./CLAUDE.md` existe. Se existir, verificar se já contém a seção "UP: Persistência de Estado". Se não contém, adicionar ao final:
678
-
679
- ```markdown
680
-
681
- ## UP: Persistência de Estado
682
-
683
- Este projeto usa o sistema UP. Se `.plano/STATE.md` existir:
684
- - Ao final de trabalho significativo, salvar estado: `node "$HOME/.claude/up/bin/up-tools.cjs" state save-session --summary "o que foi feito"`
685
- - Se houve decisão importante, adicionar: `--decision "decisão" --phase N`
686
- - Isso garante continuidade entre sessões mesmo sem usar comandos /up:
687
- ```
688
-
689
- Se `./CLAUDE.md` não existe, criar com o conteúdo acima.
690
-
691
- Commitar:
692
-
693
- ```bash
694
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: adicionar persistência de estado ao CLAUDE.md" --files CLAUDE.md
695
- ```
696
-
697
- ## 8. Finalizado
698
-
699
- ```
700
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
701
- UP > PROJETO INICIALIZADO
702
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
703
-
704
- **[Nome do Projeto]**
705
-
706
- | Artefato | Localizacao |
707
- |----------------|---------------------------|
708
- | Projeto | `.plano/PROJECT.md` |
709
- | Config | `.plano/config.json` |
710
- | Pesquisa | `.plano/pesquisa/` |
711
- | Requisitos | `.plano/REQUIREMENTS.md` |
712
- | Roteiro | `.plano/ROADMAP.md` |
713
- [Se brownfield:]
714
- | Codebase | `.plano/codebase/` |
715
-
716
- **[N] fases** | **[X] requisitos** | Pronto para construir
717
-
718
- ───────────────────────────────────────────────────────────────
719
-
720
- ## Proximo
721
-
722
- **Fase 1: [Nome da Fase]** -- [Objetivo do ROADMAP.md]
723
-
724
- /up:discutir-fase 1 -- reunir contexto e esclarecer abordagem
725
-
726
- <sub>/clear primeiro -> janela de contexto limpa</sub>
727
-
728
- ---
729
-
730
- **Tambem disponivel:**
731
- - /up:planejar-fase 1 -- pular discussao, planejar diretamente
732
-
733
- ───────────────────────────────────────────────────────────────
734
- ```
735
-
736
- </process>
737
-
738
- <output>
739
-
740
- - `.plano/PROJECT.md`
741
- - `.plano/config.json`
742
- - `.plano/pesquisa/` (se pesquisa selecionada)
743
- - `STACK.md`
744
- - `FEATURES.md`
745
- - `ARCHITECTURE.md`
746
- - `PITFALLS.md`
747
- - `SUMMARY.md`
748
- - `.plano/REQUIREMENTS.md`
749
- - `.plano/ROADMAP.md`
750
- - `.plano/STATE.md`
751
-
752
- </output>
753
-
754
- <success_criteria>
755
-
756
- - [ ] .plano/ diretorio criado
757
- - [ ] Git repo inicializado
758
- - [ ] Modo detectado (greenfield vs brownfield)
759
- - [ ] Se brownfield: codebase map carregado (ou mini-scan feito)
760
- - [ ] Se brownfield: requisitos validados inferidos do codebase
761
- - [ ] Questionamento profundo completo (fios seguidos, nao apressado)
762
- - [ ] PROJECT.md captura contexto completo -> **committed**
763
- - [ ] config.json tem modo, granularidade, paralelizacao -> **committed**
764
- - [ ] Pesquisa completa (se selecionada) -- adaptada ao modo -> **committed**
765
- - [ ] Requisitos reunidos (de pesquisa, codebase ou conversa)
766
- - [ ] Usuario escopo cada categoria (v1/v2/fora do escopo)
767
- - [ ] REQUIREMENTS.md criado com REQ-IDs -> **committed**
768
- - [ ] up-roteirista spawned com contexto (inclui codebase docs se brownfield)
769
- - [ ] Arquivos do roteiro escritos imediatamente
770
- - [ ] Feedback do usuario incorporado (se houver)
771
- - [ ] ROADMAP.md criado com fases, mapeamentos de requisitos, criterios de sucesso
772
- - [ ] STATE.md inicializado
773
- - [ ] REQUIREMENTS.md rastreabilidade atualizada
774
- - [ ] Usuario sabe que proximo passo e `/up:discutir-fase 1`
775
-
776
- **Commits atomicos:** Cada etapa commita seus artefatos imediatamente.
777
-
778
- </success_criteria>