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,320 +0,0 @@
1
- <purpose>
2
- Clone Builder: analisar app existente via Playwright e recriar com o modo-builder.
3
-
4
- Pipeline:
5
- 1. Intake (perguntas)
6
- 2. Crawl (navegar e coletar)
7
- 3. Analyze (design + features em paralelo)
8
- 4. PRD (sintetizar)
9
- 5. Builder (recriar — usa pipeline existente do modo-builder)
10
- 6. Clone Verify (verificar fidelidade no quality gate)
11
- </purpose>
12
-
13
- <process>
14
-
15
- ## Fase 1: Intake
16
-
17
- ### 1.1 Parsear Argumentos
18
-
19
- Extrair do $ARGUMENTS:
20
- - URL do app (obrigatorio)
21
- - Modo: `--exact` (default), `--improve`, `--inspiration`
22
-
23
- ### 1.2 Perguntas
24
-
25
- ```
26
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
27
- UP > CLONE BUILDER
28
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
29
-
30
- App a clonar: {URL}
31
- Modo: {exact|improve|inspiration}
32
- ```
33
-
34
- Perguntar via AskUserQuestion:
35
-
36
- 1. **Credenciais do app** (se precisa login):
37
- - Email e senha de demo/trial
38
- - Ou "nao precisa" se app e publico
39
-
40
- 2. **Stack desejada** (ou "usar defaults"):
41
- - Frontend, backend, banco
42
- - Ou: "usar builder-defaults.md"
43
-
44
- 3. **Credenciais do banco** (para o clone):
45
- - Supabase URL + anon key + service role key
46
- - Ou outro banco
47
-
48
- 4. **Se modo improve/inspiration:** O que quer diferente?
49
-
50
- ═══════════════════════════════════════════════════════
51
- FIM DA INTERACAO
52
- ═══════════════════════════════════════════════════════
53
-
54
- ### 1.3 Setup
55
-
56
- ```bash
57
- mkdir -p .plano/clone/screenshots/desktop .plano/clone/screenshots/mobile .plano/clone/network .plano/clone/forms .plano/clone/snapshots .plano/clone/verify
58
- git init 2>/dev/null
59
- ```
60
-
61
- Salvar `.plano/BRIEFING.md` com URL, credenciais, stack, modo.
62
-
63
- Iniciar dashboard:
64
- ```bash
65
- node "$HOME/.claude/up/dashboard/server.js" 4040 "$(pwd)/.plano" &
66
- DASH_PID=$!
67
- ```
68
-
69
- ---
70
-
71
- ## Fase 2: Crawl
72
-
73
- ```
74
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
75
- CLONE > NAVEGANDO APP ORIGINAL
76
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
77
- ```
78
-
79
- ```
80
- Task(
81
- subagent_type="up-clone-crawler",
82
- prompt="
83
- <objective>
84
- Navegar o app em {URL} completamente. Screenshots de todas paginas,
85
- interceptar APIs, extrair forms, mapear navegacao.
86
- {Se credenciais: fazer login com {EMAIL}/{PASSWORD}}
87
- </objective>
88
-
89
- <credentials>
90
- URL: {URL}
91
- Email: {EMAIL ou 'nenhum'}
92
- Password: {PASSWORD ou 'nenhum'}
93
- </credentials>
94
- ",
95
- description="Crawl do app original"
96
- )
97
- ```
98
-
99
- ```
100
- Crawl: {N} rotas | {M} screenshots | {X} APIs | {Y} forms
101
- ```
102
-
103
- ---
104
-
105
- ## Fase 3: Analyze (2 agentes em PARALELO)
106
-
107
- ```
108
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
109
- CLONE > ANALISANDO
110
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
111
- ```
112
-
113
- Spawnar em PARALELO:
114
-
115
- ```
116
- Task(
117
- subagent_type="up-clone-design-extractor",
118
- prompt="
119
- <objective>
120
- Analisar screenshots e extrair design system completo do app em {URL}.
121
- </objective>
122
-
123
- <files_to_read>
124
- - .plano/clone/CRAWL-DATA.md
125
- </files_to_read>
126
-
127
- <app_url>{URL}</app_url>
128
- ",
129
- description="Extrair design system"
130
- )
131
-
132
- Task(
133
- subagent_type="up-clone-feature-mapper",
134
- prompt="
135
- <objective>
136
- Mapear modulos, features, roles, data model, fluxos e integracoes do app.
137
- </objective>
138
-
139
- <files_to_read>
140
- - .plano/clone/CRAWL-DATA.md
141
- - .plano/clone/network/ (ler todos)
142
- - .plano/clone/forms/ (ler todos)
143
- </files_to_read>
144
- ",
145
- description="Mapear features e data model"
146
- )
147
- ```
148
-
149
- ```
150
- Design: {N} cores | {M} componentes | Layout: {tipo}
151
- Features: {N} modulos | {M} features | {X} roles | {Y} entidades
152
- ```
153
-
154
- ---
155
-
156
- ## Fase 4: PRD
157
-
158
- ```
159
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
160
- CLONE > GERANDO PRD
161
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
162
- ```
163
-
164
- ```
165
- Task(
166
- subagent_type="up-clone-prd-writer",
167
- prompt="
168
- <objective>
169
- Sintetizar analise em PRD completo para o modo-builder.
170
- </objective>
171
-
172
- <files_to_read>
173
- - .plano/BRIEFING.md (stack e preferencias)
174
- - .plano/clone/CRAWL-DATA.md
175
- - .plano/clone/DESIGN-SYSTEM.md
176
- - .plano/clone/FEATURE-MAP.md
177
- </files_to_read>
178
-
179
- <clone_mode>{exact|improve|inspiration}</clone_mode>
180
- ",
181
- description="Gerar PRD do clone"
182
- )
183
- ```
184
-
185
- ```
186
- PRD: {N} modulos | {M} features | {X} fluxos | Modo: {modo}
187
- ```
188
-
189
- ---
190
-
191
- ## Fase 5: Modo Builder
192
-
193
- ```
194
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
195
- CLONE > CONSTRUINDO COM MODO BUILDER
196
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
197
- ```
198
-
199
- Alimentar o modo-builder com o CLONE-PRD.md como briefing.
200
-
201
- **IMPORTANTE:** Configurar builder para modo clone:
202
-
203
- config.json deve ter:
204
- ```json
205
- {
206
- "builder_mode": true,
207
- "builder_type": "clone",
208
- "clone_source": "{URL}",
209
- "clone_mode": "{exact|improve|inspiration}",
210
- "clone_data": ".plano/clone/"
211
- }
212
- ```
213
-
214
- **O builder recebe instrucoes especiais no modo clone:**
215
-
216
- 1. **Product Analyst:** Se modo exact — NAO sugerir mudancas, apenas validar. Se improve — pode sugerir adicoes.
217
- 2. **System Designer:** Usar data model do FEATURE-MAP.md como base. Usar design system do DESIGN-SYSTEM.md.
218
- 3. **Frontend Specialist:** LER screenshots de .plano/clone/screenshots/ e replicar layout/design.
219
- 4. **Code Reviewer:** Verificar fidelidade visual alem de production-requirements.
220
- 5. **Quality Gate:** Incluir dimensao "Fidelidade" com clone-verifier.
221
-
222
- Executar o pipeline COMPLETO do builder:
223
- - Estagio 2: Arquitetura (3 agentes + validator)
224
- - Estagio 3: Build (RARV + specialist routing)
225
- - Estagio 4: Quality Gate (com clone-verifier como dimensao extra)
226
- - Estagio 5: Entrega
227
-
228
- **O builder sabe que e clone** pelo `builder_type: "clone"` no config.json. Cada agente que le config.json adapta seu comportamento.
229
-
230
- ---
231
-
232
- ## Fase 6: Clone Verification (integrado no Quality Gate)
233
-
234
- O clone-verifier roda como parte do quality gate do builder:
235
-
236
- ```
237
- Task(
238
- subagent_type="up-clone-verifier",
239
- prompt="
240
- <objective>
241
- Verificar fidelidade do clone contra o app original.
242
- Testar feature a feature (funcional) e pagina a pagina (visual).
243
- </objective>
244
-
245
- <files_to_read>
246
- - .plano/clone/FEATURE-MAP.md (lista de features CLONE-*)
247
- - .plano/clone/CRAWL-DATA.md (rotas do original)
248
- - .plano/clone/DESIGN-SYSTEM.md (design reference)
249
- - .plano/config.json (clone_source URL)
250
- </files_to_read>
251
- ",
252
- description="Verificar fidelidade do clone"
253
- )
254
- ```
255
-
256
- Se fidelidade < 9.0:
257
- - Features MISSING → criar planos + executar
258
- - Features BROKEN → debugar + corrigir
259
- - Visual off → ajustar CSS/componentes
260
- - Re-verificar
261
-
262
- ---
263
-
264
- ## Fase 7: Entrega
265
-
266
- O DELIVERY.md do builder inclui secao extra de clone:
267
-
268
- ```markdown
269
- ## Fidelidade ao Original
270
-
271
- **Score:** {N}/10
272
- **Funcional:** {N}/10 ({match}/{total} features)
273
- **Visual:** {N}/10
274
-
275
- | Status | Quantidade |
276
- |--------|-----------|
277
- | MATCH | {N} |
278
- | IMPROVED | {N} |
279
- | PARTIAL | {N} |
280
- | MISSING | {N} |
281
- | BROKEN | {N} |
282
-
283
- Screenshots comparativos: .plano/clone/verify/
284
- ```
285
-
286
- Cleanup:
287
- ```bash
288
- kill $DASH_PID 2>/dev/null
289
- ```
290
-
291
- ```
292
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
293
- CLONE BUILDER > COMPLETO
294
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
295
-
296
- **Original:** {URL}
297
- **Clone:** http://localhost:{PORT}
298
- **Fidelidade:** {N}/10
299
-
300
- Features: {match} MATCH | {partial} PARTIAL | {missing} MISSING | {broken} BROKEN
301
- Quality Score: {N}/10
302
-
303
- Relatorio: .plano/DELIVERY.md
304
- Comparativo: .plano/clone/verify/
305
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
306
- ```
307
-
308
- </process>
309
-
310
- <success_criteria>
311
- - [ ] App original crawled (todas rotas, screenshots, APIs, forms)
312
- - [ ] Design system extraido
313
- - [ ] Features mapeadas com IDs CLONE-*
314
- - [ ] PRD gerado completo
315
- - [ ] Builder executou com config clone
316
- - [ ] Clone verificado feature a feature contra original
317
- - [ ] Clone verificado visualmente contra original
318
- - [ ] Score de fidelidade >= 9.0 (ou max esforco)
319
- - [ ] DELIVERY.md com secao de fidelidade
320
- </success_criteria>
@@ -1,336 +0,0 @@
1
- <purpose>
2
- Extrair decisoes de implementacao que agentes downstream precisam. Analisar a fase para identificar areas cinzentas, deixar o usuario escolher o que discutir, entao aprofundar em cada area selecionada ate ficar satisfeito.
3
-
4
- Voce e um parceiro de pensamento, nao um entrevistador. O usuario e o visionario -- voce e o construtor. Seu trabalho e capturar decisoes que guiarao pesquisa e planejamento.
5
- </purpose>
6
-
7
- <scope_guardrail>
8
- **CRITICO: Sem inflacao de escopo.**
9
-
10
- O limite da fase vem do ROADMAP.md e e FIXO. Discussao esclarece COMO implementar o que esta no escopo, nunca SE adicionar novas capacidades.
11
-
12
- **Permitido (esclarecer ambiguidade):**
13
- - "Como posts devem ser exibidos?" (layout, densidade, info mostrada)
14
- - "O que acontece no estado vazio?" (dentro da feature)
15
-
16
- **Nao permitido (inflacao de escopo):**
17
- - "Devemos tambem adicionar comentarios?" (nova capacidade)
18
- - "E sobre busca/filtragem?" (nova capacidade)
19
-
20
- **Quando usuario sugere inflacao de escopo:**
21
- ```
22
- "[Feature X] seria uma nova capacidade -- e uma fase propria.
23
- Quer que eu anote para o backlog do roteiro?
24
-
25
- Por agora, vamos focar em [dominio da fase]."
26
- ```
27
-
28
- Capturar a ideia em secao "Ideias Adiadas". Nao perca, nao atue sobre ela.
29
- </scope_guardrail>
30
-
31
- <process>
32
-
33
- <step name="initialize" priority="first">
34
- Numero da fase do argumento (obrigatorio).
35
-
36
- ```bash
37
- INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init operacao-fase "${PHASE}")
38
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
39
- ```
40
-
41
- Parse JSON: `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `plan_count`, `roadmap_exists`, `planning_exists`.
42
-
43
- **Se `phase_found` = false:**
44
- ```
45
- Fase [X] nao encontrada no roteiro.
46
-
47
- Use /up:progresso para ver fases disponiveis.
48
- ```
49
- Sair do workflow.
50
-
51
- **Se `phase_found` = true:** Continuar para check_existing.
52
- </step>
53
-
54
- <step name="check_existing">
55
- Verificar se CONTEXT.md ja existe usando `has_context` do init.
56
-
57
- **Se existe:**
58
- Use AskUserQuestion:
59
- - header: "Contexto"
60
- - question: "Fase [X] ja tem contexto. O que voce quer fazer?"
61
- - options:
62
- - "Atualizar" -- Revisar e atualizar contexto existente
63
- - "Ver" -- Mostrar o que tem la
64
- - "Pular" -- Usar contexto existente como esta
65
-
66
- Se "Atualizar": Carregar existente, continuar para analyze_phase
67
- Se "Ver": Exibir CONTEXT.md, depois oferecer atualizar/pular
68
- Se "Pular": Sair do workflow
69
-
70
- **Se nao existe:** Continuar para load_prior_context.
71
- </step>
72
-
73
- <step name="load_prior_context">
74
- Ler contexto de nivel de projeto e de fases anteriores para evitar re-perguntar questoes ja decididas.
75
-
76
- **Passo 1: Ler arquivos do projeto**
77
- ```bash
78
- cat .plano/PROJECT.md 2>/dev/null
79
- cat .plano/REQUIREMENTS.md 2>/dev/null
80
- cat .plano/STATE.md 2>/dev/null
81
- ```
82
-
83
- Extrair:
84
- - **PROJECT.md** -- Visao, principios, nao-negociaveis, preferencias do usuario
85
- - **REQUIREMENTS.md** -- Criterios de aceitacao, restricoes
86
- - **STATE.md** -- Progresso atual, flags ou notas
87
-
88
- **Passo 1b: Ler mapeamento do codebase (se brownfield)**
89
- ```bash
90
- ls .plano/codebase/*.md 2>/dev/null
91
- ```
92
-
93
- Se `.plano/codebase/` existe (projeto brownfield):
94
- - Ler `ARCHITECTURE.md` -- entender estrutura do sistema para perguntas de design
95
- - Ler `CONVENTIONS.md` -- entender padroes existentes para alinhar discussao
96
- - Ler `CONCERNS.md` -- divida tecnica que pode afetar decisoes da fase
97
-
98
- **Uso:** Areas cinzentas devem considerar restricoes e padroes do codebase existente. Perguntas como "Essa fase vai mexer em que partes do sistema?" sao informadas pela arquitetura conhecida.
99
-
100
- **Passo 2: Ler todos CONTEXT.md de fases anteriores**
101
- ```bash
102
- find .plano/fases -name "*-CONTEXT.md" 2>/dev/null | sort
103
- ```
104
-
105
- Para cada CONTEXT.md onde numero da fase < fase atual:
106
- - Ler secao `<decisions>` -- sao preferencias travadas
107
- - Ler `<specifics>` -- referencias particulares ou momentos "quero como X"
108
- - Notar padroes
109
-
110
- **Passo 3: Construir contexto interno `<prior_decisions>`**
111
-
112
- **Uso nos passos seguintes:**
113
- - `analyze_phase`: Pular areas cinzentas ja decididas
114
- - `present_gray_areas`: Anotar opcoes com decisoes anteriores
115
- - `discuss_areas`: Pre-preencher respostas ou sinalizar conflitos
116
- </step>
117
-
118
- <step name="analyze_phase">
119
- Analisar a fase para identificar areas cinzentas que valem discussao.
120
-
121
- **Ler descricao da fase do ROADMAP.md e determinar:**
122
-
123
- 1. **Limite do dominio** -- Qual capacidade essa fase entrega? Declarar claramente.
124
-
125
- 2. **Verificar decisoes anteriores** -- Antes de gerar areas cinzentas, verificar se ja foram decididas.
126
-
127
- 3. **Areas cinzentas por categoria** -- Para cada categoria relevante, identificar 1-2 ambiguidades especificas que mudariam implementacao.
128
-
129
- 4. **Avaliacao de pulo** -- Se nao ha areas cinzentas significativas (infraestrutura pura, implementacao clara, ou tudo ja decidido), a fase pode nao precisar de discussao.
130
- </step>
131
-
132
- <step name="present_gray_areas">
133
- Apresentar limite do dominio, decisoes anteriores e areas cinzentas ao usuario.
134
-
135
- **Primeiro, declarar limite e decisoes anteriores que se aplicam:**
136
- ```
137
- Fase [X]: [Nome]
138
- Dominio: [O que esta fase entrega -- da sua analise]
139
-
140
- Vamos esclarecer COMO implementar isso.
141
- (Novas capacidades pertencem a outras fases.)
142
-
143
- [Se decisoes anteriores se aplicam:]
144
- **Herdado de fases anteriores:**
145
- - [Decisao da Fase N que se aplica aqui]
146
- ```
147
-
148
- **Usar AskUserQuestion (multiSelect: true):**
149
- - header: "Discutir"
150
- - question: "Quais areas voce quer discutir para [nome da fase]?"
151
- - options: Gerar 3-4 areas cinzentas especificas da fase
152
-
153
- **NAO incluir opcao "pular" ou "voce decide".** Usuario executou este comando para discutir.
154
- </step>
155
-
156
- <step name="discuss_areas">
157
- Para cada area selecionada, conduzir loop de discussao focada.
158
-
159
- **Filosofia: 4 perguntas, depois verificar.**
160
-
161
- **Para cada area:**
162
-
163
- 1. **Anunciar a area:**
164
- ```
165
- Vamos falar sobre [Area].
166
- ```
167
-
168
- 2. **Perguntar 4 questoes usando AskUserQuestion:**
169
- - header: "[Area]" (max 12 chars)
170
- - question: Decisao especifica para esta area
171
- - options: 2-3 escolhas concretas, com escolha recomendada destacada
172
- - Incluir "Voce decide" como opcao quando razoavel
173
-
174
- 3. **Apos 4 perguntas, verificar:**
175
- - header: "[Area]" (max 12 chars)
176
- - question: "Mais perguntas sobre [area], ou ir para proxima?"
177
- - options: "Mais perguntas" / "Proxima area"
178
-
179
- 4. **Apos todas areas selecionadas completarem:**
180
- - Resumir o que foi capturado
181
- - AskUserQuestion:
182
- - header: "Pronto"
183
- - question: "Discutimos [listar areas]. Quais areas cinzentas permanecem?"
184
- - options: "Explorar mais areas" / "Pronto para contexto"
185
- - Se "Explorar mais": identificar 2-4 areas adicionais, voltar ao loop
186
- - Se "Pronto para contexto": Prosseguir para write_context
187
-
188
- **Tratamento de inflacao de escopo:**
189
- Se usuario mencionar algo fora do dominio da fase:
190
- ```
191
- "[Feature] parece uma nova capacidade -- pertence a propria fase.
192
- Vou anotar como ideia adiada.
193
-
194
- Voltando para [area atual]: [retornar a pergunta atual]"
195
- ```
196
- </step>
197
-
198
- <step name="write_context">
199
- Criar CONTEXT.md capturando decisoes tomadas.
200
-
201
- Usar valores do init: `phase_dir`, `phase_slug`, `padded_phase`.
202
-
203
- Se `phase_dir` e null:
204
- ```bash
205
- mkdir -p ".plano/fases/${padded_phase}-${phase_slug}"
206
- ```
207
-
208
- **Local do arquivo:** `${phase_dir}/${padded_phase}-CONTEXT.md`
209
-
210
- ```markdown
211
- # Fase [X]: [Nome] - Contexto
212
-
213
- **Reunido:** [data]
214
- **Status:** Pronto para planejamento
215
-
216
- <domain>
217
- ## Limite da Fase
218
-
219
- [Declaracao clara do que esta fase entrega -- a ancora de escopo]
220
-
221
- </domain>
222
-
223
- <decisions>
224
- ## Decisoes de Implementacao
225
-
226
- ### [Categoria 1 discutida]
227
- - [Decisao ou preferencia capturada]
228
-
229
- ### [Categoria 2 discutida]
230
- - [Decisao ou preferencia capturada]
231
-
232
- ### Criterio do Claude
233
- [Areas onde usuario disse "voce decide"]
234
-
235
- </decisions>
236
-
237
- <specifics>
238
- ## Ideias Especificas
239
-
240
- [Referencias particulares, exemplos, ou momentos "quero como X"]
241
-
242
- [Se nenhum: "Sem requisitos especificos -- aberto a abordagens padrao"]
243
-
244
- </specifics>
245
-
246
- <deferred>
247
- ## Ideias Adiadas
248
-
249
- [Ideias que surgiram mas pertencem a outras fases.]
250
-
251
- [Se nenhuma: "Nenhuma -- discussao manteve-se no escopo da fase"]
252
-
253
- </deferred>
254
-
255
- ---
256
-
257
- *Fase: XX-nome*
258
- *Contexto reunido: [data]*
259
- ```
260
-
261
- Escrever arquivo.
262
- </step>
263
-
264
- <step name="confirm_creation">
265
- Apresentar resumo e proximos passos:
266
-
267
- ```
268
- Criado: .plano/fases/${PADDED_PHASE}-${SLUG}/${PADDED_PHASE}-CONTEXT.md
269
-
270
- ## Decisoes Capturadas
271
-
272
- ### [Categoria]
273
- - [Decisao-chave]
274
-
275
- [Se ideias adiadas existem:]
276
- ## Anotado para Depois
277
- - [Ideia adiada] -- fase futura
278
-
279
- ---
280
-
281
- ## Proximo
282
-
283
- **Fase ${PHASE}: [Nome]** -- [Objetivo do ROADMAP.md]
284
-
285
- `/up:planejar-fase ${PHASE}`
286
-
287
- <sub>`/clear` primeiro -> janela de contexto limpa</sub>
288
-
289
- ---
290
-
291
- **Tambem disponivel:**
292
- - Revisar/editar CONTEXT.md antes de continuar
293
-
294
- ---
295
- ```
296
- </step>
297
-
298
- <step name="git_commit">
299
- Commit do contexto da fase:
300
-
301
- ```bash
302
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs(${padded_phase}): capturar contexto da fase" --files "${phase_dir}/${padded_phase}-CONTEXT.md"
303
- ```
304
- </step>
305
-
306
- <step name="update_state">
307
- Atualizar STATE.md com info da sessao:
308
-
309
- ```bash
310
- node "$HOME/.claude/up/bin/up-tools.cjs" state record-session \
311
- --stopped-at "Fase ${PHASE} contexto reunido" \
312
- --resume-file "${phase_dir}/${padded_phase}-CONTEXT.md"
313
- ```
314
-
315
- Commit STATE.md:
316
-
317
- ```bash
318
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs(state): registrar sessao de contexto fase ${PHASE}" --files .plano/STATE.md
319
- ```
320
- </step>
321
-
322
- </process>
323
-
324
- <success_criteria>
325
- - Fase validada contra roteiro
326
- - Contexto anterior carregado (PROJECT.md, REQUIREMENTS.md, STATE.md, CONTEXT.md anteriores)
327
- - Questoes ja decididas nao re-perguntadas
328
- - Areas cinzentas identificadas com analise inteligente
329
- - Usuario selecionou quais areas discutir
330
- - Cada area explorada ate usuario ficar satisfeito
331
- - Inflacao de escopo redirecionada para ideias adiadas
332
- - CONTEXT.md captura decisoes reais, nao visao vaga
333
- - Ideias adiadas preservadas para fases futuras
334
- - STATE.md atualizado com info da sessao
335
- - Usuario sabe proximos passos
336
- </success_criteria>