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,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>