@luanpdd/kit-mcp 1.20.0 → 1.21.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 (259) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +648 -648
  3. package/gates/dept-cycle-prevention.md +179 -0
  4. package/gates/multi-tenant-rls-coverage.md +102 -0
  5. package/gates/service-role-not-in-user-facing.md +113 -0
  6. package/kit/COMANDOS.md +138 -138
  7. package/kit/README.md +52 -52
  8. package/kit/agents/advisor-researcher.md +106 -106
  9. package/kit/agents/assumptions-analyzer.md +107 -107
  10. package/kit/agents/audit-log-implementer.md +175 -0
  11. package/kit/agents/b2b-saas-architect.md +156 -0
  12. package/kit/agents/codebase-mapper.md +768 -768
  13. package/kit/agents/crm-pipeline-implementer.md +150 -0
  14. package/kit/agents/debugger.md +772 -772
  15. package/kit/agents/evolution-go-integrator.md +179 -0
  16. package/kit/agents/example-reviewer.md +21 -21
  17. package/kit/agents/executor.md +523 -523
  18. package/kit/agents/integration-checker.md +200 -200
  19. package/kit/agents/invite-flow-implementer.md +137 -0
  20. package/kit/agents/lgpd-compliance-auditor.md +206 -0
  21. package/kit/agents/multi-tenant-isolation-auditor.md +243 -0
  22. package/kit/agents/multi-tenant-rls-writer.md +262 -0
  23. package/kit/agents/nyquist-auditor.md +178 -178
  24. package/kit/agents/org-onboarding-implementer.md +202 -0
  25. package/kit/agents/phase-researcher.md +696 -696
  26. package/kit/agents/plan-checker.md +272 -272
  27. package/kit/agents/planner.md +891 -891
  28. package/kit/agents/project-researcher.md +652 -652
  29. package/kit/agents/research-synthesizer.md +245 -245
  30. package/kit/agents/roadmapper.md +677 -677
  31. package/kit/agents/super-admin-implementer.md +182 -0
  32. package/kit/agents/ui-auditor.md +437 -437
  33. package/kit/agents/ui-checker.md +302 -302
  34. package/kit/agents/ui-researcher.md +355 -355
  35. package/kit/agents/user-profiler.md +175 -175
  36. package/kit/agents/verifier.md +728 -728
  37. package/kit/commands/adicionar-backlog.md +75 -75
  38. package/kit/commands/adicionar-fase.md +42 -42
  39. package/kit/commands/adicionar-tarefa.md +45 -45
  40. package/kit/commands/adicionar-testes.md +41 -41
  41. package/kit/commands/ajuda.md +21 -21
  42. package/kit/commands/atualizar.md +37 -37
  43. package/kit/commands/auditar-marco.md +179 -179
  44. package/kit/commands/auditar-uat.md +23 -23
  45. package/kit/commands/autonomo.md +40 -40
  46. package/kit/commands/branch-pr.md +24 -24
  47. package/kit/commands/concluir-marco.md +247 -247
  48. package/kit/commands/configuracoes.md +36 -36
  49. package/kit/commands/definir-perfil.md +10 -10
  50. package/kit/commands/depurar.md +190 -190
  51. package/kit/commands/discutir-fase.md +131 -131
  52. package/kit/commands/entrar-discord.md +17 -17
  53. package/kit/commands/estatisticas.md +18 -18
  54. package/kit/commands/example-greeting.md +33 -33
  55. package/kit/commands/executar-fase.md +58 -58
  56. package/kit/commands/expresso.md +56 -56
  57. package/kit/commands/fase-ui.md +34 -34
  58. package/kit/commands/fazer.md +57 -57
  59. package/kit/commands/fio.md +125 -125
  60. package/kit/commands/fluxos-trabalho.md +64 -64
  61. package/kit/commands/forense.md +176 -176
  62. package/kit/commands/gerenciador.md +38 -38
  63. package/kit/commands/inserir-fase.md +31 -31
  64. package/kit/commands/limpeza.md +17 -17
  65. package/kit/commands/listar-hipoteses-fase.md +45 -45
  66. package/kit/commands/listar-workspaces.md +18 -18
  67. package/kit/commands/mapear-codebase.md +70 -70
  68. package/kit/commands/multi-tenant.md +163 -0
  69. package/kit/commands/nota.md +33 -33
  70. package/kit/commands/novo-marco.md +43 -43
  71. package/kit/commands/novo-projeto.md +41 -41
  72. package/kit/commands/novo-workspace.md +43 -43
  73. package/kit/commands/pausar-trabalho.md +37 -37
  74. package/kit/commands/perfil-usuario.md +45 -45
  75. package/kit/commands/pesquisar-fase.md +195 -195
  76. package/kit/commands/planejar-fase.md +67 -67
  77. package/kit/commands/planejar-lacunas.md +33 -33
  78. package/kit/commands/plantar-ideia.md +25 -25
  79. package/kit/commands/progresso.md +24 -24
  80. package/kit/commands/proximo.md +30 -30
  81. package/kit/commands/publicar.md +490 -490
  82. package/kit/commands/rapido.md +35 -35
  83. package/kit/commands/reaplicar-patches.md +124 -124
  84. package/kit/commands/relatorio-sessao.md +19 -19
  85. package/kit/commands/remover-fase.md +31 -31
  86. package/kit/commands/remover-workspace.md +26 -26
  87. package/kit/commands/resumo-marco.md +50 -50
  88. package/kit/commands/retomar-trabalho.md +40 -40
  89. package/kit/commands/revisar-backlog.md +60 -60
  90. package/kit/commands/revisar-ui.md +32 -32
  91. package/kit/commands/revisar.md +37 -37
  92. package/kit/commands/saude.md +21 -21
  93. package/kit/commands/setup-notion.md +93 -93
  94. package/kit/commands/sync-main.md +68 -68
  95. package/kit/commands/validar-fase.md +35 -35
  96. package/kit/commands/verificar-tarefas.md +44 -44
  97. package/kit/commands/verificar-trabalho.md +64 -64
  98. package/kit/file-manifest.json +30 -3
  99. package/kit/framework/bin/lib/commands.cjs +959 -959
  100. package/kit/framework/bin/lib/config.cjs +442 -442
  101. package/kit/framework/bin/lib/core.cjs +1230 -1230
  102. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  103. package/kit/framework/bin/lib/init.cjs +1442 -1442
  104. package/kit/framework/bin/lib/milestone.cjs +252 -252
  105. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  106. package/kit/framework/bin/lib/phase.cjs +888 -888
  107. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  108. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  109. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  110. package/kit/framework/bin/lib/security.cjs +382 -382
  111. package/kit/framework/bin/lib/state.cjs +1031 -1031
  112. package/kit/framework/bin/lib/template.cjs +222 -222
  113. package/kit/framework/bin/lib/uat.cjs +282 -282
  114. package/kit/framework/bin/lib/verify.cjs +888 -888
  115. package/kit/framework/bin/lib/workstream.cjs +491 -491
  116. package/kit/framework/bin/tools.cjs +918 -918
  117. package/kit/framework/commands/workstreams.md +63 -63
  118. package/kit/framework/references/checkpoints.md +778 -778
  119. package/kit/framework/references/continuation-format.md +249 -249
  120. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  121. package/kit/framework/references/git-integration.md +295 -295
  122. package/kit/framework/references/git-planning-commit.md +38 -38
  123. package/kit/framework/references/model-profile-resolution.md +36 -36
  124. package/kit/framework/references/model-profiles.md +139 -139
  125. package/kit/framework/references/phase-argument-parsing.md +61 -61
  126. package/kit/framework/references/planning-config.md +202 -202
  127. package/kit/framework/references/questioning.md +162 -162
  128. package/kit/framework/references/tdd.md +263 -263
  129. package/kit/framework/references/ui-brand.md +160 -160
  130. package/kit/framework/references/user-profiling.md +657 -657
  131. package/kit/framework/references/verification-patterns.md +612 -612
  132. package/kit/framework/references/workstream-flag.md +58 -58
  133. package/kit/framework/templates/DEBUG.md +164 -164
  134. package/kit/framework/templates/UAT.md +265 -265
  135. package/kit/framework/templates/UI-SPEC.md +100 -100
  136. package/kit/framework/templates/VALIDATION.md +76 -76
  137. package/kit/framework/templates/claude-md.md +122 -122
  138. package/kit/framework/templates/codebase/architecture.md +185 -185
  139. package/kit/framework/templates/codebase/concerns.md +205 -205
  140. package/kit/framework/templates/codebase/conventions.md +204 -204
  141. package/kit/framework/templates/codebase/integrations.md +192 -192
  142. package/kit/framework/templates/codebase/stack.md +158 -158
  143. package/kit/framework/templates/codebase/structure.md +199 -199
  144. package/kit/framework/templates/codebase/testing.md +301 -301
  145. package/kit/framework/templates/config.json +44 -44
  146. package/kit/framework/templates/context.md +352 -352
  147. package/kit/framework/templates/continue-here.md +78 -78
  148. package/kit/framework/templates/copilot-instructions.md +7 -7
  149. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  150. package/kit/framework/templates/dev-preferences.md +20 -20
  151. package/kit/framework/templates/discovery.md +146 -146
  152. package/kit/framework/templates/discussion-log.md +63 -63
  153. package/kit/framework/templates/milestone-archive.md +123 -123
  154. package/kit/framework/templates/milestone.md +115 -115
  155. package/kit/framework/templates/phase-prompt.md +610 -610
  156. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  157. package/kit/framework/templates/project.md +186 -186
  158. package/kit/framework/templates/requirements.md +231 -231
  159. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  160. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  161. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  162. package/kit/framework/templates/research-project/STACK.md +120 -120
  163. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  164. package/kit/framework/templates/research.md +419 -419
  165. package/kit/framework/templates/retrospective.md +54 -54
  166. package/kit/framework/templates/roadmap.md +202 -202
  167. package/kit/framework/templates/state.md +176 -176
  168. package/kit/framework/templates/summary-complex.md +59 -59
  169. package/kit/framework/templates/summary-minimal.md +41 -41
  170. package/kit/framework/templates/summary-standard.md +48 -48
  171. package/kit/framework/templates/summary.md +209 -209
  172. package/kit/framework/templates/user-profile.md +146 -146
  173. package/kit/framework/templates/user-setup.md +256 -256
  174. package/kit/framework/templates/verification-report.md +258 -258
  175. package/kit/framework/workflows/add-phase.md +112 -112
  176. package/kit/framework/workflows/add-tests.md +351 -351
  177. package/kit/framework/workflows/add-todo.md +158 -158
  178. package/kit/framework/workflows/audit-milestone.md +340 -340
  179. package/kit/framework/workflows/audit-uat.md +109 -109
  180. package/kit/framework/workflows/autonomous.md +891 -891
  181. package/kit/framework/workflows/check-todos.md +177 -177
  182. package/kit/framework/workflows/cleanup.md +152 -152
  183. package/kit/framework/workflows/complete-milestone.md +696 -696
  184. package/kit/framework/workflows/diagnose-issues.md +231 -231
  185. package/kit/framework/workflows/discovery-phase.md +289 -289
  186. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  187. package/kit/framework/workflows/discuss-phase.md +784 -784
  188. package/kit/framework/workflows/do.md +104 -104
  189. package/kit/framework/workflows/execute-phase.md +838 -838
  190. package/kit/framework/workflows/execute-plan.md +510 -510
  191. package/kit/framework/workflows/fast.md +102 -102
  192. package/kit/framework/workflows/forensics.md +265 -265
  193. package/kit/framework/workflows/health.md +181 -181
  194. package/kit/framework/workflows/help.md +619 -619
  195. package/kit/framework/workflows/insert-phase.md +130 -130
  196. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  197. package/kit/framework/workflows/list-workspaces.md +56 -56
  198. package/kit/framework/workflows/manager.md +362 -362
  199. package/kit/framework/workflows/map-codebase.md +377 -377
  200. package/kit/framework/workflows/milestone-summary.md +223 -223
  201. package/kit/framework/workflows/new-milestone.md +486 -486
  202. package/kit/framework/workflows/new-project.md +1159 -1159
  203. package/kit/framework/workflows/new-workspace.md +237 -237
  204. package/kit/framework/workflows/next.md +97 -97
  205. package/kit/framework/workflows/node-repair.md +92 -92
  206. package/kit/framework/workflows/note.md +156 -156
  207. package/kit/framework/workflows/pause-work.md +176 -176
  208. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  209. package/kit/framework/workflows/plan-phase.md +765 -765
  210. package/kit/framework/workflows/plant-seed.md +169 -169
  211. package/kit/framework/workflows/pr-branch.md +129 -129
  212. package/kit/framework/workflows/profile-user.md +450 -450
  213. package/kit/framework/workflows/progress.md +507 -507
  214. package/kit/framework/workflows/quick.md +757 -757
  215. package/kit/framework/workflows/remove-phase.md +155 -155
  216. package/kit/framework/workflows/remove-workspace.md +90 -90
  217. package/kit/framework/workflows/research-phase.md +82 -82
  218. package/kit/framework/workflows/resume-project.md +326 -326
  219. package/kit/framework/workflows/review.md +228 -228
  220. package/kit/framework/workflows/session-report.md +146 -146
  221. package/kit/framework/workflows/settings.md +283 -283
  222. package/kit/framework/workflows/ship.md +228 -228
  223. package/kit/framework/workflows/stats.md +60 -60
  224. package/kit/framework/workflows/transition.md +671 -671
  225. package/kit/framework/workflows/ui-phase.md +302 -302
  226. package/kit/framework/workflows/ui-review.md +165 -165
  227. package/kit/framework/workflows/update.md +323 -323
  228. package/kit/framework/workflows/validate-phase.md +174 -174
  229. package/kit/framework/workflows/verify-phase.md +252 -252
  230. package/kit/framework/workflows/verify-work.md +637 -637
  231. package/kit/hooks/check-update.js +118 -118
  232. package/kit/hooks/context-monitor.js +163 -163
  233. package/kit/hooks/prompt-guard.js +103 -103
  234. package/kit/hooks/statusline.js +125 -125
  235. package/kit/hooks/workflow-guard.js +101 -101
  236. package/kit/settings.json +45 -45
  237. package/kit/skills/_shared-multi-tenant/glossary.md +186 -0
  238. package/kit/skills/audit-log-multi-tenant/SKILL.md +334 -0
  239. package/kit/skills/b2b-saas-architecture/SKILL.md +300 -0
  240. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +326 -0
  241. package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -0
  242. package/kit/skills/example-skill/SKILL.md +42 -42
  243. package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -0
  244. package/kit/skills/member-invite-flow/SKILL.md +305 -0
  245. package/kit/skills/member-management-react-shadcn/SKILL.md +328 -0
  246. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +312 -0
  247. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +338 -0
  248. package/kit/skills/org-onboarding-flow/SKILL.md +257 -0
  249. package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -0
  250. package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -0
  251. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +301 -0
  252. package/kit/skills/super-admin-platform-pattern/SKILL.md +322 -0
  253. package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -0
  254. package/package.json +63 -63
  255. package/src/core/kit.js +216 -216
  256. package/src/core/reflect.js +247 -247
  257. package/src/core/reverse-sync.js +372 -372
  258. package/src/core/sync.js +418 -418
  259. package/src/core/watch.js +121 -121
@@ -1,507 +1,507 @@
1
- <purpose>
2
- Verificar o progresso do projeto, resumir trabalhos recentes e o que está por vir, então rotear inteligentemente para a próxima ação — seja executando um plano existente ou criando o próximo. Fornece consciência situacional antes de continuar o trabalho.
3
- </purpose>
4
-
5
- <required_reading>
6
- Ler todos os arquivos referenciados pelo execution_context do prompt invocador antes de começar.
7
- </required_reading>
8
-
9
- <process>
10
-
11
- <step name="init_context">
12
- **Carregar contexto de progresso (apenas caminhos):**
13
-
14
- ```bash
15
- INIT=$(node "./.claude/framework/bin/tools.cjs" init progress)
16
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
17
- ```
18
-
19
- Extrair do JSON do init: `project_exists`, `roadmap_exists`, `state_exists`, `phases`, `current_phase`, `next_phase`, `milestone_version`, `completed_count`, `phase_count`, `paused_at`, `state_path`, `roadmap_path`, `project_path`, `config_path`.
20
-
21
- ```bash
22
- DISCUSS_MODE=$(node "./.claude/framework/bin/tools.cjs" config-get workflow.discuss_mode 2>/dev/null || echo "discuss")
23
- ```
24
-
25
- Se `project_exists` for false (sem diretório `.planning/`):
26
-
27
- ```
28
- Estrutura de planejamento não encontrada.
29
-
30
- Execute /novo-projeto para iniciar um novo projeto.
31
- ```
32
-
33
- Sair.
34
-
35
- Se STATE.md estiver ausente: sugerir `/novo-projeto`.
36
-
37
- **Se ROADMAP.md ausente mas PROJECT.md existir:**
38
-
39
- Isso significa que um milestone foi concluído e arquivado. Ir para **Rota F** (entre milestones).
40
-
41
- Se ambos ROADMAP.md e PROJECT.md estiverem ausentes: sugerir `/novo-projeto`.
42
- </step>
43
-
44
- <step name="load">
45
- **Usar extração estruturada do tools:**
46
-
47
- Em vez de ler arquivos completos, usar ferramentas direcionadas para obter apenas os dados necessários para o relatório:
48
- - `ROADMAP=$(node "./.claude/framework/bin/tools.cjs" roadmap analyze)`
49
- - `STATE=$(node "./.claude/framework/bin/tools.cjs" state-snapshot)`
50
-
51
- Isso minimiza o uso de contexto do orquestrador.
52
- </step>
53
-
54
- <step name="analyze_roadmap">
55
- **Obter análise abrangente do roadmap (substitui análise manual):**
56
-
57
- ```bash
58
- ROADMAP=$(node "./.claude/framework/bin/tools.cjs" roadmap analyze)
59
- ```
60
-
61
- Retorna JSON estruturado com:
62
- - Todas as fases com status no disco (completo/parcial/planejado/vazio/sem_diretório)
63
- - Objetivo e dependências por fase
64
- - Contagens de plano e summary por fase
65
- - Estatísticas agregadas: total de planos, summaries, percentual de progresso
66
- - Identificação de fase atual e próxima
67
-
68
- Usar isso em vez de ler/analisar manualmente ROADMAP.md.
69
- </step>
70
-
71
- <step name="recent">
72
- **Coletar contexto de trabalho recente:**
73
-
74
- - Encontrar os 2-3 arquivos SUMMARY.md mais recentes
75
- - Usar `summary-extract` para análise eficiente:
76
- ```bash
77
- node "./.claude/framework/bin/tools.cjs" summary-extract <path> --fields one_liner
78
- ```
79
- - Isso mostra "no que estivemos trabalhando"
80
- </step>
81
-
82
- <step name="position">
83
- **Analisar posição atual do contexto init e análise do roadmap:**
84
-
85
- - Usar `current_phase` e `next_phase` do `$ROADMAP`
86
- - Notar `paused_at` se o trabalho foi pausado (do `$STATE`)
87
- - Contar todos pendentes: usar `init todos` ou `list-todos`
88
- - Verificar sessões de debug ativas: `(ls .planning/debug/*.md 2>/dev/null || true) | grep -v resolved | wc -l`
89
- </step>
90
-
91
- <step name="report">
92
- **Gerar barra de progresso do tools, então apresentar relatório de status rico:**
93
-
94
- ```bash
95
- # Obter barra de progresso formatada
96
- PROGRESS_BAR=$(node "./.claude/framework/bin/tools.cjs" progress bar --raw)
97
- ```
98
-
99
- Apresentar:
100
-
101
- ```
102
- # [Nome do Projeto]
103
-
104
- **Progresso:** {PROGRESS_BAR}
105
- **Perfil:** [quality/balanced/budget/inherit]
106
- **Modo de discussão:** {DISCUSS_MODE}
107
-
108
- ## Trabalho Recente
109
- - [Fase X, Plano Y]: [o que foi realizado - 1 linha do summary-extract]
110
- - [Fase X, Plano Z]: [o que foi realizado - 1 linha do summary-extract]
111
-
112
- ## Posição Atual
113
- Fase [N] de [total]: [nome-da-fase]
114
- Plano [M] de [fase-total]: [status]
115
- CONTEXTO: [✓ se has_context | - se não]
116
-
117
- ## Decisões-Chave Tomadas
118
- - [extrair de $STATE.decisions[]]
119
- - [ex: jq -r '.decisions[].decision' do state-snapshot]
120
-
121
- ## Bloqueadores/Preocupações
122
- - [extrair de $STATE.blockers[]]
123
- - [ex: jq -r '.blockers[].text' do state-snapshot]
124
-
125
- ## Todos Pendentes
126
- - [contagem] pendentes — /verificar-todos para revisar
127
-
128
- ## Sessões de Debug Ativas
129
- - [contagem] ativas — /depurar para continuar
130
- (Mostrar esta seção apenas se contagem > 0)
131
-
132
- ## O Que Vem a Seguir
133
- [Objetivo da próxima fase/plano da análise do roadmap]
134
- ```
135
-
136
- </step>
137
-
138
- <step name="route">
139
- **Determinar próxima ação com base em contagens verificadas.**
140
-
141
- **Passo 1: Contar planos, summaries e problemas na fase atual**
142
-
143
- Listar arquivos no diretório da fase atual:
144
-
145
- ```bash
146
- (ls -1 .planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null || true) | wc -l
147
- (ls -1 .planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null || true) | wc -l
148
- (ls -1 .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null || true) | wc -l
149
- ```
150
-
151
- Declarar: "Esta fase tem {X} planos, {Y} summaries."
152
-
153
- **Passo 1.5: Verificar lacunas UAT não resolvidas**
154
-
155
- Verificar arquivos UAT.md com status "diagnosed" (tem lacunas precisando de correções).
156
-
157
- ```bash
158
- # Verificar UAT diagnosticado com lacunas ou parcial (teste incompleto)
159
- grep -l "status: diagnosed\|status: partial" .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null || true
160
- ```
161
-
162
- Rastrear:
163
- - `uat_with_gaps`: Arquivos UAT.md com status "diagnosed" (lacunas precisam de correção)
164
- - `uat_partial`: Arquivos UAT.md com status "partial" (teste incompleto)
165
-
166
- **Passo 1.6: Verificação de saúde entre fases**
167
-
168
- Escanear TODAS as fases no milestone atual por dívida de verificação pendente usando o CLI (que respeita limites de milestone via `getMilestonePhaseFilter`):
169
-
170
- ```bash
171
- DEBT=$(node "./.claude/framework/bin/tools.cjs" audit-uat --raw 2>/dev/null)
172
- ```
173
-
174
- Analisar JSON para `summary.total_items` e `summary.total_files`.
175
-
176
- Rastrear: `outstanding_debt` — `summary.total_items` da auditoria.
177
-
178
- **Se outstanding_debt > 0:** Adicionar uma seção de aviso ao relatório de progresso (no passo `report`), colocada entre "## O Que Vem a Seguir" e a sugestão de rota:
179
-
180
- ```markdown
181
- ## Dívida de Verificação ({N} arquivos em fases anteriores)
182
-
183
- | Fase | Arquivo | Problema |
184
- |------|---------|---------|
185
- | {phase} | {filename} | {pending_count} pendentes, {skipped_count} pulados, {blocked_count} bloqueados |
186
- | {phase} | {filename} | human_needed — {count} itens |
187
-
188
- Revisar: `/auditar-uat ${WS}` — auditoria completa entre fases
189
- Retomar teste: `/verificar-trabalho {phase} ${WS}` — retestar fase específica
190
- ```
191
-
192
- Isso é um AVISO, não um bloqueador — o roteamento prossegue normalmente. A dívida é visível para que o usuário possa fazer uma escolha informada.
193
-
194
- **Passo 2: Rotear com base nas contagens**
195
-
196
- | Condição | Significado | Ação |
197
- |----------|-------------|------|
198
- | uat_partial > 0 | Teste UAT incompleto | Ir para **Rota E.2** |
199
- | uat_with_gaps > 0 | Lacunas UAT precisam de planos de correção | Ir para **Rota E** |
200
- | summaries < plans | Planos não executados existem | Ir para **Rota A** |
201
- | summaries = plans E plans > 0 | Fase completa | Ir para Passo 3 |
202
- | plans = 0 | Fase ainda não planejada | Ir para **Rota B** |
203
-
204
- ---
205
-
206
- **Rota A: Plano não executado existe**
207
-
208
- Encontrar o primeiro PLAN.md sem SUMMARY.md correspondente.
209
- Ler sua seção `<objective>`.
210
-
211
- ```
212
- ---
213
-
214
- ## ▶ Próximo Passo
215
-
216
- **{phase}-{plan}: [Nome do Plano]** — [resumo do objetivo do PLAN.md]
217
-
218
- `/executar-fase {phase} ${WS}`
219
-
220
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
221
-
222
- ---
223
- ```
224
-
225
- ---
226
-
227
- **Rota B: Fase precisa de planejamento**
228
-
229
- Verificar se `{phase_num}-CONTEXT.md` existe no diretório da fase.
230
-
231
- Verificar se a fase atual tem indicadores de UI:
232
-
233
- ```bash
234
- PHASE_SECTION=$(node "./.claude/framework/bin/tools.cjs" roadmap get-phase "${CURRENT_PHASE}" 2>/dev/null)
235
- PHASE_HAS_UI=$(echo "$PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false")
236
- ```
237
-
238
- **Se CONTEXT.md existir:**
239
-
240
- ```
241
- ---
242
-
243
- ## ▶ Próximo Passo
244
-
245
- **Fase {N}: {Nome}** — {Objetivo do ROADMAP.md}
246
- <sub>✓ Contexto coletado, pronto para planejar</sub>
247
-
248
- `/planejar-fase {phase-number} ${WS}`
249
-
250
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
251
-
252
- ---
253
- ```
254
-
255
- **Se CONTEXT.md NÃO existir E fase tem UI (`PHASE_HAS_UI` for `true`):**
256
-
257
- ```
258
- ---
259
-
260
- ## ▶ Próximo Passo
261
-
262
- **Fase {N}: {Nome}** — {Objetivo do ROADMAP.md}
263
-
264
- `/discutir-fase {phase}` — coletar contexto e clarificar abordagem
265
-
266
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
267
-
268
- ---
269
-
270
- **Também disponível:**
271
- - `/fase-ui {phase}` — gerar contrato de design de UI (recomendado para fases de frontend)
272
- - `/planejar-fase {phase}` — pular discussão, planejar diretamente
273
- - `/listar-hipoteses-fase {phase}` — ver hipóteses do Claude
274
-
275
- ---
276
- ```
277
-
278
- **Se CONTEXT.md NÃO existir E fase não tem UI:**
279
-
280
- ```
281
- ---
282
-
283
- ## ▶ Próximo Passo
284
-
285
- **Fase {N}: {Nome}** — {Objetivo do ROADMAP.md}
286
-
287
- `/discutir-fase {phase} ${WS}` — coletar contexto e clarificar abordagem
288
-
289
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
290
-
291
- ---
292
-
293
- **Também disponível:**
294
- - `/planejar-fase {phase} ${WS}` — pular discussão, planejar diretamente
295
- - `/listar-hipoteses-fase {phase} ${WS}` — ver hipóteses do Claude
296
-
297
- ---
298
- ```
299
-
300
- ---
301
-
302
- **Rota E: Lacunas UAT precisam de planos de correção**
303
-
304
- UAT.md existe com lacunas (problemas diagnosticados). Usuário precisa planejar correções.
305
-
306
- ```
307
- ---
308
-
309
- ## ⚠ Lacunas UAT Encontradas
310
-
311
- **{phase_num}-UAT.md** tem {N} lacunas requerendo correções.
312
-
313
- `/planejar-fase {phase} --gaps ${WS}`
314
-
315
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
316
-
317
- ---
318
-
319
- **Também disponível:**
320
- - `/executar-fase {phase} ${WS}` — executar planos da fase
321
- - `/verificar-trabalho {phase} ${WS}` — executar mais testes UAT
322
-
323
- ---
324
- ```
325
-
326
- ---
327
-
328
- **Rota E.2: Teste UAT incompleto (parcial)**
329
-
330
- UAT.md existe com `status: partial` — sessão de teste encerrou antes de todos os itens serem resolvidos.
331
-
332
- ```
333
- ---
334
-
335
- ## Teste UAT Incompleto
336
-
337
- **{phase_num}-UAT.md** tem {N} testes não resolvidos (pendentes, bloqueados ou pulados).
338
-
339
- `/verificar-trabalho {phase} ${WS}` — retomar teste de onde parou
340
-
341
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
342
-
343
- ---
344
-
345
- **Também disponível:**
346
- - `/auditar-uat ${WS}` — auditoria UAT completa entre fases
347
- - `/executar-fase {phase} ${WS}` — executar planos da fase
348
-
349
- ---
350
- ```
351
-
352
- ---
353
-
354
- **Passo 3: Verificar status do milestone (apenas quando fase completa)**
355
-
356
- Ler ROADMAP.md e identificar:
357
- 1. Número da fase atual
358
- 2. Todos os números de fase na seção do milestone atual
359
-
360
- Contar fases totais e identificar o número de fase mais alto.
361
-
362
- Declarar: "Fase atual é {X}. Milestone tem {N} fases (mais alta: {Y})."
363
-
364
- **Rotear com base no status do milestone:**
365
-
366
- | Condição | Significado | Ação |
367
- |----------|-------------|------|
368
- | fase atual < fase mais alta | Mais fases restam | Ir para **Rota C** |
369
- | fase atual = fase mais alta | Milestone completo | Ir para **Rota D** |
370
-
371
- ---
372
-
373
- **Rota C: Fase completa, mais fases restam**
374
-
375
- Ler ROADMAP.md para obter o nome e objetivo da próxima fase.
376
-
377
- Verificar se a próxima fase tem indicadores de UI:
378
-
379
- ```bash
380
- NEXT_PHASE_SECTION=$(node "./.claude/framework/bin/tools.cjs" roadmap get-phase "$((Z+1))" 2>/dev/null)
381
- NEXT_HAS_UI=$(echo "$NEXT_PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false")
382
- ```
383
-
384
- **Se próxima fase tem UI (`NEXT_HAS_UI` for `true`):**
385
-
386
- ```
387
- ---
388
-
389
- ## ✓ Fase {Z} Concluída
390
-
391
- ## ▶ Próximo Passo
392
-
393
- **Fase {Z+1}: {Nome}** — {Objetivo do ROADMAP.md}
394
-
395
- `/discutir-fase {Z+1}` — coletar contexto e clarificar abordagem
396
-
397
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
398
-
399
- ---
400
-
401
- **Também disponível:**
402
- - `/fase-ui {Z+1}` — gerar contrato de design de UI (recomendado para fases de frontend)
403
- - `/planejar-fase {Z+1}` — pular discussão, planejar diretamente
404
- - `/verificar-trabalho {Z}` — teste de aceitação do usuário antes de continuar
405
-
406
- ---
407
- ```
408
-
409
- **Se próxima fase não tem UI:**
410
-
411
- ```
412
- ---
413
-
414
- ## ✓ Fase {Z} Concluída
415
-
416
- ## ▶ Próximo Passo
417
-
418
- **Fase {Z+1}: {Nome}** — {Objetivo do ROADMAP.md}
419
-
420
- `/discutir-fase {Z+1} ${WS}` — coletar contexto e clarificar abordagem
421
-
422
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
423
-
424
- ---
425
-
426
- **Também disponível:**
427
- - `/planejar-fase {Z+1} ${WS}` — pular discussão, planejar diretamente
428
- - `/verificar-trabalho {Z} ${WS}` — teste de aceitação do usuário antes de continuar
429
-
430
- ---
431
- ```
432
-
433
- ---
434
-
435
- **Rota D: Milestone completo**
436
-
437
- ```
438
- ---
439
-
440
- ## 🎉 Milestone Concluído
441
-
442
- Todas as {N} fases finalizadas!
443
-
444
- ## ▶ Próximo Passo
445
-
446
- **Concluir Milestone** — arquivar e preparar para o próximo
447
-
448
- `/concluir-marco ${WS}`
449
-
450
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
451
-
452
- ---
453
-
454
- **Também disponível:**
455
- - `/verificar-trabalho ${WS}` — teste de aceitação do usuário antes de concluir milestone
456
-
457
- ---
458
- ```
459
-
460
- ---
461
-
462
- **Rota F: Entre milestones (ROADMAP.md ausente, PROJECT.md existe)**
463
-
464
- Um milestone foi concluído e arquivado. Pronto para iniciar o próximo ciclo de milestone.
465
-
466
- Ler MILESTONES.md para encontrar a versão do último milestone concluído.
467
-
468
- ```
469
- ---
470
-
471
- ## ✓ Milestone v{X.Y} Concluído
472
-
473
- Pronto para planejar o próximo milestone.
474
-
475
- ## ▶ Próximo Passo
476
-
477
- **Iniciar Próximo Milestone** — questionamento → pesquisa → requisitos → roadmap
478
-
479
- `/novo-marco ${WS}`
480
-
481
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
482
-
483
- ---
484
- ```
485
-
486
- </step>
487
-
488
- <step name="edge_cases">
489
- **Tratar casos de borda:**
490
-
491
- - Fase completa mas próxima fase não planejada → oferecer `/planejar-fase [próxima] ${WS}`
492
- - Todo o trabalho completo → oferecer conclusão do milestone
493
- - Bloqueadores presentes → destacar antes de oferecer continuar
494
- - Arquivo de handoff existe → mencioná-lo, oferecer `/retomar-trabalho ${WS}`
495
- </step>
496
-
497
- </process>
498
-
499
- <success_criteria>
500
-
501
- - [ ] Contexto rico fornecido (trabalho recente, decisões, problemas)
502
- - [ ] Posição atual clara com progresso visual
503
- - [ ] O que vem a seguir claramente explicado
504
- - [ ] Roteamento inteligente: /executar-fase se planos existem, /planejar-fase se não
505
- - [ ] Usuário confirma antes de qualquer ação
506
- - [ ] Transferência perfeita para o comando framework apropriado
507
- </success_criteria>
1
+ <purpose>
2
+ Verificar o progresso do projeto, resumir trabalhos recentes e o que está por vir, então rotear inteligentemente para a próxima ação — seja executando um plano existente ou criando o próximo. Fornece consciência situacional antes de continuar o trabalho.
3
+ </purpose>
4
+
5
+ <required_reading>
6
+ Ler todos os arquivos referenciados pelo execution_context do prompt invocador antes de começar.
7
+ </required_reading>
8
+
9
+ <process>
10
+
11
+ <step name="init_context">
12
+ **Carregar contexto de progresso (apenas caminhos):**
13
+
14
+ ```bash
15
+ INIT=$(node "./.claude/framework/bin/tools.cjs" init progress)
16
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
17
+ ```
18
+
19
+ Extrair do JSON do init: `project_exists`, `roadmap_exists`, `state_exists`, `phases`, `current_phase`, `next_phase`, `milestone_version`, `completed_count`, `phase_count`, `paused_at`, `state_path`, `roadmap_path`, `project_path`, `config_path`.
20
+
21
+ ```bash
22
+ DISCUSS_MODE=$(node "./.claude/framework/bin/tools.cjs" config-get workflow.discuss_mode 2>/dev/null || echo "discuss")
23
+ ```
24
+
25
+ Se `project_exists` for false (sem diretório `.planning/`):
26
+
27
+ ```
28
+ Estrutura de planejamento não encontrada.
29
+
30
+ Execute /novo-projeto para iniciar um novo projeto.
31
+ ```
32
+
33
+ Sair.
34
+
35
+ Se STATE.md estiver ausente: sugerir `/novo-projeto`.
36
+
37
+ **Se ROADMAP.md ausente mas PROJECT.md existir:**
38
+
39
+ Isso significa que um milestone foi concluído e arquivado. Ir para **Rota F** (entre milestones).
40
+
41
+ Se ambos ROADMAP.md e PROJECT.md estiverem ausentes: sugerir `/novo-projeto`.
42
+ </step>
43
+
44
+ <step name="load">
45
+ **Usar extração estruturada do tools:**
46
+
47
+ Em vez de ler arquivos completos, usar ferramentas direcionadas para obter apenas os dados necessários para o relatório:
48
+ - `ROADMAP=$(node "./.claude/framework/bin/tools.cjs" roadmap analyze)`
49
+ - `STATE=$(node "./.claude/framework/bin/tools.cjs" state-snapshot)`
50
+
51
+ Isso minimiza o uso de contexto do orquestrador.
52
+ </step>
53
+
54
+ <step name="analyze_roadmap">
55
+ **Obter análise abrangente do roadmap (substitui análise manual):**
56
+
57
+ ```bash
58
+ ROADMAP=$(node "./.claude/framework/bin/tools.cjs" roadmap analyze)
59
+ ```
60
+
61
+ Retorna JSON estruturado com:
62
+ - Todas as fases com status no disco (completo/parcial/planejado/vazio/sem_diretório)
63
+ - Objetivo e dependências por fase
64
+ - Contagens de plano e summary por fase
65
+ - Estatísticas agregadas: total de planos, summaries, percentual de progresso
66
+ - Identificação de fase atual e próxima
67
+
68
+ Usar isso em vez de ler/analisar manualmente ROADMAP.md.
69
+ </step>
70
+
71
+ <step name="recent">
72
+ **Coletar contexto de trabalho recente:**
73
+
74
+ - Encontrar os 2-3 arquivos SUMMARY.md mais recentes
75
+ - Usar `summary-extract` para análise eficiente:
76
+ ```bash
77
+ node "./.claude/framework/bin/tools.cjs" summary-extract <path> --fields one_liner
78
+ ```
79
+ - Isso mostra "no que estivemos trabalhando"
80
+ </step>
81
+
82
+ <step name="position">
83
+ **Analisar posição atual do contexto init e análise do roadmap:**
84
+
85
+ - Usar `current_phase` e `next_phase` do `$ROADMAP`
86
+ - Notar `paused_at` se o trabalho foi pausado (do `$STATE`)
87
+ - Contar todos pendentes: usar `init todos` ou `list-todos`
88
+ - Verificar sessões de debug ativas: `(ls .planning/debug/*.md 2>/dev/null || true) | grep -v resolved | wc -l`
89
+ </step>
90
+
91
+ <step name="report">
92
+ **Gerar barra de progresso do tools, então apresentar relatório de status rico:**
93
+
94
+ ```bash
95
+ # Obter barra de progresso formatada
96
+ PROGRESS_BAR=$(node "./.claude/framework/bin/tools.cjs" progress bar --raw)
97
+ ```
98
+
99
+ Apresentar:
100
+
101
+ ```
102
+ # [Nome do Projeto]
103
+
104
+ **Progresso:** {PROGRESS_BAR}
105
+ **Perfil:** [quality/balanced/budget/inherit]
106
+ **Modo de discussão:** {DISCUSS_MODE}
107
+
108
+ ## Trabalho Recente
109
+ - [Fase X, Plano Y]: [o que foi realizado - 1 linha do summary-extract]
110
+ - [Fase X, Plano Z]: [o que foi realizado - 1 linha do summary-extract]
111
+
112
+ ## Posição Atual
113
+ Fase [N] de [total]: [nome-da-fase]
114
+ Plano [M] de [fase-total]: [status]
115
+ CONTEXTO: [✓ se has_context | - se não]
116
+
117
+ ## Decisões-Chave Tomadas
118
+ - [extrair de $STATE.decisions[]]
119
+ - [ex: jq -r '.decisions[].decision' do state-snapshot]
120
+
121
+ ## Bloqueadores/Preocupações
122
+ - [extrair de $STATE.blockers[]]
123
+ - [ex: jq -r '.blockers[].text' do state-snapshot]
124
+
125
+ ## Todos Pendentes
126
+ - [contagem] pendentes — /verificar-todos para revisar
127
+
128
+ ## Sessões de Debug Ativas
129
+ - [contagem] ativas — /depurar para continuar
130
+ (Mostrar esta seção apenas se contagem > 0)
131
+
132
+ ## O Que Vem a Seguir
133
+ [Objetivo da próxima fase/plano da análise do roadmap]
134
+ ```
135
+
136
+ </step>
137
+
138
+ <step name="route">
139
+ **Determinar próxima ação com base em contagens verificadas.**
140
+
141
+ **Passo 1: Contar planos, summaries e problemas na fase atual**
142
+
143
+ Listar arquivos no diretório da fase atual:
144
+
145
+ ```bash
146
+ (ls -1 .planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null || true) | wc -l
147
+ (ls -1 .planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null || true) | wc -l
148
+ (ls -1 .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null || true) | wc -l
149
+ ```
150
+
151
+ Declarar: "Esta fase tem {X} planos, {Y} summaries."
152
+
153
+ **Passo 1.5: Verificar lacunas UAT não resolvidas**
154
+
155
+ Verificar arquivos UAT.md com status "diagnosed" (tem lacunas precisando de correções).
156
+
157
+ ```bash
158
+ # Verificar UAT diagnosticado com lacunas ou parcial (teste incompleto)
159
+ grep -l "status: diagnosed\|status: partial" .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null || true
160
+ ```
161
+
162
+ Rastrear:
163
+ - `uat_with_gaps`: Arquivos UAT.md com status "diagnosed" (lacunas precisam de correção)
164
+ - `uat_partial`: Arquivos UAT.md com status "partial" (teste incompleto)
165
+
166
+ **Passo 1.6: Verificação de saúde entre fases**
167
+
168
+ Escanear TODAS as fases no milestone atual por dívida de verificação pendente usando o CLI (que respeita limites de milestone via `getMilestonePhaseFilter`):
169
+
170
+ ```bash
171
+ DEBT=$(node "./.claude/framework/bin/tools.cjs" audit-uat --raw 2>/dev/null)
172
+ ```
173
+
174
+ Analisar JSON para `summary.total_items` e `summary.total_files`.
175
+
176
+ Rastrear: `outstanding_debt` — `summary.total_items` da auditoria.
177
+
178
+ **Se outstanding_debt > 0:** Adicionar uma seção de aviso ao relatório de progresso (no passo `report`), colocada entre "## O Que Vem a Seguir" e a sugestão de rota:
179
+
180
+ ```markdown
181
+ ## Dívida de Verificação ({N} arquivos em fases anteriores)
182
+
183
+ | Fase | Arquivo | Problema |
184
+ |------|---------|---------|
185
+ | {phase} | {filename} | {pending_count} pendentes, {skipped_count} pulados, {blocked_count} bloqueados |
186
+ | {phase} | {filename} | human_needed — {count} itens |
187
+
188
+ Revisar: `/auditar-uat ${WS}` — auditoria completa entre fases
189
+ Retomar teste: `/verificar-trabalho {phase} ${WS}` — retestar fase específica
190
+ ```
191
+
192
+ Isso é um AVISO, não um bloqueador — o roteamento prossegue normalmente. A dívida é visível para que o usuário possa fazer uma escolha informada.
193
+
194
+ **Passo 2: Rotear com base nas contagens**
195
+
196
+ | Condição | Significado | Ação |
197
+ |----------|-------------|------|
198
+ | uat_partial > 0 | Teste UAT incompleto | Ir para **Rota E.2** |
199
+ | uat_with_gaps > 0 | Lacunas UAT precisam de planos de correção | Ir para **Rota E** |
200
+ | summaries < plans | Planos não executados existem | Ir para **Rota A** |
201
+ | summaries = plans E plans > 0 | Fase completa | Ir para Passo 3 |
202
+ | plans = 0 | Fase ainda não planejada | Ir para **Rota B** |
203
+
204
+ ---
205
+
206
+ **Rota A: Plano não executado existe**
207
+
208
+ Encontrar o primeiro PLAN.md sem SUMMARY.md correspondente.
209
+ Ler sua seção `<objective>`.
210
+
211
+ ```
212
+ ---
213
+
214
+ ## ▶ Próximo Passo
215
+
216
+ **{phase}-{plan}: [Nome do Plano]** — [resumo do objetivo do PLAN.md]
217
+
218
+ `/executar-fase {phase} ${WS}`
219
+
220
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
221
+
222
+ ---
223
+ ```
224
+
225
+ ---
226
+
227
+ **Rota B: Fase precisa de planejamento**
228
+
229
+ Verificar se `{phase_num}-CONTEXT.md` existe no diretório da fase.
230
+
231
+ Verificar se a fase atual tem indicadores de UI:
232
+
233
+ ```bash
234
+ PHASE_SECTION=$(node "./.claude/framework/bin/tools.cjs" roadmap get-phase "${CURRENT_PHASE}" 2>/dev/null)
235
+ PHASE_HAS_UI=$(echo "$PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false")
236
+ ```
237
+
238
+ **Se CONTEXT.md existir:**
239
+
240
+ ```
241
+ ---
242
+
243
+ ## ▶ Próximo Passo
244
+
245
+ **Fase {N}: {Nome}** — {Objetivo do ROADMAP.md}
246
+ <sub>✓ Contexto coletado, pronto para planejar</sub>
247
+
248
+ `/planejar-fase {phase-number} ${WS}`
249
+
250
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
251
+
252
+ ---
253
+ ```
254
+
255
+ **Se CONTEXT.md NÃO existir E fase tem UI (`PHASE_HAS_UI` for `true`):**
256
+
257
+ ```
258
+ ---
259
+
260
+ ## ▶ Próximo Passo
261
+
262
+ **Fase {N}: {Nome}** — {Objetivo do ROADMAP.md}
263
+
264
+ `/discutir-fase {phase}` — coletar contexto e clarificar abordagem
265
+
266
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
267
+
268
+ ---
269
+
270
+ **Também disponível:**
271
+ - `/fase-ui {phase}` — gerar contrato de design de UI (recomendado para fases de frontend)
272
+ - `/planejar-fase {phase}` — pular discussão, planejar diretamente
273
+ - `/listar-hipoteses-fase {phase}` — ver hipóteses do Claude
274
+
275
+ ---
276
+ ```
277
+
278
+ **Se CONTEXT.md NÃO existir E fase não tem UI:**
279
+
280
+ ```
281
+ ---
282
+
283
+ ## ▶ Próximo Passo
284
+
285
+ **Fase {N}: {Nome}** — {Objetivo do ROADMAP.md}
286
+
287
+ `/discutir-fase {phase} ${WS}` — coletar contexto e clarificar abordagem
288
+
289
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
290
+
291
+ ---
292
+
293
+ **Também disponível:**
294
+ - `/planejar-fase {phase} ${WS}` — pular discussão, planejar diretamente
295
+ - `/listar-hipoteses-fase {phase} ${WS}` — ver hipóteses do Claude
296
+
297
+ ---
298
+ ```
299
+
300
+ ---
301
+
302
+ **Rota E: Lacunas UAT precisam de planos de correção**
303
+
304
+ UAT.md existe com lacunas (problemas diagnosticados). Usuário precisa planejar correções.
305
+
306
+ ```
307
+ ---
308
+
309
+ ## ⚠ Lacunas UAT Encontradas
310
+
311
+ **{phase_num}-UAT.md** tem {N} lacunas requerendo correções.
312
+
313
+ `/planejar-fase {phase} --gaps ${WS}`
314
+
315
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
316
+
317
+ ---
318
+
319
+ **Também disponível:**
320
+ - `/executar-fase {phase} ${WS}` — executar planos da fase
321
+ - `/verificar-trabalho {phase} ${WS}` — executar mais testes UAT
322
+
323
+ ---
324
+ ```
325
+
326
+ ---
327
+
328
+ **Rota E.2: Teste UAT incompleto (parcial)**
329
+
330
+ UAT.md existe com `status: partial` — sessão de teste encerrou antes de todos os itens serem resolvidos.
331
+
332
+ ```
333
+ ---
334
+
335
+ ## Teste UAT Incompleto
336
+
337
+ **{phase_num}-UAT.md** tem {N} testes não resolvidos (pendentes, bloqueados ou pulados).
338
+
339
+ `/verificar-trabalho {phase} ${WS}` — retomar teste de onde parou
340
+
341
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
342
+
343
+ ---
344
+
345
+ **Também disponível:**
346
+ - `/auditar-uat ${WS}` — auditoria UAT completa entre fases
347
+ - `/executar-fase {phase} ${WS}` — executar planos da fase
348
+
349
+ ---
350
+ ```
351
+
352
+ ---
353
+
354
+ **Passo 3: Verificar status do milestone (apenas quando fase completa)**
355
+
356
+ Ler ROADMAP.md e identificar:
357
+ 1. Número da fase atual
358
+ 2. Todos os números de fase na seção do milestone atual
359
+
360
+ Contar fases totais e identificar o número de fase mais alto.
361
+
362
+ Declarar: "Fase atual é {X}. Milestone tem {N} fases (mais alta: {Y})."
363
+
364
+ **Rotear com base no status do milestone:**
365
+
366
+ | Condição | Significado | Ação |
367
+ |----------|-------------|------|
368
+ | fase atual < fase mais alta | Mais fases restam | Ir para **Rota C** |
369
+ | fase atual = fase mais alta | Milestone completo | Ir para **Rota D** |
370
+
371
+ ---
372
+
373
+ **Rota C: Fase completa, mais fases restam**
374
+
375
+ Ler ROADMAP.md para obter o nome e objetivo da próxima fase.
376
+
377
+ Verificar se a próxima fase tem indicadores de UI:
378
+
379
+ ```bash
380
+ NEXT_PHASE_SECTION=$(node "./.claude/framework/bin/tools.cjs" roadmap get-phase "$((Z+1))" 2>/dev/null)
381
+ NEXT_HAS_UI=$(echo "$NEXT_PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false")
382
+ ```
383
+
384
+ **Se próxima fase tem UI (`NEXT_HAS_UI` for `true`):**
385
+
386
+ ```
387
+ ---
388
+
389
+ ## ✓ Fase {Z} Concluída
390
+
391
+ ## ▶ Próximo Passo
392
+
393
+ **Fase {Z+1}: {Nome}** — {Objetivo do ROADMAP.md}
394
+
395
+ `/discutir-fase {Z+1}` — coletar contexto e clarificar abordagem
396
+
397
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
398
+
399
+ ---
400
+
401
+ **Também disponível:**
402
+ - `/fase-ui {Z+1}` — gerar contrato de design de UI (recomendado para fases de frontend)
403
+ - `/planejar-fase {Z+1}` — pular discussão, planejar diretamente
404
+ - `/verificar-trabalho {Z}` — teste de aceitação do usuário antes de continuar
405
+
406
+ ---
407
+ ```
408
+
409
+ **Se próxima fase não tem UI:**
410
+
411
+ ```
412
+ ---
413
+
414
+ ## ✓ Fase {Z} Concluída
415
+
416
+ ## ▶ Próximo Passo
417
+
418
+ **Fase {Z+1}: {Nome}** — {Objetivo do ROADMAP.md}
419
+
420
+ `/discutir-fase {Z+1} ${WS}` — coletar contexto e clarificar abordagem
421
+
422
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
423
+
424
+ ---
425
+
426
+ **Também disponível:**
427
+ - `/planejar-fase {Z+1} ${WS}` — pular discussão, planejar diretamente
428
+ - `/verificar-trabalho {Z} ${WS}` — teste de aceitação do usuário antes de continuar
429
+
430
+ ---
431
+ ```
432
+
433
+ ---
434
+
435
+ **Rota D: Milestone completo**
436
+
437
+ ```
438
+ ---
439
+
440
+ ## 🎉 Milestone Concluído
441
+
442
+ Todas as {N} fases finalizadas!
443
+
444
+ ## ▶ Próximo Passo
445
+
446
+ **Concluir Milestone** — arquivar e preparar para o próximo
447
+
448
+ `/concluir-marco ${WS}`
449
+
450
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
451
+
452
+ ---
453
+
454
+ **Também disponível:**
455
+ - `/verificar-trabalho ${WS}` — teste de aceitação do usuário antes de concluir milestone
456
+
457
+ ---
458
+ ```
459
+
460
+ ---
461
+
462
+ **Rota F: Entre milestones (ROADMAP.md ausente, PROJECT.md existe)**
463
+
464
+ Um milestone foi concluído e arquivado. Pronto para iniciar o próximo ciclo de milestone.
465
+
466
+ Ler MILESTONES.md para encontrar a versão do último milestone concluído.
467
+
468
+ ```
469
+ ---
470
+
471
+ ## ✓ Milestone v{X.Y} Concluído
472
+
473
+ Pronto para planejar o próximo milestone.
474
+
475
+ ## ▶ Próximo Passo
476
+
477
+ **Iniciar Próximo Milestone** — questionamento → pesquisa → requisitos → roadmap
478
+
479
+ `/novo-marco ${WS}`
480
+
481
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
482
+
483
+ ---
484
+ ```
485
+
486
+ </step>
487
+
488
+ <step name="edge_cases">
489
+ **Tratar casos de borda:**
490
+
491
+ - Fase completa mas próxima fase não planejada → oferecer `/planejar-fase [próxima] ${WS}`
492
+ - Todo o trabalho completo → oferecer conclusão do milestone
493
+ - Bloqueadores presentes → destacar antes de oferecer continuar
494
+ - Arquivo de handoff existe → mencioná-lo, oferecer `/retomar-trabalho ${WS}`
495
+ </step>
496
+
497
+ </process>
498
+
499
+ <success_criteria>
500
+
501
+ - [ ] Contexto rico fornecido (trabalho recente, decisões, problemas)
502
+ - [ ] Posição atual clara com progresso visual
503
+ - [ ] O que vem a seguir claramente explicado
504
+ - [ ] Roteamento inteligente: /executar-fase se planos existem, /planejar-fase se não
505
+ - [ ] Usuário confirma antes de qualquer ação
506
+ - [ ] Transferência perfeita para o comando framework apropriado
507
+ </success_criteria>