@luanpdd/kit-mcp 1.30.1 → 1.31.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 (347) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +168 -168
  3. package/gates/agent-no-recursive-dispatch.md +84 -82
  4. package/kit/COMANDOS.md +138 -138
  5. package/kit/README.md +76 -76
  6. package/kit/agents/advisor-researcher.md +107 -106
  7. package/kit/agents/ai-mutation-tester.md +1 -0
  8. package/kit/agents/assumptions-analyzer.md +108 -107
  9. package/kit/agents/audit-log-implementer.md +314 -313
  10. package/kit/agents/auditor-consistencia-isolamento.md +414 -413
  11. package/kit/agents/b2b-saas-architect.md +157 -156
  12. package/kit/agents/burn-rate-forecaster.md +1 -0
  13. package/kit/agents/cascading-failures-auditor.md +299 -298
  14. package/kit/agents/codebase-mapper.md +769 -768
  15. package/kit/agents/crm-pipeline-implementer.md +257 -256
  16. package/kit/agents/debugger.md +814 -813
  17. package/kit/agents/detector-tenant-quente.md +338 -337
  18. package/kit/agents/evolution-go-integrator.md +201 -200
  19. package/kit/agents/example-reviewer.md +22 -21
  20. package/kit/agents/executor.md +565 -564
  21. package/kit/agents/golden-signals-instrumenter.md +1 -0
  22. package/kit/agents/incident-investigator.md +1 -0
  23. package/kit/agents/integration-checker.md +201 -200
  24. package/kit/agents/invite-flow-implementer.md +190 -189
  25. package/kit/agents/legacy-characterizer.md +369 -368
  26. package/kit/agents/lgpd-compliance-auditor.md +296 -295
  27. package/kit/agents/load-shedding-instrumenter.md +1 -0
  28. package/kit/agents/multi-tenant-isolation-auditor.md +254 -253
  29. package/kit/agents/multi-tenant-rls-writer.md +341 -340
  30. package/kit/agents/nyquist-auditor.md +179 -178
  31. package/kit/agents/observability-coverage-auditor.md +316 -315
  32. package/kit/agents/observability-instrumenter.md +1 -0
  33. package/kit/agents/omm-auditor.md +1 -0
  34. package/kit/agents/org-onboarding-implementer.md +224 -223
  35. package/kit/agents/payload-capture-instrumenter.md +274 -273
  36. package/kit/agents/phase-researcher.md +697 -696
  37. package/kit/agents/plan-checker.md +273 -272
  38. package/kit/agents/planner.md +923 -922
  39. package/kit/agents/postmortem-writer.md +1 -0
  40. package/kit/agents/project-researcher.md +653 -652
  41. package/kit/agents/prr-conductor.md +1 -0
  42. package/kit/agents/refactor-safety-auditor.md +405 -404
  43. package/kit/agents/release-pipeline-auditor.md +1 -0
  44. package/kit/agents/research-synthesizer.md +246 -245
  45. package/kit/agents/roadmapper.md +678 -677
  46. package/kit/agents/schema-checker.md +1 -0
  47. package/kit/agents/seam-finder.md +360 -359
  48. package/kit/agents/shotgun-surgery-detector.md +350 -349
  49. package/kit/agents/slo-engineer.md +1 -0
  50. package/kit/agents/storytelling-analyst.md +1 -0
  51. package/kit/agents/supabase-architect.md +1 -0
  52. package/kit/agents/supabase-auth-bootstrapper.md +1 -0
  53. package/kit/agents/supabase-branching-architect.md +563 -562
  54. package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -777
  55. package/kit/agents/supabase-column-privileges-writer.md +400 -399
  56. package/kit/agents/supabase-edge-fn-tester.md +2 -1
  57. package/kit/agents/supabase-edge-fn-writer.md +2 -1
  58. package/kit/agents/supabase-migration-writer.md +386 -385
  59. package/kit/agents/supabase-rbac-implementer.md +393 -392
  60. package/kit/agents/supabase-realtime-implementer.md +364 -363
  61. package/kit/agents/supabase-rls-hardener.md +522 -521
  62. package/kit/agents/supabase-rls-writer.md +324 -323
  63. package/kit/agents/supabase-roles-implementer.md +356 -355
  64. package/kit/agents/supabase-storage-implementer.md +1 -0
  65. package/kit/agents/super-admin-implementer.md +282 -281
  66. package/kit/agents/toil-auditor.md +1 -0
  67. package/kit/agents/ui-auditor.md +438 -437
  68. package/kit/agents/ui-checker.md +303 -302
  69. package/kit/agents/ui-researcher.md +356 -355
  70. package/kit/agents/user-profiler.md +176 -175
  71. package/kit/agents/validador-evolucao-schema.md +336 -335
  72. package/kit/agents/verifier.md +729 -728
  73. package/kit/commands/adicionar-backlog.md +75 -75
  74. package/kit/commands/adicionar-fase.md +42 -42
  75. package/kit/commands/adicionar-tarefa.md +45 -45
  76. package/kit/commands/adicionar-testes.md +41 -41
  77. package/kit/commands/ajuda.md +21 -21
  78. package/kit/commands/atualizar.md +37 -37
  79. package/kit/commands/auditar-cascading.md +111 -111
  80. package/kit/commands/auditar-marco.md +179 -179
  81. package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
  82. package/kit/commands/auditar-refactor.md +219 -219
  83. package/kit/commands/auditar-release.md +109 -109
  84. package/kit/commands/auditar-uat.md +23 -23
  85. package/kit/commands/autonomo.md +40 -40
  86. package/kit/commands/branch-pr.md +24 -24
  87. package/kit/commands/burn-rate-status.md +408 -408
  88. package/kit/commands/capturar-payloads.md +193 -193
  89. package/kit/commands/caracterizar.md +212 -212
  90. package/kit/commands/concluir-marco.md +247 -247
  91. package/kit/commands/configuracoes.md +36 -36
  92. package/kit/commands/dados-distribuidos.md +188 -188
  93. package/kit/commands/definir-perfil.md +10 -10
  94. package/kit/commands/depurar.md +190 -190
  95. package/kit/commands/detectar-duplicacao.md +197 -197
  96. package/kit/commands/discutir-fase.md +131 -131
  97. package/kit/commands/encontrar-seams.md +136 -136
  98. package/kit/commands/entrar-discord.md +17 -17
  99. package/kit/commands/estatisticas.md +18 -18
  100. package/kit/commands/example-greeting.md +33 -33
  101. package/kit/commands/executar-fase.md +58 -58
  102. package/kit/commands/expresso.md +56 -56
  103. package/kit/commands/fase-ui.md +34 -34
  104. package/kit/commands/fazer.md +57 -57
  105. package/kit/commands/fio.md +125 -125
  106. package/kit/commands/fluxos-trabalho.md +64 -64
  107. package/kit/commands/forense.md +176 -176
  108. package/kit/commands/gerenciador.md +38 -38
  109. package/kit/commands/inserir-fase.md +31 -31
  110. package/kit/commands/legacy.md +263 -263
  111. package/kit/commands/limpeza.md +17 -17
  112. package/kit/commands/listar-hipoteses-fase.md +45 -45
  113. package/kit/commands/listar-workspaces.md +18 -18
  114. package/kit/commands/load-shedding.md +117 -117
  115. package/kit/commands/mapear-codebase.md +70 -70
  116. package/kit/commands/multi-tenant.md +163 -163
  117. package/kit/commands/nota.md +33 -33
  118. package/kit/commands/novo-marco.md +43 -43
  119. package/kit/commands/novo-projeto.md +41 -41
  120. package/kit/commands/novo-workspace.md +43 -43
  121. package/kit/commands/pausar-trabalho.md +37 -37
  122. package/kit/commands/perfil-usuario.md +45 -45
  123. package/kit/commands/pesquisar-fase.md +195 -195
  124. package/kit/commands/planejar-fase.md +67 -67
  125. package/kit/commands/planejar-lacunas.md +33 -33
  126. package/kit/commands/plantar-ideia.md +25 -25
  127. package/kit/commands/progresso.md +24 -24
  128. package/kit/commands/proximo.md +30 -30
  129. package/kit/commands/publicar.md +490 -490
  130. package/kit/commands/rapido.md +35 -35
  131. package/kit/commands/reaplicar-patches.md +124 -124
  132. package/kit/commands/refactor-seguro.md +321 -321
  133. package/kit/commands/relatorio-sessao.md +19 -19
  134. package/kit/commands/remover-fase.md +31 -31
  135. package/kit/commands/remover-workspace.md +26 -26
  136. package/kit/commands/resumo-marco.md +50 -50
  137. package/kit/commands/retomar-trabalho.md +40 -40
  138. package/kit/commands/revisar-backlog.md +60 -60
  139. package/kit/commands/revisar-ui.md +32 -32
  140. package/kit/commands/revisar.md +37 -37
  141. package/kit/commands/saude.md +21 -21
  142. package/kit/commands/setup-notion.md +93 -93
  143. package/kit/commands/storytelling.md +179 -179
  144. package/kit/commands/sync-main.md +68 -68
  145. package/kit/commands/validar-fase.md +35 -35
  146. package/kit/commands/verificar-tarefas.md +44 -44
  147. package/kit/commands/verificar-trabalho.md +64 -64
  148. package/kit/file-manifest.json +82 -81
  149. package/kit/framework/bin/lib/commands.cjs +959 -959
  150. package/kit/framework/bin/lib/config.cjs +442 -442
  151. package/kit/framework/bin/lib/core.cjs +1230 -1230
  152. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  153. package/kit/framework/bin/lib/init.cjs +1442 -1442
  154. package/kit/framework/bin/lib/milestone.cjs +252 -252
  155. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  156. package/kit/framework/bin/lib/phase.cjs +888 -888
  157. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  158. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  159. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  160. package/kit/framework/bin/lib/security.cjs +382 -382
  161. package/kit/framework/bin/lib/state.cjs +1031 -1031
  162. package/kit/framework/bin/lib/template.cjs +222 -222
  163. package/kit/framework/bin/lib/uat.cjs +282 -282
  164. package/kit/framework/bin/lib/verify.cjs +888 -888
  165. package/kit/framework/bin/lib/workstream.cjs +491 -491
  166. package/kit/framework/bin/tools.cjs +918 -918
  167. package/kit/framework/commands/workstreams.md +63 -63
  168. package/kit/framework/references/checkpoints.md +778 -778
  169. package/kit/framework/references/continuation-format.md +249 -249
  170. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  171. package/kit/framework/references/git-integration.md +295 -295
  172. package/kit/framework/references/git-planning-commit.md +38 -38
  173. package/kit/framework/references/model-profile-resolution.md +36 -36
  174. package/kit/framework/references/model-profiles.md +139 -139
  175. package/kit/framework/references/phase-argument-parsing.md +61 -61
  176. package/kit/framework/references/planning-config.md +202 -202
  177. package/kit/framework/references/questioning.md +162 -162
  178. package/kit/framework/references/tdd.md +263 -263
  179. package/kit/framework/references/ui-brand.md +160 -160
  180. package/kit/framework/references/user-profiling.md +657 -657
  181. package/kit/framework/references/verification-patterns.md +612 -612
  182. package/kit/framework/references/workstream-flag.md +58 -58
  183. package/kit/framework/templates/DEBUG.md +164 -164
  184. package/kit/framework/templates/UAT.md +265 -265
  185. package/kit/framework/templates/UI-SPEC.md +100 -100
  186. package/kit/framework/templates/VALIDATION.md +76 -76
  187. package/kit/framework/templates/claude-md.md +122 -122
  188. package/kit/framework/templates/codebase/architecture.md +185 -185
  189. package/kit/framework/templates/codebase/concerns.md +205 -205
  190. package/kit/framework/templates/codebase/conventions.md +204 -204
  191. package/kit/framework/templates/codebase/integrations.md +192 -192
  192. package/kit/framework/templates/codebase/stack.md +158 -158
  193. package/kit/framework/templates/codebase/structure.md +199 -199
  194. package/kit/framework/templates/codebase/testing.md +301 -301
  195. package/kit/framework/templates/config.json +44 -44
  196. package/kit/framework/templates/context.md +352 -352
  197. package/kit/framework/templates/continue-here.md +78 -78
  198. package/kit/framework/templates/copilot-instructions.md +7 -7
  199. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  200. package/kit/framework/templates/dev-preferences.md +20 -20
  201. package/kit/framework/templates/discovery.md +146 -146
  202. package/kit/framework/templates/discussion-log.md +63 -63
  203. package/kit/framework/templates/milestone-archive.md +123 -123
  204. package/kit/framework/templates/milestone.md +115 -115
  205. package/kit/framework/templates/phase-prompt.md +610 -610
  206. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  207. package/kit/framework/templates/project.md +186 -186
  208. package/kit/framework/templates/requirements.md +231 -231
  209. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  210. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  211. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  212. package/kit/framework/templates/research-project/STACK.md +120 -120
  213. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  214. package/kit/framework/templates/research.md +419 -419
  215. package/kit/framework/templates/retrospective.md +54 -54
  216. package/kit/framework/templates/roadmap.md +202 -202
  217. package/kit/framework/templates/state.md +176 -176
  218. package/kit/framework/templates/summary-complex.md +59 -59
  219. package/kit/framework/templates/summary-minimal.md +41 -41
  220. package/kit/framework/templates/summary-standard.md +48 -48
  221. package/kit/framework/templates/summary.md +209 -209
  222. package/kit/framework/templates/user-profile.md +146 -146
  223. package/kit/framework/templates/user-setup.md +256 -256
  224. package/kit/framework/templates/verification-report.md +258 -258
  225. package/kit/framework/workflows/add-phase.md +112 -112
  226. package/kit/framework/workflows/add-tests.md +351 -351
  227. package/kit/framework/workflows/add-todo.md +158 -158
  228. package/kit/framework/workflows/audit-milestone.md +340 -340
  229. package/kit/framework/workflows/audit-uat.md +109 -109
  230. package/kit/framework/workflows/autonomous.md +891 -891
  231. package/kit/framework/workflows/check-todos.md +177 -177
  232. package/kit/framework/workflows/cleanup.md +152 -152
  233. package/kit/framework/workflows/complete-milestone.md +696 -696
  234. package/kit/framework/workflows/diagnose-issues.md +231 -231
  235. package/kit/framework/workflows/discovery-phase.md +289 -289
  236. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  237. package/kit/framework/workflows/discuss-phase.md +784 -784
  238. package/kit/framework/workflows/do.md +104 -104
  239. package/kit/framework/workflows/execute-phase.md +838 -838
  240. package/kit/framework/workflows/execute-plan.md +510 -510
  241. package/kit/framework/workflows/fast.md +102 -102
  242. package/kit/framework/workflows/forensics.md +265 -265
  243. package/kit/framework/workflows/health.md +181 -181
  244. package/kit/framework/workflows/help.md +619 -619
  245. package/kit/framework/workflows/insert-phase.md +130 -130
  246. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  247. package/kit/framework/workflows/list-workspaces.md +56 -56
  248. package/kit/framework/workflows/manager.md +362 -362
  249. package/kit/framework/workflows/map-codebase.md +377 -377
  250. package/kit/framework/workflows/milestone-summary.md +223 -223
  251. package/kit/framework/workflows/new-milestone.md +486 -486
  252. package/kit/framework/workflows/new-project.md +1159 -1159
  253. package/kit/framework/workflows/new-workspace.md +237 -237
  254. package/kit/framework/workflows/next.md +97 -97
  255. package/kit/framework/workflows/node-repair.md +92 -92
  256. package/kit/framework/workflows/note.md +156 -156
  257. package/kit/framework/workflows/pause-work.md +176 -176
  258. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  259. package/kit/framework/workflows/plan-phase.md +765 -765
  260. package/kit/framework/workflows/plant-seed.md +169 -169
  261. package/kit/framework/workflows/pr-branch.md +129 -129
  262. package/kit/framework/workflows/profile-user.md +450 -450
  263. package/kit/framework/workflows/progress.md +507 -507
  264. package/kit/framework/workflows/quick.md +757 -757
  265. package/kit/framework/workflows/remove-phase.md +155 -155
  266. package/kit/framework/workflows/remove-workspace.md +90 -90
  267. package/kit/framework/workflows/research-phase.md +82 -82
  268. package/kit/framework/workflows/resume-project.md +326 -326
  269. package/kit/framework/workflows/review.md +228 -228
  270. package/kit/framework/workflows/session-report.md +146 -146
  271. package/kit/framework/workflows/settings.md +283 -283
  272. package/kit/framework/workflows/ship.md +228 -228
  273. package/kit/framework/workflows/stats.md +60 -60
  274. package/kit/framework/workflows/transition.md +671 -671
  275. package/kit/framework/workflows/ui-phase.md +302 -302
  276. package/kit/framework/workflows/ui-review.md +165 -165
  277. package/kit/framework/workflows/update.md +323 -323
  278. package/kit/framework/workflows/validate-phase.md +174 -174
  279. package/kit/framework/workflows/verify-phase.md +252 -252
  280. package/kit/framework/workflows/verify-work.md +637 -637
  281. package/kit/hooks/check-update.js +118 -118
  282. package/kit/hooks/context-monitor.js +163 -163
  283. package/kit/hooks/kit-attribution-reminder.cjs +30 -36
  284. package/kit/hooks/kit-router.cjs +137 -0
  285. package/kit/hooks/prompt-guard.js +103 -103
  286. package/kit/hooks/statusline.js +125 -125
  287. package/kit/hooks/workflow-guard.js +101 -101
  288. package/kit/settings.json +45 -45
  289. package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
  290. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
  291. package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
  292. package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
  293. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
  294. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
  295. package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
  296. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
  297. package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
  298. package/kit/skills/example-skill/SKILL.md +42 -42
  299. package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
  300. package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
  301. package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
  302. package/kit/skills/legacy-extract-class/SKILL.md +203 -203
  303. package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
  304. package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
  305. package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
  306. package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
  307. package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
  308. package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
  309. package/kit/skills/member-invite-flow/SKILL.md +305 -305
  310. package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
  311. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
  312. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
  313. package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
  314. package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
  315. package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
  316. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
  317. package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
  318. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
  319. package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
  320. package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
  321. package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
  322. package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
  323. package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
  324. package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
  325. package/kit/skills/supabase-edge-functions/SKILL.md +1 -1
  326. package/kit/skills/supabase-edge-functions-auth/SKILL.md +1 -1
  327. package/kit/skills/supabase-edge-functions-limits/SKILL.md +1 -1
  328. package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +1 -1
  329. package/kit/skills/supabase-edge-functions-testing/SKILL.md +1 -1
  330. package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +1 -1
  331. package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
  332. package/kit/skills/supabase-migrations/SKILL.md +297 -297
  333. package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
  334. package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
  335. package/kit/skills/supabase-realtime/SKILL.md +460 -460
  336. package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
  337. package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
  338. package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
  339. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
  340. package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
  341. package/package.json +1 -1
  342. package/src/core/kit.js +216 -216
  343. package/src/core/reflect.js +247 -247
  344. package/src/core/reverse-sync.js +372 -372
  345. package/src/core/sync.js +437 -418
  346. package/src/core/watch.js +121 -121
  347. package/src/mcp-server/index.js +794 -715
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 luanpdd
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 luanpdd
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,168 +1,168 @@
1
- # kit-mcp
2
-
3
- [![npm version](https://img.shields.io/npm/v/@luanpdd/kit-mcp.svg)](https://www.npmjs.com/package/@luanpdd/kit-mcp)
4
- [![npm downloads](https://img.shields.io/npm/dm/@luanpdd/kit-mcp.svg)](https://www.npmjs.com/package/@luanpdd/kit-mcp)
5
- [![CI](https://github.com/luanpdd/kit-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/luanpdd/kit-mcp/actions/workflows/ci.yml)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
-
8
- > Um kit de **agentes, comandos e skills** prontos para Claude Code, Cursor, Codex, Gemini CLI, Windsurf e outros — destilado da documentação oficial do Supabase, livros canônicos de engenharia, e técnicas comprovadas de orquestração agêntica.
9
- >
10
- > Entregue como **MCP server**. Você usa direto via `npx`, sem instalar nada.
11
-
12
- <!-- AUTOGEN-COUNTS-START -->
13
- **Bundled workflow:** 67 agents · 89 commands · 81 skills · 23 gates
14
- <!-- AUTOGEN-COUNTS-END -->
15
-
16
- ---
17
-
18
- ## O que é
19
-
20
- Quando você usa LLMs em projetos reais, o problema raramente é o modelo — é o **contexto**. Skills, agents e slash-commands são o jeito moderno de injetar processo, padrões canônicos e guard-rails no Claude Code (e similares) sem reescrever cada prompt.
21
-
22
- `kit-mcp` é um **kit curado** que materializa isso em três fontes de verdade:
23
-
24
- - **Documentação oficial do Supabase** — RLS, branching, Edge Functions, migrations, pgTAP, Custom Claims, Postgres Roles, Storage, Realtime, Cron, pgvector e todas as outras camadas, com anti-pitfalls explícitos.
25
- - **Livros canônicos** — *Working Effectively with Legacy Code* (Feathers), *Designing Data-Intensive Applications* (Kleppmann), *Observability Engineering* (Majors/Fong-Jones/Miranda) e *Google SRE Book* viraram skills aplicáveis (characterization tests, consistency models, golden signals, eliminating toil).
26
- - **Técnicas de harness agêntico** — orquestração via slash-commands (`/discutir-fase`, `/planejar-fase`, `/executar-fase`), handoff cooperativo entre agents, gates de pre-verify, replay determinístico, observabilidade do próprio fluxo agêntico.
27
-
28
- Tudo escrito em **PT-BR**, com tabelas, fluxogramas, exemplos rodáveis e referências cruzadas.
29
-
30
- ---
31
-
32
- ## Instalar (sem instalar)
33
-
34
- Adicione ao `.mcp.json` do seu projeto (ou config global do IDE):
35
-
36
- ```json
37
- {
38
- "mcpServers": {
39
- "kit-mcp": {
40
- "command": "npx",
41
- "args": ["-y", "@luanpdd/kit-mcp"]
42
- }
43
- }
44
- }
45
- ```
46
-
47
- Pronto. Na próxima sessão, o IDE faz `npx` e expõe os 7 tools do kit-mcp. Nada instalado globalmente, sem `npm install`.
48
-
49
- ### Registrar automaticamente
50
-
51
- ```bash
52
- npx -y @luanpdd/kit-mcp install claude-code
53
- # ou: cursor, codex, gemini-cli, windsurf, antigravity, copilot, trae
54
- ```
55
-
56
- ### Projetar skills/agents/commands para o IDE ler
57
-
58
- ```bash
59
- npx -y @luanpdd/kit-mcp sync claude-code
60
- ```
61
-
62
- Isso escreve markdown em `.claude/agents/`, `.claude/skills/`, etc. O IDE lê do disco — não precisa do server vivo.
63
-
64
- ### Fluxo completo de primeiro uso
65
-
66
- ```bash
67
- npx -y @luanpdd/kit-mcp init
68
- # 1. registra MCP server no IDE
69
- # 2. projeta o kit
70
- # 3. roda diagnóstico
71
- # 4. confirma: "✓ Claude Code agora vê N skills, M agents, K commands"
72
- ```
73
-
74
- ---
75
-
76
- ## Comandos diários
77
-
78
- | Comando | Para quê |
79
- |---|---|
80
- | `kit-mcp logs --tail --follow` | Ver tool calls do servidor em tempo real (JSONL em `~/.kit-mcp/logs/`) |
81
- | `kit-mcp status` | p50/p95/p99 + error rate + sidecar status |
82
- | `kit-mcp doctor` | Diagnóstico completo (versão, sidecar, hooks, IDE config, log dir) |
83
- | `kit-mcp inspect` | TUI live mostrando request/response do MCP |
84
- | `kit-mcp replay list \| show <id>` | Inspecionar payloads de agents gravados |
85
-
86
- ---
87
-
88
- ## O que a comunidade precisa saber
89
-
90
- ### Dois fluxos diferentes, mesma origem
91
-
92
- ```
93
- ┌─────────────┐ kit sync ┌──────────────────┐
94
- │ kit/ │ ──────────▶ │ .claude/agents/ │ IDE lê do disco
95
- │ (npm pkg) │ (offline, │ .claude/skills/ │ na inicialização
96
- │ │ one-shot) │ .claude/commands/│
97
- └─────────────┘ └──────────────────┘
98
-
99
- ┌──────────────┐ spawns ┌──────────────────┐
100
- │ Claude Code │ ────────────▶ │ kit-mcp (stdio) │ tools live via
101
- │ (IDE host) │ stdin/stdout │ 7 tools │ JSON-RPC
102
- └──────────────┘ ◀──────────── └──────────────────┘
103
- ```
104
-
105
- - **`kit sync`** projeta o conteúdo no formato nativo do IDE — funciona offline e o IDE só precisa dos arquivos.
106
- - **`kit-mcp` (MCP server)** roda como subprocess do IDE e expõe 7 tools (`kit`, `sync`, `gates`, `forensics`, `install`, `metrics-snapshot`, `reverse-sync`).
107
-
108
- **Sem output no terminal ao rodar `kit-mcp`?** Não é bug. A spec MCP proíbe stdout fora do JSON-RPC. Use `kit-mcp logs --follow` ou o sidecar UI em `http://localhost:7878`.
109
-
110
- ### Stable API v1.0+ desde v1.13
111
-
112
- 16 releases sem breaking changes na superfície MCP. Sua config `.mcp.json` continua funcionando.
113
-
114
- ### Princípio canônico do handoff cooperativo (v1.23+)
115
-
116
- Agents não-Supabase **planejam**, agents Supabase **materializam/hardenam**, ninguém descarta upstream. `BLOCK` rígido é anti-pattern — verdicts são `GO` / `STRENGTHEN` / `REWRITE com confirmação`.
117
-
118
- ### Defense-in-depth em 10 camadas (Supabase)
119
-
120
- RLS + Column-Level + Custom Claims + Postgres Roles + Audit Log + LGPD + Super-admin + Realtime auth + Branching + CI/CD. Cada camada documentada com pattern canônico e anti-patterns.
121
-
122
- ### Convenção PT-BR
123
-
124
- Skills, agents e commands são em PT-BR. Termos técnicos canônicos (RLS, SLO, characterization tests) ficam em EN para preservar busca e referências.
125
-
126
- ### Configuração via env vars
127
-
128
- | Var | Default | O que faz |
129
- |---|---|---|
130
- | `KIT_MCP_NO_UI` | unset | `=1` desabilita sidecar UI auto-spawn |
131
- | `KIT_MCP_LOG_DIR` | `~/.kit-mcp/logs` | Override do log dir |
132
- | `KIT_MCP_LOG_RETENTION_DAYS` | `7` | Retention (0 = forever) |
133
- | `KIT_MCP_INSPECT` | unset | `=1` anexa args/result aos eventos log |
134
- | `KIT_MCP_NOTIFY` | unset | `=1` OS notification em cada tool call |
135
-
136
- ### Estrutura do kit
137
-
138
- ```
139
- kit/
140
- ├── agents/ 67 agents executáveis (planner, executor, debugger, supabase-rls-hardener, supabase-edge-fn-tester, …)
141
- ├── commands/ 89 slash-commands (/discutir-fase, /planejar-fase, /executar-fase, …)
142
- ├── skills/ 81 skills consultáveis (supabase-rls-policies, supabase-edge-functions-auth, supabase-edge-runtime-builtins, …)
143
- ├── framework/ workflows e templates que os agents delegam
144
- └── hooks/ PostToolUse hooks (sidecar-tool-publisher, etc)
145
- ```
146
-
147
- ### Contribuindo
148
-
149
- - Issues e PRs: [github.com/luanpdd/kit-mcp](https://github.com/luanpdd/kit-mcp)
150
- - Skills/agents são markdown puro com frontmatter YAML — editar e abrir PR
151
- - Antes de mexer em código `src/`, leia o `.planning/` (workflow framework)
152
-
153
- ### Quando NÃO usar
154
-
155
- - Você não usa Supabase, Claude Code/Cursor, nem trabalha com agents — provavelmente outro kit serve melhor
156
- - Você quer um framework genérico tipo LangChain — kit-mcp é opinionated, em PT-BR, focado no fluxo Supabase + agêntico
157
-
158
- ---
159
-
160
- ## Licença
161
-
162
- [MIT](LICENSE) — use, modifique, fork à vontade.
163
-
164
- ---
165
-
166
- **Criado por [Luan PDD](https://github.com/luanpdd)** — engenharia, curadoria de conteúdo e direção do projeto.
167
-
168
- Inspirado pelo [vinilana/dotcontext](https://github.com/vinilana/dotcontext).
1
+ # kit-mcp
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@luanpdd/kit-mcp.svg)](https://www.npmjs.com/package/@luanpdd/kit-mcp)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@luanpdd/kit-mcp.svg)](https://www.npmjs.com/package/@luanpdd/kit-mcp)
5
+ [![CI](https://github.com/luanpdd/kit-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/luanpdd/kit-mcp/actions/workflows/ci.yml)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ > Um kit de **agentes, comandos e skills** prontos para Claude Code, Cursor, Codex, Gemini CLI, Windsurf e outros — destilado da documentação oficial do Supabase, livros canônicos de engenharia, e técnicas comprovadas de orquestração agêntica.
9
+ >
10
+ > Entregue como **MCP server**. Você usa direto via `npx`, sem instalar nada.
11
+
12
+ <!-- AUTOGEN-COUNTS-START -->
13
+ **Bundled workflow:** 67 agents · 89 commands · 81 skills · 23 gates
14
+ <!-- AUTOGEN-COUNTS-END -->
15
+
16
+ ---
17
+
18
+ ## O que é
19
+
20
+ Quando você usa LLMs em projetos reais, o problema raramente é o modelo — é o **contexto**. Skills, agents e slash-commands são o jeito moderno de injetar processo, padrões canônicos e guard-rails no Claude Code (e similares) sem reescrever cada prompt.
21
+
22
+ `kit-mcp` é um **kit curado** que materializa isso em três fontes de verdade:
23
+
24
+ - **Documentação oficial do Supabase** — RLS, branching, Edge Functions, migrations, pgTAP, Custom Claims, Postgres Roles, Storage, Realtime, Cron, pgvector e todas as outras camadas, com anti-pitfalls explícitos.
25
+ - **Livros canônicos** — *Working Effectively with Legacy Code* (Feathers), *Designing Data-Intensive Applications* (Kleppmann), *Observability Engineering* (Majors/Fong-Jones/Miranda) e *Google SRE Book* viraram skills aplicáveis (characterization tests, consistency models, golden signals, eliminating toil).
26
+ - **Técnicas de harness agêntico** — orquestração via slash-commands (`/discutir-fase`, `/planejar-fase`, `/executar-fase`), handoff cooperativo entre agents, gates de pre-verify, replay determinístico, observabilidade do próprio fluxo agêntico.
27
+
28
+ Tudo escrito em **PT-BR**, com tabelas, fluxogramas, exemplos rodáveis e referências cruzadas.
29
+
30
+ ---
31
+
32
+ ## Instalar (sem instalar)
33
+
34
+ Adicione ao `.mcp.json` do seu projeto (ou config global do IDE):
35
+
36
+ ```json
37
+ {
38
+ "mcpServers": {
39
+ "kit-mcp": {
40
+ "command": "npx",
41
+ "args": ["-y", "@luanpdd/kit-mcp"]
42
+ }
43
+ }
44
+ }
45
+ ```
46
+
47
+ Pronto. Na próxima sessão, o IDE faz `npx` e expõe os 7 tools do kit-mcp. Nada instalado globalmente, sem `npm install`.
48
+
49
+ ### Registrar automaticamente
50
+
51
+ ```bash
52
+ npx -y @luanpdd/kit-mcp install claude-code
53
+ # ou: cursor, codex, gemini-cli, windsurf, antigravity, copilot, trae
54
+ ```
55
+
56
+ ### Projetar skills/agents/commands para o IDE ler
57
+
58
+ ```bash
59
+ npx -y @luanpdd/kit-mcp sync claude-code
60
+ ```
61
+
62
+ Isso escreve markdown em `.claude/agents/`, `.claude/skills/`, etc. O IDE lê do disco — não precisa do server vivo.
63
+
64
+ ### Fluxo completo de primeiro uso
65
+
66
+ ```bash
67
+ npx -y @luanpdd/kit-mcp init
68
+ # 1. registra MCP server no IDE
69
+ # 2. projeta o kit
70
+ # 3. roda diagnóstico
71
+ # 4. confirma: "✓ Claude Code agora vê N skills, M agents, K commands"
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Comandos diários
77
+
78
+ | Comando | Para quê |
79
+ |---|---|
80
+ | `kit-mcp logs --tail --follow` | Ver tool calls do servidor em tempo real (JSONL em `~/.kit-mcp/logs/`) |
81
+ | `kit-mcp status` | p50/p95/p99 + error rate + sidecar status |
82
+ | `kit-mcp doctor` | Diagnóstico completo (versão, sidecar, hooks, IDE config, log dir) |
83
+ | `kit-mcp inspect` | TUI live mostrando request/response do MCP |
84
+ | `kit-mcp replay list \| show <id>` | Inspecionar payloads de agents gravados |
85
+
86
+ ---
87
+
88
+ ## O que a comunidade precisa saber
89
+
90
+ ### Dois fluxos diferentes, mesma origem
91
+
92
+ ```
93
+ ┌─────────────┐ kit sync ┌──────────────────┐
94
+ │ kit/ │ ──────────▶ │ .claude/agents/ │ IDE lê do disco
95
+ │ (npm pkg) │ (offline, │ .claude/skills/ │ na inicialização
96
+ │ │ one-shot) │ .claude/commands/│
97
+ └─────────────┘ └──────────────────┘
98
+
99
+ ┌──────────────┐ spawns ┌──────────────────┐
100
+ │ Claude Code │ ────────────▶ │ kit-mcp (stdio) │ tools live via
101
+ │ (IDE host) │ stdin/stdout │ 7 tools │ JSON-RPC
102
+ └──────────────┘ ◀──────────── └──────────────────┘
103
+ ```
104
+
105
+ - **`kit sync`** projeta o conteúdo no formato nativo do IDE — funciona offline e o IDE só precisa dos arquivos.
106
+ - **`kit-mcp` (MCP server)** roda como subprocess do IDE e expõe 7 tools (`kit`, `sync`, `gates`, `forensics`, `install`, `metrics-snapshot`, `reverse-sync`).
107
+
108
+ **Sem output no terminal ao rodar `kit-mcp`?** Não é bug. A spec MCP proíbe stdout fora do JSON-RPC. Use `kit-mcp logs --follow` ou o sidecar UI em `http://localhost:7878`.
109
+
110
+ ### Stable API v1.0+ desde v1.13
111
+
112
+ 16 releases sem breaking changes na superfície MCP. Sua config `.mcp.json` continua funcionando.
113
+
114
+ ### Princípio canônico do handoff cooperativo (v1.23+)
115
+
116
+ Agents não-Supabase **planejam**, agents Supabase **materializam/hardenam**, ninguém descarta upstream. `BLOCK` rígido é anti-pattern — verdicts são `GO` / `STRENGTHEN` / `REWRITE com confirmação`.
117
+
118
+ ### Defense-in-depth em 10 camadas (Supabase)
119
+
120
+ RLS + Column-Level + Custom Claims + Postgres Roles + Audit Log + LGPD + Super-admin + Realtime auth + Branching + CI/CD. Cada camada documentada com pattern canônico e anti-patterns.
121
+
122
+ ### Convenção PT-BR
123
+
124
+ Skills, agents e commands são em PT-BR. Termos técnicos canônicos (RLS, SLO, characterization tests) ficam em EN para preservar busca e referências.
125
+
126
+ ### Configuração via env vars
127
+
128
+ | Var | Default | O que faz |
129
+ |---|---|---|
130
+ | `KIT_MCP_NO_UI` | unset | `=1` desabilita sidecar UI auto-spawn |
131
+ | `KIT_MCP_LOG_DIR` | `~/.kit-mcp/logs` | Override do log dir |
132
+ | `KIT_MCP_LOG_RETENTION_DAYS` | `7` | Retention (0 = forever) |
133
+ | `KIT_MCP_INSPECT` | unset | `=1` anexa args/result aos eventos log |
134
+ | `KIT_MCP_NOTIFY` | unset | `=1` OS notification em cada tool call |
135
+
136
+ ### Estrutura do kit
137
+
138
+ ```
139
+ kit/
140
+ ├── agents/ 67 agents executáveis (planner, executor, debugger, supabase-rls-hardener, supabase-edge-fn-tester, …)
141
+ ├── commands/ 89 slash-commands (/discutir-fase, /planejar-fase, /executar-fase, …)
142
+ ├── skills/ 81 skills consultáveis (supabase-rls-policies, supabase-edge-functions-auth, supabase-edge-runtime-builtins, …)
143
+ ├── framework/ workflows e templates que os agents delegam
144
+ └── hooks/ PostToolUse hooks (sidecar-tool-publisher, etc)
145
+ ```
146
+
147
+ ### Contribuindo
148
+
149
+ - Issues e PRs: [github.com/luanpdd/kit-mcp](https://github.com/luanpdd/kit-mcp)
150
+ - Skills/agents são markdown puro com frontmatter YAML — editar e abrir PR
151
+ - Antes de mexer em código `src/`, leia o `.planning/` (workflow framework)
152
+
153
+ ### Quando NÃO usar
154
+
155
+ - Você não usa Supabase, Claude Code/Cursor, nem trabalha com agents — provavelmente outro kit serve melhor
156
+ - Você quer um framework genérico tipo LangChain — kit-mcp é opinionated, em PT-BR, focado no fluxo Supabase + agêntico
157
+
158
+ ---
159
+
160
+ ## Licença
161
+
162
+ [MIT](LICENSE) — use, modifique, fork à vontade.
163
+
164
+ ---
165
+
166
+ **Criado por [Luan PDD](https://github.com/luanpdd)** — engenharia, curadoria de conteúdo e direção do projeto.
167
+
168
+ Inspirado pelo [vinilana/dotcontext](https://github.com/vinilana/dotcontext).
@@ -1,82 +1,84 @@
1
- ---
2
- id: agent-no-recursive-dispatch
3
- stage: pre-verify
4
- blocking: true
5
- description: Valida que agents Supabase não montam ciclos via Task(). DAGs cooperativos v1.23+ (hardener/implementer pattern) são permitidos.
6
- ---
7
-
8
- # Agent no recursive dispatch gate
9
-
10
- **When to run:** pre-verify.
11
-
12
- ## Context
13
-
14
- A v1.8 introduziu este gate para prevenir o anti-pitfall A10: tentação de `supabase-architect` invocar `supabase-migration-writer` que re-invocaria architect → **ciclo** lógico + custo LLM multiplicado.
15
-
16
- A v1.23+ introduziu o pattern de **handoff cooperativo** (princípio canônico): agents não-Supabase planejam, agents Supabase materializam/hardenam, ninguém descarta upstream. Isso significa que **dispatches DAG entre agents Supabase são legítimos** (ex: `supabase-rls-writer` → `supabase-rls-hardener`). Apenas **ciclos** são proibidos.
17
-
18
- Este gate, portanto, valida o conjunto **proibido** (ciclos) e o conjunto **permitido** (handoffs DAG canônicos da hierarquia hardener/implementer).
19
-
20
- ## Allowlist canônica de handoffs DAG (downstream-only)
21
-
22
- - `supabase-rls-hardener` (v1.23) — canonical handoff target
23
- - `supabase-rls-writer` (v1.8) — pode invocar hardener; hardener nunca invoca writer de volta
24
- - `supabase-column-privileges-writer` (v1.24)
25
- - `supabase-rbac-implementer` (v1.25)
26
- - `supabase-roles-implementer` (v1.26)
27
- - `supabase-migration-writer` (cross-suite SQL handoff)
28
- - `supabase-branching-architect` (v1.27)
29
- - `supabase-cicd-pipeline-implementer` (v1.27)
30
-
31
- Dispatches para esses targets são **permitidos** mesmo quando o caller é também um agent Supabase.
32
-
33
- ## Check
34
-
35
- ```bash
36
- #!/usr/bin/env bash
37
- # PT-BR: agents Supabase podem invocar peers via DAG canônico (hardener/implementer pattern v1.23+).
38
- # Proibido: ciclos. Permitido: dispatches downstream para a allowlist da hierarquia cooperativa.
39
- set -e
40
-
41
- VIOLATIONS=0
42
-
43
- # Allowlist canônica (downstream-only): cada um destes é leaf na DAG cooperativa
44
- ALLOWLIST='supabase-(rls-hardener|rls-writer|column-privileges-writer|rbac-implementer|roles-implementer|migration-writer|branching-architect|cicd-pipeline-implementer)'
45
-
46
- for f in kit/agents/supabase-*.md; do
47
- [ -f "$f" ] || continue
48
- # 1. Match raw: linha contém Task(...subagent_type=...supabase-...)
49
- # 2. Excluir allowlist (handoffs DAG legítimos v1.23+)
50
- # 3. Excluir linhas de auto-documentação ("Este agent é invocável via Task" / "Cross-suite handoff: invocar via")
51
- matches=$(grep -nE 'Task\([^)]*subagent_type[^)]*supabase-' "$f" \
52
- | grep -vE "subagent_type[^)]*${ALLOWLIST}" \
53
- | grep -vE 'Este agent é invocável via|Cross-suite handoff: invocar via|invocável via .?Task' \
54
- || true)
55
- if [ -n "$matches" ]; then
56
- echo "FAIL: $f — dispatch fora da allowlist canônica (potencial ciclo):"
57
- echo "$matches"
58
- VIOLATIONS=$((VIOLATIONS + 1))
59
- fi
60
- done
61
-
62
- if [ "$VIOLATIONS" -gt 0 ]; then
63
- echo "Total violations: $VIOLATIONS"
64
- echo "Agents Supabase podem invocar a allowlist canônica (hardener/implementer pattern v1.23+)."
65
- echo "Dispatches fora dessa lista correm risco de ciclo (anti-pitfall A10)."
66
- exit 1
67
- fi
68
-
69
- echo "✓ Zero recursive dispatch fora da allowlist canônica"
70
- exit 0
71
- ```
72
-
73
- ## Verdict
74
-
75
- - **passed** — zero dispatches fora da allowlist DAG canônica
76
- - **block** — dispatch para target não-allowlist detectado (potencial ciclo)
77
-
78
- ## Notes
79
-
80
- - Anti-pitfall A10 (v1.8) ainda válido para targets **não-allowlist** (ex: architect → migration-writer fora do flow cooperativo)
81
- - Allowlist v1.23-v1.27 reflete o princípio canônico: agents Supabase materializam/hardenam via DAG; ciclos continuam proibidos
82
- - Para adicionar novo handoff target: incluir em `ALLOWLIST` acima e documentar a justificativa cross-suite
1
+ ---
2
+ id: agent-no-recursive-dispatch
3
+ stage: pre-verify
4
+ blocking: true
5
+ description: Valida que agents Supabase não montam ciclos via Task(). DAGs cooperativos v1.23+ (hardener/implementer pattern) são permitidos.
6
+ ---
7
+
8
+ # Agent no recursive dispatch gate
9
+
10
+ **When to run:** pre-verify.
11
+
12
+ ## Context
13
+
14
+ A v1.8 introduziu este gate para prevenir o anti-pitfall A10: tentação de `supabase-architect` invocar `supabase-migration-writer` que re-invocaria architect → **ciclo** lógico + custo LLM multiplicado.
15
+
16
+ A v1.23+ introduziu o pattern de **handoff cooperativo** (princípio canônico): agents não-Supabase planejam, agents Supabase materializam/hardenam, ninguém descarta upstream. Isso significa que **dispatches DAG entre agents Supabase são legítimos** (ex: `supabase-rls-writer` → `supabase-rls-hardener`). Apenas **ciclos** são proibidos.
17
+
18
+ Este gate, portanto, valida o conjunto **proibido** (ciclos) e o conjunto **permitido** (handoffs DAG canônicos da hierarquia hardener/implementer).
19
+
20
+ ## Allowlist canônica de handoffs DAG (downstream-only)
21
+
22
+ - `supabase-rls-hardener` (v1.23) — canonical handoff target
23
+ - `supabase-rls-writer` (v1.8) — pode invocar hardener; hardener nunca invoca writer de volta
24
+ - `supabase-column-privileges-writer` (v1.24)
25
+ - `supabase-rbac-implementer` (v1.25)
26
+ - `supabase-roles-implementer` (v1.26)
27
+ - `supabase-migration-writer` (cross-suite SQL handoff)
28
+ - `supabase-branching-architect` (v1.27)
29
+ - `supabase-cicd-pipeline-implementer` (v1.27)
30
+ - `supabase-edge-fn-writer` (v1.30) — materializer de Edge Function; recebe handoff cooperativo de agents não-Supabase (evolution-go-integrator, etc.)
31
+ - `supabase-edge-fn-tester` (v1.30) handoff target de `supabase-edge-fn-writer`
32
+
33
+ Dispatches para esses targets são **permitidos** mesmo quando o caller é também um agent Supabase.
34
+
35
+ ## Check
36
+
37
+ ```bash
38
+ #!/usr/bin/env bash
39
+ # PT-BR: agents Supabase podem invocar peers via DAG canônico (hardener/implementer pattern v1.23+).
40
+ # Proibido: ciclos. Permitido: dispatches downstream para a allowlist da hierarquia cooperativa.
41
+ set -e
42
+
43
+ VIOLATIONS=0
44
+
45
+ # Allowlist canônica (downstream-only): cada um destes é leaf na DAG cooperativa
46
+ ALLOWLIST='supabase-(rls-hardener|rls-writer|column-privileges-writer|rbac-implementer|roles-implementer|migration-writer|branching-architect|cicd-pipeline-implementer|edge-fn-writer|edge-fn-tester)'
47
+
48
+ for f in kit/agents/supabase-*.md; do
49
+ [ -f "$f" ] || continue
50
+ # 1. Match raw: linha contém Task(...subagent_type=...supabase-...)
51
+ # 2. Excluir allowlist (handoffs DAG legítimos v1.23+)
52
+ # 3. Excluir linhas de auto-documentação ("Este agent é invocável via Task" / "Cross-suite handoff: invocar via")
53
+ matches=$(grep -nE 'Task\([^)]*subagent_type[^)]*supabase-' "$f" \
54
+ | grep -vE "subagent_type[^)]*${ALLOWLIST}" \
55
+ | grep -vE 'Este agent é invocável via|Cross-suite handoff: invocar via|invocável via .?Task' \
56
+ || true)
57
+ if [ -n "$matches" ]; then
58
+ echo "FAIL: $f — dispatch fora da allowlist canônica (potencial ciclo):"
59
+ echo "$matches"
60
+ VIOLATIONS=$((VIOLATIONS + 1))
61
+ fi
62
+ done
63
+
64
+ if [ "$VIOLATIONS" -gt 0 ]; then
65
+ echo "Total violations: $VIOLATIONS"
66
+ echo "Agents Supabase podem invocar a allowlist canônica (hardener/implementer pattern v1.23+)."
67
+ echo "Dispatches fora dessa lista correm risco de ciclo (anti-pitfall A10)."
68
+ exit 1
69
+ fi
70
+
71
+ echo "✓ Zero recursive dispatch fora da allowlist canônica"
72
+ exit 0
73
+ ```
74
+
75
+ ## Verdict
76
+
77
+ - **passed** — zero dispatches fora da allowlist DAG canônica
78
+ - **block** — dispatch para target não-allowlist detectado (potencial ciclo)
79
+
80
+ ## Notes
81
+
82
+ - Anti-pitfall A10 (v1.8) ainda válido para targets **não-allowlist** (ex: architect migration-writer fora do flow cooperativo)
83
+ - Allowlist v1.23-v1.27 reflete o princípio canônico: agents Supabase materializam/hardenam via DAG; ciclos continuam proibidos
84
+ - Para adicionar novo handoff target: incluir em `ALLOWLIST` acima e documentar a justificativa cross-suite