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,5 +1,11 @@
1
1
  <purpose>
2
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
+
4
+ **ESCAPE HATCH PURO (sem cerimonia GitHub).** Diferente de `/up:build` (GitHub-nativo por DEFAULT:
5
+ worktree -> branch `up/fase-NN` -> issue -> PR -> menu), o modo rapido NUNCA cria worktree, NUNCA cria
6
+ issue do GitHub, NUNCA abre PR e NAO toca em `.plano/git-map.json`. Todo o trabalho e committado
7
+ atomicamente na branch ATUAL (mesmo semantica do `--solo` do build). E o caminho quente para
8
+ "so faz e commita". Quem quer worktree/issue/PR usa `/up:build`.
3
9
  </purpose>
4
10
 
5
11
  <process>
@@ -233,5 +239,5 @@ Pronto para proxima tarefa: /up:rapido
233
239
  - [ ] `${next_num}-PLAN.md` criado pelo planejador
234
240
  - [ ] `${next_num}-SUMMARY.md` criado pelo executor
235
241
  - [ ] STATE.md atualizado com linha da tarefa rapida
236
- - [ ] Artefatos committed
242
+ - [ ] Artefatos committed na branch ATUAL (sem worktree, sem issue, sem PR, sem git-map.json)
237
243
  </success_criteria>
@@ -0,0 +1,447 @@
1
+ <purpose>
2
+ Workflow `/up` — Roteador da porta unica do UP.
3
+
4
+ Sem argumento: le `.plano/STATE.md` e continua de onde parou.
5
+ Com descricao: classifica a tarefa (classify-task), escala o brainstorm/intake inline e roteia
6
+ para greenfield, brownfield ou clone.
7
+ Subverbos: `estado` (status/saude/pausar/resetar/custos/remover-fase) e `config` (configurar/onboard/atualizar).
8
+
9
+ Este workflow ABSORVE: novo-projeto.md, clone-builder.md, iniciar.md, progresso.md, retomar.md,
10
+ pausar.md e o intake de ceo-intake.md (que vira prompt inline do orquestrador, SEM CEO).
11
+
12
+ A maquinaria GitHub-nativa (worktree/issue/PR, Fase 4) e Multica (`--board`, Fase 5) vive no `/up:build`
13
+ e `/up:plan`. Este roteador so a referencia (subverbo `estado board` abre a URL do board). A execucao
14
+ real acontece no build/plan; aqui o foco e roteamento + intake.
15
+ </purpose>
16
+
17
+ <core_principle>
18
+ O orquestrador (voce) conduz tudo. NAO existe mais CEO: intake, confirmacao do dono e apresentacao
19
+ viram prompts inline (AskUserQuestion). A personalidade/perfil do dono vem de `~/.claude/up/owner-profile.md`.
20
+
21
+ Profundidade do brainstorm = funcao do `classify-task`, NAO do humor do dia:
22
+ - trivial (score 0-2): 0 perguntas, anuncia em 1 linha, executa.
23
+ - pequena (score 3-5): 1 pergunta (a decisao-chave) via AskUserQuestion + design em 3 frases.
24
+ - media/grande (score 6+): brainstorm full, perguntas iterativas (1 por vez), aprovacao por secao.
25
+
26
+ O ouro e intocavel: STATE.md/ROADMAP.md, commits atomicos (sempre via `up-tools.cjs commit`),
27
+ classify-task, approvals.log. Este workflow nao reimplementa nada disso, so chama.
28
+ </core_principle>
29
+
30
+ <process>
31
+
32
+ ## Passo 0: Carregar contexto
33
+
34
+ ```bash
35
+ INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init up)
36
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
37
+ ```
38
+
39
+ Parse JSON: `project_exists`, `planning_exists`, `state_exists`, `roadmap_exists`,
40
+ `has_existing_code`, `has_codebase_map`, `has_git`, `project_path`.
41
+
42
+ **Determinar o branch de roteamento pelo $ARGUMENTS:**
43
+
44
+ | $ARGUMENTS | Branch |
45
+ |------------|--------|
46
+ | vazio | **CONTINUAR** (Passo 1) |
47
+ | comeca com `estado` | **ESTADO** (Passo 5) |
48
+ | comeca com `config` | **CONFIG** (Passo 6) |
49
+ | URL http(s) (clonar app) ou `--clone <url>` | **CLONE** (Passo 4) |
50
+ | qualquer outra descricao | **NOVO/BROWNFIELD** (Passo 2-3) |
51
+
52
+ ## Passo 1: CONTINUAR (sem argumento)
53
+
54
+ Restaura contexto e roteia pra proxima acao. Absorve progresso.md + retomar.md.
55
+
56
+ **Se `planning_exists` = false:** Nao ha projeto registrado.
57
+
58
+ ```
59
+ Sem estrutura de planejamento (.plano/) encontrada.
60
+
61
+ Para comecar:
62
+ /up "descreva o que quer construir" -> novo projeto / feature
63
+ /up <url> -> clonar um app existente
64
+ ```
65
+
66
+ Sair.
67
+
68
+ **Se `state_exists` = false mas `project_exists` ou `roadmap_exists` = true:**
69
+ Reconstruir STATE.md a partir dos artefatos (PROJECT.md -> "O que e Isso"; ROADMAP.md -> fases;
70
+ *-SUMMARY.md -> decisoes/preocupacoes; .continue-aqui -> continuidade), entao prosseguir.
71
+
72
+ **Carregar estado estruturado:**
73
+
74
+ ```bash
75
+ ROADMAP=$(node "$HOME/.claude/up/bin/up-tools.cjs" roadmap analyze)
76
+ STATE=$(node "$HOME/.claude/up/bin/up-tools.cjs" state-snapshot)
77
+ PROGRESS_BAR=$(node "$HOME/.claude/up/bin/up-tools.cjs" progress bar --raw)
78
+ ```
79
+
80
+ **Detectar trabalho incompleto:**
81
+
82
+ ```bash
83
+ # Checkpoint mid-plano (handoff de pausa)
84
+ ls .plano/fases/*/.continue-aqui.md 2>/dev/null
85
+
86
+ # Planos sem SUMMARY (execucao incompleta)
87
+ for plan in .plano/fases/*/*-PLAN.md; do
88
+ summary="${plan/PLAN/SUMMARY}"
89
+ [ ! -f "$summary" ] && echo "Incompleto: $plan"
90
+ done 2>/dev/null
91
+ ```
92
+
93
+ **Apresentar status (output direto do orquestrador, sem CEO):**
94
+
95
+ ```
96
+ ==============================================================
97
+ STATUS DO PROJETO
98
+ ==============================================================
99
+ Construindo: [one-liner do PROJECT.md "O que e Isso"]
100
+ Progresso: {PROGRESS_BAR}
101
+
102
+ Fase: [X] de [Y] - [nome da fase]
103
+ Plano: [A] de [B] - [status]
104
+
105
+ Ultima atividade: [data] - [o que aconteceu]
106
+ ==============================================================
107
+
108
+ ## Trabalho Recente
109
+ - [Fase X, Plano Y]: [1 linha de summary-extract --fields one_liner]
110
+
111
+ ## Decisoes-Chave
112
+ - [de STATE.decisions[]]
113
+
114
+ ## Bloqueios
115
+ - [de STATE.blockers[]]
116
+ ```
117
+
118
+ **Rotear (contagens verificadas, mesma logica de progresso.md):**
119
+
120
+ ```bash
121
+ PLANS=$(ls -1 .plano/fases/[dir-fase-atual]/*-PLAN.md 2>/dev/null | wc -l)
122
+ SUMS=$(ls -1 .plano/fases/[dir-fase-atual]/*-SUMMARY.md 2>/dev/null | wc -l)
123
+ ```
124
+
125
+ | Condicao | Significado | Proximo |
126
+ |----------|-------------|---------|
127
+ | `.continue-aqui.md` existe | Checkpoint mid-plano | Retomar do checkpoint (ler arquivo) ou recomecar o plano |
128
+ | SUMS < PLANS | Planos pendentes | `/up:build` (executa o que falta) |
129
+ | PLANS = 0 | Fase nao planejada | `/up:plan` (planeja a fase) |
130
+ | SUMS = PLANS > 0, ha mais fases | Fase completa | `/up:plan` (proxima fase) ou `/up:testar` (UAT antes de seguir) |
131
+ | SUMS = PLANS > 0, ultima fase | Projeto completo | `/up:testar` (aceitacao) ou `/up:auditar` |
132
+
133
+ **Apresentar a proxima acao recomendada:**
134
+
135
+ ```
136
+ ---
137
+
138
+ ## Proximo
139
+
140
+ **{fase}-{plano}: [Nome]** -- [objetivo]
141
+
142
+ `/up:build` ← executar o que falta
143
+ ou
144
+ `/up:plan {N}` ← planejar a proxima fase
145
+
146
+ <sub>`/clear` primeiro -> janela de contexto limpa</sub>
147
+
148
+ ---
149
+ ```
150
+
151
+ **Quick resume:** se o usuario disse literalmente "continuar" / "vai", pular a apresentacao de opcoes,
152
+ carregar estado em silencio e seguir direto pra acao primaria, anunciando "Continuando de [estado]...".
153
+
154
+ ## Passo 2: NOVO / BROWNFIELD (descricao recebida)
155
+
156
+ Absorve novo-projeto.md + iniciar.md + o intake de ceo-intake.md (inline, sem CEO).
157
+
158
+ ### 2.1 Gate de owner-profile
159
+
160
+ ```bash
161
+ if [ ! -f ~/.claude/up/owner-profile.md ]; then
162
+ echo "Primeiro uso. Rodando onboarding..."
163
+ # Delegar pro workflow @~/.claude/up/workflows/onboarding.md, depois voltar aqui.
164
+ fi
165
+ ```
166
+
167
+ Ler owner-profile pra pegar nome preferido, tom e stack preferida (defaults do intake).
168
+
169
+ ### 2.2 Detectar modo
170
+
171
+ ```bash
172
+ [ "$has_git" = "false" ] && git init
173
+ ```
174
+
175
+ | Sinal | Modo |
176
+ |-------|------|
177
+ | `has_existing_code` = true OU `has_codebase_map` = true OU `.plano/ROADMAP.md` existe | **BROWNFIELD** |
178
+ | caso contrario | **GREENFIELD** |
179
+
180
+ **Brownfield sem mapa:** sugerir (nao obrigar) `/up:mapear-codigo` para analise profunda. Se o
181
+ usuario topar, delegar a `@~/.claude/up/workflows/mapear-codigo.md` e retomar. Senao, mini-scan inline:
182
+
183
+ ```bash
184
+ ls package.json go.mod Cargo.toml requirements.txt pyproject.toml pom.xml build.gradle composer.json Gemfile 2>/dev/null
185
+ ls -d src/ app/ lib/ cmd/ internal/ pages/ components/ 2>/dev/null | head -15
186
+ ```
187
+
188
+ ### 2.3 Classificar a tarefa e escalar o brainstorm/intake
189
+
190
+ Escrever um plano-rascunho minimo do briefing em arquivo temporario pra classificar
191
+ (classify-task le frontmatter + padroes de conteudo):
192
+
193
+ ```bash
194
+ mkdir -p .plano
195
+ cat > /tmp/up-brief-classify.md <<EOF
196
+ ---
197
+ type: feature
198
+ brownfield: ${BROWNFIELD:-false}
199
+ ---
200
+ ${ARGUMENTS}
201
+ EOF
202
+ CLASSIFY=$(node "$HOME/.claude/up/bin/up-tools.cjs" classify-task /tmp/up-brief-classify.md --raw)
203
+ COMPLEXITY=$(echo "$CLASSIFY" | grep -oE '"complexity"\s*:\s*"[a-z]+"' | grep -oE '(simple|standard|complex)')
204
+ ```
205
+
206
+ **Profundidade do intake/brainstorm conforme COMPLEXITY:**
207
+
208
+ - **simple (trivial):** ZERO perguntas. Anunciar em 1 linha o que vai construir e seguir.
209
+ Ex: "Vou criar [X]. Indo." Pular direto pro 2.5 (estruturar) com defaults.
210
+
211
+ - **standard (pequena):** 1 pergunta (a decisao-chave) via AskUserQuestion + descrever a abordagem
212
+ em 3 frases. Para UI, oferecer companion visual (Jonathan e visual).
213
+
214
+ - **complex (media/grande):** brainstorm/intake full. Perguntar inline (freeform pra abrir, depois
215
+ AskUserQuestion seguindo os fios). Cobrir os 5 blocos do intake antigo, AGORA inline e opcionais:
216
+ 1. Briefing (o que construir; ja temos $ARGUMENTS, aprofundar so se vago).
217
+ 2. Design system (cores/tipografia/componentes ou link; se nao tem, gerar placeholder shadcn neutro
218
+ em `.plano/DESIGN-TOKENS.md` e registrar pendencia em `.plano/PENDING.md`).
219
+ 3. Credenciais de API (Supabase/email/pagamentos/WhatsApp; salvar em `.env.local` SEM commitar;
220
+ o que faltar vira pendencia blocker/non_blocker em PENDING.md).
221
+ 4. Referencias ("igual ao Linear", screenshots, brand book). Se URL + intencao de clonar -> Passo 4.
222
+ 5. Restricoes (features/tecnologias banidas). Tudo opcional, enter pula.
223
+
224
+ **Validacao de briefing:** se vago/inviavel, repergunte (max 2 vezes). Apos isso, o orquestrador
225
+ assume escopo minimo razoavel e segue. Brownfield: perguntar tambem o que NAO deve mudar e a dor maior.
226
+
227
+ ### 2.4 Pesquisa inline (so greenfield, so se util)
228
+
229
+ Migrado de novo-projeto.md (4 pesquisadores) e do research-inline do builder.md.
230
+
231
+ **Brownfield com mapa de codebase:** pular (stack/arquitetura ja conhecidas). Pesquisar so o que e NOVO.
232
+
233
+ **Greenfield + dominio desconhecido (ou usuario pediu):** spawnar 4 `up-pesquisador` em PARALELO
234
+ (modo dominio). Para tarefa trivial/pequena, pular a pesquisa.
235
+
236
+ ```bash
237
+ mkdir -p .plano/pesquisa
238
+ ```
239
+
240
+ ```
241
+ # Os 4 Task na MESMA mensagem (paralelo). modo=dominio.
242
+ Task(subagent_type="up-pesquisador", description="Pesquisa de Stack", prompt="
243
+ <modo>dominio</modo>
244
+ <dimensao>Stack</dimensao>
245
+ <question>Qual a stack padrao atual para [dominio]?</question>
246
+ <output>Write to: .plano/pesquisa/STACK.md</output>
247
+ ")
248
+ Task(subagent_type="up-pesquisador", description="Pesquisa de Features", prompt="
249
+ <modo>dominio</modo>
250
+ <dimensao>Features</dimensao>
251
+ <question>Quais features produtos de [dominio] tem? Obrigatorio vs diferenciador?</question>
252
+ <output>Write to: .plano/pesquisa/FEATURES.md</output>
253
+ ")
254
+ Task(subagent_type="up-pesquisador", description="Pesquisa de Arquitetura", prompt="
255
+ <modo>dominio</modo>
256
+ <dimensao>Arquitetura</dimensao>
257
+ <question>Como sistemas de [dominio] sao estruturados? Componentes principais?</question>
258
+ <output>Write to: .plano/pesquisa/ARCHITECTURE.md</output>
259
+ ")
260
+ Task(subagent_type="up-pesquisador", description="Pesquisa de Armadilhas", prompt="
261
+ <modo>dominio</modo>
262
+ <dimensao>Armadilhas</dimensao>
263
+ <question>O que projetos de [dominio] comumente erram? Erros criticos?</question>
264
+ <output>Write to: .plano/pesquisa/PITFALLS.md</output>
265
+ ")
266
+ ```
267
+
268
+ Apos os 4 retornarem, spawnar o sintetizador (modo research) para consolidar:
269
+
270
+ ```
271
+ Task(subagent_type="up-sintetizador", description="Sintetizar pesquisa", prompt="
272
+ <modo>research</modo>
273
+ <files_to_read>
274
+ - .plano/pesquisa/STACK.md
275
+ - .plano/pesquisa/FEATURES.md
276
+ - .plano/pesquisa/ARCHITECTURE.md
277
+ - .plano/pesquisa/PITFALLS.md
278
+ </files_to_read>
279
+ <output>Write to: .plano/pesquisa/SUMMARY.md. Commit apos escrever.</output>
280
+ ")
281
+ ```
282
+
283
+ ### 2.5 Estruturar o projeto (BRIEFING + PROJECT + config)
284
+
285
+ Escrever inline (sem CEO):
286
+
287
+ **`.plano/BRIEFING.md`** — briefing consolidado + decisoes iniciais (stack, design, modo).
288
+ **`.plano/PROJECT.md`** — usar template `templates/project.md`. Greenfield: requisitos como hipoteses
289
+ (Ativos). Brownfield: inferir requisitos Validados do codebase, separar objetivos novos em Ativos.
290
+ **`.plano/config.json`** — defaults (perguntar so na complex):
291
+
292
+ ```json
293
+ { "mode": "yolo", "granularity": "standard", "parallelization": true, "commit_docs": true }
294
+ ```
295
+
296
+ Commits atomicos:
297
+
298
+ ```bash
299
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: briefing e projeto" --files .plano/BRIEFING.md .plano/PROJECT.md
300
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "chore: config do projeto" --files .plano/config.json
301
+ ```
302
+
303
+ ### 2.6 Injetar persistencia no CLAUDE.md do projeto
304
+
305
+ Se `./CLAUDE.md` nao tem a secao "UP: Persistencia de Estado", anexar (ou criar o arquivo):
306
+
307
+ ```markdown
308
+
309
+ ## UP: Persistencia de Estado
310
+
311
+ Este projeto usa o sistema UP. Se `.plano/STATE.md` existir:
312
+ - Ao final de trabalho significativo, salvar estado: `node "$HOME/.claude/up/bin/up-tools.cjs" state save-session --summary "o que foi feito"`
313
+ - Se houve decisao importante, adicionar: `--decision "decisao" --phase N`
314
+ ```
315
+
316
+ ```bash
317
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: persistencia de estado no CLAUDE.md" --files CLAUDE.md
318
+ ```
319
+
320
+ ## Passo 3: Rotear para planejamento
321
+
322
+ Apos estruturar, o `/up` NAO planeja nem executa fases sozinho. Ele entrega o handoff:
323
+
324
+ ```
325
+ ---
326
+
327
+ ## Projeto registrado
328
+
329
+ **[Nome]** | modo: [greenfield|brownfield]
330
+
331
+ | Artefato | Local |
332
+ |------------|------------------------|
333
+ | Briefing | `.plano/BRIEFING.md` |
334
+ | Projeto | `.plano/PROJECT.md` |
335
+ | Config | `.plano/config.json` |
336
+ [se pesquisa] | Pesquisa | `.plano/pesquisa/` |
337
+ [se brownfield e mapeado] | Codebase | `.plano/codebase/` |
338
+
339
+ ## Proximo
340
+
341
+ `/up:plan` ← planeja todas as fases (gera PLAN-READY.md)
342
+
343
+ <sub>`/clear` primeiro -> janela de contexto limpa</sub>
344
+
345
+ ---
346
+ ```
347
+
348
+ > `/up:build` aceita `--solo` (default, commit na branch atual), `--pr` (worktree+issue+PR),
349
+ > `--board` (espelho de status no Multica, batched, fail-open) e `--auto` (merge se verde). Para ver o
350
+ > board depois: `/up estado board` (abre a URL no Multica). Aqui so roteamos pro /up:plan.
351
+
352
+ ## Passo 4: CLONE (URL recebida)
353
+
354
+ Absorve clone-builder.md. A maquinaria de clone agora e MODO do `up-mapeador-codigo` (crawl + design +
355
+ features + PRD num passe) + `up-verificador` modo clone-fidelity. NAO ha mais 5 agentes clone-*.
356
+
357
+ ### 4.1 Intake do clone (inline)
358
+
359
+ Extrair do $ARGUMENTS: URL (obrigatorio) e modo (`--exact` default | `--improve` | `--inspiration`).
360
+ Perguntar via AskUserQuestion (so o essencial): credenciais de login do app original (se precisar),
361
+ stack desejada do clone, credenciais do banco do clone, e (se improve/inspiration) o que mudar.
362
+
363
+ ```bash
364
+ mkdir -p .plano/clone
365
+ git init 2>/dev/null
366
+ ```
367
+
368
+ Salvar `.plano/BRIEFING.md` com URL, credenciais (NAO commitar segredos), stack, modo.
369
+
370
+ ### 4.2 Mapear o app original (modo clone, passe unico)
371
+
372
+ ```
373
+ Task(subagent_type="up-mapeador-codigo", description="Clonar app original", prompt="
374
+ <modo>clone</modo>
375
+ <objective>
376
+ Num passe unico: crawl do app em {URL} (todas as rotas, screenshots desktop+mobile, intercepta APIs,
377
+ extrai forms), extrai o design system completo, mapeia modulos/features/roles/data-model/fluxos e
378
+ escreve o PRD pronto pro planejamento.
379
+ </objective>
380
+ <credentials>URL: {URL} | Email: {EMAIL ou nenhum} | Senha: {PASSWORD ou nenhum}</credentials>
381
+ <clone_mode>{exact|improve|inspiration}</clone_mode>
382
+ <output>
383
+ - .plano/clone/CRAWL-DATA.md
384
+ - .plano/clone/DESIGN-SYSTEM.md
385
+ - .plano/clone/FEATURE-MAP.md (features com IDs CLONE-*)
386
+ - .plano/clone/CLONE-PRD.md (briefing pro /up:plan)
387
+ </output>
388
+ ")
389
+ ```
390
+
391
+ ### 4.3 Configurar e rotear pro planejamento
392
+
393
+ `config.json` marca o modo clone (cada agente que le config adapta comportamento):
394
+
395
+ ```json
396
+ { "mode": "yolo", "granularity": "standard", "parallelization": true, "commit_docs": true,
397
+ "builder_type": "clone", "clone_source": "{URL}", "clone_mode": "{exact|improve|inspiration}",
398
+ "clone_data": ".plano/clone/" }
399
+ ```
400
+
401
+ Usar `.plano/clone/CLONE-PRD.md` como briefing. Entregar handoff pro `/up:plan` (mesmo do Passo 3).
402
+
403
+ > A verificacao de fidelidade (comparar clone vs original) roda depois, no `/up:testar`/quality gate,
404
+ > via `up-verificador` modo clone-fidelity. Nao e responsabilidade deste roteador.
405
+
406
+ ## Passo 5: ESTADO (subverbo)
407
+
408
+ `/up estado [status|saude|board|pausar|resetar|custos|remover-fase N]`. Max 3 conceitos visiveis; o resto
409
+ e detectado por contexto. Operacoes:
410
+
411
+ | Pedido | Acao |
412
+ |--------|------|
413
+ | status (default) | Mesmo relatorio do Passo 1 (sem rotear execucao) |
414
+ | saude | Diagnostico de integridade do `.plano/` (rodar `up-tools.cjs` saude se disponivel) |
415
+ | board | Abre/imprime a URL do board no Multica (substitui o antigo dashboard local :4040). Roda `node "$HOME/.claude/up/bin/up-tools.cjs" multica board --raw` (deteccao `uname -s`, fail-open: se nao houver board `--board`/`multica` indisponivel, avisa que nao ha board e segue). NAO ha dashboard local nem stream ao vivo: o board mostra so status (todo/in_progress/in_review/done). |
416
+ | pausar | Criar handoff `.continue-aqui.md` — delegar a `@~/.claude/up/workflows/pausar.md` |
417
+ | resetar | Limpeza destrutiva do `.plano/` — delegar a `@~/.claude/up/workflows/resetar.md` |
418
+ | custos | Estimativa de tokens dos agentes UP usados (Claude Code only) |
419
+ | remover-fase N | Remove e renumera fase futura — delegar a `@~/.claude/up/workflows/remover-fase.md` |
420
+
421
+ ## Passo 6: CONFIG (subverbo)
422
+
423
+ `/up config [configurar|onboard|atualizar]`:
424
+
425
+ | Pedido | Acao |
426
+ |--------|------|
427
+ | configurar | Editar `.plano/config.json` (mode/granularity/parallelization) interativamente |
428
+ | onboard | (Re)criar perfil do dono — delegar a `@~/.claude/up/workflows/onboarding.md` |
429
+ | atualizar | `npm update -g up-cc` (ou instrucao equivalente) e reinstalar |
430
+
431
+ </process>
432
+
433
+ <success_criteria>
434
+ - [ ] Branch de roteamento escolhido corretamente pelo $ARGUMENTS
435
+ - [ ] Sem arg: STATE.md carregado (ou reconstruido), trabalho incompleto detectado, proxima acao clara
436
+ - [ ] Com descricao: modo detectado, classify-task rodou, brainstorm escalado (0/1/full)
437
+ - [ ] Intake inline cobriu briefing + (design/credenciais/refs/restricoes na complex), SEM CEO
438
+ - [ ] Greenfield: pesquisa inline com 4x up-pesquisador (modo dominio) + up-sintetizador (quando util)
439
+ - [ ] BRIEFING/PROJECT/config gerados e committados atomicamente
440
+ - [ ] Persistencia injetada no CLAUDE.md do projeto
441
+ - [ ] Clone: up-mapeador-codigo modo clone gerou CLONE-PRD; roteado pro /up:plan
442
+ - [ ] Handoff claro pro /up:plan ou /up:build
443
+ - [ ] Subverbos estado/config delegam aos workflows corretos
444
+ - [ ] Subverbo `estado board` abre a URL do Multica (via `up-tools.cjs multica board`, fail-open); NAO ha dashboard local :4040 nem stream ao vivo
445
+ - [ ] Nenhuma referencia a CEO, chiefs, supervisores ou agentes clone-*
446
+ </success_criteria>
447
+ </output>