@luanpdd/kit-mcp 1.29.0 → 1.30.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 (330) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +168 -168
  3. package/gates/agent-no-recursive-dispatch.md +82 -82
  4. package/kit/COMANDOS.md +138 -138
  5. package/kit/README.md +76 -76
  6. package/kit/agents/advisor-researcher.md +106 -106
  7. package/kit/agents/assumptions-analyzer.md +107 -107
  8. package/kit/agents/audit-log-implementer.md +313 -313
  9. package/kit/agents/auditor-consistencia-isolamento.md +413 -413
  10. package/kit/agents/b2b-saas-architect.md +156 -156
  11. package/kit/agents/cascading-failures-auditor.md +298 -298
  12. package/kit/agents/codebase-mapper.md +768 -768
  13. package/kit/agents/crm-pipeline-implementer.md +256 -256
  14. package/kit/agents/debugger.md +813 -813
  15. package/kit/agents/detector-tenant-quente.md +337 -337
  16. package/kit/agents/evolution-go-integrator.md +200 -200
  17. package/kit/agents/example-reviewer.md +21 -21
  18. package/kit/agents/executor.md +564 -564
  19. package/kit/agents/integration-checker.md +200 -200
  20. package/kit/agents/invite-flow-implementer.md +189 -189
  21. package/kit/agents/legacy-characterizer.md +368 -368
  22. package/kit/agents/lgpd-compliance-auditor.md +295 -295
  23. package/kit/agents/multi-tenant-isolation-auditor.md +253 -253
  24. package/kit/agents/multi-tenant-rls-writer.md +340 -340
  25. package/kit/agents/nyquist-auditor.md +178 -178
  26. package/kit/agents/observability-coverage-auditor.md +315 -315
  27. package/kit/agents/org-onboarding-implementer.md +223 -223
  28. package/kit/agents/payload-capture-instrumenter.md +273 -273
  29. package/kit/agents/phase-researcher.md +696 -696
  30. package/kit/agents/plan-checker.md +272 -272
  31. package/kit/agents/planner.md +922 -922
  32. package/kit/agents/project-researcher.md +652 -652
  33. package/kit/agents/refactor-safety-auditor.md +404 -404
  34. package/kit/agents/research-synthesizer.md +245 -245
  35. package/kit/agents/roadmapper.md +677 -677
  36. package/kit/agents/seam-finder.md +359 -359
  37. package/kit/agents/shotgun-surgery-detector.md +349 -349
  38. package/kit/agents/supabase-branching-architect.md +562 -562
  39. package/kit/agents/supabase-cicd-pipeline-implementer.md +777 -777
  40. package/kit/agents/supabase-column-privileges-writer.md +399 -399
  41. package/kit/agents/supabase-edge-fn-tester.md +287 -0
  42. package/kit/agents/supabase-edge-fn-writer.md +239 -210
  43. package/kit/agents/supabase-migration-writer.md +385 -385
  44. package/kit/agents/supabase-rbac-implementer.md +392 -392
  45. package/kit/agents/supabase-realtime-implementer.md +363 -267
  46. package/kit/agents/supabase-rls-hardener.md +521 -521
  47. package/kit/agents/supabase-rls-writer.md +323 -323
  48. package/kit/agents/supabase-roles-implementer.md +355 -355
  49. package/kit/agents/super-admin-implementer.md +281 -281
  50. package/kit/agents/ui-auditor.md +437 -437
  51. package/kit/agents/ui-checker.md +302 -302
  52. package/kit/agents/ui-researcher.md +355 -355
  53. package/kit/agents/user-profiler.md +175 -175
  54. package/kit/agents/validador-evolucao-schema.md +335 -335
  55. package/kit/agents/verifier.md +728 -728
  56. package/kit/commands/adicionar-backlog.md +75 -75
  57. package/kit/commands/adicionar-fase.md +42 -42
  58. package/kit/commands/adicionar-tarefa.md +45 -45
  59. package/kit/commands/adicionar-testes.md +41 -41
  60. package/kit/commands/ajuda.md +21 -21
  61. package/kit/commands/atualizar.md +37 -37
  62. package/kit/commands/auditar-cascading.md +111 -111
  63. package/kit/commands/auditar-marco.md +179 -179
  64. package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
  65. package/kit/commands/auditar-refactor.md +219 -219
  66. package/kit/commands/auditar-release.md +109 -109
  67. package/kit/commands/auditar-uat.md +23 -23
  68. package/kit/commands/autonomo.md +40 -40
  69. package/kit/commands/branch-pr.md +24 -24
  70. package/kit/commands/burn-rate-status.md +408 -408
  71. package/kit/commands/capturar-payloads.md +193 -193
  72. package/kit/commands/caracterizar.md +212 -212
  73. package/kit/commands/concluir-marco.md +247 -247
  74. package/kit/commands/configuracoes.md +36 -36
  75. package/kit/commands/dados-distribuidos.md +188 -188
  76. package/kit/commands/definir-perfil.md +10 -10
  77. package/kit/commands/depurar.md +190 -190
  78. package/kit/commands/detectar-duplicacao.md +197 -197
  79. package/kit/commands/discutir-fase.md +131 -131
  80. package/kit/commands/encontrar-seams.md +136 -136
  81. package/kit/commands/entrar-discord.md +17 -17
  82. package/kit/commands/estatisticas.md +18 -18
  83. package/kit/commands/example-greeting.md +33 -33
  84. package/kit/commands/executar-fase.md +58 -58
  85. package/kit/commands/expresso.md +56 -56
  86. package/kit/commands/fase-ui.md +34 -34
  87. package/kit/commands/fazer.md +57 -57
  88. package/kit/commands/fio.md +125 -125
  89. package/kit/commands/fluxos-trabalho.md +64 -64
  90. package/kit/commands/forense.md +176 -176
  91. package/kit/commands/gerenciador.md +38 -38
  92. package/kit/commands/inserir-fase.md +31 -31
  93. package/kit/commands/legacy.md +263 -263
  94. package/kit/commands/limpeza.md +17 -17
  95. package/kit/commands/listar-hipoteses-fase.md +45 -45
  96. package/kit/commands/listar-workspaces.md +18 -18
  97. package/kit/commands/load-shedding.md +117 -117
  98. package/kit/commands/mapear-codebase.md +70 -70
  99. package/kit/commands/multi-tenant.md +163 -163
  100. package/kit/commands/nota.md +33 -33
  101. package/kit/commands/novo-marco.md +43 -43
  102. package/kit/commands/novo-projeto.md +41 -41
  103. package/kit/commands/novo-workspace.md +43 -43
  104. package/kit/commands/pausar-trabalho.md +37 -37
  105. package/kit/commands/perfil-usuario.md +45 -45
  106. package/kit/commands/pesquisar-fase.md +195 -195
  107. package/kit/commands/planejar-fase.md +67 -67
  108. package/kit/commands/planejar-lacunas.md +33 -33
  109. package/kit/commands/plantar-ideia.md +25 -25
  110. package/kit/commands/progresso.md +24 -24
  111. package/kit/commands/proximo.md +30 -30
  112. package/kit/commands/publicar.md +490 -490
  113. package/kit/commands/rapido.md +35 -35
  114. package/kit/commands/reaplicar-patches.md +124 -124
  115. package/kit/commands/refactor-seguro.md +321 -321
  116. package/kit/commands/relatorio-sessao.md +19 -19
  117. package/kit/commands/remover-fase.md +31 -31
  118. package/kit/commands/remover-workspace.md +26 -26
  119. package/kit/commands/resumo-marco.md +50 -50
  120. package/kit/commands/retomar-trabalho.md +40 -40
  121. package/kit/commands/revisar-backlog.md +60 -60
  122. package/kit/commands/revisar-ui.md +32 -32
  123. package/kit/commands/revisar.md +37 -37
  124. package/kit/commands/saude.md +21 -21
  125. package/kit/commands/setup-notion.md +93 -93
  126. package/kit/commands/storytelling.md +179 -179
  127. package/kit/commands/supabase.md +30 -7
  128. package/kit/commands/sync-main.md +68 -68
  129. package/kit/commands/validar-fase.md +35 -35
  130. package/kit/commands/verificar-tarefas.md +44 -44
  131. package/kit/commands/verificar-trabalho.md +64 -64
  132. package/kit/file-manifest.json +14 -8
  133. package/kit/framework/bin/lib/commands.cjs +959 -959
  134. package/kit/framework/bin/lib/config.cjs +442 -442
  135. package/kit/framework/bin/lib/core.cjs +1230 -1230
  136. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  137. package/kit/framework/bin/lib/init.cjs +1442 -1442
  138. package/kit/framework/bin/lib/milestone.cjs +252 -252
  139. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  140. package/kit/framework/bin/lib/phase.cjs +888 -888
  141. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  142. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  143. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  144. package/kit/framework/bin/lib/security.cjs +382 -382
  145. package/kit/framework/bin/lib/state.cjs +1031 -1031
  146. package/kit/framework/bin/lib/template.cjs +222 -222
  147. package/kit/framework/bin/lib/uat.cjs +282 -282
  148. package/kit/framework/bin/lib/verify.cjs +888 -888
  149. package/kit/framework/bin/lib/workstream.cjs +491 -491
  150. package/kit/framework/bin/tools.cjs +918 -918
  151. package/kit/framework/commands/workstreams.md +63 -63
  152. package/kit/framework/references/checkpoints.md +778 -778
  153. package/kit/framework/references/continuation-format.md +249 -249
  154. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  155. package/kit/framework/references/git-integration.md +295 -295
  156. package/kit/framework/references/git-planning-commit.md +38 -38
  157. package/kit/framework/references/model-profile-resolution.md +36 -36
  158. package/kit/framework/references/model-profiles.md +139 -139
  159. package/kit/framework/references/phase-argument-parsing.md +61 -61
  160. package/kit/framework/references/planning-config.md +202 -202
  161. package/kit/framework/references/questioning.md +162 -162
  162. package/kit/framework/references/tdd.md +263 -263
  163. package/kit/framework/references/ui-brand.md +160 -160
  164. package/kit/framework/references/user-profiling.md +657 -657
  165. package/kit/framework/references/verification-patterns.md +612 -612
  166. package/kit/framework/references/workstream-flag.md +58 -58
  167. package/kit/framework/templates/DEBUG.md +164 -164
  168. package/kit/framework/templates/UAT.md +265 -265
  169. package/kit/framework/templates/UI-SPEC.md +100 -100
  170. package/kit/framework/templates/VALIDATION.md +76 -76
  171. package/kit/framework/templates/claude-md.md +122 -122
  172. package/kit/framework/templates/codebase/architecture.md +185 -185
  173. package/kit/framework/templates/codebase/concerns.md +205 -205
  174. package/kit/framework/templates/codebase/conventions.md +204 -204
  175. package/kit/framework/templates/codebase/integrations.md +192 -192
  176. package/kit/framework/templates/codebase/stack.md +158 -158
  177. package/kit/framework/templates/codebase/structure.md +199 -199
  178. package/kit/framework/templates/codebase/testing.md +301 -301
  179. package/kit/framework/templates/config.json +44 -44
  180. package/kit/framework/templates/context.md +352 -352
  181. package/kit/framework/templates/continue-here.md +78 -78
  182. package/kit/framework/templates/copilot-instructions.md +7 -7
  183. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  184. package/kit/framework/templates/dev-preferences.md +20 -20
  185. package/kit/framework/templates/discovery.md +146 -146
  186. package/kit/framework/templates/discussion-log.md +63 -63
  187. package/kit/framework/templates/milestone-archive.md +123 -123
  188. package/kit/framework/templates/milestone.md +115 -115
  189. package/kit/framework/templates/phase-prompt.md +610 -610
  190. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  191. package/kit/framework/templates/project.md +186 -186
  192. package/kit/framework/templates/requirements.md +231 -231
  193. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  194. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  195. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  196. package/kit/framework/templates/research-project/STACK.md +120 -120
  197. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  198. package/kit/framework/templates/research.md +419 -419
  199. package/kit/framework/templates/retrospective.md +54 -54
  200. package/kit/framework/templates/roadmap.md +202 -202
  201. package/kit/framework/templates/state.md +176 -176
  202. package/kit/framework/templates/summary-complex.md +59 -59
  203. package/kit/framework/templates/summary-minimal.md +41 -41
  204. package/kit/framework/templates/summary-standard.md +48 -48
  205. package/kit/framework/templates/summary.md +209 -209
  206. package/kit/framework/templates/user-profile.md +146 -146
  207. package/kit/framework/templates/user-setup.md +256 -256
  208. package/kit/framework/templates/verification-report.md +258 -258
  209. package/kit/framework/workflows/add-phase.md +112 -112
  210. package/kit/framework/workflows/add-tests.md +351 -351
  211. package/kit/framework/workflows/add-todo.md +158 -158
  212. package/kit/framework/workflows/audit-milestone.md +340 -340
  213. package/kit/framework/workflows/audit-uat.md +109 -109
  214. package/kit/framework/workflows/autonomous.md +891 -891
  215. package/kit/framework/workflows/check-todos.md +177 -177
  216. package/kit/framework/workflows/cleanup.md +152 -152
  217. package/kit/framework/workflows/complete-milestone.md +696 -696
  218. package/kit/framework/workflows/diagnose-issues.md +231 -231
  219. package/kit/framework/workflows/discovery-phase.md +289 -289
  220. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  221. package/kit/framework/workflows/discuss-phase.md +784 -784
  222. package/kit/framework/workflows/do.md +104 -104
  223. package/kit/framework/workflows/execute-phase.md +838 -838
  224. package/kit/framework/workflows/execute-plan.md +510 -510
  225. package/kit/framework/workflows/fast.md +102 -102
  226. package/kit/framework/workflows/forensics.md +265 -265
  227. package/kit/framework/workflows/health.md +181 -181
  228. package/kit/framework/workflows/help.md +619 -619
  229. package/kit/framework/workflows/insert-phase.md +130 -130
  230. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  231. package/kit/framework/workflows/list-workspaces.md +56 -56
  232. package/kit/framework/workflows/manager.md +362 -362
  233. package/kit/framework/workflows/map-codebase.md +377 -377
  234. package/kit/framework/workflows/milestone-summary.md +223 -223
  235. package/kit/framework/workflows/new-milestone.md +486 -486
  236. package/kit/framework/workflows/new-project.md +1159 -1159
  237. package/kit/framework/workflows/new-workspace.md +237 -237
  238. package/kit/framework/workflows/next.md +97 -97
  239. package/kit/framework/workflows/node-repair.md +92 -92
  240. package/kit/framework/workflows/note.md +156 -156
  241. package/kit/framework/workflows/pause-work.md +176 -176
  242. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  243. package/kit/framework/workflows/plan-phase.md +765 -765
  244. package/kit/framework/workflows/plant-seed.md +169 -169
  245. package/kit/framework/workflows/pr-branch.md +129 -129
  246. package/kit/framework/workflows/profile-user.md +450 -450
  247. package/kit/framework/workflows/progress.md +507 -507
  248. package/kit/framework/workflows/quick.md +757 -757
  249. package/kit/framework/workflows/remove-phase.md +155 -155
  250. package/kit/framework/workflows/remove-workspace.md +90 -90
  251. package/kit/framework/workflows/research-phase.md +82 -82
  252. package/kit/framework/workflows/resume-project.md +326 -326
  253. package/kit/framework/workflows/review.md +228 -228
  254. package/kit/framework/workflows/session-report.md +146 -146
  255. package/kit/framework/workflows/settings.md +283 -283
  256. package/kit/framework/workflows/ship.md +228 -228
  257. package/kit/framework/workflows/stats.md +60 -60
  258. package/kit/framework/workflows/transition.md +671 -671
  259. package/kit/framework/workflows/ui-phase.md +302 -302
  260. package/kit/framework/workflows/ui-review.md +165 -165
  261. package/kit/framework/workflows/update.md +323 -323
  262. package/kit/framework/workflows/validate-phase.md +174 -174
  263. package/kit/framework/workflows/verify-phase.md +252 -252
  264. package/kit/framework/workflows/verify-work.md +637 -637
  265. package/kit/hooks/check-update.js +118 -118
  266. package/kit/hooks/context-monitor.js +163 -163
  267. package/kit/hooks/prompt-guard.js +103 -103
  268. package/kit/hooks/statusline.js +125 -125
  269. package/kit/hooks/workflow-guard.js +101 -101
  270. package/kit/settings.json +45 -45
  271. package/kit/skills/_shared-supabase/glossary.md +17 -0
  272. package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
  273. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
  274. package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
  275. package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
  276. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
  277. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
  278. package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
  279. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
  280. package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
  281. package/kit/skills/example-skill/SKILL.md +42 -42
  282. package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
  283. package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
  284. package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
  285. package/kit/skills/legacy-extract-class/SKILL.md +203 -203
  286. package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
  287. package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
  288. package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
  289. package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
  290. package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
  291. package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
  292. package/kit/skills/member-invite-flow/SKILL.md +305 -305
  293. package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
  294. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
  295. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
  296. package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
  297. package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
  298. package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
  299. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
  300. package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
  301. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
  302. package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
  303. package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
  304. package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
  305. package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
  306. package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
  307. package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
  308. package/kit/skills/supabase-edge-functions/SKILL.md +229 -141
  309. package/kit/skills/supabase-edge-functions-auth/SKILL.md +309 -0
  310. package/kit/skills/supabase-edge-functions-limits/SKILL.md +302 -0
  311. package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +279 -0
  312. package/kit/skills/supabase-edge-functions-testing/SKILL.md +277 -0
  313. package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +357 -0
  314. package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
  315. package/kit/skills/supabase-migrations/SKILL.md +297 -297
  316. package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
  317. package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
  318. package/kit/skills/supabase-realtime/SKILL.md +460 -236
  319. package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
  320. package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
  321. package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
  322. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
  323. package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
  324. package/package.json +1 -1
  325. package/src/core/kit.js +216 -216
  326. package/src/core/reflect.js +247 -247
  327. package/src/core/reverse-sync.js +372 -372
  328. package/src/core/sync.js +418 -418
  329. package/src/core/watch.js +121 -121
  330. package/src/mcp-server/index.js +693 -693
@@ -1,93 +1,93 @@
1
- # /setup-notion — Inicializar Documentação Notion para um Projeto
2
-
3
- Cria a estrutura de páginas Notion para um novo projeto sob a página raiz do seu workspace e gera o `.claude/notion-config.json` local.
4
-
5
- ## Quando usar
6
-
7
- Ao iniciar um novo projeto framework que ainda não tem página no Notion.
8
- Execute uma vez por projeto — depois use `/publicar` normalmente.
9
-
10
- ## Processo
11
-
12
- ### Passo 1 — Ler contexto do projeto
13
-
14
- Leia `.planning/PROJECT.md` para obter:
15
- - Nome do projeto
16
- - Stack
17
- - Descrição em 1 frase
18
-
19
- ### Passo 2 — Criar páginas no Notion
20
-
21
- Use o Notion MCP (`notion-create-pages`) com `parent.page_id = "{NOTION_PARENT_PAGE_ID}"`, onde `NOTION_PARENT_PAGE_ID` é o ID da página raiz do seu workspace de documentação (configure via env var `KIT_NOTION_PARENT_PAGE_ID` ou substitua diretamente).
22
-
23
- Crie a página raiz do projeto com ícone 📋 e este conteúdo:
24
-
25
- ```
26
- [Callout azul] {NOME_PROJETO} — {DESCRICAO_1_FRASE}
27
-
28
- ---
29
-
30
- ## Stack
31
- [Tabela com camadas e tecnologias do PROJECT.md]
32
-
33
- ---
34
-
35
- ## Estrutura da Documentação
36
- - changelog/ — Uma entrada por milestone
37
- - features/ — O que cada feature faz
38
- - adr/ — Decisões arquiteturais
39
- - runbooks/ — Procedimentos operacionais
40
-
41
- ---
42
-
43
- ## Versões Lançadas
44
- [Tabela vazia: Versão | Nome | Data | Status]
45
- ```
46
-
47
- Depois crie as 4 subpáginas sob a página raiz criada:
48
- - 📅 `changelog/` — com tabela de índice vazia
49
- - 📄 `features/` — com tabela de índice vazia
50
- - 🏛️ `adr/` — com tabela de índice vazia
51
- - 📖 `runbooks/` — com tabela de índice vazia
52
-
53
- ### Passo 3 — Gerar notion-config.json
54
-
55
- Com os IDs retornados pelo Notion MCP, crie `.claude/notion-config.json`:
56
-
57
- ```json
58
- {
59
- "project": "{NOME_PROJETO}",
60
- "notion": {
61
- "root": "{ID_ROOT}",
62
- "root_url": "{URL_ROOT}",
63
- "changelog": "{ID_CHANGELOG}",
64
- "features": "{ID_FEATURES}",
65
- "adr": "{ID_ADR}",
66
- "runbooks": "{ID_RUNBOOKS}"
67
- }
68
- }
69
- ```
70
-
71
- ### Passo 4 — Reportar resultado
72
-
73
- ```
74
- ✅ Notion configurado para {NOME_PROJETO}
75
-
76
- 📋 Página principal: {URL_ROOT}
77
- 📅 changelog/: {URL_CHANGELOG}
78
- 📄 features/: {URL_FEATURES}
79
- 🏛️ adr/: {URL_ADR}
80
- 📖 runbooks/: {URL_RUNBOOKS}
81
-
82
- Arquivo criado: .claude/notion-config.json
83
- Próximo passo: use /publicar ao concluir o próximo milestone.
84
- ```
85
-
86
- ## Configuração da página raiz do Notion
87
-
88
- Defina o ID da página raiz onde os projetos serão criados (uma página "guarda-chuva" no seu workspace Notion):
89
-
90
- - Via env var: `export KIT_NOTION_PARENT_PAGE_ID="<ID_DA_PAGINA>"`
91
- - Ou substitua `{NOTION_PARENT_PAGE_ID}` no Passo 2 pelo ID literal antes de executar.
92
-
93
- Para obter o ID: abra a página no Notion → Share → Copy link → o ID é o hash de 32 caracteres no final da URL.
1
+ # /setup-notion — Inicializar Documentação Notion para um Projeto
2
+
3
+ Cria a estrutura de páginas Notion para um novo projeto sob a página raiz do seu workspace e gera o `.claude/notion-config.json` local.
4
+
5
+ ## Quando usar
6
+
7
+ Ao iniciar um novo projeto framework que ainda não tem página no Notion.
8
+ Execute uma vez por projeto — depois use `/publicar` normalmente.
9
+
10
+ ## Processo
11
+
12
+ ### Passo 1 — Ler contexto do projeto
13
+
14
+ Leia `.planning/PROJECT.md` para obter:
15
+ - Nome do projeto
16
+ - Stack
17
+ - Descrição em 1 frase
18
+
19
+ ### Passo 2 — Criar páginas no Notion
20
+
21
+ Use o Notion MCP (`notion-create-pages`) com `parent.page_id = "{NOTION_PARENT_PAGE_ID}"`, onde `NOTION_PARENT_PAGE_ID` é o ID da página raiz do seu workspace de documentação (configure via env var `KIT_NOTION_PARENT_PAGE_ID` ou substitua diretamente).
22
+
23
+ Crie a página raiz do projeto com ícone 📋 e este conteúdo:
24
+
25
+ ```
26
+ [Callout azul] {NOME_PROJETO} — {DESCRICAO_1_FRASE}
27
+
28
+ ---
29
+
30
+ ## Stack
31
+ [Tabela com camadas e tecnologias do PROJECT.md]
32
+
33
+ ---
34
+
35
+ ## Estrutura da Documentação
36
+ - changelog/ — Uma entrada por milestone
37
+ - features/ — O que cada feature faz
38
+ - adr/ — Decisões arquiteturais
39
+ - runbooks/ — Procedimentos operacionais
40
+
41
+ ---
42
+
43
+ ## Versões Lançadas
44
+ [Tabela vazia: Versão | Nome | Data | Status]
45
+ ```
46
+
47
+ Depois crie as 4 subpáginas sob a página raiz criada:
48
+ - 📅 `changelog/` — com tabela de índice vazia
49
+ - 📄 `features/` — com tabela de índice vazia
50
+ - 🏛️ `adr/` — com tabela de índice vazia
51
+ - 📖 `runbooks/` — com tabela de índice vazia
52
+
53
+ ### Passo 3 — Gerar notion-config.json
54
+
55
+ Com os IDs retornados pelo Notion MCP, crie `.claude/notion-config.json`:
56
+
57
+ ```json
58
+ {
59
+ "project": "{NOME_PROJETO}",
60
+ "notion": {
61
+ "root": "{ID_ROOT}",
62
+ "root_url": "{URL_ROOT}",
63
+ "changelog": "{ID_CHANGELOG}",
64
+ "features": "{ID_FEATURES}",
65
+ "adr": "{ID_ADR}",
66
+ "runbooks": "{ID_RUNBOOKS}"
67
+ }
68
+ }
69
+ ```
70
+
71
+ ### Passo 4 — Reportar resultado
72
+
73
+ ```
74
+ ✅ Notion configurado para {NOME_PROJETO}
75
+
76
+ 📋 Página principal: {URL_ROOT}
77
+ 📅 changelog/: {URL_CHANGELOG}
78
+ 📄 features/: {URL_FEATURES}
79
+ 🏛️ adr/: {URL_ADR}
80
+ 📖 runbooks/: {URL_RUNBOOKS}
81
+
82
+ Arquivo criado: .claude/notion-config.json
83
+ Próximo passo: use /publicar ao concluir o próximo milestone.
84
+ ```
85
+
86
+ ## Configuração da página raiz do Notion
87
+
88
+ Defina o ID da página raiz onde os projetos serão criados (uma página "guarda-chuva" no seu workspace Notion):
89
+
90
+ - Via env var: `export KIT_NOTION_PARENT_PAGE_ID="<ID_DA_PAGINA>"`
91
+ - Ou substitua `{NOTION_PARENT_PAGE_ID}` no Passo 2 pelo ID literal antes de executar.
92
+
93
+ Para obter o ID: abra a página no Notion → Share → Copy link → o ID é o hash de 32 caracteres no final da URL.
@@ -1,179 +1,179 @@
1
- ---
2
- name: storytelling
3
- description: Invoca storytelling-analyst — IA gera mental model de codebase desconhecido (story 5 frases + inventário + naked CRC + responsibility hot spots + extract candidates).
4
- argument-hint: "<target_dir_or_file> [--depth deep|shallow] [--include-tests] [--output PATH]"
5
- allowed-tools:
6
- - Read
7
- - Bash
8
- - Grep
9
- - Glob
10
- - Task
11
- - Write
12
- ---
13
-
14
- <objective>
15
- Gerar **mental model de codebase desconhecido** via IA — story em 5 frases + inventário de classes/funções + naked CRC sketch + responsibility hot spots + extract candidates priorizados. Invoca o agente [`storytelling-analyst`](../agents/storytelling-analyst.md) que aplica a skill [`legacy-storytelling-naked-crc`](../skills/legacy-storytelling-naked-crc/SKILL.md) — caps 16-17 do livro Feathers + modernização IA primeiro draft.
16
-
17
- **Cria/Atualiza:**
18
- - `.planning/storytelling/<module-slug>.md` — relatório com story + inventário + CRC + hot spots
19
-
20
- **Após:** o user reduz tempo de comprehension de codebase desconhecido de 4-8h (leitura cega manual) para 30 min (revisão informada de IA primeiro draft). Pré-requisito recomendado para `/encontrar-seams` ou `/refactor-seguro` em código novo.
21
- </objective>
22
-
23
- <context>
24
- **Argumentos:**
25
- - `<target_dir_or_file>` — diretório ou arquivo a analisar — OBRIGATÓRIO
26
- - `--depth deep|shallow` — `shallow` = só story + inventário; `deep` = + CRC + hot spots + extract candidates (default: deep)
27
- - `--include-tests` — incluir tests no scope (default: false; distinção comportamento prod vs harness)
28
- - `--max-lines N` — limite de leitura (default: 1500; agent quebra em chunks se maior)
29
- - `--output PATH` — caminho do output (default: `.planning/storytelling/<slug>.md`)
30
-
31
- **Exemplos:**
32
- ```
33
- /storytelling src/orders/ # diretório completo
34
- /storytelling src/orders/OrderService.ts # arquivo específico
35
- /storytelling src/orders/ --depth=shallow # rápido — só story + inventário
36
- /storytelling src/orders/ --include-tests # incluir tests no scope
37
- /storytelling supabase/functions/process-payments/ # Edge Function module
38
- ```
39
-
40
- **Quando este comando é o caminho:**
41
- - Você herdou módulo desconhecido (onboarding, transferência, post-acquisition)
42
- - Vai modificar código que não conhece
43
- - Pré-requisito de `/encontrar-seams` ou `/refactor-seguro`
44
- - Precisa identificar candidates de extract class antes de planejar refactor
45
- - Code review onde reviewer não conhece o módulo
46
-
47
- **Quando NÃO é o caminho:**
48
- - Codebase < 200 linhas — leitura direta é mais rápida
49
- - Você já trabalhou no módulo nas últimas 2 semanas — mental model fresco
50
- - Mudança trivial (typo, comment) — overhead > valor
51
- </context>
52
-
53
- <process>
54
-
55
- ## 1. Parsear argumentos
56
-
57
- ```bash
58
- TARGET=$(echo "$ARGUMENTS" | awk '{print $1}')
59
- DEPTH=$(echo "$ARGUMENTS" | grep -oE -- '--depth[= ][^ ]+' | sed 's/--depth[= ]//')
60
- MAX_LINES=$(echo "$ARGUMENTS" | grep -oE -- '--max-lines [0-9]+' | awk '{print $2}')
61
- OUTPUT_PATH=$(echo "$ARGUMENTS" | grep -oE -- '--output [^ ]+' | awk '{print $2}')
62
- INCLUDE_TESTS=false
63
- echo "$ARGUMENTS" | grep -qE -- '--include-tests' && INCLUDE_TESTS=true
64
-
65
- [ -z "$DEPTH" ] && DEPTH="deep"
66
- [ -z "$MAX_LINES" ] && MAX_LINES=1500
67
-
68
- if [ -z "$TARGET" ]; then
69
- echo "ERROR: target obrigatório (arquivo ou diretório)"
70
- exit 1
71
- fi
72
-
73
- if [ ! -e "$TARGET" ]; then
74
- echo "ERROR: target não encontrado: $TARGET"
75
- exit 1
76
- fi
77
-
78
- # auto-output path
79
- if [ -z "$OUTPUT_PATH" ]; then
80
- SLUG=$(basename "$(realpath "$TARGET")" | sed 's/[^a-zA-Z0-9]/-/g')
81
- OUTPUT_PATH=".planning/storytelling/${SLUG}.md"
82
- fi
83
-
84
- mkdir -p "$(dirname "$OUTPUT_PATH")"
85
- ```
86
-
87
- ## 2. Detectar tamanho
88
-
89
- ```bash
90
- if [ -f "$TARGET" ]; then
91
- TOTAL_LINES=$(wc -l < "$TARGET")
92
- elif [ -d "$TARGET" ]; then
93
- TOTAL_LINES=$(find "$TARGET" -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.py" -o -name "*.java" -o -name "*.go" \) ! -path "*node_modules*" -exec cat {} + 2>/dev/null | wc -l)
94
- fi
95
-
96
- if [ "$TOTAL_LINES" -gt "$MAX_LINES" ]; then
97
- echo "ℹ Target tem $TOTAL_LINES linhas (> $MAX_LINES). Agent vai chunkar análise."
98
- fi
99
- ```
100
-
101
- ## 3. Dispatch para `storytelling-analyst`
102
-
103
- ```text
104
- Task(
105
- subagent_type="storytelling-analyst",
106
- prompt="
107
- target: ${TARGET}
108
- depth: ${DEPTH}
109
- output_path: ${OUTPUT_PATH}
110
- max_lines: ${MAX_LINES}
111
- include_tests: ${INCLUDE_TESTS}
112
-
113
- Aplicar skill legacy-storytelling-naked-crc. Etapas:
114
- 1. Inventário inicial (listar files + classes/funções top-level)
115
- 2. Leitura + síntese — produzir story em ≤ 5 frases
116
- 3. Inventário canônico (tabela com responsabilidade primária + cluster)
117
- 4. (depth=deep) Naked CRC sketch ASCII
118
- 5. (depth=deep) Responsibility hot spots — classes fazendo > 3 coisas distintas
119
- 6. (depth=deep) Abstrações ausentes (sugestões)
120
- 7. (depth=deep) Extract class candidates priorizados
121
- 8. Gotchas / surpresas
122
- 9. Próximas ações sugeridas (effect sketch, /caracterizar, /refactor-seguro)
123
- 10. Output: .planning/storytelling/<slug>.md
124
-
125
- PRINCÍPIO: você É a IA primeiro draft. Não busque perfeição — busque utilidade. Seja honesto sobre incertezas.
126
- "
127
- )
128
- ```
129
-
130
- ## 4. Pós-output
131
-
132
- ```
133
- ═══════════════════════════════════════════════════════════
134
- framework ► STORYTELLING ▸ ${OUTPUT_PATH}
135
- ═══════════════════════════════════════════════════════════
136
-
137
- [output do storytelling-analyst]
138
-
139
- ## ⚠ Validação obrigatória
140
-
141
- Esta análise é PRIMEIRA PASSADA por IA. Erros possíveis:
142
- - Relações alucinadas (LLM "viu" colaborador que não existe)
143
- - Hot spots inflated (cluster coeso marcado como hot spot)
144
- - Sugestões fora de escopo (extract candidate com 2-week effort marcado como 3h)
145
-
146
- Cross-check OBRIGATÓRIO antes de basear decisões:
147
- 1. **Spot-check 3-5 funções aleatórias** contra inventário (existem? responsabilidade descrita está correta?)
148
- 2. **Confirmar colaboradores** existem (grep no codebase pelos nomes mencionados)
149
- 3. **Validar hot spots** contra leitura humana (são realmente "fazendo demais"?)
150
- 4. **Refinar story** se necessário; versão final em ${OUTPUT_PATH} é HUMANA, IA é primeiro draft
151
-
152
- ## Próximos passos
153
-
154
- 1. Validar story (5-15 min)
155
- 2. Se vai modificar: `/encontrar-seams ${TARGET}` (se arquivo) ou `/storytelling <sub-target>` (refinar para sub-módulo)
156
- 3. Se vai refactorar: `/refactor-seguro ${TARGET}` (chain canônico)
157
- 4. Se vai extrair: revisar extract candidates — `/legacy refactor` por candidate
158
- 5. Se há shotgun surgery em outros módulos relacionados: `/detectar-duplicacao src/`
159
-
160
- ## Cross-suite
161
-
162
- - **/encontrar-seams** (v1.12) — story informa onde existem deps externas
163
- - **/caracterizar** (v1.12) — story prioriza qual hot spot caracterizar primeiro
164
- - **/refactor-seguro** (v1.12) — chain canônico após storytelling
165
- - **/detectar-duplicacao** (v1.12) — shotgun across módulos relacionados
166
- - **/mapear-codebase** (framework v1.7+) — comando análogo mais geral; storytelling complementa com narrativa
167
- ```
168
-
169
- </process>
170
-
171
- <success_criteria>
172
- - [ ] $ARGUMENTS parseados (target obrigatório)
173
- - [ ] Tamanho detectado e chunking ativado se necessário
174
- - [ ] `storytelling-analyst` invocado via Task com depth resolvido
175
- - [ ] Output forwarded transparentemente
176
- - [ ] Warning de validação manual obrigatória emitido
177
- - [ ] Próximos passos sugerem encontrar-seams, caracterizar, refactor-seguro
178
- - [ ] Cross-references com /detectar-duplicacao, /mapear-codebase, /caracterizar
179
- </success_criteria>
1
+ ---
2
+ name: storytelling
3
+ description: Invoca storytelling-analyst — IA gera mental model de codebase desconhecido (story 5 frases + inventário + naked CRC + responsibility hot spots + extract candidates).
4
+ argument-hint: "<target_dir_or_file> [--depth deep|shallow] [--include-tests] [--output PATH]"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Grep
9
+ - Glob
10
+ - Task
11
+ - Write
12
+ ---
13
+
14
+ <objective>
15
+ Gerar **mental model de codebase desconhecido** via IA — story em 5 frases + inventário de classes/funções + naked CRC sketch + responsibility hot spots + extract candidates priorizados. Invoca o agente [`storytelling-analyst`](../agents/storytelling-analyst.md) que aplica a skill [`legacy-storytelling-naked-crc`](../skills/legacy-storytelling-naked-crc/SKILL.md) — caps 16-17 do livro Feathers + modernização IA primeiro draft.
16
+
17
+ **Cria/Atualiza:**
18
+ - `.planning/storytelling/<module-slug>.md` — relatório com story + inventário + CRC + hot spots
19
+
20
+ **Após:** o user reduz tempo de comprehension de codebase desconhecido de 4-8h (leitura cega manual) para 30 min (revisão informada de IA primeiro draft). Pré-requisito recomendado para `/encontrar-seams` ou `/refactor-seguro` em código novo.
21
+ </objective>
22
+
23
+ <context>
24
+ **Argumentos:**
25
+ - `<target_dir_or_file>` — diretório ou arquivo a analisar — OBRIGATÓRIO
26
+ - `--depth deep|shallow` — `shallow` = só story + inventário; `deep` = + CRC + hot spots + extract candidates (default: deep)
27
+ - `--include-tests` — incluir tests no scope (default: false; distinção comportamento prod vs harness)
28
+ - `--max-lines N` — limite de leitura (default: 1500; agent quebra em chunks se maior)
29
+ - `--output PATH` — caminho do output (default: `.planning/storytelling/<slug>.md`)
30
+
31
+ **Exemplos:**
32
+ ```
33
+ /storytelling src/orders/ # diretório completo
34
+ /storytelling src/orders/OrderService.ts # arquivo específico
35
+ /storytelling src/orders/ --depth=shallow # rápido — só story + inventário
36
+ /storytelling src/orders/ --include-tests # incluir tests no scope
37
+ /storytelling supabase/functions/process-payments/ # Edge Function module
38
+ ```
39
+
40
+ **Quando este comando é o caminho:**
41
+ - Você herdou módulo desconhecido (onboarding, transferência, post-acquisition)
42
+ - Vai modificar código que não conhece
43
+ - Pré-requisito de `/encontrar-seams` ou `/refactor-seguro`
44
+ - Precisa identificar candidates de extract class antes de planejar refactor
45
+ - Code review onde reviewer não conhece o módulo
46
+
47
+ **Quando NÃO é o caminho:**
48
+ - Codebase < 200 linhas — leitura direta é mais rápida
49
+ - Você já trabalhou no módulo nas últimas 2 semanas — mental model fresco
50
+ - Mudança trivial (typo, comment) — overhead > valor
51
+ </context>
52
+
53
+ <process>
54
+
55
+ ## 1. Parsear argumentos
56
+
57
+ ```bash
58
+ TARGET=$(echo "$ARGUMENTS" | awk '{print $1}')
59
+ DEPTH=$(echo "$ARGUMENTS" | grep -oE -- '--depth[= ][^ ]+' | sed 's/--depth[= ]//')
60
+ MAX_LINES=$(echo "$ARGUMENTS" | grep -oE -- '--max-lines [0-9]+' | awk '{print $2}')
61
+ OUTPUT_PATH=$(echo "$ARGUMENTS" | grep -oE -- '--output [^ ]+' | awk '{print $2}')
62
+ INCLUDE_TESTS=false
63
+ echo "$ARGUMENTS" | grep -qE -- '--include-tests' && INCLUDE_TESTS=true
64
+
65
+ [ -z "$DEPTH" ] && DEPTH="deep"
66
+ [ -z "$MAX_LINES" ] && MAX_LINES=1500
67
+
68
+ if [ -z "$TARGET" ]; then
69
+ echo "ERROR: target obrigatório (arquivo ou diretório)"
70
+ exit 1
71
+ fi
72
+
73
+ if [ ! -e "$TARGET" ]; then
74
+ echo "ERROR: target não encontrado: $TARGET"
75
+ exit 1
76
+ fi
77
+
78
+ # auto-output path
79
+ if [ -z "$OUTPUT_PATH" ]; then
80
+ SLUG=$(basename "$(realpath "$TARGET")" | sed 's/[^a-zA-Z0-9]/-/g')
81
+ OUTPUT_PATH=".planning/storytelling/${SLUG}.md"
82
+ fi
83
+
84
+ mkdir -p "$(dirname "$OUTPUT_PATH")"
85
+ ```
86
+
87
+ ## 2. Detectar tamanho
88
+
89
+ ```bash
90
+ if [ -f "$TARGET" ]; then
91
+ TOTAL_LINES=$(wc -l < "$TARGET")
92
+ elif [ -d "$TARGET" ]; then
93
+ TOTAL_LINES=$(find "$TARGET" -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.py" -o -name "*.java" -o -name "*.go" \) ! -path "*node_modules*" -exec cat {} + 2>/dev/null | wc -l)
94
+ fi
95
+
96
+ if [ "$TOTAL_LINES" -gt "$MAX_LINES" ]; then
97
+ echo "ℹ Target tem $TOTAL_LINES linhas (> $MAX_LINES). Agent vai chunkar análise."
98
+ fi
99
+ ```
100
+
101
+ ## 3. Dispatch para `storytelling-analyst`
102
+
103
+ ```text
104
+ Task(
105
+ subagent_type="storytelling-analyst",
106
+ prompt="
107
+ target: ${TARGET}
108
+ depth: ${DEPTH}
109
+ output_path: ${OUTPUT_PATH}
110
+ max_lines: ${MAX_LINES}
111
+ include_tests: ${INCLUDE_TESTS}
112
+
113
+ Aplicar skill legacy-storytelling-naked-crc. Etapas:
114
+ 1. Inventário inicial (listar files + classes/funções top-level)
115
+ 2. Leitura + síntese — produzir story em ≤ 5 frases
116
+ 3. Inventário canônico (tabela com responsabilidade primária + cluster)
117
+ 4. (depth=deep) Naked CRC sketch ASCII
118
+ 5. (depth=deep) Responsibility hot spots — classes fazendo > 3 coisas distintas
119
+ 6. (depth=deep) Abstrações ausentes (sugestões)
120
+ 7. (depth=deep) Extract class candidates priorizados
121
+ 8. Gotchas / surpresas
122
+ 9. Próximas ações sugeridas (effect sketch, /caracterizar, /refactor-seguro)
123
+ 10. Output: .planning/storytelling/<slug>.md
124
+
125
+ PRINCÍPIO: você É a IA primeiro draft. Não busque perfeição — busque utilidade. Seja honesto sobre incertezas.
126
+ "
127
+ )
128
+ ```
129
+
130
+ ## 4. Pós-output
131
+
132
+ ```
133
+ ═══════════════════════════════════════════════════════════
134
+ framework ► STORYTELLING ▸ ${OUTPUT_PATH}
135
+ ═══════════════════════════════════════════════════════════
136
+
137
+ [output do storytelling-analyst]
138
+
139
+ ## ⚠ Validação obrigatória
140
+
141
+ Esta análise é PRIMEIRA PASSADA por IA. Erros possíveis:
142
+ - Relações alucinadas (LLM "viu" colaborador que não existe)
143
+ - Hot spots inflated (cluster coeso marcado como hot spot)
144
+ - Sugestões fora de escopo (extract candidate com 2-week effort marcado como 3h)
145
+
146
+ Cross-check OBRIGATÓRIO antes de basear decisões:
147
+ 1. **Spot-check 3-5 funções aleatórias** contra inventário (existem? responsabilidade descrita está correta?)
148
+ 2. **Confirmar colaboradores** existem (grep no codebase pelos nomes mencionados)
149
+ 3. **Validar hot spots** contra leitura humana (são realmente "fazendo demais"?)
150
+ 4. **Refinar story** se necessário; versão final em ${OUTPUT_PATH} é HUMANA, IA é primeiro draft
151
+
152
+ ## Próximos passos
153
+
154
+ 1. Validar story (5-15 min)
155
+ 2. Se vai modificar: `/encontrar-seams ${TARGET}` (se arquivo) ou `/storytelling <sub-target>` (refinar para sub-módulo)
156
+ 3. Se vai refactorar: `/refactor-seguro ${TARGET}` (chain canônico)
157
+ 4. Se vai extrair: revisar extract candidates — `/legacy refactor` por candidate
158
+ 5. Se há shotgun surgery em outros módulos relacionados: `/detectar-duplicacao src/`
159
+
160
+ ## Cross-suite
161
+
162
+ - **/encontrar-seams** (v1.12) — story informa onde existem deps externas
163
+ - **/caracterizar** (v1.12) — story prioriza qual hot spot caracterizar primeiro
164
+ - **/refactor-seguro** (v1.12) — chain canônico após storytelling
165
+ - **/detectar-duplicacao** (v1.12) — shotgun across módulos relacionados
166
+ - **/mapear-codebase** (framework v1.7+) — comando análogo mais geral; storytelling complementa com narrativa
167
+ ```
168
+
169
+ </process>
170
+
171
+ <success_criteria>
172
+ - [ ] $ARGUMENTS parseados (target obrigatório)
173
+ - [ ] Tamanho detectado e chunking ativado se necessário
174
+ - [ ] `storytelling-analyst` invocado via Task com depth resolvido
175
+ - [ ] Output forwarded transparentemente
176
+ - [ ] Warning de validação manual obrigatória emitido
177
+ - [ ] Próximos passos sugerem encontrar-seams, caracterizar, refactor-seguro
178
+ - [ ] Cross-references com /detectar-duplicacao, /mapear-codebase, /caracterizar
179
+ </success_criteria>
@@ -43,12 +43,17 @@ Agents disponíveis: `kit/agents/supabase-*.md` (Phase 26) + `kit/agents/schema-
43
43
  | `column` | `coluna`, `col-priv` | `supabase-column-privileges-writer` (v1.24 canonical materializer column-level — recebe spec via Task) |
44
44
  | `rbac` | `roles`, `permissions`, `claims` | `supabase-rbac-implementer` (v1.25 canonical materializer Custom Claims & RBAC via Auth Hook — recebe spec via Task) |
45
45
  | `role` | `papel`, `roles-pg` | `supabase-roles-implementer` (v1.26 canonical materializer Postgres Roles — recebe spec via Task; system access) |
46
- | `edge` | `edge-function`, `function`, `funcao` | `supabase-edge-fn-writer` |
46
+ | `edge` | `edge-function`, `function`, `funcao` | `supabase-edge-fn-writer` (v1.30: 2026 patterns — withSupabase, deno.json, config.toml) |
47
+ | `test` | `testar`, `tests`, `deno-test` | `supabase-edge-fn-tester` (v1.30 — gera Deno tests para função existente) |
48
+ | `mcp` | `mcp-server`, `mcp-lite` | `supabase-edge-fn-writer` com `pattern=mcp-server` |
49
+ | `ai` | `ai-session`, `embeddings-builtin`, `gte-small`, `ollama` | `supabase-edge-fn-writer` com `pattern=rag-embeddings` (Supabase.ai.Session) |
50
+ | `wasm` | `wasm-module` | `supabase-edge-fn-writer` com `pattern=wasm` + static_files config.toml |
51
+ | `websocket` | `ws`, `realtime-ws` | `supabase-edge-fn-writer` com `pattern=websocket` + `per_worker` |
47
52
  | `realtime` | `tempo-real` | `supabase-realtime-implementer` |
48
53
  | `auth` | `autenticacao`, `auth-ssr` | `supabase-auth-bootstrapper` |
49
54
  | `storage` | `armazenamento` | `supabase-storage-implementer` |
50
- | `rag` | `pgvector`, `embeddings` | `supabase-edge-fn-writer` com prompt sobre embeddings |
51
- | `cron` | `queues`, `pgmq`, `background` | `supabase-edge-fn-writer` com prompt sobre `cronpgmq → Edge` |
55
+ | `rag` | `pgvector`, `embeddings` | `supabase-edge-fn-writer` com `pattern=rag-embeddings` |
56
+ | `cron` | `queues`, `pgmq`, `background` | `supabase-edge-fn-writer` com `pattern=cron-pgmq` |
52
57
  | `check` | `validar`, `validate` | `schema-checker` (validação pré-migration) |
53
58
  | `help` | `ajuda`, `?` | exibe esta tabela inline |
54
59
 
@@ -79,12 +84,17 @@ hardener, harden, endurecer → supabase-rls-hardener (v1.23 canonical
79
84
  column, coluna, col-priv → supabase-column-privileges-writer (v1.24 canonical materializer column-level — feature AVANÇADA)
80
85
  rbac, roles, permissions, claims → supabase-rbac-implementer (v1.25 canonical materializer Custom Claims & RBAC via Auth Hook)
81
86
  role, papel, roles-pg → supabase-roles-implementer (v1.26 canonical materializer Postgres Roles — system access only)
82
- edge, edge-function, function, funcao → supabase-edge-fn-writer
87
+ edge, edge-function, function, funcao → supabase-edge-fn-writer (v1.30: 2026 patterns)
88
+ test, testar, tests, deno-test → supabase-edge-fn-tester (v1.30)
89
+ mcp, mcp-server, mcp-lite → supabase-edge-fn-writer (com flag pattern=mcp-server) (v1.30)
90
+ ai, ai-session, gte-small, ollama → supabase-edge-fn-writer (com flag pattern=rag-embeddings) (v1.30)
91
+ wasm, wasm-module → supabase-edge-fn-writer (com flag pattern=wasm) (v1.30)
92
+ websocket, ws, realtime-ws → supabase-edge-fn-writer (com flag pattern=websocket) (v1.30)
83
93
  realtime, tempo-real → supabase-realtime-implementer
84
94
  auth, autenticacao, auth-ssr → supabase-auth-bootstrapper
85
95
  storage, armazenamento → supabase-storage-implementer
86
- rag, pgvector, embeddings → supabase-edge-fn-writer (com flag rag=true no prompt)
87
- cron, queues, pgmq, background → supabase-edge-fn-writer (com flag pattern=cron-pgmq no prompt)
96
+ rag, pgvector, embeddings → supabase-edge-fn-writer (com flag pattern=rag-embeddings)
97
+ cron, queues, pgmq, background → supabase-edge-fn-writer (com flag pattern=cron-pgmq)
88
98
  check, validar, validate → schema-checker
89
99
  ```
90
100
 
@@ -177,6 +187,16 @@ mode: rag-embeddings (ou cron-pgmq-edge)
177
187
 
178
188
  **Subcomando `role` (v1.26 novo):** dispatch direto para `supabase-roles-implementer`. Recebe spec de custom Postgres roles + hierarchy + GRANT matrix e materializa setup completo (CREATE ROLE com LOGIN PASSWORD opcional + role hierarchy INHERIT/NOINHERIT + GRANT/REVOKE per schema/table/function + password security check). **System access apenas** — para application access (end-users), use `/supabase rbac` (v1.25). Aceita input com bloco `<roles_to_create>` + `<grants>` + `<use_case>` no `$ARGUMENTS`. Cross-ref skill [`supabase-postgres-roles`](../skills/supabase-postgres-roles/SKILL.md).
179
189
 
190
+ **Subcomando `edge` (v1.30 modernizado):** dispatch para `supabase-edge-fn-writer` que agora aplica 6 skills 2026 — env vars JSON dict (`JSON.parse(SUPABASE_PUBLISHABLE_KEYS)['default']`), `withSupabase` para auth (4 modes: `'user' | 'secret:<name>' | 'publishable:<name>' | 'none'`), per-function `deno.json` (substitui import_map global legacy), per-function `config.toml` entry (`verify_jwt`, `entrypoint`, `static_files`), CORS via `npm:@supabase/supabase-js@2.95.0/cors`, instrumentação OTel + 4 golden signals + SRE defenses (timeout/jitter/RateLimitError handling). Aceita flag `pattern=basic|rag-embeddings|cron-pgmq|mcp-server|websocket|wasm|background-task` no `$ARGUMENTS`. Auto-handoff sugerido para `/supabase test <fn>` ao final.
191
+
192
+ **Subcomando `test` (v1.30 novo):** dispatch direto para `supabase-edge-fn-tester`. Gera `supabase/functions/tests/<fn>-test.ts` com cobertura canônica de 5 equivalence classes (happy/validation/auth/rate-limit/timeout) usando Deno test runner + `assertSnapshot` + `FunctionsHttpError`/`FunctionsRelayError`/`FunctionsFetchError`. Pattern-specific: `characterization` (legacy via fixtures capturados), `webhook` (signature HMAC fixture), `rag` (determinismo via temperature=0), `mcp` (delega para MCP Inspector). Handoff cooperativo upstream: `supabase-edge-fn-writer` recomenda esse subcomando automaticamente ao criar função nova. Cross-ref skill [`supabase-edge-functions-testing`](../skills/supabase-edge-functions-testing/SKILL.md).
193
+
194
+ **Subcomandos `mcp` / `ai` / `wasm` / `websocket` (v1.30 novos):** atalhos para `supabase-edge-fn-writer` com pattern específico — economizam o caller de especificar manualmente. Cada um carrega skill especializada:
195
+ - `mcp` → [`supabase-edge-functions-mcp-server`](../skills/supabase-edge-functions-mcp-server/SKILL.md) (mcp-lite, dois Hono apps)
196
+ - `ai` → [`supabase-edge-runtime-builtins`](../skills/supabase-edge-runtime-builtins/SKILL.md) (Supabase.ai.Session, gte-small, Ollama)
197
+ - `wasm` → [`supabase-edge-runtime-builtins`](../skills/supabase-edge-runtime-builtins/SKILL.md) + auto-adiciona `static_files` em config.toml (CLI 2.7.0+, requer Docker no deploy)
198
+ - `websocket` → [`supabase-edge-runtime-builtins`](../skills/supabase-edge-runtime-builtins/SKILL.md) + auto-adiciona `policy = "per_worker"` em config.toml
199
+
180
200
  ## 5. Output
181
201
 
182
202
  Output do agent é o output do command. Sem post-processing — agent já formata estruturado.
@@ -184,12 +204,15 @@ Output do agent é o output do command. Sem post-processing — agent já format
184
204
  </process>
185
205
 
186
206
  <success_criteria>
187
- - [ ] Subcomando resolvido para agent canônico (10 subcomandos × seus sinônimos)
207
+ - [ ] Subcomando resolvido para agent canônico (16 subcomandos × seus sinônimos — v1.30)
188
208
  - [ ] `project_id` extraído de `supabase/config.toml` se presente
189
209
  - [ ] Subcomando `arquiteto` faz `AskUserQuestion` upfront sobre tier + branches
190
210
  - [ ] Dispatch via `Task(subagent_type=...)` — único ponto de chain de agents Supabase
191
211
  - [ ] Subcomando inválido → mensagem clara com lista
192
212
  - [ ] Subcomando `help`/`ajuda`/`?` → exibe tabela inline
193
213
  - [ ] Subcomando `check` → invoca `schema-checker` (existente)
214
+ - [ ] Subcomando `edge` (v1.30) → invoca `supabase-edge-fn-writer` com 2026 patterns + auto-recomenda `/supabase test` ao final
215
+ - [ ] Subcomando `test` (v1.30) → invoca `supabase-edge-fn-tester` que lê config.toml + index.ts para detectar auth mode
216
+ - [ ] Subcomandos `mcp` / `ai` / `wasm` / `websocket` (v1.30) → passam `pattern=<canônico>` para writer
194
217
  - [ ] Args após subcomando passam transparentemente para o agent
195
218
  </success_criteria>