@luanpdd/kit-mcp 1.20.0 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +648 -648
  3. package/gates/dept-cycle-prevention.md +179 -0
  4. package/gates/multi-tenant-rls-coverage.md +102 -0
  5. package/gates/service-role-not-in-user-facing.md +113 -0
  6. package/kit/COMANDOS.md +138 -138
  7. package/kit/README.md +52 -52
  8. package/kit/agents/advisor-researcher.md +106 -106
  9. package/kit/agents/assumptions-analyzer.md +107 -107
  10. package/kit/agents/audit-log-implementer.md +175 -0
  11. package/kit/agents/b2b-saas-architect.md +156 -0
  12. package/kit/agents/codebase-mapper.md +768 -768
  13. package/kit/agents/crm-pipeline-implementer.md +150 -0
  14. package/kit/agents/debugger.md +772 -772
  15. package/kit/agents/evolution-go-integrator.md +179 -0
  16. package/kit/agents/example-reviewer.md +21 -21
  17. package/kit/agents/executor.md +523 -523
  18. package/kit/agents/integration-checker.md +200 -200
  19. package/kit/agents/invite-flow-implementer.md +137 -0
  20. package/kit/agents/lgpd-compliance-auditor.md +206 -0
  21. package/kit/agents/multi-tenant-isolation-auditor.md +243 -0
  22. package/kit/agents/multi-tenant-rls-writer.md +262 -0
  23. package/kit/agents/nyquist-auditor.md +178 -178
  24. package/kit/agents/org-onboarding-implementer.md +202 -0
  25. package/kit/agents/phase-researcher.md +696 -696
  26. package/kit/agents/plan-checker.md +272 -272
  27. package/kit/agents/planner.md +891 -891
  28. package/kit/agents/project-researcher.md +652 -652
  29. package/kit/agents/research-synthesizer.md +245 -245
  30. package/kit/agents/roadmapper.md +677 -677
  31. package/kit/agents/super-admin-implementer.md +182 -0
  32. package/kit/agents/ui-auditor.md +437 -437
  33. package/kit/agents/ui-checker.md +302 -302
  34. package/kit/agents/ui-researcher.md +355 -355
  35. package/kit/agents/user-profiler.md +175 -175
  36. package/kit/agents/verifier.md +728 -728
  37. package/kit/commands/adicionar-backlog.md +75 -75
  38. package/kit/commands/adicionar-fase.md +42 -42
  39. package/kit/commands/adicionar-tarefa.md +45 -45
  40. package/kit/commands/adicionar-testes.md +41 -41
  41. package/kit/commands/ajuda.md +21 -21
  42. package/kit/commands/atualizar.md +37 -37
  43. package/kit/commands/auditar-marco.md +179 -179
  44. package/kit/commands/auditar-uat.md +23 -23
  45. package/kit/commands/autonomo.md +40 -40
  46. package/kit/commands/branch-pr.md +24 -24
  47. package/kit/commands/concluir-marco.md +247 -247
  48. package/kit/commands/configuracoes.md +36 -36
  49. package/kit/commands/definir-perfil.md +10 -10
  50. package/kit/commands/depurar.md +190 -190
  51. package/kit/commands/discutir-fase.md +131 -131
  52. package/kit/commands/entrar-discord.md +17 -17
  53. package/kit/commands/estatisticas.md +18 -18
  54. package/kit/commands/example-greeting.md +33 -33
  55. package/kit/commands/executar-fase.md +58 -58
  56. package/kit/commands/expresso.md +56 -56
  57. package/kit/commands/fase-ui.md +34 -34
  58. package/kit/commands/fazer.md +57 -57
  59. package/kit/commands/fio.md +125 -125
  60. package/kit/commands/fluxos-trabalho.md +64 -64
  61. package/kit/commands/forense.md +176 -176
  62. package/kit/commands/gerenciador.md +38 -38
  63. package/kit/commands/inserir-fase.md +31 -31
  64. package/kit/commands/limpeza.md +17 -17
  65. package/kit/commands/listar-hipoteses-fase.md +45 -45
  66. package/kit/commands/listar-workspaces.md +18 -18
  67. package/kit/commands/mapear-codebase.md +70 -70
  68. package/kit/commands/multi-tenant.md +163 -0
  69. package/kit/commands/nota.md +33 -33
  70. package/kit/commands/novo-marco.md +43 -43
  71. package/kit/commands/novo-projeto.md +41 -41
  72. package/kit/commands/novo-workspace.md +43 -43
  73. package/kit/commands/pausar-trabalho.md +37 -37
  74. package/kit/commands/perfil-usuario.md +45 -45
  75. package/kit/commands/pesquisar-fase.md +195 -195
  76. package/kit/commands/planejar-fase.md +67 -67
  77. package/kit/commands/planejar-lacunas.md +33 -33
  78. package/kit/commands/plantar-ideia.md +25 -25
  79. package/kit/commands/progresso.md +24 -24
  80. package/kit/commands/proximo.md +30 -30
  81. package/kit/commands/publicar.md +490 -490
  82. package/kit/commands/rapido.md +35 -35
  83. package/kit/commands/reaplicar-patches.md +124 -124
  84. package/kit/commands/relatorio-sessao.md +19 -19
  85. package/kit/commands/remover-fase.md +31 -31
  86. package/kit/commands/remover-workspace.md +26 -26
  87. package/kit/commands/resumo-marco.md +50 -50
  88. package/kit/commands/retomar-trabalho.md +40 -40
  89. package/kit/commands/revisar-backlog.md +60 -60
  90. package/kit/commands/revisar-ui.md +32 -32
  91. package/kit/commands/revisar.md +37 -37
  92. package/kit/commands/saude.md +21 -21
  93. package/kit/commands/setup-notion.md +93 -93
  94. package/kit/commands/sync-main.md +68 -68
  95. package/kit/commands/validar-fase.md +35 -35
  96. package/kit/commands/verificar-tarefas.md +44 -44
  97. package/kit/commands/verificar-trabalho.md +64 -64
  98. package/kit/file-manifest.json +30 -3
  99. package/kit/framework/bin/lib/commands.cjs +959 -959
  100. package/kit/framework/bin/lib/config.cjs +442 -442
  101. package/kit/framework/bin/lib/core.cjs +1230 -1230
  102. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  103. package/kit/framework/bin/lib/init.cjs +1442 -1442
  104. package/kit/framework/bin/lib/milestone.cjs +252 -252
  105. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  106. package/kit/framework/bin/lib/phase.cjs +888 -888
  107. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  108. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  109. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  110. package/kit/framework/bin/lib/security.cjs +382 -382
  111. package/kit/framework/bin/lib/state.cjs +1031 -1031
  112. package/kit/framework/bin/lib/template.cjs +222 -222
  113. package/kit/framework/bin/lib/uat.cjs +282 -282
  114. package/kit/framework/bin/lib/verify.cjs +888 -888
  115. package/kit/framework/bin/lib/workstream.cjs +491 -491
  116. package/kit/framework/bin/tools.cjs +918 -918
  117. package/kit/framework/commands/workstreams.md +63 -63
  118. package/kit/framework/references/checkpoints.md +778 -778
  119. package/kit/framework/references/continuation-format.md +249 -249
  120. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  121. package/kit/framework/references/git-integration.md +295 -295
  122. package/kit/framework/references/git-planning-commit.md +38 -38
  123. package/kit/framework/references/model-profile-resolution.md +36 -36
  124. package/kit/framework/references/model-profiles.md +139 -139
  125. package/kit/framework/references/phase-argument-parsing.md +61 -61
  126. package/kit/framework/references/planning-config.md +202 -202
  127. package/kit/framework/references/questioning.md +162 -162
  128. package/kit/framework/references/tdd.md +263 -263
  129. package/kit/framework/references/ui-brand.md +160 -160
  130. package/kit/framework/references/user-profiling.md +657 -657
  131. package/kit/framework/references/verification-patterns.md +612 -612
  132. package/kit/framework/references/workstream-flag.md +58 -58
  133. package/kit/framework/templates/DEBUG.md +164 -164
  134. package/kit/framework/templates/UAT.md +265 -265
  135. package/kit/framework/templates/UI-SPEC.md +100 -100
  136. package/kit/framework/templates/VALIDATION.md +76 -76
  137. package/kit/framework/templates/claude-md.md +122 -122
  138. package/kit/framework/templates/codebase/architecture.md +185 -185
  139. package/kit/framework/templates/codebase/concerns.md +205 -205
  140. package/kit/framework/templates/codebase/conventions.md +204 -204
  141. package/kit/framework/templates/codebase/integrations.md +192 -192
  142. package/kit/framework/templates/codebase/stack.md +158 -158
  143. package/kit/framework/templates/codebase/structure.md +199 -199
  144. package/kit/framework/templates/codebase/testing.md +301 -301
  145. package/kit/framework/templates/config.json +44 -44
  146. package/kit/framework/templates/context.md +352 -352
  147. package/kit/framework/templates/continue-here.md +78 -78
  148. package/kit/framework/templates/copilot-instructions.md +7 -7
  149. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  150. package/kit/framework/templates/dev-preferences.md +20 -20
  151. package/kit/framework/templates/discovery.md +146 -146
  152. package/kit/framework/templates/discussion-log.md +63 -63
  153. package/kit/framework/templates/milestone-archive.md +123 -123
  154. package/kit/framework/templates/milestone.md +115 -115
  155. package/kit/framework/templates/phase-prompt.md +610 -610
  156. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  157. package/kit/framework/templates/project.md +186 -186
  158. package/kit/framework/templates/requirements.md +231 -231
  159. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  160. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  161. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  162. package/kit/framework/templates/research-project/STACK.md +120 -120
  163. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  164. package/kit/framework/templates/research.md +419 -419
  165. package/kit/framework/templates/retrospective.md +54 -54
  166. package/kit/framework/templates/roadmap.md +202 -202
  167. package/kit/framework/templates/state.md +176 -176
  168. package/kit/framework/templates/summary-complex.md +59 -59
  169. package/kit/framework/templates/summary-minimal.md +41 -41
  170. package/kit/framework/templates/summary-standard.md +48 -48
  171. package/kit/framework/templates/summary.md +209 -209
  172. package/kit/framework/templates/user-profile.md +146 -146
  173. package/kit/framework/templates/user-setup.md +256 -256
  174. package/kit/framework/templates/verification-report.md +258 -258
  175. package/kit/framework/workflows/add-phase.md +112 -112
  176. package/kit/framework/workflows/add-tests.md +351 -351
  177. package/kit/framework/workflows/add-todo.md +158 -158
  178. package/kit/framework/workflows/audit-milestone.md +340 -340
  179. package/kit/framework/workflows/audit-uat.md +109 -109
  180. package/kit/framework/workflows/autonomous.md +891 -891
  181. package/kit/framework/workflows/check-todos.md +177 -177
  182. package/kit/framework/workflows/cleanup.md +152 -152
  183. package/kit/framework/workflows/complete-milestone.md +696 -696
  184. package/kit/framework/workflows/diagnose-issues.md +231 -231
  185. package/kit/framework/workflows/discovery-phase.md +289 -289
  186. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  187. package/kit/framework/workflows/discuss-phase.md +784 -784
  188. package/kit/framework/workflows/do.md +104 -104
  189. package/kit/framework/workflows/execute-phase.md +838 -838
  190. package/kit/framework/workflows/execute-plan.md +510 -510
  191. package/kit/framework/workflows/fast.md +102 -102
  192. package/kit/framework/workflows/forensics.md +265 -265
  193. package/kit/framework/workflows/health.md +181 -181
  194. package/kit/framework/workflows/help.md +619 -619
  195. package/kit/framework/workflows/insert-phase.md +130 -130
  196. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  197. package/kit/framework/workflows/list-workspaces.md +56 -56
  198. package/kit/framework/workflows/manager.md +362 -362
  199. package/kit/framework/workflows/map-codebase.md +377 -377
  200. package/kit/framework/workflows/milestone-summary.md +223 -223
  201. package/kit/framework/workflows/new-milestone.md +486 -486
  202. package/kit/framework/workflows/new-project.md +1159 -1159
  203. package/kit/framework/workflows/new-workspace.md +237 -237
  204. package/kit/framework/workflows/next.md +97 -97
  205. package/kit/framework/workflows/node-repair.md +92 -92
  206. package/kit/framework/workflows/note.md +156 -156
  207. package/kit/framework/workflows/pause-work.md +176 -176
  208. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  209. package/kit/framework/workflows/plan-phase.md +765 -765
  210. package/kit/framework/workflows/plant-seed.md +169 -169
  211. package/kit/framework/workflows/pr-branch.md +129 -129
  212. package/kit/framework/workflows/profile-user.md +450 -450
  213. package/kit/framework/workflows/progress.md +507 -507
  214. package/kit/framework/workflows/quick.md +757 -757
  215. package/kit/framework/workflows/remove-phase.md +155 -155
  216. package/kit/framework/workflows/remove-workspace.md +90 -90
  217. package/kit/framework/workflows/research-phase.md +82 -82
  218. package/kit/framework/workflows/resume-project.md +326 -326
  219. package/kit/framework/workflows/review.md +228 -228
  220. package/kit/framework/workflows/session-report.md +146 -146
  221. package/kit/framework/workflows/settings.md +283 -283
  222. package/kit/framework/workflows/ship.md +228 -228
  223. package/kit/framework/workflows/stats.md +60 -60
  224. package/kit/framework/workflows/transition.md +671 -671
  225. package/kit/framework/workflows/ui-phase.md +302 -302
  226. package/kit/framework/workflows/ui-review.md +165 -165
  227. package/kit/framework/workflows/update.md +323 -323
  228. package/kit/framework/workflows/validate-phase.md +174 -174
  229. package/kit/framework/workflows/verify-phase.md +252 -252
  230. package/kit/framework/workflows/verify-work.md +637 -637
  231. package/kit/hooks/check-update.js +118 -118
  232. package/kit/hooks/context-monitor.js +163 -163
  233. package/kit/hooks/prompt-guard.js +103 -103
  234. package/kit/hooks/statusline.js +125 -125
  235. package/kit/hooks/workflow-guard.js +101 -101
  236. package/kit/settings.json +45 -45
  237. package/kit/skills/_shared-multi-tenant/glossary.md +186 -0
  238. package/kit/skills/audit-log-multi-tenant/SKILL.md +334 -0
  239. package/kit/skills/b2b-saas-architecture/SKILL.md +300 -0
  240. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +326 -0
  241. package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -0
  242. package/kit/skills/example-skill/SKILL.md +42 -42
  243. package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -0
  244. package/kit/skills/member-invite-flow/SKILL.md +305 -0
  245. package/kit/skills/member-management-react-shadcn/SKILL.md +328 -0
  246. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +312 -0
  247. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +338 -0
  248. package/kit/skills/org-onboarding-flow/SKILL.md +257 -0
  249. package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -0
  250. package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -0
  251. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +301 -0
  252. package/kit/skills/super-admin-platform-pattern/SKILL.md +322 -0
  253. package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -0
  254. package/package.json +63 -63
  255. package/src/core/kit.js +216 -216
  256. package/src/core/reflect.js +247 -247
  257. package/src/core/reverse-sync.js +372 -372
  258. package/src/core/sync.js +418 -418
  259. package/src/core/watch.js +121 -121
@@ -1,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>