@luanpdd/kit-mcp 1.30.2 → 1.32.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 (365) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +168 -168
  3. package/gates/agent-no-recursive-dispatch.md +84 -82
  4. package/kit/COMANDOS.md +138 -138
  5. package/kit/COMPATIBILITY.md +5 -0
  6. package/kit/README.md +76 -76
  7. package/kit/agents/advisor-researcher.md +107 -106
  8. package/kit/agents/ai-mutation-tester.md +1 -0
  9. package/kit/agents/assumptions-analyzer.md +108 -107
  10. package/kit/agents/audit-log-implementer.md +314 -313
  11. package/kit/agents/auditor-consistencia-isolamento.md +414 -413
  12. package/kit/agents/b2b-saas-architect.md +157 -156
  13. package/kit/agents/burn-rate-forecaster.md +1 -0
  14. package/kit/agents/cascading-failures-auditor.md +299 -298
  15. package/kit/agents/codebase-mapper.md +769 -768
  16. package/kit/agents/crm-pipeline-implementer.md +257 -256
  17. package/kit/agents/debugger.md +814 -813
  18. package/kit/agents/detector-tenant-quente.md +338 -337
  19. package/kit/agents/evolution-go-integrator.md +201 -200
  20. package/kit/agents/example-reviewer.md +22 -21
  21. package/kit/agents/executor.md +565 -564
  22. package/kit/agents/golden-signals-instrumenter.md +1 -0
  23. package/kit/agents/incident-investigator.md +1 -0
  24. package/kit/agents/integration-checker.md +201 -200
  25. package/kit/agents/invite-flow-implementer.md +190 -189
  26. package/kit/agents/legacy-characterizer.md +369 -368
  27. package/kit/agents/lgpd-compliance-auditor.md +296 -295
  28. package/kit/agents/load-shedding-instrumenter.md +1 -0
  29. package/kit/agents/multi-tenant-isolation-auditor.md +254 -253
  30. package/kit/agents/multi-tenant-rls-writer.md +341 -340
  31. package/kit/agents/nyquist-auditor.md +179 -178
  32. package/kit/agents/observability-coverage-auditor.md +316 -315
  33. package/kit/agents/observability-instrumenter.md +1 -0
  34. package/kit/agents/omm-auditor.md +1 -0
  35. package/kit/agents/org-onboarding-implementer.md +224 -223
  36. package/kit/agents/payload-capture-instrumenter.md +274 -273
  37. package/kit/agents/phase-researcher.md +697 -696
  38. package/kit/agents/plan-checker.md +273 -272
  39. package/kit/agents/planner.md +923 -922
  40. package/kit/agents/postmortem-writer.md +1 -0
  41. package/kit/agents/project-researcher.md +653 -652
  42. package/kit/agents/prr-conductor.md +1 -0
  43. package/kit/agents/refactor-safety-auditor.md +405 -404
  44. package/kit/agents/release-pipeline-auditor.md +1 -0
  45. package/kit/agents/research-synthesizer.md +246 -245
  46. package/kit/agents/roadmapper.md +678 -677
  47. package/kit/agents/schema-checker.md +1 -0
  48. package/kit/agents/seam-finder.md +360 -359
  49. package/kit/agents/shotgun-surgery-detector.md +350 -349
  50. package/kit/agents/slo-engineer.md +1 -0
  51. package/kit/agents/storytelling-analyst.md +1 -0
  52. package/kit/agents/supabase-architect.md +1 -0
  53. package/kit/agents/supabase-auth-bootstrapper.md +16 -1
  54. package/kit/agents/supabase-auth-hook-writer.md +418 -0
  55. package/kit/agents/supabase-branching-architect.md +563 -562
  56. package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -777
  57. package/kit/agents/supabase-column-privileges-writer.md +400 -399
  58. package/kit/agents/supabase-edge-fn-tester.md +2 -1
  59. package/kit/agents/supabase-edge-fn-writer.md +2 -1
  60. package/kit/agents/supabase-mfa-implementer.md +439 -0
  61. package/kit/agents/supabase-migration-writer.md +386 -385
  62. package/kit/agents/supabase-oauth-server-implementer.md +507 -0
  63. package/kit/agents/supabase-rbac-implementer.md +393 -392
  64. package/kit/agents/supabase-realtime-implementer.md +364 -363
  65. package/kit/agents/supabase-rls-hardener.md +522 -521
  66. package/kit/agents/supabase-rls-writer.md +324 -323
  67. package/kit/agents/supabase-roles-implementer.md +356 -355
  68. package/kit/agents/supabase-social-auth-implementer.md +451 -0
  69. package/kit/agents/supabase-sso-saml-architect.md +549 -0
  70. package/kit/agents/supabase-storage-implementer.md +1 -0
  71. package/kit/agents/super-admin-implementer.md +282 -281
  72. package/kit/agents/toil-auditor.md +1 -0
  73. package/kit/agents/ui-auditor.md +438 -437
  74. package/kit/agents/ui-checker.md +303 -302
  75. package/kit/agents/ui-researcher.md +356 -355
  76. package/kit/agents/user-profiler.md +176 -175
  77. package/kit/agents/validador-evolucao-schema.md +336 -335
  78. package/kit/agents/verifier.md +729 -728
  79. package/kit/commands/adicionar-backlog.md +75 -75
  80. package/kit/commands/adicionar-fase.md +42 -42
  81. package/kit/commands/adicionar-tarefa.md +45 -45
  82. package/kit/commands/adicionar-testes.md +41 -41
  83. package/kit/commands/ajuda.md +21 -21
  84. package/kit/commands/atualizar.md +37 -37
  85. package/kit/commands/auditar-cascading.md +111 -111
  86. package/kit/commands/auditar-marco.md +179 -179
  87. package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
  88. package/kit/commands/auditar-refactor.md +219 -219
  89. package/kit/commands/auditar-release.md +109 -109
  90. package/kit/commands/auditar-uat.md +23 -23
  91. package/kit/commands/autonomo.md +40 -40
  92. package/kit/commands/branch-pr.md +24 -24
  93. package/kit/commands/burn-rate-status.md +408 -408
  94. package/kit/commands/capturar-payloads.md +193 -193
  95. package/kit/commands/caracterizar.md +212 -212
  96. package/kit/commands/concluir-marco.md +247 -247
  97. package/kit/commands/configuracoes.md +36 -36
  98. package/kit/commands/dados-distribuidos.md +188 -188
  99. package/kit/commands/definir-perfil.md +10 -10
  100. package/kit/commands/depurar.md +190 -190
  101. package/kit/commands/detectar-duplicacao.md +197 -197
  102. package/kit/commands/discutir-fase.md +131 -131
  103. package/kit/commands/encontrar-seams.md +136 -136
  104. package/kit/commands/entrar-discord.md +17 -17
  105. package/kit/commands/estatisticas.md +18 -18
  106. package/kit/commands/example-greeting.md +33 -33
  107. package/kit/commands/executar-fase.md +58 -58
  108. package/kit/commands/expresso.md +56 -56
  109. package/kit/commands/fase-ui.md +34 -34
  110. package/kit/commands/fazer.md +57 -57
  111. package/kit/commands/fio.md +125 -125
  112. package/kit/commands/fluxos-trabalho.md +64 -64
  113. package/kit/commands/forense.md +176 -176
  114. package/kit/commands/gerenciador.md +38 -38
  115. package/kit/commands/inserir-fase.md +31 -31
  116. package/kit/commands/legacy.md +263 -263
  117. package/kit/commands/limpeza.md +17 -17
  118. package/kit/commands/listar-hipoteses-fase.md +45 -45
  119. package/kit/commands/listar-workspaces.md +18 -18
  120. package/kit/commands/load-shedding.md +117 -117
  121. package/kit/commands/mapear-codebase.md +70 -70
  122. package/kit/commands/multi-tenant.md +163 -163
  123. package/kit/commands/nota.md +33 -33
  124. package/kit/commands/novo-marco.md +43 -43
  125. package/kit/commands/novo-projeto.md +41 -41
  126. package/kit/commands/novo-workspace.md +43 -43
  127. package/kit/commands/pausar-trabalho.md +37 -37
  128. package/kit/commands/perfil-usuario.md +45 -45
  129. package/kit/commands/pesquisar-fase.md +195 -195
  130. package/kit/commands/planejar-fase.md +67 -67
  131. package/kit/commands/planejar-lacunas.md +33 -33
  132. package/kit/commands/plantar-ideia.md +25 -25
  133. package/kit/commands/progresso.md +24 -24
  134. package/kit/commands/proximo.md +30 -30
  135. package/kit/commands/publicar.md +490 -490
  136. package/kit/commands/rapido.md +35 -35
  137. package/kit/commands/reaplicar-patches.md +124 -124
  138. package/kit/commands/refactor-seguro.md +321 -321
  139. package/kit/commands/relatorio-sessao.md +19 -19
  140. package/kit/commands/remover-fase.md +31 -31
  141. package/kit/commands/remover-workspace.md +26 -26
  142. package/kit/commands/resumo-marco.md +50 -50
  143. package/kit/commands/retomar-trabalho.md +40 -40
  144. package/kit/commands/revisar-backlog.md +60 -60
  145. package/kit/commands/revisar-ui.md +32 -32
  146. package/kit/commands/revisar.md +37 -37
  147. package/kit/commands/saude.md +21 -21
  148. package/kit/commands/setup-notion.md +93 -93
  149. package/kit/commands/storytelling.md +179 -179
  150. package/kit/commands/supabase.md +21 -1
  151. package/kit/commands/sync-main.md +68 -68
  152. package/kit/commands/validar-fase.md +35 -35
  153. package/kit/commands/verificar-tarefas.md +44 -44
  154. package/kit/commands/verificar-trabalho.md +64 -64
  155. package/kit/file-manifest.json +100 -84
  156. package/kit/framework/bin/lib/commands.cjs +959 -959
  157. package/kit/framework/bin/lib/config.cjs +442 -442
  158. package/kit/framework/bin/lib/core.cjs +1230 -1230
  159. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  160. package/kit/framework/bin/lib/init.cjs +1442 -1442
  161. package/kit/framework/bin/lib/milestone.cjs +252 -252
  162. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  163. package/kit/framework/bin/lib/phase.cjs +888 -888
  164. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  165. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  166. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  167. package/kit/framework/bin/lib/security.cjs +382 -382
  168. package/kit/framework/bin/lib/state.cjs +1031 -1031
  169. package/kit/framework/bin/lib/template.cjs +222 -222
  170. package/kit/framework/bin/lib/uat.cjs +282 -282
  171. package/kit/framework/bin/lib/verify.cjs +888 -888
  172. package/kit/framework/bin/lib/workstream.cjs +491 -491
  173. package/kit/framework/bin/tools.cjs +918 -918
  174. package/kit/framework/commands/workstreams.md +63 -63
  175. package/kit/framework/references/checkpoints.md +778 -778
  176. package/kit/framework/references/continuation-format.md +249 -249
  177. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  178. package/kit/framework/references/git-integration.md +295 -295
  179. package/kit/framework/references/git-planning-commit.md +38 -38
  180. package/kit/framework/references/model-profile-resolution.md +36 -36
  181. package/kit/framework/references/model-profiles.md +139 -139
  182. package/kit/framework/references/phase-argument-parsing.md +61 -61
  183. package/kit/framework/references/planning-config.md +202 -202
  184. package/kit/framework/references/questioning.md +162 -162
  185. package/kit/framework/references/tdd.md +263 -263
  186. package/kit/framework/references/ui-brand.md +160 -160
  187. package/kit/framework/references/user-profiling.md +657 -657
  188. package/kit/framework/references/verification-patterns.md +612 -612
  189. package/kit/framework/references/workstream-flag.md +58 -58
  190. package/kit/framework/templates/DEBUG.md +164 -164
  191. package/kit/framework/templates/UAT.md +265 -265
  192. package/kit/framework/templates/UI-SPEC.md +100 -100
  193. package/kit/framework/templates/VALIDATION.md +76 -76
  194. package/kit/framework/templates/claude-md.md +122 -122
  195. package/kit/framework/templates/codebase/architecture.md +185 -185
  196. package/kit/framework/templates/codebase/concerns.md +205 -205
  197. package/kit/framework/templates/codebase/conventions.md +204 -204
  198. package/kit/framework/templates/codebase/integrations.md +192 -192
  199. package/kit/framework/templates/codebase/stack.md +158 -158
  200. package/kit/framework/templates/codebase/structure.md +199 -199
  201. package/kit/framework/templates/codebase/testing.md +301 -301
  202. package/kit/framework/templates/config.json +44 -44
  203. package/kit/framework/templates/context.md +352 -352
  204. package/kit/framework/templates/continue-here.md +78 -78
  205. package/kit/framework/templates/copilot-instructions.md +7 -7
  206. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  207. package/kit/framework/templates/dev-preferences.md +20 -20
  208. package/kit/framework/templates/discovery.md +146 -146
  209. package/kit/framework/templates/discussion-log.md +63 -63
  210. package/kit/framework/templates/milestone-archive.md +123 -123
  211. package/kit/framework/templates/milestone.md +115 -115
  212. package/kit/framework/templates/phase-prompt.md +610 -610
  213. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  214. package/kit/framework/templates/project.md +186 -186
  215. package/kit/framework/templates/requirements.md +231 -231
  216. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  217. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  218. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  219. package/kit/framework/templates/research-project/STACK.md +120 -120
  220. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  221. package/kit/framework/templates/research.md +419 -419
  222. package/kit/framework/templates/retrospective.md +54 -54
  223. package/kit/framework/templates/roadmap.md +202 -202
  224. package/kit/framework/templates/state.md +176 -176
  225. package/kit/framework/templates/summary-complex.md +59 -59
  226. package/kit/framework/templates/summary-minimal.md +41 -41
  227. package/kit/framework/templates/summary-standard.md +48 -48
  228. package/kit/framework/templates/summary.md +209 -209
  229. package/kit/framework/templates/user-profile.md +146 -146
  230. package/kit/framework/templates/user-setup.md +256 -256
  231. package/kit/framework/templates/verification-report.md +258 -258
  232. package/kit/framework/workflows/add-phase.md +112 -112
  233. package/kit/framework/workflows/add-tests.md +351 -351
  234. package/kit/framework/workflows/add-todo.md +158 -158
  235. package/kit/framework/workflows/audit-milestone.md +340 -340
  236. package/kit/framework/workflows/audit-uat.md +109 -109
  237. package/kit/framework/workflows/autonomous.md +891 -891
  238. package/kit/framework/workflows/check-todos.md +177 -177
  239. package/kit/framework/workflows/cleanup.md +152 -152
  240. package/kit/framework/workflows/complete-milestone.md +696 -696
  241. package/kit/framework/workflows/diagnose-issues.md +231 -231
  242. package/kit/framework/workflows/discovery-phase.md +289 -289
  243. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  244. package/kit/framework/workflows/discuss-phase.md +784 -784
  245. package/kit/framework/workflows/do.md +104 -104
  246. package/kit/framework/workflows/execute-phase.md +838 -838
  247. package/kit/framework/workflows/execute-plan.md +510 -510
  248. package/kit/framework/workflows/fast.md +102 -102
  249. package/kit/framework/workflows/forensics.md +265 -265
  250. package/kit/framework/workflows/health.md +181 -181
  251. package/kit/framework/workflows/help.md +619 -619
  252. package/kit/framework/workflows/insert-phase.md +130 -130
  253. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  254. package/kit/framework/workflows/list-workspaces.md +56 -56
  255. package/kit/framework/workflows/manager.md +362 -362
  256. package/kit/framework/workflows/map-codebase.md +377 -377
  257. package/kit/framework/workflows/milestone-summary.md +223 -223
  258. package/kit/framework/workflows/new-milestone.md +486 -486
  259. package/kit/framework/workflows/new-project.md +1159 -1159
  260. package/kit/framework/workflows/new-workspace.md +237 -237
  261. package/kit/framework/workflows/next.md +97 -97
  262. package/kit/framework/workflows/node-repair.md +92 -92
  263. package/kit/framework/workflows/note.md +156 -156
  264. package/kit/framework/workflows/pause-work.md +176 -176
  265. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  266. package/kit/framework/workflows/plan-phase.md +765 -765
  267. package/kit/framework/workflows/plant-seed.md +169 -169
  268. package/kit/framework/workflows/pr-branch.md +129 -129
  269. package/kit/framework/workflows/profile-user.md +450 -450
  270. package/kit/framework/workflows/progress.md +507 -507
  271. package/kit/framework/workflows/quick.md +757 -757
  272. package/kit/framework/workflows/remove-phase.md +155 -155
  273. package/kit/framework/workflows/remove-workspace.md +90 -90
  274. package/kit/framework/workflows/research-phase.md +82 -82
  275. package/kit/framework/workflows/resume-project.md +326 -326
  276. package/kit/framework/workflows/review.md +228 -228
  277. package/kit/framework/workflows/session-report.md +146 -146
  278. package/kit/framework/workflows/settings.md +283 -283
  279. package/kit/framework/workflows/ship.md +228 -228
  280. package/kit/framework/workflows/stats.md +60 -60
  281. package/kit/framework/workflows/transition.md +671 -671
  282. package/kit/framework/workflows/ui-phase.md +302 -302
  283. package/kit/framework/workflows/ui-review.md +165 -165
  284. package/kit/framework/workflows/update.md +323 -323
  285. package/kit/framework/workflows/validate-phase.md +174 -174
  286. package/kit/framework/workflows/verify-phase.md +252 -252
  287. package/kit/framework/workflows/verify-work.md +637 -637
  288. package/kit/hooks/check-update.js +118 -118
  289. package/kit/hooks/context-monitor.js +163 -163
  290. package/kit/hooks/kit-attribution-reminder.cjs +29 -50
  291. package/kit/hooks/kit-router.cjs +137 -0
  292. package/kit/hooks/prompt-guard.js +103 -103
  293. package/kit/hooks/statusline.js +125 -125
  294. package/kit/hooks/workflow-guard.js +101 -101
  295. package/kit/settings.json +45 -45
  296. package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
  297. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
  298. package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
  299. package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
  300. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
  301. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
  302. package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
  303. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
  304. package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
  305. package/kit/skills/example-skill/SKILL.md +42 -42
  306. package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
  307. package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
  308. package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
  309. package/kit/skills/legacy-extract-class/SKILL.md +203 -203
  310. package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
  311. package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
  312. package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
  313. package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
  314. package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
  315. package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
  316. package/kit/skills/member-invite-flow/SKILL.md +305 -305
  317. package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
  318. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
  319. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
  320. package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
  321. package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
  322. package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
  323. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
  324. package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
  325. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
  326. package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
  327. package/kit/skills/supabase-auth-hardening/SKILL.md +674 -0
  328. package/kit/skills/supabase-auth-hooks/SKILL.md +875 -0
  329. package/kit/skills/supabase-auth-methods/SKILL.md +486 -0
  330. package/kit/skills/supabase-auth-sessions/SKILL.md +579 -0
  331. package/kit/skills/supabase-auth-ssr/SKILL.md +60 -14
  332. package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
  333. package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
  334. package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
  335. package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
  336. package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
  337. package/kit/skills/supabase-edge-functions/SKILL.md +1 -1
  338. package/kit/skills/supabase-edge-functions-auth/SKILL.md +1 -1
  339. package/kit/skills/supabase-edge-functions-limits/SKILL.md +1 -1
  340. package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +1 -1
  341. package/kit/skills/supabase-edge-functions-testing/SKILL.md +1 -1
  342. package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +1 -1
  343. package/kit/skills/supabase-enterprise-sso-saml/SKILL.md +545 -0
  344. package/kit/skills/supabase-jwt-signing-keys/SKILL.md +399 -0
  345. package/kit/skills/supabase-mfa/SKILL.md +488 -0
  346. package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
  347. package/kit/skills/supabase-migrations/SKILL.md +297 -297
  348. package/kit/skills/supabase-oauth-server/SKILL.md +537 -0
  349. package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
  350. package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
  351. package/kit/skills/supabase-realtime/SKILL.md +460 -460
  352. package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
  353. package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
  354. package/kit/skills/supabase-social-oauth/SKILL.md +480 -0
  355. package/kit/skills/supabase-third-party-auth/SKILL.md +450 -0
  356. package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
  357. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
  358. package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
  359. package/package.json +1 -1
  360. package/src/core/kit.js +216 -216
  361. package/src/core/reflect.js +247 -247
  362. package/src/core/reverse-sync.js +372 -372
  363. package/src/core/sync.js +437 -418
  364. package/src/core/watch.js +121 -121
  365. package/src/mcp-server/index.js +794 -746
@@ -1,696 +1,696 @@
1
- <purpose>
2
-
3
- Marcar uma versão enviada (v1.0, v1.1, v2.0) como completa. Cria registro histórico no MILESTONES.md, realiza revisão completa de evolução do PROJECT.md, reorganiza ROADMAP.md com agrupamentos de milestone e tageia o release no git.
4
-
5
- </purpose>
6
-
7
- <required_reading>
8
-
9
- 1. templates/milestone.md
10
- 2. templates/milestone-archive.md
11
- 3. `.planning/ROADMAP.md`
12
- 4. `.planning/REQUIREMENTS.md`
13
- 5. `.planning/PROJECT.md`
14
-
15
- </required_reading>
16
-
17
- <archival_behavior>
18
-
19
- Quando um milestone é concluído:
20
-
21
- 1. Extrair detalhes completos do milestone para `.planning/milestones/v[X.Y]-ROADMAP.md`
22
- 2. Arquivar requisitos para `.planning/milestones/v[X.Y]-REQUIREMENTS.md`
23
- 3. Atualizar ROADMAP.md — substituir detalhes do milestone por resumo em uma linha
24
- 4. Deletar REQUIREMENTS.md (novo para próximo milestone)
25
- 5. Realizar revisão completa de evolução do PROJECT.md
26
- 6. Oferecer criar próximo milestone inline
27
- 7. Arquivar artefatos UI (`*-UI-SPEC.md`, `*-UI-REVIEW.md`) junto com outros documentos de fase
28
- 8. Limpar arquivos de screenshot `.planning/ui-reviews/` (ativos binários, nunca arquivados)
29
-
30
- **Eficiência de Contexto:** Arquivos mantêm ROADMAP.md de tamanho constante e REQUIREMENTS.md com escopo de milestone.
31
-
32
- **Arquivo ROADMAP** usa `templates/milestone-archive.md` — inclui cabeçalho de milestone (status, fases, data), detalhes completos de fase, resumo do milestone (decisões, issues, dívida técnica).
33
-
34
- **Arquivo REQUIREMENTS** contém todos os requisitos marcados como completos com resultados, tabela de rastreabilidade com status final, notas sobre requisitos alterados.
35
-
36
- </archival_behavior>
37
-
38
- <process>
39
-
40
- <step name="verify_readiness">
41
-
42
- **Usar `roadmap analyze` para verificação abrangente de prontidão:**
43
-
44
- ```bash
45
- ROADMAP=$(node "./.claude/framework/bin/tools.cjs" roadmap analyze)
46
- ```
47
-
48
- Isso retorna todas as fases com contagens de plano/resumo e status de disco. Usar isso para verificar:
49
- - Quais fases pertencem a este milestone?
50
- - Todas as fases completas (todos os planos têm resumos)? Verificar `disk_status === 'complete'` para cada uma.
51
- - `progress_percent` deve ser 100%.
52
-
53
- **Verificação de conclusão de requisitos (OBRIGATÓRIO antes de apresentar):**
54
-
55
- Analisar tabela de rastreabilidade do REQUIREMENTS.md:
56
- - Contar total de requisitos v1 vs requisitos marcados (`[x]`)
57
- - Identificar quaisquer linhas não-Completas na tabela de rastreabilidade
58
-
59
- Apresentar:
60
-
61
- ```
62
- Milestone: [Nome, ex: "v1.0 MVP"]
63
-
64
- Inclui:
65
- - Fase 1: Foundation (2/2 planos completos)
66
- - Fase 2: Authentication (2/2 planos completos)
67
- - Fase 3: Core Features (3/3 planos completos)
68
- - Fase 4: Polish (1/1 plano completo)
69
-
70
- Total: {phase_count} fases, {total_plans} planos, todos completos
71
- Requisitos: {N}/{M} requisitos v1 marcados
72
- ```
73
-
74
- **Se requisitos incompletos** (N < M):
75
-
76
- ```
77
- ⚠ Requisitos Não Marcados:
78
-
79
- - [ ] {REQ-ID}: {descrição} (Fase {X})
80
- - [ ] {REQ-ID}: {descrição} (Fase {Y})
81
- ```
82
-
83
- DEVE apresentar 3 opções:
84
- 1. **Prosseguir mesmo assim** — marcar milestone como completo com lacunas conhecidas
85
- 2. **Executar auditoria primeiro** — `/auditar-marco` para avaliar severidade das lacunas
86
- 3. **Abortar** — retornar ao desenvolvimento
87
-
88
- Se o usuário selecionar "Prosseguir mesmo assim": notar requisitos incompletos no MILESTONES.md em `### Lacunas Conhecidas` com REQ-IDs e descrições.
89
-
90
- <config-check>
91
-
92
- ```bash
93
- cat .planning/config.json 2>/dev/null || true
94
- ```
95
-
96
- </config-check>
97
-
98
- <if mode="yolo">
99
-
100
- ```
101
- ⚡ Auto-aprovado: Verificação de escopo do milestone
102
- [Mostrar resumo de breakdown sem perguntar]
103
- Prosseguindo para coleta de estatísticas...
104
- ```
105
-
106
- Prosseguir para gather_stats.
107
-
108
- </if>
109
-
110
- <if mode="interactive" OR="custom with gates.confirm_milestone_scope true">
111
-
112
- ```
113
- Pronto para marcar este milestone como enviado?
114
- (sim / esperar / ajustar escopo)
115
- ```
116
-
117
- Aguardar confirmação.
118
- - "ajustar escopo": Perguntar quais fases incluir.
119
- - "esperar": Parar, usuário retorna quando pronto.
120
-
121
- </if>
122
-
123
- </step>
124
-
125
- <step name="gather_stats">
126
-
127
- Calcular estatísticas do milestone:
128
-
129
- ```bash
130
- git log --oneline --grep="feat(" | head -20
131
- git diff --stat FIRST_COMMIT..LAST_COMMIT | tail -1
132
- find . -name "*.swift" -o -name "*.ts" -o -name "*.py" | xargs wc -l 2>/dev/null || true
133
- git log --format="%ai" FIRST_COMMIT | tail -1
134
- git log --format="%ai" LAST_COMMIT | head -1
135
- ```
136
-
137
- Apresentar:
138
-
139
- ```
140
- Estatísticas do Milestone:
141
- - Fases: [X-Y]
142
- - Planos: [Z] total
143
- - Tarefas: [N] total (dos resumos de fase)
144
- - Arquivos modificados: [M]
145
- - Linhas de código: [LOC] [linguagem]
146
- - Linha do tempo: [Dias] dias ([Início] → [Fim])
147
- - Intervalo Git: feat(XX-XX) → feat(YY-YY)
148
- ```
149
-
150
- </step>
151
-
152
- <step name="extract_accomplishments">
153
-
154
- Extrair resumos de uma linha dos arquivos SUMMARY.md usando summary-extract:
155
-
156
- ```bash
157
- # Para cada fase no milestone, extrair uma linha
158
- for summary in .planning/phases/*-*/*-SUMMARY.md; do
159
- [ -e "$summary" ] || continue
160
- node "./.claude/framework/bin/tools.cjs" summary-extract "$summary" --fields one_liner --pick one_liner
161
- done
162
- ```
163
-
164
- Extrair 4-6 realizações principais. Apresentar:
165
-
166
- ```
167
- Realizações principais para este milestone:
168
- 1. [Conquista da fase 1]
169
- 2. [Conquista da fase 2]
170
- 3. [Conquista da fase 3]
171
- 4. [Conquista da fase 4]
172
- 5. [Conquista da fase 5]
173
- ```
174
-
175
- </step>
176
-
177
- <step name="create_milestone_entry">
178
-
179
- **Nota:** A entrada do MILESTONES.md agora é criada automaticamente por `tools milestone complete` no passo archive_milestone. A entrada inclui versão, data, contagens de fase/plano/tarefa e realizações extraídas dos arquivos SUMMARY.md.
180
-
181
- Se detalhes adicionais forem necessários (ex: resumo "Entregado" fornecido pelo usuário, intervalo git, estatísticas LOC), adicioná-los manualmente após a CLI criar a entrada base.
182
-
183
- </step>
184
-
185
- <step name="evolve_project_full_review">
186
-
187
- Revisão completa de evolução do PROJECT.md na conclusão do milestone.
188
-
189
- Ler todos os resumos de fase:
190
-
191
- ```bash
192
- cat .planning/phases/*-*/*-SUMMARY.md
193
- ```
194
-
195
- **Checklist de revisão completa:**
196
-
197
- 1. **Precisão de "O Que É":**
198
- - Comparar descrição atual com o que foi construído
199
- - Atualizar se o produto mudou de forma significativa
200
-
201
- 2. **Verificação de Valor Central:**
202
- - Ainda é a prioridade correta? O envio revelou um valor central diferente?
203
- - Atualizar se A ÚNICA COISA mudou
204
-
205
- 3. **Auditoria de Requisitos:**
206
-
207
- **Seção Validados:**
208
- - Todos os requisitos Ativos enviados neste milestone → Mover para Validados
209
- - Formato: `- ✓ [Requisito] — v[X.Y]`
210
-
211
- **Seção Ativos:**
212
- - Remover requisitos movidos para Validados
213
- - Adicionar novos requisitos para próximo milestone
214
- - Manter requisitos não endereçados
215
-
216
- **Auditoria de Fora do Escopo:**
217
- - Revisar cada item — raciocínio ainda é válido?
218
- - Remover itens irrelevantes
219
- - Adicionar requisitos invalidados durante o milestone
220
-
221
- 4. **Atualização de Contexto:**
222
- - Estado atual da base de código (LOC, stack tecnológica)
223
- - Temas de feedback do usuário (se houver)
224
- - Issues conhecidas ou dívida técnica
225
-
226
- 5. **Auditoria de Decisões Importantes:**
227
- - Extrair todas as decisões dos resumos de fase do milestone
228
- - Adicionar à tabela de Decisões Importantes com resultados
229
- - Marcar ✓ Bom, ⚠️ Revisar, ou — Pendente
230
-
231
- 6. **Verificação de Restrições:**
232
- - Alguma restrição mudou durante o desenvolvimento? Atualizar conforme necessário
233
-
234
- Atualizar PROJECT.md inline. Atualizar rodapé "Última atualização":
235
-
236
- ```markdown
237
- ---
238
- *Última atualização: [data] após milestone v[X.Y]*
239
- ```
240
-
241
- **Passo completo quando:**
242
-
243
- - [ ] "O Que É" revisado e atualizado se necessário
244
- - [ ] Valor Central verificado como ainda correto
245
- - [ ] Todos os requisitos enviados movidos para Validados
246
- - [ ] Novos requisitos adicionados a Ativos para próximo milestone
247
- - [ ] Raciocínio de Fora do Escopo auditado
248
- - [ ] Contexto atualizado com estado atual
249
- - [ ] Todas as decisões do milestone adicionadas a Decisões Importantes
250
- - [ ] Rodapé "Última atualização" reflete conclusão do milestone
251
-
252
- </step>
253
-
254
- <step name="reorganize_roadmap">
255
-
256
- Atualizar `.planning/ROADMAP.md` — agrupar fases do milestone concluído:
257
-
258
- ```markdown
259
- # Roadmap: [Nome do Projeto]
260
-
261
- ## Milestones
262
-
263
- - ✅ **v1.0 MVP** — Fases 1-4 (enviado YYYY-MM-DD)
264
- - 🚧 **v1.1 Segurança** — Fases 5-6 (em progresso)
265
- - 📋 **v2.0 Redesign** — Fases 7-10 (planejado)
266
-
267
- ## Fases
268
-
269
- <details>
270
- <summary>✅ v1.0 MVP (Fases 1-4) — ENVIADO YYYY-MM-DD</summary>
271
-
272
- - [x] Fase 1: Foundation (2/2 planos) — concluído YYYY-MM-DD
273
- - [x] Fase 2: Authentication (2/2 planos) — concluído YYYY-MM-DD
274
- - [x] Fase 3: Core Features (3/3 planos) — concluído YYYY-MM-DD
275
- - [x] Fase 4: Polish (1/1 plano) — concluído YYYY-MM-DD
276
-
277
- </details>
278
-
279
- ### 🚧 v[Próximo] [Nome] (Em Progresso / Planejado)
280
-
281
- - [ ] Fase 5: [Nome] ([N] planos)
282
- - [ ] Fase 6: [Nome] ([N] planos)
283
-
284
- ## Progresso
285
-
286
- | Fase | Milestone | Planos Completos | Status | Concluído |
287
- | ----------------- | --------- | ---------------- | ------------ | ---------- |
288
- | 1. Foundation | v1.0 | 2/2 | Completo | YYYY-MM-DD |
289
- | 2. Authentication | v1.0 | 2/2 | Completo | YYYY-MM-DD |
290
- | 3. Core Features | v1.0 | 3/3 | Completo | YYYY-MM-DD |
291
- | 4. Polish | v1.0 | 1/1 | Completo | YYYY-MM-DD |
292
- | 5. Auditoria Seg. | v1.1 | 0/1 | Não iniciado | - |
293
- | 6. Hardening | v1.1 | 0/2 | Não iniciado | - |
294
- ```
295
-
296
- </step>
297
-
298
- <step name="archive_milestone">
299
-
300
- **Delegar arquivamento ao tools:**
301
-
302
- ```bash
303
- ARCHIVE=$(node "./.claude/framework/bin/tools.cjs" milestone complete "v[X.Y]" --name "[Nome do Milestone]")
304
- ```
305
-
306
- A CLI cuida de:
307
- - Criar diretório `.planning/milestones/`
308
- - Arquivar ROADMAP.md para `milestones/v[X.Y]-ROADMAP.md`
309
- - Arquivar REQUIREMENTS.md para `milestones/v[X.Y]-REQUIREMENTS.md` com cabeçalho de arquivo
310
- - Mover arquivo de auditoria para milestones se existir
311
- - Criar/anexar entrada MILESTONES.md com realizações dos arquivos SUMMARY.md
312
- - Atualizar STATE.md (status, última atividade)
313
-
314
- Extrair do resultado: `version`, `date`, `phases`, `plans`, `tasks`, `accomplishments`, `archived`.
315
-
316
- Verificar: `✅ Milestone arquivado em .planning/milestones/`
317
-
318
- **Arquivamento de fase (opcional):** Após o arquivamento concluir, perguntar ao usuário:
319
-
320
- AskUserQuestion(header="Arquivar Fases", question="Arquivar diretórios de fase para milestones/?", options: "Sim — mover para milestones/v[X.Y]-phases/" | "Pular — manter fases no lugar")
321
-
322
- Se "Sim": mover diretórios de fase para o arquivo de milestone:
323
- ```bash
324
- mkdir -p .planning/milestones/v[X.Y]-phases
325
- # Para cada diretório de fase em .planning/phases/:
326
- mv .planning/phases/{phase-dir} .planning/milestones/v[X.Y]-phases/
327
- ```
328
- Verificar: `✅ Diretórios de fase arquivados em .planning/milestones/v[X.Y]-phases/`
329
-
330
- Se "Pular": Diretórios de fase permanecem em `.planning/phases/` como histórico de execução bruto. Use `/limpeza` mais tarde para arquivar retroativamente.
331
-
332
- Após o arquivamento, a IA ainda cuida de:
333
- - Reorganizar ROADMAP.md com agrupamento de milestone (requer julgamento)
334
- - Revisão completa de evolução do PROJECT.md (requer compreensão)
335
- - Deletar ROADMAP.md e REQUIREMENTS.md originais
336
- - Estes NÃO são totalmente delegados porque requerem interpretação de conteúdo pela IA
337
-
338
- </step>
339
-
340
- <step name="reorganize_roadmap_and_delete_originals">
341
-
342
- Após `milestone complete` ter arquivado, reorganizar ROADMAP.md com agrupamentos de milestone, então deletar originais:
343
-
344
- **Reorganizar ROADMAP.md** — agrupar fases do milestone concluído:
345
-
346
- ```markdown
347
- # Roadmap: [Nome do Projeto]
348
-
349
- ## Milestones
350
-
351
- - ✅ **v1.0 MVP** — Fases 1-4 (enviado YYYY-MM-DD)
352
- - 🚧 **v1.1 Segurança** — Fases 5-6 (em progresso)
353
-
354
- ## Fases
355
-
356
- <details>
357
- <summary>✅ v1.0 MVP (Fases 1-4) — ENVIADO YYYY-MM-DD</summary>
358
-
359
- - [x] Fase 1: Foundation (2/2 planos) — concluído YYYY-MM-DD
360
- - [x] Fase 2: Authentication (2/2 planos) — concluído YYYY-MM-DD
361
-
362
- </details>
363
- ```
364
-
365
- **Então deletar originais:**
366
-
367
- ```bash
368
- rm .planning/ROADMAP.md
369
- rm .planning/REQUIREMENTS.md
370
- ```
371
-
372
- </step>
373
-
374
- <step name="write_retrospective">
375
-
376
- **Anexar à retrospectiva viva:**
377
-
378
- Verificar retrospectiva existente:
379
- ```bash
380
- ls .planning/RETROSPECTIVE.md 2>/dev/null || true
381
- ```
382
-
383
- **Se existir:** Ler o arquivo, anexar nova seção de milestone antes da seção "## Tendências Cross-Milestone".
384
-
385
- **Se não existir:** Criar a partir do template em `./.claude/framework/templates/retrospective.md`.
386
-
387
- **Coletar dados de retrospectiva:**
388
-
389
- 1. De arquivos SUMMARY.md: Extrair principais entregáveis, resumos de uma linha, decisões técnicas
390
- 2. De arquivos VERIFICATION.md: Extrair pontuações de verificação, lacunas encontradas
391
- 3. De arquivos UAT.md: Extrair resultados de testes, issues encontradas
392
- 4. De git log: Contar commits, calcular linha do tempo
393
- 5. Do trabalho do milestone: Refletir sobre o que funcionou e o que não funcionou
394
-
395
- **Escrever a seção do milestone:**
396
-
397
- ```markdown
398
- ## Milestone: v{versão} — {nome}
399
-
400
- **Enviado:** {data}
401
- **Fases:** {phase_count} | **Planos:** {plan_count}
402
-
403
- ### O Que Foi Construído
404
- {Extrair resumos de uma linha do SUMMARY.md}
405
-
406
- ### O Que Funcionou
407
- {Padrões que levaram a execução suave}
408
-
409
- ### O Que Foi Ineficiente
410
- {Oportunidades perdidas, retrabalho, gargalos}
411
-
412
- ### Padrões Estabelecidos
413
- {Novas convenções descobertas durante este milestone}
414
-
415
- ### Lições Principais
416
- {Aprendizados específicos e acionáveis}
417
-
418
- ### Observações de Custo
419
- - Mix de modelos: {X}% opus, {Y}% sonnet, {Z}% haiku
420
- - Sessões: {contagem}
421
- - Notável: {observação de eficiência}
422
- ```
423
-
424
- **Atualizar tendências cross-milestone:**
425
-
426
- Se a seção "## Tendências Cross-Milestone" existir, atualizar as tabelas com novos dados deste milestone.
427
-
428
- **Commitar:**
429
- ```bash
430
- node "./.claude/framework/bin/tools.cjs" commit "docs: atualizar retrospectiva para v${VERSION}" --files .planning/RETROSPECTIVE.md
431
- ```
432
-
433
- </step>
434
-
435
- <step name="update_state">
436
-
437
- A maioria das atualizações do STATE.md foi tratada pelo `milestone complete`, mas verificar e atualizar campos restantes:
438
-
439
- **Referência do Projeto:**
440
-
441
- ```markdown
442
- ## Referência do Projeto
443
-
444
- Ver: .planning/PROJECT.md (atualizado [hoje])
445
-
446
- **Valor central:** [Valor central atual do PROJECT.md]
447
- **Foco atual:** [Próximo milestone ou "Planejando próximo milestone"]
448
- ```
449
-
450
- **Contexto Acumulado:**
451
- - Limpar resumo de decisões (log completo no PROJECT.md)
452
- - Limpar bloqueadores resolvidos
453
- - Manter bloqueadores abertos para próximo milestone
454
-
455
- </step>
456
-
457
- <step name="handle_branches">
458
-
459
- Verificar estratégia de branching e oferecer opções de merge.
460
-
461
- Usar `init milestone-op` para contexto, ou carregar config diretamente:
462
-
463
- ```bash
464
- INIT=$(node "./.claude/framework/bin/tools.cjs" init execute-phase "1")
465
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
466
- ```
467
-
468
- Extrair `branching_strategy`, `phase_branch_template`, `milestone_branch_template` e `commit_docs` do JSON de init.
469
-
470
- **Se "none":** Pular para git_tag.
471
-
472
- **Para estratégia "phase":**
473
-
474
- ```bash
475
- BRANCH_PREFIX=$(echo "$PHASE_BRANCH_TEMPLATE" | sed 's/{.*//')
476
- PHASE_BRANCHES=$(git branch --list "${BRANCH_PREFIX}*" 2>/dev/null | sed 's/^\*//' | tr -d ' ')
477
- ```
478
-
479
- **Para estratégia "milestone":**
480
-
481
- ```bash
482
- BRANCH_PREFIX=$(echo "$MILESTONE_BRANCH_TEMPLATE" | sed 's/{.*//')
483
- MILESTONE_BRANCH=$(git branch --list "${BRANCH_PREFIX}*" 2>/dev/null | sed 's/^\*//' | tr -d ' ' | head -1)
484
- ```
485
-
486
- **Se nenhuma branch encontrada:** Pular para git_tag.
487
-
488
- **Se branches existirem:**
489
-
490
- ```
491
- ## Branches Git Detectadas
492
-
493
- Estratégia de branching: {phase/milestone}
494
- Branches: {lista}
495
-
496
- Opções:
497
- 1. **Merge para main** — Fazer merge da(s) branch(es) para main
498
- 2. **Deletar sem merge** — Já foi feito merge ou não é necessário
499
- 3. **Manter branches** — Deixar para tratamento manual
500
- ```
501
-
502
- AskUserQuestion com opções: Squash merge (Recomendado), Merge com histórico, Deletar sem merge, Manter branches.
503
-
504
- **Squash merge:**
505
-
506
- ```bash
507
- CURRENT_BRANCH=$(git branch --show-current)
508
- git checkout main
509
-
510
- if [ "$BRANCHING_STRATEGY" = "phase" ]; then
511
- for branch in $PHASE_BRANCHES; do
512
- git merge --squash "$branch"
513
- # Remover .planning/ do staging se commit_docs for false
514
- if [ "$COMMIT_DOCS" = "false" ]; then
515
- git reset HEAD .planning/ 2>/dev/null || true
516
- fi
517
- git commit -m "feat: $branch para v[X.Y]"
518
- done
519
- fi
520
-
521
- if [ "$BRANCHING_STRATEGY" = "milestone" ]; then
522
- git merge --squash "$MILESTONE_BRANCH"
523
- # Remover .planning/ do staging se commit_docs for false
524
- if [ "$COMMIT_DOCS" = "false" ]; then
525
- git reset HEAD .planning/ 2>/dev/null || true
526
- fi
527
- git commit -m "feat: $MILESTONE_BRANCH para v[X.Y]"
528
- fi
529
-
530
- git checkout "$CURRENT_BRANCH"
531
- ```
532
-
533
- **Merge com histórico:**
534
-
535
- ```bash
536
- CURRENT_BRANCH=$(git branch --show-current)
537
- git checkout main
538
-
539
- if [ "$BRANCHING_STRATEGY" = "phase" ]; then
540
- for branch in $PHASE_BRANCHES; do
541
- git merge --no-ff --no-commit "$branch"
542
- # Remover .planning/ do staging se commit_docs for false
543
- if [ "$COMMIT_DOCS" = "false" ]; then
544
- git reset HEAD .planning/ 2>/dev/null || true
545
- fi
546
- git commit -m "Merge branch '$branch' para v[X.Y]"
547
- done
548
- fi
549
-
550
- if [ "$BRANCHING_STRATEGY" = "milestone" ]; then
551
- git merge --no-ff --no-commit "$MILESTONE_BRANCH"
552
- # Remover .planning/ do staging se commit_docs for false
553
- if [ "$COMMIT_DOCS" = "false" ]; then
554
- git reset HEAD .planning/ 2>/dev/null || true
555
- fi
556
- git commit -m "Merge branch '$MILESTONE_BRANCH' para v[X.Y]"
557
- fi
558
-
559
- git checkout "$CURRENT_BRANCH"
560
- ```
561
-
562
- **Deletar sem merge:**
563
-
564
- ```bash
565
- if [ "$BRANCHING_STRATEGY" = "phase" ]; then
566
- for branch in $PHASE_BRANCHES; do
567
- git branch -d "$branch" 2>/dev/null || git branch -D "$branch"
568
- done
569
- fi
570
-
571
- if [ "$BRANCHING_STRATEGY" = "milestone" ]; then
572
- git branch -d "$MILESTONE_BRANCH" 2>/dev/null || git branch -D "$MILESTONE_BRANCH"
573
- fi
574
- ```
575
-
576
- **Manter branches:** Reportar "Branches preservadas para tratamento manual"
577
-
578
- </step>
579
-
580
- <step name="git_tag">
581
-
582
- Criar tag git:
583
-
584
- ```bash
585
- git tag -a v[X.Y] -m "v[X.Y] [Nome]
586
-
587
- Entregado: [Uma frase]
588
-
589
- Realizações principais:
590
- - [Item 1]
591
- - [Item 2]
592
- - [Item 3]
593
-
594
- Ver .planning/MILESTONES.md para detalhes completos."
595
- ```
596
-
597
- Confirmar: "Taggeado: v[X.Y]"
598
-
599
- Perguntar: "Fazer push da tag para o remoto? (s/n)"
600
-
601
- Se sim:
602
- ```bash
603
- git push origin v[X.Y]
604
- ```
605
-
606
- </step>
607
-
608
- <step name="git_commit_milestone">
609
-
610
- Commitar conclusão do milestone.
611
-
612
- ```bash
613
- node "./.claude/framework/bin/tools.cjs" commit "chore: concluir milestone v[X.Y]" --files .planning/milestones/v[X.Y]-ROADMAP.md .planning/milestones/v[X.Y]-REQUIREMENTS.md .planning/milestones/v[X.Y]-MILESTONE-AUDIT.md .planning/MILESTONES.md .planning/PROJECT.md .planning/STATE.md
614
- ```
615
-
616
- Confirmar: "Commitado: chore: concluir milestone v[X.Y]"
617
-
618
- </step>
619
-
620
- <step name="offer_next">
621
-
622
- ```
623
- ✅ Milestone v[X.Y] [Nome] concluído
624
-
625
- Enviado:
626
- - [N] fases ([M] planos, [P] tarefas)
627
- - [Uma frase do que foi enviado]
628
-
629
- Arquivado:
630
- - milestones/v[X.Y]-ROADMAP.md
631
- - milestones/v[X.Y]-REQUIREMENTS.md
632
-
633
- Resumo: .planning/MILESTONES.md
634
- Tag: v[X.Y]
635
-
636
- ---
637
-
638
- ## ▶ Próximo Passo
639
-
640
- **Iniciar Próximo Milestone** — questionamento → pesquisa → requisitos → roadmap
641
-
642
- `/novo-marco`
643
-
644
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
645
-
646
- ---
647
- ```
648
-
649
- </step>
650
-
651
- </process>
652
-
653
- <milestone_naming>
654
-
655
- **Convenções de versão:**
656
- - **v1.0** — MVP Inicial
657
- - **v1.1, v1.2** — Atualizações menores, novas funcionalidades, correções
658
- - **v2.0, v3.0** — Reescritas maiores, mudanças breaking, nova direção
659
-
660
- **Nomes:** Palavras curtas 1-2 (v1.0 MVP, v1.1 Segurança, v1.2 Performance, v2.0 Redesign).
661
-
662
- </milestone_naming>
663
-
664
- <what_qualifies>
665
-
666
- **Criar milestones para:** Release inicial, releases públicos, conjuntos de funcionalidades principais enviados, antes de arquivar planejamento.
667
-
668
- **Não criar milestones para:** Cada conclusão de fase (muito granular), trabalho em progresso, iterações de dev internas (a menos que realmente enviado).
669
-
670
- Heurística: "Isso foi implantado/usável/enviado?" Se sim → milestone. Se não → continuar trabalhando.
671
-
672
- </what_qualifies>
673
-
674
- <success_criteria>
675
-
676
- A conclusão do milestone é bem-sucedida quando:
677
-
678
- - [ ] Entrada MILESTONES.md criada com estatísticas e realizações
679
- - [ ] Revisão completa de evolução do PROJECT.md concluída
680
- - [ ] Todos os requisitos enviados movidos para Validados no PROJECT.md
681
- - [ ] Decisões Importantes atualizadas com resultados
682
- - [ ] ROADMAP.md reorganizado com agrupamento de milestone
683
- - [ ] Arquivo de roadmap criado (milestones/v[X.Y]-ROADMAP.md)
684
- - [ ] Arquivo de requisitos criado (milestones/v[X.Y]-REQUIREMENTS.md)
685
- - [ ] REQUIREMENTS.md deletado (novo para próximo milestone)
686
- - [ ] STATE.md atualizado com referência de projeto fresca
687
- - [ ] Tag git criada (v[X.Y])
688
- - [ ] Commit de milestone feito (inclui arquivos de arquivo e deleção)
689
- - [ ] Conclusão de requisitos verificada contra tabela de rastreabilidade do REQUIREMENTS.md
690
- - [ ] Requisitos incompletos surfaçados com opções prosseguir/auditar/abortar
691
- - [ ] Lacunas conhecidas registradas no MILESTONES.md se usuário prosseguiu com requisitos incompletos
692
- - [ ] RETROSPECTIVE.md atualizado com seção de milestone
693
- - [ ] Tendências cross-milestone atualizadas
694
- - [ ] Usuário conhece próximo passo (/novo-marco)
695
-
696
- </success_criteria>
1
+ <purpose>
2
+
3
+ Marcar uma versão enviada (v1.0, v1.1, v2.0) como completa. Cria registro histórico no MILESTONES.md, realiza revisão completa de evolução do PROJECT.md, reorganiza ROADMAP.md com agrupamentos de milestone e tageia o release no git.
4
+
5
+ </purpose>
6
+
7
+ <required_reading>
8
+
9
+ 1. templates/milestone.md
10
+ 2. templates/milestone-archive.md
11
+ 3. `.planning/ROADMAP.md`
12
+ 4. `.planning/REQUIREMENTS.md`
13
+ 5. `.planning/PROJECT.md`
14
+
15
+ </required_reading>
16
+
17
+ <archival_behavior>
18
+
19
+ Quando um milestone é concluído:
20
+
21
+ 1. Extrair detalhes completos do milestone para `.planning/milestones/v[X.Y]-ROADMAP.md`
22
+ 2. Arquivar requisitos para `.planning/milestones/v[X.Y]-REQUIREMENTS.md`
23
+ 3. Atualizar ROADMAP.md — substituir detalhes do milestone por resumo em uma linha
24
+ 4. Deletar REQUIREMENTS.md (novo para próximo milestone)
25
+ 5. Realizar revisão completa de evolução do PROJECT.md
26
+ 6. Oferecer criar próximo milestone inline
27
+ 7. Arquivar artefatos UI (`*-UI-SPEC.md`, `*-UI-REVIEW.md`) junto com outros documentos de fase
28
+ 8. Limpar arquivos de screenshot `.planning/ui-reviews/` (ativos binários, nunca arquivados)
29
+
30
+ **Eficiência de Contexto:** Arquivos mantêm ROADMAP.md de tamanho constante e REQUIREMENTS.md com escopo de milestone.
31
+
32
+ **Arquivo ROADMAP** usa `templates/milestone-archive.md` — inclui cabeçalho de milestone (status, fases, data), detalhes completos de fase, resumo do milestone (decisões, issues, dívida técnica).
33
+
34
+ **Arquivo REQUIREMENTS** contém todos os requisitos marcados como completos com resultados, tabela de rastreabilidade com status final, notas sobre requisitos alterados.
35
+
36
+ </archival_behavior>
37
+
38
+ <process>
39
+
40
+ <step name="verify_readiness">
41
+
42
+ **Usar `roadmap analyze` para verificação abrangente de prontidão:**
43
+
44
+ ```bash
45
+ ROADMAP=$(node "./.claude/framework/bin/tools.cjs" roadmap analyze)
46
+ ```
47
+
48
+ Isso retorna todas as fases com contagens de plano/resumo e status de disco. Usar isso para verificar:
49
+ - Quais fases pertencem a este milestone?
50
+ - Todas as fases completas (todos os planos têm resumos)? Verificar `disk_status === 'complete'` para cada uma.
51
+ - `progress_percent` deve ser 100%.
52
+
53
+ **Verificação de conclusão de requisitos (OBRIGATÓRIO antes de apresentar):**
54
+
55
+ Analisar tabela de rastreabilidade do REQUIREMENTS.md:
56
+ - Contar total de requisitos v1 vs requisitos marcados (`[x]`)
57
+ - Identificar quaisquer linhas não-Completas na tabela de rastreabilidade
58
+
59
+ Apresentar:
60
+
61
+ ```
62
+ Milestone: [Nome, ex: "v1.0 MVP"]
63
+
64
+ Inclui:
65
+ - Fase 1: Foundation (2/2 planos completos)
66
+ - Fase 2: Authentication (2/2 planos completos)
67
+ - Fase 3: Core Features (3/3 planos completos)
68
+ - Fase 4: Polish (1/1 plano completo)
69
+
70
+ Total: {phase_count} fases, {total_plans} planos, todos completos
71
+ Requisitos: {N}/{M} requisitos v1 marcados
72
+ ```
73
+
74
+ **Se requisitos incompletos** (N < M):
75
+
76
+ ```
77
+ ⚠ Requisitos Não Marcados:
78
+
79
+ - [ ] {REQ-ID}: {descrição} (Fase {X})
80
+ - [ ] {REQ-ID}: {descrição} (Fase {Y})
81
+ ```
82
+
83
+ DEVE apresentar 3 opções:
84
+ 1. **Prosseguir mesmo assim** — marcar milestone como completo com lacunas conhecidas
85
+ 2. **Executar auditoria primeiro** — `/auditar-marco` para avaliar severidade das lacunas
86
+ 3. **Abortar** — retornar ao desenvolvimento
87
+
88
+ Se o usuário selecionar "Prosseguir mesmo assim": notar requisitos incompletos no MILESTONES.md em `### Lacunas Conhecidas` com REQ-IDs e descrições.
89
+
90
+ <config-check>
91
+
92
+ ```bash
93
+ cat .planning/config.json 2>/dev/null || true
94
+ ```
95
+
96
+ </config-check>
97
+
98
+ <if mode="yolo">
99
+
100
+ ```
101
+ ⚡ Auto-aprovado: Verificação de escopo do milestone
102
+ [Mostrar resumo de breakdown sem perguntar]
103
+ Prosseguindo para coleta de estatísticas...
104
+ ```
105
+
106
+ Prosseguir para gather_stats.
107
+
108
+ </if>
109
+
110
+ <if mode="interactive" OR="custom with gates.confirm_milestone_scope true">
111
+
112
+ ```
113
+ Pronto para marcar este milestone como enviado?
114
+ (sim / esperar / ajustar escopo)
115
+ ```
116
+
117
+ Aguardar confirmação.
118
+ - "ajustar escopo": Perguntar quais fases incluir.
119
+ - "esperar": Parar, usuário retorna quando pronto.
120
+
121
+ </if>
122
+
123
+ </step>
124
+
125
+ <step name="gather_stats">
126
+
127
+ Calcular estatísticas do milestone:
128
+
129
+ ```bash
130
+ git log --oneline --grep="feat(" | head -20
131
+ git diff --stat FIRST_COMMIT..LAST_COMMIT | tail -1
132
+ find . -name "*.swift" -o -name "*.ts" -o -name "*.py" | xargs wc -l 2>/dev/null || true
133
+ git log --format="%ai" FIRST_COMMIT | tail -1
134
+ git log --format="%ai" LAST_COMMIT | head -1
135
+ ```
136
+
137
+ Apresentar:
138
+
139
+ ```
140
+ Estatísticas do Milestone:
141
+ - Fases: [X-Y]
142
+ - Planos: [Z] total
143
+ - Tarefas: [N] total (dos resumos de fase)
144
+ - Arquivos modificados: [M]
145
+ - Linhas de código: [LOC] [linguagem]
146
+ - Linha do tempo: [Dias] dias ([Início] → [Fim])
147
+ - Intervalo Git: feat(XX-XX) → feat(YY-YY)
148
+ ```
149
+
150
+ </step>
151
+
152
+ <step name="extract_accomplishments">
153
+
154
+ Extrair resumos de uma linha dos arquivos SUMMARY.md usando summary-extract:
155
+
156
+ ```bash
157
+ # Para cada fase no milestone, extrair uma linha
158
+ for summary in .planning/phases/*-*/*-SUMMARY.md; do
159
+ [ -e "$summary" ] || continue
160
+ node "./.claude/framework/bin/tools.cjs" summary-extract "$summary" --fields one_liner --pick one_liner
161
+ done
162
+ ```
163
+
164
+ Extrair 4-6 realizações principais. Apresentar:
165
+
166
+ ```
167
+ Realizações principais para este milestone:
168
+ 1. [Conquista da fase 1]
169
+ 2. [Conquista da fase 2]
170
+ 3. [Conquista da fase 3]
171
+ 4. [Conquista da fase 4]
172
+ 5. [Conquista da fase 5]
173
+ ```
174
+
175
+ </step>
176
+
177
+ <step name="create_milestone_entry">
178
+
179
+ **Nota:** A entrada do MILESTONES.md agora é criada automaticamente por `tools milestone complete` no passo archive_milestone. A entrada inclui versão, data, contagens de fase/plano/tarefa e realizações extraídas dos arquivos SUMMARY.md.
180
+
181
+ Se detalhes adicionais forem necessários (ex: resumo "Entregado" fornecido pelo usuário, intervalo git, estatísticas LOC), adicioná-los manualmente após a CLI criar a entrada base.
182
+
183
+ </step>
184
+
185
+ <step name="evolve_project_full_review">
186
+
187
+ Revisão completa de evolução do PROJECT.md na conclusão do milestone.
188
+
189
+ Ler todos os resumos de fase:
190
+
191
+ ```bash
192
+ cat .planning/phases/*-*/*-SUMMARY.md
193
+ ```
194
+
195
+ **Checklist de revisão completa:**
196
+
197
+ 1. **Precisão de "O Que É":**
198
+ - Comparar descrição atual com o que foi construído
199
+ - Atualizar se o produto mudou de forma significativa
200
+
201
+ 2. **Verificação de Valor Central:**
202
+ - Ainda é a prioridade correta? O envio revelou um valor central diferente?
203
+ - Atualizar se A ÚNICA COISA mudou
204
+
205
+ 3. **Auditoria de Requisitos:**
206
+
207
+ **Seção Validados:**
208
+ - Todos os requisitos Ativos enviados neste milestone → Mover para Validados
209
+ - Formato: `- ✓ [Requisito] — v[X.Y]`
210
+
211
+ **Seção Ativos:**
212
+ - Remover requisitos movidos para Validados
213
+ - Adicionar novos requisitos para próximo milestone
214
+ - Manter requisitos não endereçados
215
+
216
+ **Auditoria de Fora do Escopo:**
217
+ - Revisar cada item — raciocínio ainda é válido?
218
+ - Remover itens irrelevantes
219
+ - Adicionar requisitos invalidados durante o milestone
220
+
221
+ 4. **Atualização de Contexto:**
222
+ - Estado atual da base de código (LOC, stack tecnológica)
223
+ - Temas de feedback do usuário (se houver)
224
+ - Issues conhecidas ou dívida técnica
225
+
226
+ 5. **Auditoria de Decisões Importantes:**
227
+ - Extrair todas as decisões dos resumos de fase do milestone
228
+ - Adicionar à tabela de Decisões Importantes com resultados
229
+ - Marcar ✓ Bom, ⚠️ Revisar, ou — Pendente
230
+
231
+ 6. **Verificação de Restrições:**
232
+ - Alguma restrição mudou durante o desenvolvimento? Atualizar conforme necessário
233
+
234
+ Atualizar PROJECT.md inline. Atualizar rodapé "Última atualização":
235
+
236
+ ```markdown
237
+ ---
238
+ *Última atualização: [data] após milestone v[X.Y]*
239
+ ```
240
+
241
+ **Passo completo quando:**
242
+
243
+ - [ ] "O Que É" revisado e atualizado se necessário
244
+ - [ ] Valor Central verificado como ainda correto
245
+ - [ ] Todos os requisitos enviados movidos para Validados
246
+ - [ ] Novos requisitos adicionados a Ativos para próximo milestone
247
+ - [ ] Raciocínio de Fora do Escopo auditado
248
+ - [ ] Contexto atualizado com estado atual
249
+ - [ ] Todas as decisões do milestone adicionadas a Decisões Importantes
250
+ - [ ] Rodapé "Última atualização" reflete conclusão do milestone
251
+
252
+ </step>
253
+
254
+ <step name="reorganize_roadmap">
255
+
256
+ Atualizar `.planning/ROADMAP.md` — agrupar fases do milestone concluído:
257
+
258
+ ```markdown
259
+ # Roadmap: [Nome do Projeto]
260
+
261
+ ## Milestones
262
+
263
+ - ✅ **v1.0 MVP** — Fases 1-4 (enviado YYYY-MM-DD)
264
+ - 🚧 **v1.1 Segurança** — Fases 5-6 (em progresso)
265
+ - 📋 **v2.0 Redesign** — Fases 7-10 (planejado)
266
+
267
+ ## Fases
268
+
269
+ <details>
270
+ <summary>✅ v1.0 MVP (Fases 1-4) — ENVIADO YYYY-MM-DD</summary>
271
+
272
+ - [x] Fase 1: Foundation (2/2 planos) — concluído YYYY-MM-DD
273
+ - [x] Fase 2: Authentication (2/2 planos) — concluído YYYY-MM-DD
274
+ - [x] Fase 3: Core Features (3/3 planos) — concluído YYYY-MM-DD
275
+ - [x] Fase 4: Polish (1/1 plano) — concluído YYYY-MM-DD
276
+
277
+ </details>
278
+
279
+ ### 🚧 v[Próximo] [Nome] (Em Progresso / Planejado)
280
+
281
+ - [ ] Fase 5: [Nome] ([N] planos)
282
+ - [ ] Fase 6: [Nome] ([N] planos)
283
+
284
+ ## Progresso
285
+
286
+ | Fase | Milestone | Planos Completos | Status | Concluído |
287
+ | ----------------- | --------- | ---------------- | ------------ | ---------- |
288
+ | 1. Foundation | v1.0 | 2/2 | Completo | YYYY-MM-DD |
289
+ | 2. Authentication | v1.0 | 2/2 | Completo | YYYY-MM-DD |
290
+ | 3. Core Features | v1.0 | 3/3 | Completo | YYYY-MM-DD |
291
+ | 4. Polish | v1.0 | 1/1 | Completo | YYYY-MM-DD |
292
+ | 5. Auditoria Seg. | v1.1 | 0/1 | Não iniciado | - |
293
+ | 6. Hardening | v1.1 | 0/2 | Não iniciado | - |
294
+ ```
295
+
296
+ </step>
297
+
298
+ <step name="archive_milestone">
299
+
300
+ **Delegar arquivamento ao tools:**
301
+
302
+ ```bash
303
+ ARCHIVE=$(node "./.claude/framework/bin/tools.cjs" milestone complete "v[X.Y]" --name "[Nome do Milestone]")
304
+ ```
305
+
306
+ A CLI cuida de:
307
+ - Criar diretório `.planning/milestones/`
308
+ - Arquivar ROADMAP.md para `milestones/v[X.Y]-ROADMAP.md`
309
+ - Arquivar REQUIREMENTS.md para `milestones/v[X.Y]-REQUIREMENTS.md` com cabeçalho de arquivo
310
+ - Mover arquivo de auditoria para milestones se existir
311
+ - Criar/anexar entrada MILESTONES.md com realizações dos arquivos SUMMARY.md
312
+ - Atualizar STATE.md (status, última atividade)
313
+
314
+ Extrair do resultado: `version`, `date`, `phases`, `plans`, `tasks`, `accomplishments`, `archived`.
315
+
316
+ Verificar: `✅ Milestone arquivado em .planning/milestones/`
317
+
318
+ **Arquivamento de fase (opcional):** Após o arquivamento concluir, perguntar ao usuário:
319
+
320
+ AskUserQuestion(header="Arquivar Fases", question="Arquivar diretórios de fase para milestones/?", options: "Sim — mover para milestones/v[X.Y]-phases/" | "Pular — manter fases no lugar")
321
+
322
+ Se "Sim": mover diretórios de fase para o arquivo de milestone:
323
+ ```bash
324
+ mkdir -p .planning/milestones/v[X.Y]-phases
325
+ # Para cada diretório de fase em .planning/phases/:
326
+ mv .planning/phases/{phase-dir} .planning/milestones/v[X.Y]-phases/
327
+ ```
328
+ Verificar: `✅ Diretórios de fase arquivados em .planning/milestones/v[X.Y]-phases/`
329
+
330
+ Se "Pular": Diretórios de fase permanecem em `.planning/phases/` como histórico de execução bruto. Use `/limpeza` mais tarde para arquivar retroativamente.
331
+
332
+ Após o arquivamento, a IA ainda cuida de:
333
+ - Reorganizar ROADMAP.md com agrupamento de milestone (requer julgamento)
334
+ - Revisão completa de evolução do PROJECT.md (requer compreensão)
335
+ - Deletar ROADMAP.md e REQUIREMENTS.md originais
336
+ - Estes NÃO são totalmente delegados porque requerem interpretação de conteúdo pela IA
337
+
338
+ </step>
339
+
340
+ <step name="reorganize_roadmap_and_delete_originals">
341
+
342
+ Após `milestone complete` ter arquivado, reorganizar ROADMAP.md com agrupamentos de milestone, então deletar originais:
343
+
344
+ **Reorganizar ROADMAP.md** — agrupar fases do milestone concluído:
345
+
346
+ ```markdown
347
+ # Roadmap: [Nome do Projeto]
348
+
349
+ ## Milestones
350
+
351
+ - ✅ **v1.0 MVP** — Fases 1-4 (enviado YYYY-MM-DD)
352
+ - 🚧 **v1.1 Segurança** — Fases 5-6 (em progresso)
353
+
354
+ ## Fases
355
+
356
+ <details>
357
+ <summary>✅ v1.0 MVP (Fases 1-4) — ENVIADO YYYY-MM-DD</summary>
358
+
359
+ - [x] Fase 1: Foundation (2/2 planos) — concluído YYYY-MM-DD
360
+ - [x] Fase 2: Authentication (2/2 planos) — concluído YYYY-MM-DD
361
+
362
+ </details>
363
+ ```
364
+
365
+ **Então deletar originais:**
366
+
367
+ ```bash
368
+ rm .planning/ROADMAP.md
369
+ rm .planning/REQUIREMENTS.md
370
+ ```
371
+
372
+ </step>
373
+
374
+ <step name="write_retrospective">
375
+
376
+ **Anexar à retrospectiva viva:**
377
+
378
+ Verificar retrospectiva existente:
379
+ ```bash
380
+ ls .planning/RETROSPECTIVE.md 2>/dev/null || true
381
+ ```
382
+
383
+ **Se existir:** Ler o arquivo, anexar nova seção de milestone antes da seção "## Tendências Cross-Milestone".
384
+
385
+ **Se não existir:** Criar a partir do template em `./.claude/framework/templates/retrospective.md`.
386
+
387
+ **Coletar dados de retrospectiva:**
388
+
389
+ 1. De arquivos SUMMARY.md: Extrair principais entregáveis, resumos de uma linha, decisões técnicas
390
+ 2. De arquivos VERIFICATION.md: Extrair pontuações de verificação, lacunas encontradas
391
+ 3. De arquivos UAT.md: Extrair resultados de testes, issues encontradas
392
+ 4. De git log: Contar commits, calcular linha do tempo
393
+ 5. Do trabalho do milestone: Refletir sobre o que funcionou e o que não funcionou
394
+
395
+ **Escrever a seção do milestone:**
396
+
397
+ ```markdown
398
+ ## Milestone: v{versão} — {nome}
399
+
400
+ **Enviado:** {data}
401
+ **Fases:** {phase_count} | **Planos:** {plan_count}
402
+
403
+ ### O Que Foi Construído
404
+ {Extrair resumos de uma linha do SUMMARY.md}
405
+
406
+ ### O Que Funcionou
407
+ {Padrões que levaram a execução suave}
408
+
409
+ ### O Que Foi Ineficiente
410
+ {Oportunidades perdidas, retrabalho, gargalos}
411
+
412
+ ### Padrões Estabelecidos
413
+ {Novas convenções descobertas durante este milestone}
414
+
415
+ ### Lições Principais
416
+ {Aprendizados específicos e acionáveis}
417
+
418
+ ### Observações de Custo
419
+ - Mix de modelos: {X}% opus, {Y}% sonnet, {Z}% haiku
420
+ - Sessões: {contagem}
421
+ - Notável: {observação de eficiência}
422
+ ```
423
+
424
+ **Atualizar tendências cross-milestone:**
425
+
426
+ Se a seção "## Tendências Cross-Milestone" existir, atualizar as tabelas com novos dados deste milestone.
427
+
428
+ **Commitar:**
429
+ ```bash
430
+ node "./.claude/framework/bin/tools.cjs" commit "docs: atualizar retrospectiva para v${VERSION}" --files .planning/RETROSPECTIVE.md
431
+ ```
432
+
433
+ </step>
434
+
435
+ <step name="update_state">
436
+
437
+ A maioria das atualizações do STATE.md foi tratada pelo `milestone complete`, mas verificar e atualizar campos restantes:
438
+
439
+ **Referência do Projeto:**
440
+
441
+ ```markdown
442
+ ## Referência do Projeto
443
+
444
+ Ver: .planning/PROJECT.md (atualizado [hoje])
445
+
446
+ **Valor central:** [Valor central atual do PROJECT.md]
447
+ **Foco atual:** [Próximo milestone ou "Planejando próximo milestone"]
448
+ ```
449
+
450
+ **Contexto Acumulado:**
451
+ - Limpar resumo de decisões (log completo no PROJECT.md)
452
+ - Limpar bloqueadores resolvidos
453
+ - Manter bloqueadores abertos para próximo milestone
454
+
455
+ </step>
456
+
457
+ <step name="handle_branches">
458
+
459
+ Verificar estratégia de branching e oferecer opções de merge.
460
+
461
+ Usar `init milestone-op` para contexto, ou carregar config diretamente:
462
+
463
+ ```bash
464
+ INIT=$(node "./.claude/framework/bin/tools.cjs" init execute-phase "1")
465
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
466
+ ```
467
+
468
+ Extrair `branching_strategy`, `phase_branch_template`, `milestone_branch_template` e `commit_docs` do JSON de init.
469
+
470
+ **Se "none":** Pular para git_tag.
471
+
472
+ **Para estratégia "phase":**
473
+
474
+ ```bash
475
+ BRANCH_PREFIX=$(echo "$PHASE_BRANCH_TEMPLATE" | sed 's/{.*//')
476
+ PHASE_BRANCHES=$(git branch --list "${BRANCH_PREFIX}*" 2>/dev/null | sed 's/^\*//' | tr -d ' ')
477
+ ```
478
+
479
+ **Para estratégia "milestone":**
480
+
481
+ ```bash
482
+ BRANCH_PREFIX=$(echo "$MILESTONE_BRANCH_TEMPLATE" | sed 's/{.*//')
483
+ MILESTONE_BRANCH=$(git branch --list "${BRANCH_PREFIX}*" 2>/dev/null | sed 's/^\*//' | tr -d ' ' | head -1)
484
+ ```
485
+
486
+ **Se nenhuma branch encontrada:** Pular para git_tag.
487
+
488
+ **Se branches existirem:**
489
+
490
+ ```
491
+ ## Branches Git Detectadas
492
+
493
+ Estratégia de branching: {phase/milestone}
494
+ Branches: {lista}
495
+
496
+ Opções:
497
+ 1. **Merge para main** — Fazer merge da(s) branch(es) para main
498
+ 2. **Deletar sem merge** — Já foi feito merge ou não é necessário
499
+ 3. **Manter branches** — Deixar para tratamento manual
500
+ ```
501
+
502
+ AskUserQuestion com opções: Squash merge (Recomendado), Merge com histórico, Deletar sem merge, Manter branches.
503
+
504
+ **Squash merge:**
505
+
506
+ ```bash
507
+ CURRENT_BRANCH=$(git branch --show-current)
508
+ git checkout main
509
+
510
+ if [ "$BRANCHING_STRATEGY" = "phase" ]; then
511
+ for branch in $PHASE_BRANCHES; do
512
+ git merge --squash "$branch"
513
+ # Remover .planning/ do staging se commit_docs for false
514
+ if [ "$COMMIT_DOCS" = "false" ]; then
515
+ git reset HEAD .planning/ 2>/dev/null || true
516
+ fi
517
+ git commit -m "feat: $branch para v[X.Y]"
518
+ done
519
+ fi
520
+
521
+ if [ "$BRANCHING_STRATEGY" = "milestone" ]; then
522
+ git merge --squash "$MILESTONE_BRANCH"
523
+ # Remover .planning/ do staging se commit_docs for false
524
+ if [ "$COMMIT_DOCS" = "false" ]; then
525
+ git reset HEAD .planning/ 2>/dev/null || true
526
+ fi
527
+ git commit -m "feat: $MILESTONE_BRANCH para v[X.Y]"
528
+ fi
529
+
530
+ git checkout "$CURRENT_BRANCH"
531
+ ```
532
+
533
+ **Merge com histórico:**
534
+
535
+ ```bash
536
+ CURRENT_BRANCH=$(git branch --show-current)
537
+ git checkout main
538
+
539
+ if [ "$BRANCHING_STRATEGY" = "phase" ]; then
540
+ for branch in $PHASE_BRANCHES; do
541
+ git merge --no-ff --no-commit "$branch"
542
+ # Remover .planning/ do staging se commit_docs for false
543
+ if [ "$COMMIT_DOCS" = "false" ]; then
544
+ git reset HEAD .planning/ 2>/dev/null || true
545
+ fi
546
+ git commit -m "Merge branch '$branch' para v[X.Y]"
547
+ done
548
+ fi
549
+
550
+ if [ "$BRANCHING_STRATEGY" = "milestone" ]; then
551
+ git merge --no-ff --no-commit "$MILESTONE_BRANCH"
552
+ # Remover .planning/ do staging se commit_docs for false
553
+ if [ "$COMMIT_DOCS" = "false" ]; then
554
+ git reset HEAD .planning/ 2>/dev/null || true
555
+ fi
556
+ git commit -m "Merge branch '$MILESTONE_BRANCH' para v[X.Y]"
557
+ fi
558
+
559
+ git checkout "$CURRENT_BRANCH"
560
+ ```
561
+
562
+ **Deletar sem merge:**
563
+
564
+ ```bash
565
+ if [ "$BRANCHING_STRATEGY" = "phase" ]; then
566
+ for branch in $PHASE_BRANCHES; do
567
+ git branch -d "$branch" 2>/dev/null || git branch -D "$branch"
568
+ done
569
+ fi
570
+
571
+ if [ "$BRANCHING_STRATEGY" = "milestone" ]; then
572
+ git branch -d "$MILESTONE_BRANCH" 2>/dev/null || git branch -D "$MILESTONE_BRANCH"
573
+ fi
574
+ ```
575
+
576
+ **Manter branches:** Reportar "Branches preservadas para tratamento manual"
577
+
578
+ </step>
579
+
580
+ <step name="git_tag">
581
+
582
+ Criar tag git:
583
+
584
+ ```bash
585
+ git tag -a v[X.Y] -m "v[X.Y] [Nome]
586
+
587
+ Entregado: [Uma frase]
588
+
589
+ Realizações principais:
590
+ - [Item 1]
591
+ - [Item 2]
592
+ - [Item 3]
593
+
594
+ Ver .planning/MILESTONES.md para detalhes completos."
595
+ ```
596
+
597
+ Confirmar: "Taggeado: v[X.Y]"
598
+
599
+ Perguntar: "Fazer push da tag para o remoto? (s/n)"
600
+
601
+ Se sim:
602
+ ```bash
603
+ git push origin v[X.Y]
604
+ ```
605
+
606
+ </step>
607
+
608
+ <step name="git_commit_milestone">
609
+
610
+ Commitar conclusão do milestone.
611
+
612
+ ```bash
613
+ node "./.claude/framework/bin/tools.cjs" commit "chore: concluir milestone v[X.Y]" --files .planning/milestones/v[X.Y]-ROADMAP.md .planning/milestones/v[X.Y]-REQUIREMENTS.md .planning/milestones/v[X.Y]-MILESTONE-AUDIT.md .planning/MILESTONES.md .planning/PROJECT.md .planning/STATE.md
614
+ ```
615
+
616
+ Confirmar: "Commitado: chore: concluir milestone v[X.Y]"
617
+
618
+ </step>
619
+
620
+ <step name="offer_next">
621
+
622
+ ```
623
+ ✅ Milestone v[X.Y] [Nome] concluído
624
+
625
+ Enviado:
626
+ - [N] fases ([M] planos, [P] tarefas)
627
+ - [Uma frase do que foi enviado]
628
+
629
+ Arquivado:
630
+ - milestones/v[X.Y]-ROADMAP.md
631
+ - milestones/v[X.Y]-REQUIREMENTS.md
632
+
633
+ Resumo: .planning/MILESTONES.md
634
+ Tag: v[X.Y]
635
+
636
+ ---
637
+
638
+ ## ▶ Próximo Passo
639
+
640
+ **Iniciar Próximo Milestone** — questionamento → pesquisa → requisitos → roadmap
641
+
642
+ `/novo-marco`
643
+
644
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
645
+
646
+ ---
647
+ ```
648
+
649
+ </step>
650
+
651
+ </process>
652
+
653
+ <milestone_naming>
654
+
655
+ **Convenções de versão:**
656
+ - **v1.0** — MVP Inicial
657
+ - **v1.1, v1.2** — Atualizações menores, novas funcionalidades, correções
658
+ - **v2.0, v3.0** — Reescritas maiores, mudanças breaking, nova direção
659
+
660
+ **Nomes:** Palavras curtas 1-2 (v1.0 MVP, v1.1 Segurança, v1.2 Performance, v2.0 Redesign).
661
+
662
+ </milestone_naming>
663
+
664
+ <what_qualifies>
665
+
666
+ **Criar milestones para:** Release inicial, releases públicos, conjuntos de funcionalidades principais enviados, antes de arquivar planejamento.
667
+
668
+ **Não criar milestones para:** Cada conclusão de fase (muito granular), trabalho em progresso, iterações de dev internas (a menos que realmente enviado).
669
+
670
+ Heurística: "Isso foi implantado/usável/enviado?" Se sim → milestone. Se não → continuar trabalhando.
671
+
672
+ </what_qualifies>
673
+
674
+ <success_criteria>
675
+
676
+ A conclusão do milestone é bem-sucedida quando:
677
+
678
+ - [ ] Entrada MILESTONES.md criada com estatísticas e realizações
679
+ - [ ] Revisão completa de evolução do PROJECT.md concluída
680
+ - [ ] Todos os requisitos enviados movidos para Validados no PROJECT.md
681
+ - [ ] Decisões Importantes atualizadas com resultados
682
+ - [ ] ROADMAP.md reorganizado com agrupamento de milestone
683
+ - [ ] Arquivo de roadmap criado (milestones/v[X.Y]-ROADMAP.md)
684
+ - [ ] Arquivo de requisitos criado (milestones/v[X.Y]-REQUIREMENTS.md)
685
+ - [ ] REQUIREMENTS.md deletado (novo para próximo milestone)
686
+ - [ ] STATE.md atualizado com referência de projeto fresca
687
+ - [ ] Tag git criada (v[X.Y])
688
+ - [ ] Commit de milestone feito (inclui arquivos de arquivo e deleção)
689
+ - [ ] Conclusão de requisitos verificada contra tabela de rastreabilidade do REQUIREMENTS.md
690
+ - [ ] Requisitos incompletos surfaçados com opções prosseguir/auditar/abortar
691
+ - [ ] Lacunas conhecidas registradas no MILESTONES.md se usuário prosseguiu com requisitos incompletos
692
+ - [ ] RETROSPECTIVE.md atualizado com seção de milestone
693
+ - [ ] Tendências cross-milestone atualizadas
694
+ - [ ] Usuário conhece próximo passo (/novo-marco)
695
+
696
+ </success_criteria>