up-cc 0.16.1 → 2.0.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 (134) 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 +39 -0
  32. package/up/skills/up-tdd/SKILL.md +39 -0
  33. package/up/skills/up-verificar-antes-de-concluir/SKILL.md +49 -0
  34. package/up/skills/usando-up/SKILL.md +26 -0
  35. package/up/templates/audit-plan.md +3 -3
  36. package/up/templates/audit-report.md +2 -2
  37. package/up/templates/design-tokens.md +2 -2
  38. package/up/workflows/auditar.md +255 -0
  39. package/up/workflows/build.md +600 -386
  40. package/up/workflows/dcrv.md +183 -99
  41. package/up/workflows/governance.md +112 -220
  42. package/up/workflows/plan.md +169 -399
  43. package/up/workflows/rapido.md +7 -1
  44. package/up/workflows/up.md +447 -0
  45. package/up/agents/up-analista-codigo.md +0 -446
  46. package/up/agents/up-api-tester.md +0 -405
  47. package/up/agents/up-architecture-supervisor.md +0 -126
  48. package/up/agents/up-audit-supervisor.md +0 -83
  49. package/up/agents/up-auditor-modernidade.md +0 -378
  50. package/up/agents/up-auditor-performance.md +0 -426
  51. package/up/agents/up-auditor-ux.md +0 -396
  52. package/up/agents/up-backend-specialist.md +0 -175
  53. package/up/agents/up-blind-validator.md +0 -259
  54. package/up/agents/up-chief-architect.md +0 -184
  55. package/up/agents/up-chief-engineer.md +0 -202
  56. package/up/agents/up-chief-operations.md +0 -123
  57. package/up/agents/up-chief-product.md +0 -103
  58. package/up/agents/up-chief-quality.md +0 -211
  59. package/up/agents/up-clone-crawler.md +0 -234
  60. package/up/agents/up-clone-design-extractor.md +0 -227
  61. package/up/agents/up-clone-feature-mapper.md +0 -225
  62. package/up/agents/up-clone-prd-writer.md +0 -169
  63. package/up/agents/up-clone-verifier.md +0 -227
  64. package/up/agents/up-code-reviewer.md +0 -229
  65. package/up/agents/up-consolidador-ideias.md +0 -493
  66. package/up/agents/up-database-specialist.md +0 -169
  67. package/up/agents/up-delivery-auditor.md +0 -247
  68. package/up/agents/up-devops-agent.md +0 -203
  69. package/up/agents/up-execution-supervisor.md +0 -315
  70. package/up/agents/up-exhaustive-tester.md +0 -348
  71. package/up/agents/up-frontend-specialist.md +0 -152
  72. package/up/agents/up-operations-supervisor.md +0 -94
  73. package/up/agents/up-pesquisador-mercado.md +0 -350
  74. package/up/agents/up-pesquisador-projeto.md +0 -358
  75. package/up/agents/up-planning-auditor.md +0 -284
  76. package/up/agents/up-planning-supervisor.md +0 -260
  77. package/up/agents/up-product-analyst.md +0 -192
  78. package/up/agents/up-product-supervisor.md +0 -83
  79. package/up/agents/up-project-ceo.md +0 -352
  80. package/up/agents/up-qa-agent.md +0 -171
  81. package/up/agents/up-quality-supervisor.md +0 -178
  82. package/up/agents/up-requirements-validator.md +0 -230
  83. package/up/agents/up-security-reviewer.md +0 -137
  84. package/up/agents/up-sintetizador-melhorias.md +0 -407
  85. package/up/agents/up-system-designer.md +0 -332
  86. package/up/agents/up-technical-writer.md +0 -188
  87. package/up/agents/up-verification-supervisor.md +0 -111
  88. package/up/agents/up-visual-critic.md +0 -358
  89. package/up/commands/adicionar-fase.md +0 -47
  90. package/up/commands/adicionar-testes.md +0 -145
  91. package/up/commands/ajuda.md +0 -176
  92. package/up/commands/atualizar.md +0 -103
  93. package/up/commands/clone-builder.md +0 -67
  94. package/up/commands/configurar.md +0 -219
  95. package/up/commands/custos.md +0 -67
  96. package/up/commands/dashboard.md +0 -48
  97. package/up/commands/discutir-fase.md +0 -35
  98. package/up/commands/executar-fase.md +0 -40
  99. package/up/commands/ideias.md +0 -49
  100. package/up/commands/iniciar.md +0 -31
  101. package/up/commands/mapear-codigo.md +0 -63
  102. package/up/commands/melhorias.md +0 -45
  103. package/up/commands/mobile-first.md +0 -71
  104. package/up/commands/modo-builder.md +0 -186
  105. package/up/commands/novo-projeto.md +0 -40
  106. package/up/commands/onboard.md +0 -69
  107. package/up/commands/pausar.md +0 -33
  108. package/up/commands/planejar-fase.md +0 -45
  109. package/up/commands/progresso.md +0 -33
  110. package/up/commands/remover-fase.md +0 -34
  111. package/up/commands/resetar.md +0 -27
  112. package/up/commands/retomar.md +0 -35
  113. package/up/commands/saude.md +0 -103
  114. package/up/commands/ux-tester.md +0 -63
  115. package/up/commands/verificar-trabalho.md +0 -35
  116. package/up/workflows/adicionar-fase.md +0 -112
  117. package/up/workflows/builder-e2e.md +0 -501
  118. package/up/workflows/builder.md +0 -3419
  119. package/up/workflows/ceo-intake.md +0 -305
  120. package/up/workflows/ceo-updates.md +0 -183
  121. package/up/workflows/clone-builder.md +0 -320
  122. package/up/workflows/discutir-fase.md +0 -336
  123. package/up/workflows/executar-fase.md +0 -358
  124. package/up/workflows/executar-plano.md +0 -659
  125. package/up/workflows/ideias.md +0 -381
  126. package/up/workflows/iniciar.md +0 -235
  127. package/up/workflows/melhorias.md +0 -409
  128. package/up/workflows/mobile-first.md +0 -692
  129. package/up/workflows/novo-projeto.md +0 -778
  130. package/up/workflows/planejar-fase.md +0 -293
  131. package/up/workflows/progresso.md +0 -226
  132. package/up/workflows/retomar.md +0 -231
  133. package/up/workflows/ux-tester.md +0 -526
  134. 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>