@luanpdd/kit-mcp 1.21.0 → 1.26.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 (275) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +914 -648
  3. package/kit/COMANDOS.md +138 -138
  4. package/kit/README.md +76 -52
  5. package/kit/agents/advisor-researcher.md +106 -106
  6. package/kit/agents/assumptions-analyzer.md +107 -107
  7. package/kit/agents/audit-log-implementer.md +138 -0
  8. package/kit/agents/auditor-consistencia-isolamento.md +413 -0
  9. package/kit/agents/codebase-mapper.md +768 -768
  10. package/kit/agents/crm-pipeline-implementer.md +106 -0
  11. package/kit/agents/debugger.md +813 -772
  12. package/kit/agents/detector-tenant-quente.md +337 -0
  13. package/kit/agents/evolution-go-integrator.md +21 -0
  14. package/kit/agents/example-reviewer.md +21 -21
  15. package/kit/agents/executor.md +564 -523
  16. package/kit/agents/integration-checker.md +200 -200
  17. package/kit/agents/invite-flow-implementer.md +52 -0
  18. package/kit/agents/lgpd-compliance-auditor.md +89 -0
  19. package/kit/agents/multi-tenant-isolation-auditor.md +10 -0
  20. package/kit/agents/multi-tenant-rls-writer.md +78 -0
  21. package/kit/agents/nyquist-auditor.md +178 -178
  22. package/kit/agents/org-onboarding-implementer.md +21 -0
  23. package/kit/agents/phase-researcher.md +696 -696
  24. package/kit/agents/plan-checker.md +272 -272
  25. package/kit/agents/planner.md +922 -891
  26. package/kit/agents/project-researcher.md +652 -652
  27. package/kit/agents/research-synthesizer.md +245 -245
  28. package/kit/agents/roadmapper.md +677 -677
  29. package/kit/agents/supabase-architect.md +27 -0
  30. package/kit/agents/supabase-auth-bootstrapper.md +80 -0
  31. package/kit/agents/supabase-column-privileges-writer.md +399 -0
  32. package/kit/agents/supabase-migration-writer.md +141 -14
  33. package/kit/agents/supabase-rbac-implementer.md +392 -0
  34. package/kit/agents/supabase-rls-hardener.md +521 -0
  35. package/kit/agents/supabase-rls-writer.md +105 -9
  36. package/kit/agents/supabase-roles-implementer.md +355 -0
  37. package/kit/agents/super-admin-implementer.md +99 -0
  38. package/kit/agents/ui-auditor.md +437 -437
  39. package/kit/agents/ui-checker.md +302 -302
  40. package/kit/agents/ui-researcher.md +355 -355
  41. package/kit/agents/user-profiler.md +175 -175
  42. package/kit/agents/validador-evolucao-schema.md +335 -0
  43. package/kit/agents/verifier.md +728 -728
  44. package/kit/commands/adicionar-backlog.md +75 -75
  45. package/kit/commands/adicionar-fase.md +42 -42
  46. package/kit/commands/adicionar-tarefa.md +45 -45
  47. package/kit/commands/adicionar-testes.md +41 -41
  48. package/kit/commands/ajuda.md +21 -21
  49. package/kit/commands/atualizar.md +37 -37
  50. package/kit/commands/auditar-marco.md +179 -179
  51. package/kit/commands/auditar-uat.md +23 -23
  52. package/kit/commands/autonomo.md +40 -40
  53. package/kit/commands/branch-pr.md +24 -24
  54. package/kit/commands/concluir-marco.md +247 -247
  55. package/kit/commands/configuracoes.md +36 -36
  56. package/kit/commands/dados-distribuidos.md +188 -0
  57. package/kit/commands/definir-perfil.md +10 -10
  58. package/kit/commands/depurar.md +190 -190
  59. package/kit/commands/discutir-fase.md +131 -131
  60. package/kit/commands/entrar-discord.md +17 -17
  61. package/kit/commands/estatisticas.md +18 -18
  62. package/kit/commands/example-greeting.md +33 -33
  63. package/kit/commands/executar-fase.md +58 -58
  64. package/kit/commands/expresso.md +56 -56
  65. package/kit/commands/fase-ui.md +34 -34
  66. package/kit/commands/fazer.md +57 -57
  67. package/kit/commands/fio.md +125 -125
  68. package/kit/commands/fluxos-trabalho.md +64 -64
  69. package/kit/commands/forense.md +176 -176
  70. package/kit/commands/gerenciador.md +38 -38
  71. package/kit/commands/inserir-fase.md +31 -31
  72. package/kit/commands/limpeza.md +17 -17
  73. package/kit/commands/listar-hipoteses-fase.md +45 -45
  74. package/kit/commands/listar-workspaces.md +18 -18
  75. package/kit/commands/mapear-codebase.md +70 -70
  76. package/kit/commands/nota.md +33 -33
  77. package/kit/commands/novo-marco.md +43 -43
  78. package/kit/commands/novo-projeto.md +41 -41
  79. package/kit/commands/novo-workspace.md +43 -43
  80. package/kit/commands/pausar-trabalho.md +37 -37
  81. package/kit/commands/perfil-usuario.md +45 -45
  82. package/kit/commands/pesquisar-fase.md +195 -195
  83. package/kit/commands/planejar-fase.md +67 -67
  84. package/kit/commands/planejar-lacunas.md +33 -33
  85. package/kit/commands/plantar-ideia.md +25 -25
  86. package/kit/commands/progresso.md +24 -24
  87. package/kit/commands/proximo.md +30 -30
  88. package/kit/commands/publicar.md +490 -490
  89. package/kit/commands/rapido.md +35 -35
  90. package/kit/commands/reaplicar-patches.md +124 -124
  91. package/kit/commands/relatorio-sessao.md +19 -19
  92. package/kit/commands/remover-fase.md +31 -31
  93. package/kit/commands/remover-workspace.md +26 -26
  94. package/kit/commands/resumo-marco.md +50 -50
  95. package/kit/commands/retomar-trabalho.md +40 -40
  96. package/kit/commands/revisar-backlog.md +60 -60
  97. package/kit/commands/revisar-ui.md +32 -32
  98. package/kit/commands/revisar.md +37 -37
  99. package/kit/commands/saude.md +21 -21
  100. package/kit/commands/setup-notion.md +93 -93
  101. package/kit/commands/supabase.md +55 -8
  102. package/kit/commands/sync-main.md +68 -68
  103. package/kit/commands/validar-fase.md +35 -35
  104. package/kit/commands/verificar-tarefas.md +44 -44
  105. package/kit/commands/verificar-trabalho.md +64 -64
  106. package/kit/file-manifest.json +52 -32
  107. package/kit/framework/bin/lib/commands.cjs +959 -959
  108. package/kit/framework/bin/lib/config.cjs +442 -442
  109. package/kit/framework/bin/lib/core.cjs +1230 -1230
  110. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  111. package/kit/framework/bin/lib/init.cjs +1442 -1442
  112. package/kit/framework/bin/lib/milestone.cjs +252 -252
  113. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  114. package/kit/framework/bin/lib/phase.cjs +888 -888
  115. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  116. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  117. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  118. package/kit/framework/bin/lib/security.cjs +382 -382
  119. package/kit/framework/bin/lib/state.cjs +1031 -1031
  120. package/kit/framework/bin/lib/template.cjs +222 -222
  121. package/kit/framework/bin/lib/uat.cjs +282 -282
  122. package/kit/framework/bin/lib/verify.cjs +888 -888
  123. package/kit/framework/bin/lib/workstream.cjs +491 -491
  124. package/kit/framework/bin/tools.cjs +918 -918
  125. package/kit/framework/commands/workstreams.md +63 -63
  126. package/kit/framework/references/checkpoints.md +778 -778
  127. package/kit/framework/references/continuation-format.md +249 -249
  128. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  129. package/kit/framework/references/git-integration.md +295 -295
  130. package/kit/framework/references/git-planning-commit.md +38 -38
  131. package/kit/framework/references/model-profile-resolution.md +36 -36
  132. package/kit/framework/references/model-profiles.md +139 -139
  133. package/kit/framework/references/phase-argument-parsing.md +61 -61
  134. package/kit/framework/references/planning-config.md +202 -202
  135. package/kit/framework/references/questioning.md +162 -162
  136. package/kit/framework/references/tdd.md +263 -263
  137. package/kit/framework/references/ui-brand.md +160 -160
  138. package/kit/framework/references/user-profiling.md +657 -657
  139. package/kit/framework/references/verification-patterns.md +612 -612
  140. package/kit/framework/references/workstream-flag.md +58 -58
  141. package/kit/framework/templates/DEBUG.md +164 -164
  142. package/kit/framework/templates/UAT.md +265 -265
  143. package/kit/framework/templates/UI-SPEC.md +100 -100
  144. package/kit/framework/templates/VALIDATION.md +76 -76
  145. package/kit/framework/templates/claude-md.md +122 -122
  146. package/kit/framework/templates/codebase/architecture.md +185 -185
  147. package/kit/framework/templates/codebase/concerns.md +205 -205
  148. package/kit/framework/templates/codebase/conventions.md +204 -204
  149. package/kit/framework/templates/codebase/integrations.md +192 -192
  150. package/kit/framework/templates/codebase/stack.md +158 -158
  151. package/kit/framework/templates/codebase/structure.md +199 -199
  152. package/kit/framework/templates/codebase/testing.md +301 -301
  153. package/kit/framework/templates/config.json +44 -44
  154. package/kit/framework/templates/context.md +352 -352
  155. package/kit/framework/templates/continue-here.md +78 -78
  156. package/kit/framework/templates/copilot-instructions.md +7 -7
  157. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  158. package/kit/framework/templates/dev-preferences.md +20 -20
  159. package/kit/framework/templates/discovery.md +146 -146
  160. package/kit/framework/templates/discussion-log.md +63 -63
  161. package/kit/framework/templates/milestone-archive.md +123 -123
  162. package/kit/framework/templates/milestone.md +115 -115
  163. package/kit/framework/templates/phase-prompt.md +610 -610
  164. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  165. package/kit/framework/templates/project.md +186 -186
  166. package/kit/framework/templates/requirements.md +231 -231
  167. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  168. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  169. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  170. package/kit/framework/templates/research-project/STACK.md +120 -120
  171. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  172. package/kit/framework/templates/research.md +419 -419
  173. package/kit/framework/templates/retrospective.md +54 -54
  174. package/kit/framework/templates/roadmap.md +202 -202
  175. package/kit/framework/templates/state.md +176 -176
  176. package/kit/framework/templates/summary-complex.md +59 -59
  177. package/kit/framework/templates/summary-minimal.md +41 -41
  178. package/kit/framework/templates/summary-standard.md +48 -48
  179. package/kit/framework/templates/summary.md +209 -209
  180. package/kit/framework/templates/user-profile.md +146 -146
  181. package/kit/framework/templates/user-setup.md +256 -256
  182. package/kit/framework/templates/verification-report.md +258 -258
  183. package/kit/framework/workflows/add-phase.md +112 -112
  184. package/kit/framework/workflows/add-tests.md +351 -351
  185. package/kit/framework/workflows/add-todo.md +158 -158
  186. package/kit/framework/workflows/audit-milestone.md +340 -340
  187. package/kit/framework/workflows/audit-uat.md +109 -109
  188. package/kit/framework/workflows/autonomous.md +891 -891
  189. package/kit/framework/workflows/check-todos.md +177 -177
  190. package/kit/framework/workflows/cleanup.md +152 -152
  191. package/kit/framework/workflows/complete-milestone.md +696 -696
  192. package/kit/framework/workflows/diagnose-issues.md +231 -231
  193. package/kit/framework/workflows/discovery-phase.md +289 -289
  194. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  195. package/kit/framework/workflows/discuss-phase.md +784 -784
  196. package/kit/framework/workflows/do.md +104 -104
  197. package/kit/framework/workflows/execute-phase.md +838 -838
  198. package/kit/framework/workflows/execute-plan.md +510 -510
  199. package/kit/framework/workflows/fast.md +102 -102
  200. package/kit/framework/workflows/forensics.md +265 -265
  201. package/kit/framework/workflows/health.md +181 -181
  202. package/kit/framework/workflows/help.md +619 -619
  203. package/kit/framework/workflows/insert-phase.md +130 -130
  204. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  205. package/kit/framework/workflows/list-workspaces.md +56 -56
  206. package/kit/framework/workflows/manager.md +362 -362
  207. package/kit/framework/workflows/map-codebase.md +377 -377
  208. package/kit/framework/workflows/milestone-summary.md +223 -223
  209. package/kit/framework/workflows/new-milestone.md +486 -486
  210. package/kit/framework/workflows/new-project.md +1159 -1159
  211. package/kit/framework/workflows/new-workspace.md +237 -237
  212. package/kit/framework/workflows/next.md +97 -97
  213. package/kit/framework/workflows/node-repair.md +92 -92
  214. package/kit/framework/workflows/note.md +156 -156
  215. package/kit/framework/workflows/pause-work.md +176 -176
  216. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  217. package/kit/framework/workflows/plan-phase.md +765 -765
  218. package/kit/framework/workflows/plant-seed.md +169 -169
  219. package/kit/framework/workflows/pr-branch.md +129 -129
  220. package/kit/framework/workflows/profile-user.md +450 -450
  221. package/kit/framework/workflows/progress.md +507 -507
  222. package/kit/framework/workflows/quick.md +757 -757
  223. package/kit/framework/workflows/remove-phase.md +155 -155
  224. package/kit/framework/workflows/remove-workspace.md +90 -90
  225. package/kit/framework/workflows/research-phase.md +82 -82
  226. package/kit/framework/workflows/resume-project.md +326 -326
  227. package/kit/framework/workflows/review.md +228 -228
  228. package/kit/framework/workflows/session-report.md +146 -146
  229. package/kit/framework/workflows/settings.md +283 -283
  230. package/kit/framework/workflows/ship.md +228 -228
  231. package/kit/framework/workflows/stats.md +60 -60
  232. package/kit/framework/workflows/transition.md +671 -671
  233. package/kit/framework/workflows/ui-phase.md +302 -302
  234. package/kit/framework/workflows/ui-review.md +165 -165
  235. package/kit/framework/workflows/update.md +323 -323
  236. package/kit/framework/workflows/validate-phase.md +174 -174
  237. package/kit/framework/workflows/verify-phase.md +252 -252
  238. package/kit/framework/workflows/verify-work.md +637 -637
  239. package/kit/hooks/check-update.js +118 -118
  240. package/kit/hooks/context-monitor.js +163 -163
  241. package/kit/hooks/prompt-guard.js +103 -103
  242. package/kit/hooks/statusline.js +125 -125
  243. package/kit/hooks/workflow-guard.js +101 -101
  244. package/kit/settings.json +45 -45
  245. package/kit/skills/_shared-dados-distribuidos/glossary.md +224 -0
  246. package/kit/skills/_shared-supabase/glossary.md +27 -0
  247. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -0
  248. package/kit/skills/audit-log-multi-tenant/SKILL.md +6 -0
  249. package/kit/skills/cascading-failures/SKILL.md +4 -0
  250. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -0
  251. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +17 -0
  252. package/kit/skills/escolha-modelo-consistencia/SKILL.md +495 -0
  253. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -0
  254. package/kit/skills/example-skill/SKILL.md +42 -42
  255. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +4 -0
  256. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +4 -0
  257. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -0
  258. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +37 -0
  259. package/kit/skills/streams-eventos-cdc/SKILL.md +712 -0
  260. package/kit/skills/supabase-column-level-security/SKILL.md +426 -0
  261. package/kit/skills/supabase-cron-queues/SKILL.md +9 -0
  262. package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -0
  263. package/kit/skills/supabase-database-functions/SKILL.md +85 -0
  264. package/kit/skills/supabase-migrations/SKILL.md +133 -11
  265. package/kit/skills/supabase-postgres-roles/SKILL.md +392 -0
  266. package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -0
  267. package/kit/skills/supabase-rls-policies/SKILL.md +462 -12
  268. package/kit/skills/super-admin-platform-pattern/SKILL.md +4 -0
  269. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -0
  270. package/package.json +63 -63
  271. package/src/core/kit.js +216 -216
  272. package/src/core/reflect.js +247 -247
  273. package/src/core/reverse-sync.js +372 -372
  274. package/src/core/sync.js +418 -418
  275. package/src/core/watch.js +121 -121
@@ -1,169 +1,169 @@
1
- <purpose>
2
- Captura uma ideia prospectiva como um arquivo de semente estruturado com condições de ativação.
3
- As sementes se apresentam automaticamente durante /novo-marco quando as condições de ativação
4
- correspondem ao escopo do novo marco.
5
-
6
- Sementes superam itens adiados porque:
7
- - Preservam POR QUE a ideia é importante (não apenas O QUE)
8
- - Definem QUANDO apresentar (condições de ativação, não varredura manual)
9
- - Rastreiam trilhas de evidências (referências de código, decisões relacionadas)
10
- - Se apresentam automaticamente no momento certo via varredura de novo-marco
11
- </purpose>
12
-
13
- <process>
14
-
15
- <step name="parse_idea">
16
- Analise `$ARGUMENTS` para o resumo da ideia.
17
-
18
- Se vazio, pergunte:
19
- ```
20
- Qual é a ideia? (uma frase)
21
- ```
22
-
23
- Armazene como `$IDEA`.
24
- </step>
25
-
26
- <step name="create_seed_dir">
27
- ```bash
28
- mkdir -p .planning/seeds
29
- ```
30
- </step>
31
-
32
- <step name="gather_context">
33
- Faça perguntas focadas para construir uma semente completa:
34
-
35
- ```
36
- AskUserQuestion(
37
- header: "Gatilho",
38
- question: "Quando esta ideia deve se apresentar? (ex.: 'quando adicionarmos contas de usuário', 'na próxima versão principal', 'quando desempenho se tornar prioridade')",
39
- options: [] // texto livre
40
- )
41
- ```
42
-
43
- Armazene como `$TRIGGER`.
44
-
45
- ```
46
- AskUserQuestion(
47
- header: "Por quê",
48
- question: "Por que isso é importante? Que problema resolve ou que oportunidade cria?",
49
- options: []
50
- )
51
- ```
52
-
53
- Armazene como `$WHY`.
54
-
55
- ```
56
- AskUserQuestion(
57
- header: "Escopo",
58
- question: "Qual o tamanho disso? (estimativa aproximada)",
59
- options: [
60
- { label: "Pequeno", description: "Algumas horas — pode ser uma tarefa rápida" },
61
- { label: "Médio", description: "Uma fase ou duas — precisa de planejamento" },
62
- { label: "Grande", description: "Um marco completo — esforço significativo" }
63
- ]
64
- )
65
- ```
66
-
67
- Armazene como `$SCOPE`.
68
- </step>
69
-
70
- <step name="collect_breadcrumbs">
71
- Pesquise no codebase referências relevantes:
72
-
73
- ```bash
74
- # Encontrar arquivos relacionados às palavras-chave da ideia
75
- grep -rl "$KEYWORD" --include="*.ts" --include="*.js" --include="*.md" . 2>/dev/null | head -10
76
- ```
77
-
78
- Verifique também:
79
- - STATE.md atual para decisões relacionadas
80
- - ROADMAP.md para fases relacionadas
81
- - todos/ para ideias capturadas relacionadas
82
-
83
- Armazene os caminhos de arquivo relevantes como `$BREADCRUMBS`.
84
- </step>
85
-
86
- <step name="generate_seed_id">
87
- ```bash
88
- # Encontrar o próximo número de semente
89
- EXISTING=$( (ls .planning/seeds/SEED-*.md 2>/dev/null || true) | wc -l )
90
- NEXT=$((EXISTING + 1))
91
- PADDED=$(printf "%03d" $NEXT)
92
- ```
93
-
94
- Gere um slug a partir do resumo da ideia.
95
- </step>
96
-
97
- <step name="write_seed">
98
- Escreva `.planning/seeds/SEED-{PADDED}-{slug}.md`:
99
-
100
- ```markdown
101
- ---
102
- id: SEED-{PADDED}
103
- status: dormant
104
- planted: {data ISO}
105
- planted_during: {marco/fase atual do STATE.md}
106
- trigger_when: {$TRIGGER}
107
- scope: {$SCOPE}
108
- ---
109
-
110
- # SEED-{PADDED}: {$IDEA}
111
-
112
- ## Por Que Isso Importa
113
-
114
- {$WHY}
115
-
116
- ## Quando Apresentar
117
-
118
- **Gatilho:** {$TRIGGER}
119
-
120
- Esta semente deve ser apresentada durante `/novo-marco` quando o escopo
121
- do marco corresponder a qualquer uma destas condições:
122
- - {condição de ativação 1}
123
- - {condição de ativação 2}
124
-
125
- ## Estimativa de Escopo
126
-
127
- **{$SCOPE}** — {elaboração baseada na escolha de escopo}
128
-
129
- ## Trilhas de Evidências
130
-
131
- Código e decisões relacionados encontrados no codebase atual:
132
-
133
- {lista de $BREADCRUMBS com caminhos de arquivo}
134
-
135
- ## Notas
136
-
137
- {qualquer contexto adicional da sessão atual}
138
- ```
139
- </step>
140
-
141
- <step name="commit_seed">
142
- ```bash
143
- node "./.claude/framework/bin/tools.cjs" commit "docs: plantar semente — {$IDEA}" --files .planning/seeds/SEED-{PADDED}-{slug}.md
144
- ```
145
- </step>
146
-
147
- <step name="confirm">
148
- ```
149
- ✅ Semente plantada: SEED-{PADDED}
150
-
151
- "{$IDEA}"
152
- Gatilho: {$TRIGGER}
153
- Escopo: {$SCOPE}
154
- Arquivo: .planning/seeds/SEED-{PADDED}-{slug}.md
155
-
156
- Esta semente se apresentará automaticamente quando você executar /novo-marco
157
- e o escopo do marco corresponder à condição de ativação.
158
- ```
159
- </step>
160
-
161
- </process>
162
-
163
- <success_criteria>
164
- - [ ] Arquivo de semente criado em .planning/seeds/
165
- - [ ] Frontmatter inclui status, gatilho, escopo
166
- - [ ] Trilhas de evidências coletadas do codebase
167
- - [ ] Commitado no git
168
- - [ ] Usuário visualiza confirmação com informações do gatilho
169
- </success_criteria>
1
+ <purpose>
2
+ Captura uma ideia prospectiva como um arquivo de semente estruturado com condições de ativação.
3
+ As sementes se apresentam automaticamente durante /novo-marco quando as condições de ativação
4
+ correspondem ao escopo do novo marco.
5
+
6
+ Sementes superam itens adiados porque:
7
+ - Preservam POR QUE a ideia é importante (não apenas O QUE)
8
+ - Definem QUANDO apresentar (condições de ativação, não varredura manual)
9
+ - Rastreiam trilhas de evidências (referências de código, decisões relacionadas)
10
+ - Se apresentam automaticamente no momento certo via varredura de novo-marco
11
+ </purpose>
12
+
13
+ <process>
14
+
15
+ <step name="parse_idea">
16
+ Analise `$ARGUMENTS` para o resumo da ideia.
17
+
18
+ Se vazio, pergunte:
19
+ ```
20
+ Qual é a ideia? (uma frase)
21
+ ```
22
+
23
+ Armazene como `$IDEA`.
24
+ </step>
25
+
26
+ <step name="create_seed_dir">
27
+ ```bash
28
+ mkdir -p .planning/seeds
29
+ ```
30
+ </step>
31
+
32
+ <step name="gather_context">
33
+ Faça perguntas focadas para construir uma semente completa:
34
+
35
+ ```
36
+ AskUserQuestion(
37
+ header: "Gatilho",
38
+ question: "Quando esta ideia deve se apresentar? (ex.: 'quando adicionarmos contas de usuário', 'na próxima versão principal', 'quando desempenho se tornar prioridade')",
39
+ options: [] // texto livre
40
+ )
41
+ ```
42
+
43
+ Armazene como `$TRIGGER`.
44
+
45
+ ```
46
+ AskUserQuestion(
47
+ header: "Por quê",
48
+ question: "Por que isso é importante? Que problema resolve ou que oportunidade cria?",
49
+ options: []
50
+ )
51
+ ```
52
+
53
+ Armazene como `$WHY`.
54
+
55
+ ```
56
+ AskUserQuestion(
57
+ header: "Escopo",
58
+ question: "Qual o tamanho disso? (estimativa aproximada)",
59
+ options: [
60
+ { label: "Pequeno", description: "Algumas horas — pode ser uma tarefa rápida" },
61
+ { label: "Médio", description: "Uma fase ou duas — precisa de planejamento" },
62
+ { label: "Grande", description: "Um marco completo — esforço significativo" }
63
+ ]
64
+ )
65
+ ```
66
+
67
+ Armazene como `$SCOPE`.
68
+ </step>
69
+
70
+ <step name="collect_breadcrumbs">
71
+ Pesquise no codebase referências relevantes:
72
+
73
+ ```bash
74
+ # Encontrar arquivos relacionados às palavras-chave da ideia
75
+ grep -rl "$KEYWORD" --include="*.ts" --include="*.js" --include="*.md" . 2>/dev/null | head -10
76
+ ```
77
+
78
+ Verifique também:
79
+ - STATE.md atual para decisões relacionadas
80
+ - ROADMAP.md para fases relacionadas
81
+ - todos/ para ideias capturadas relacionadas
82
+
83
+ Armazene os caminhos de arquivo relevantes como `$BREADCRUMBS`.
84
+ </step>
85
+
86
+ <step name="generate_seed_id">
87
+ ```bash
88
+ # Encontrar o próximo número de semente
89
+ EXISTING=$( (ls .planning/seeds/SEED-*.md 2>/dev/null || true) | wc -l )
90
+ NEXT=$((EXISTING + 1))
91
+ PADDED=$(printf "%03d" $NEXT)
92
+ ```
93
+
94
+ Gere um slug a partir do resumo da ideia.
95
+ </step>
96
+
97
+ <step name="write_seed">
98
+ Escreva `.planning/seeds/SEED-{PADDED}-{slug}.md`:
99
+
100
+ ```markdown
101
+ ---
102
+ id: SEED-{PADDED}
103
+ status: dormant
104
+ planted: {data ISO}
105
+ planted_during: {marco/fase atual do STATE.md}
106
+ trigger_when: {$TRIGGER}
107
+ scope: {$SCOPE}
108
+ ---
109
+
110
+ # SEED-{PADDED}: {$IDEA}
111
+
112
+ ## Por Que Isso Importa
113
+
114
+ {$WHY}
115
+
116
+ ## Quando Apresentar
117
+
118
+ **Gatilho:** {$TRIGGER}
119
+
120
+ Esta semente deve ser apresentada durante `/novo-marco` quando o escopo
121
+ do marco corresponder a qualquer uma destas condições:
122
+ - {condição de ativação 1}
123
+ - {condição de ativação 2}
124
+
125
+ ## Estimativa de Escopo
126
+
127
+ **{$SCOPE}** — {elaboração baseada na escolha de escopo}
128
+
129
+ ## Trilhas de Evidências
130
+
131
+ Código e decisões relacionados encontrados no codebase atual:
132
+
133
+ {lista de $BREADCRUMBS com caminhos de arquivo}
134
+
135
+ ## Notas
136
+
137
+ {qualquer contexto adicional da sessão atual}
138
+ ```
139
+ </step>
140
+
141
+ <step name="commit_seed">
142
+ ```bash
143
+ node "./.claude/framework/bin/tools.cjs" commit "docs: plantar semente — {$IDEA}" --files .planning/seeds/SEED-{PADDED}-{slug}.md
144
+ ```
145
+ </step>
146
+
147
+ <step name="confirm">
148
+ ```
149
+ ✅ Semente plantada: SEED-{PADDED}
150
+
151
+ "{$IDEA}"
152
+ Gatilho: {$TRIGGER}
153
+ Escopo: {$SCOPE}
154
+ Arquivo: .planning/seeds/SEED-{PADDED}-{slug}.md
155
+
156
+ Esta semente se apresentará automaticamente quando você executar /novo-marco
157
+ e o escopo do marco corresponder à condição de ativação.
158
+ ```
159
+ </step>
160
+
161
+ </process>
162
+
163
+ <success_criteria>
164
+ - [ ] Arquivo de semente criado em .planning/seeds/
165
+ - [ ] Frontmatter inclui status, gatilho, escopo
166
+ - [ ] Trilhas de evidências coletadas do codebase
167
+ - [ ] Commitado no git
168
+ - [ ] Usuário visualiza confirmação com informações do gatilho
169
+ </success_criteria>
@@ -1,129 +1,129 @@
1
- <purpose>
2
- Cria uma branch limpa para pull requests, filtrando commits do diretório .planning/.
3
- A branch de PR contém apenas mudanças de código — revisores não veem artefatos framework
4
- (PLAN.md, SUMMARY.md, STATE.md, CONTEXT.md, etc.).
5
-
6
- Usa git cherry-pick com filtragem de caminho para reconstruir um histórico limpo.
7
- </purpose>
8
-
9
- <process>
10
-
11
- <step name="detect_state">
12
- Analise `$ARGUMENTS` para branch alvo (padrão: `main`).
13
-
14
- ```bash
15
- CURRENT_BRANCH=$(git branch --show-current)
16
- TARGET=${1:-main}
17
- ```
18
-
19
- Verifique pré-condições:
20
- - Deve estar em uma branch de feature (não main/master)
21
- - Deve ter commits à frente do alvo
22
-
23
- ```bash
24
- AHEAD=$(git rev-list --count "$TARGET".."$CURRENT_BRANCH" 2>/dev/null)
25
- if [ "$AHEAD" = "0" ]; then
26
- echo "Nenhum commit à frente de $TARGET — nada para filtrar."
27
- exit 0
28
- fi
29
- ```
30
-
31
- Exiba:
32
- ```
33
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
34
- framework ► BRANCH DE PR
35
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
36
-
37
- Branch: {CURRENT_BRANCH}
38
- Alvo: {TARGET}
39
- Commits: {AHEAD} à frente
40
- ```
41
- </step>
42
-
43
- <step name="analyze_commits">
44
- Classifique os commits:
45
-
46
- ```bash
47
- # Obter todos os commits à frente do alvo
48
- git log --oneline "$TARGET".."$CURRENT_BRANCH" --no-merges
49
- ```
50
-
51
- Para cada commit, verifique se ele toca APENAS arquivos em .planning/:
52
-
53
- ```bash
54
- # Para cada hash de commit
55
- FILES=$(git diff-tree --no-commit-id --name-only -r $HASH)
56
- ALL_PLANNING=$(echo "$FILES" | grep -v "^\.planning/" | wc -l)
57
- ```
58
-
59
- Classifique:
60
- - **Commits de código**: Tocam ao menos um arquivo fora de .planning/ → INCLUIR
61
- - **Commits apenas de planejamento**: Tocam apenas arquivos em .planning/ → EXCLUIR
62
- - **Commits mistos**: Tocam ambos → INCLUIR (mudanças de planejamento vêm junto)
63
-
64
- Exiba a análise:
65
- ```
66
- Commits a incluir: {N} (mudanças de código)
67
- Commits a excluir: {N} (apenas planejamento)
68
- Commits mistos: {N} (código + planejamento — incluídos)
69
- ```
70
- </step>
71
-
72
- <step name="create_pr_branch">
73
- ```bash
74
- PR_BRANCH="${CURRENT_BRANCH}-pr"
75
-
76
- # Criar branch de PR a partir do alvo
77
- git checkout -b "$PR_BRANCH" "$TARGET"
78
- ```
79
-
80
- Cherry-pick apenas commits de código (em ordem):
81
-
82
- ```bash
83
- for HASH in $CODE_COMMITS; do
84
- git cherry-pick "$HASH" --no-commit
85
- # Remover qualquer arquivo .planning/ que veio em commits mistos
86
- git rm -r --cached .planning/ 2>/dev/null || true
87
- git commit -C "$HASH"
88
- done
89
- ```
90
-
91
- Retorne à branch original:
92
- ```bash
93
- git checkout "$CURRENT_BRANCH"
94
- ```
95
- </step>
96
-
97
- <step name="verify">
98
- ```bash
99
- # Verificar se há arquivos .planning/ na branch de PR
100
- PLANNING_FILES=$(git diff --name-only "$TARGET".."$PR_BRANCH" | grep "^\.planning/" | wc -l)
101
- TOTAL_FILES=$(git diff --name-only "$TARGET".."$PR_BRANCH" | wc -l)
102
- PR_COMMITS=$(git rev-list --count "$TARGET".."$PR_BRANCH")
103
- ```
104
-
105
- Exiba os resultados:
106
- ```
107
- ✅ Branch de PR criada: {PR_BRANCH}
108
-
109
- Original: {AHEAD} commits, {ORIGINAL_FILES} arquivos
110
- Branch de PR: {PR_COMMITS} commits, {TOTAL_FILES} arquivos
111
- Arquivos de planejamento: {PLANNING_FILES} (deve ser 0)
112
-
113
- Próximos passos:
114
- git push origin {PR_BRANCH}
115
- gh pr create --base {TARGET} --head {PR_BRANCH}
116
-
117
- Ou use /publicar para criar o PR automaticamente.
118
- ```
119
- </step>
120
-
121
- </process>
122
-
123
- <success_criteria>
124
- - [ ] Branch de PR criada a partir do alvo
125
- - [ ] Commits somente de planejamento excluídos
126
- - [ ] Sem arquivos .planning/ no diff da branch de PR
127
- - [ ] Mensagens de commit preservadas do original
128
- - [ ] Usuário visualiza os próximos passos
129
- </success_criteria>
1
+ <purpose>
2
+ Cria uma branch limpa para pull requests, filtrando commits do diretório .planning/.
3
+ A branch de PR contém apenas mudanças de código — revisores não veem artefatos framework
4
+ (PLAN.md, SUMMARY.md, STATE.md, CONTEXT.md, etc.).
5
+
6
+ Usa git cherry-pick com filtragem de caminho para reconstruir um histórico limpo.
7
+ </purpose>
8
+
9
+ <process>
10
+
11
+ <step name="detect_state">
12
+ Analise `$ARGUMENTS` para branch alvo (padrão: `main`).
13
+
14
+ ```bash
15
+ CURRENT_BRANCH=$(git branch --show-current)
16
+ TARGET=${1:-main}
17
+ ```
18
+
19
+ Verifique pré-condições:
20
+ - Deve estar em uma branch de feature (não main/master)
21
+ - Deve ter commits à frente do alvo
22
+
23
+ ```bash
24
+ AHEAD=$(git rev-list --count "$TARGET".."$CURRENT_BRANCH" 2>/dev/null)
25
+ if [ "$AHEAD" = "0" ]; then
26
+ echo "Nenhum commit à frente de $TARGET — nada para filtrar."
27
+ exit 0
28
+ fi
29
+ ```
30
+
31
+ Exiba:
32
+ ```
33
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
34
+ framework ► BRANCH DE PR
35
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
36
+
37
+ Branch: {CURRENT_BRANCH}
38
+ Alvo: {TARGET}
39
+ Commits: {AHEAD} à frente
40
+ ```
41
+ </step>
42
+
43
+ <step name="analyze_commits">
44
+ Classifique os commits:
45
+
46
+ ```bash
47
+ # Obter todos os commits à frente do alvo
48
+ git log --oneline "$TARGET".."$CURRENT_BRANCH" --no-merges
49
+ ```
50
+
51
+ Para cada commit, verifique se ele toca APENAS arquivos em .planning/:
52
+
53
+ ```bash
54
+ # Para cada hash de commit
55
+ FILES=$(git diff-tree --no-commit-id --name-only -r $HASH)
56
+ ALL_PLANNING=$(echo "$FILES" | grep -v "^\.planning/" | wc -l)
57
+ ```
58
+
59
+ Classifique:
60
+ - **Commits de código**: Tocam ao menos um arquivo fora de .planning/ → INCLUIR
61
+ - **Commits apenas de planejamento**: Tocam apenas arquivos em .planning/ → EXCLUIR
62
+ - **Commits mistos**: Tocam ambos → INCLUIR (mudanças de planejamento vêm junto)
63
+
64
+ Exiba a análise:
65
+ ```
66
+ Commits a incluir: {N} (mudanças de código)
67
+ Commits a excluir: {N} (apenas planejamento)
68
+ Commits mistos: {N} (código + planejamento — incluídos)
69
+ ```
70
+ </step>
71
+
72
+ <step name="create_pr_branch">
73
+ ```bash
74
+ PR_BRANCH="${CURRENT_BRANCH}-pr"
75
+
76
+ # Criar branch de PR a partir do alvo
77
+ git checkout -b "$PR_BRANCH" "$TARGET"
78
+ ```
79
+
80
+ Cherry-pick apenas commits de código (em ordem):
81
+
82
+ ```bash
83
+ for HASH in $CODE_COMMITS; do
84
+ git cherry-pick "$HASH" --no-commit
85
+ # Remover qualquer arquivo .planning/ que veio em commits mistos
86
+ git rm -r --cached .planning/ 2>/dev/null || true
87
+ git commit -C "$HASH"
88
+ done
89
+ ```
90
+
91
+ Retorne à branch original:
92
+ ```bash
93
+ git checkout "$CURRENT_BRANCH"
94
+ ```
95
+ </step>
96
+
97
+ <step name="verify">
98
+ ```bash
99
+ # Verificar se há arquivos .planning/ na branch de PR
100
+ PLANNING_FILES=$(git diff --name-only "$TARGET".."$PR_BRANCH" | grep "^\.planning/" | wc -l)
101
+ TOTAL_FILES=$(git diff --name-only "$TARGET".."$PR_BRANCH" | wc -l)
102
+ PR_COMMITS=$(git rev-list --count "$TARGET".."$PR_BRANCH")
103
+ ```
104
+
105
+ Exiba os resultados:
106
+ ```
107
+ ✅ Branch de PR criada: {PR_BRANCH}
108
+
109
+ Original: {AHEAD} commits, {ORIGINAL_FILES} arquivos
110
+ Branch de PR: {PR_COMMITS} commits, {TOTAL_FILES} arquivos
111
+ Arquivos de planejamento: {PLANNING_FILES} (deve ser 0)
112
+
113
+ Próximos passos:
114
+ git push origin {PR_BRANCH}
115
+ gh pr create --base {TARGET} --head {PR_BRANCH}
116
+
117
+ Ou use /publicar para criar o PR automaticamente.
118
+ ```
119
+ </step>
120
+
121
+ </process>
122
+
123
+ <success_criteria>
124
+ - [ ] Branch de PR criada a partir do alvo
125
+ - [ ] Commits somente de planejamento excluídos
126
+ - [ ] Sem arquivos .planning/ no diff da branch de PR
127
+ - [ ] Mensagens de commit preservadas do original
128
+ - [ ] Usuário visualiza os próximos passos
129
+ </success_criteria>