@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
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:** 66 agents · 89 commands · 76 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/ 66 agents executáveis (planner, executor, debugger, supabase-rls-hardener, …)
141
- ├── commands/ 89 slash-commands (/discutir-fase, /planejar-fase, /executar-fase, …)
142
- ├── skills/ 76 skills consultáveis (supabase-rls-policies, structured-events, legacy-characterization-tests, …)
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,82 @@
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
+
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