@luanpdd/kit-mcp 1.28.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.
- package/LICENSE +21 -21
- package/README.md +168 -168
- package/gates/agent-no-recursive-dispatch.md +82 -82
- package/kit/COMANDOS.md +138 -138
- package/kit/README.md +76 -76
- package/kit/agents/advisor-researcher.md +106 -106
- package/kit/agents/assumptions-analyzer.md +107 -107
- package/kit/agents/audit-log-implementer.md +313 -313
- package/kit/agents/auditor-consistencia-isolamento.md +413 -413
- package/kit/agents/b2b-saas-architect.md +156 -156
- package/kit/agents/cascading-failures-auditor.md +298 -298
- package/kit/agents/codebase-mapper.md +768 -768
- package/kit/agents/crm-pipeline-implementer.md +256 -256
- package/kit/agents/debugger.md +813 -813
- package/kit/agents/detector-tenant-quente.md +337 -337
- package/kit/agents/evolution-go-integrator.md +200 -200
- package/kit/agents/example-reviewer.md +21 -21
- package/kit/agents/executor.md +564 -564
- package/kit/agents/integration-checker.md +200 -200
- package/kit/agents/invite-flow-implementer.md +189 -189
- package/kit/agents/legacy-characterizer.md +368 -368
- package/kit/agents/lgpd-compliance-auditor.md +295 -295
- package/kit/agents/multi-tenant-isolation-auditor.md +253 -253
- package/kit/agents/multi-tenant-rls-writer.md +340 -340
- package/kit/agents/nyquist-auditor.md +178 -178
- package/kit/agents/observability-coverage-auditor.md +315 -315
- package/kit/agents/org-onboarding-implementer.md +223 -223
- package/kit/agents/payload-capture-instrumenter.md +273 -273
- package/kit/agents/phase-researcher.md +696 -696
- package/kit/agents/plan-checker.md +272 -272
- package/kit/agents/planner.md +922 -922
- package/kit/agents/project-researcher.md +652 -652
- package/kit/agents/refactor-safety-auditor.md +404 -404
- package/kit/agents/research-synthesizer.md +245 -245
- package/kit/agents/roadmapper.md +677 -677
- package/kit/agents/seam-finder.md +359 -359
- package/kit/agents/shotgun-surgery-detector.md +349 -349
- package/kit/agents/supabase-branching-architect.md +562 -562
- package/kit/agents/supabase-cicd-pipeline-implementer.md +777 -777
- package/kit/agents/supabase-column-privileges-writer.md +399 -399
- package/kit/agents/supabase-edge-fn-tester.md +287 -0
- package/kit/agents/supabase-edge-fn-writer.md +239 -210
- package/kit/agents/supabase-migration-writer.md +385 -385
- package/kit/agents/supabase-rbac-implementer.md +392 -392
- package/kit/agents/supabase-realtime-implementer.md +363 -267
- package/kit/agents/supabase-rls-hardener.md +521 -521
- package/kit/agents/supabase-rls-writer.md +323 -323
- package/kit/agents/supabase-roles-implementer.md +355 -355
- package/kit/agents/super-admin-implementer.md +281 -281
- package/kit/agents/ui-auditor.md +437 -437
- package/kit/agents/ui-checker.md +302 -302
- package/kit/agents/ui-researcher.md +355 -355
- package/kit/agents/user-profiler.md +175 -175
- package/kit/agents/validador-evolucao-schema.md +335 -335
- package/kit/agents/verifier.md +728 -728
- package/kit/commands/adicionar-backlog.md +75 -75
- package/kit/commands/adicionar-fase.md +42 -42
- package/kit/commands/adicionar-tarefa.md +45 -45
- package/kit/commands/adicionar-testes.md +41 -41
- package/kit/commands/ajuda.md +21 -21
- package/kit/commands/atualizar.md +37 -37
- package/kit/commands/auditar-cascading.md +111 -111
- package/kit/commands/auditar-marco.md +179 -179
- package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
- package/kit/commands/auditar-refactor.md +219 -219
- package/kit/commands/auditar-release.md +109 -109
- package/kit/commands/auditar-uat.md +23 -23
- package/kit/commands/autonomo.md +40 -40
- package/kit/commands/branch-pr.md +24 -24
- package/kit/commands/burn-rate-status.md +408 -408
- package/kit/commands/capturar-payloads.md +193 -193
- package/kit/commands/caracterizar.md +212 -212
- package/kit/commands/concluir-marco.md +247 -247
- package/kit/commands/configuracoes.md +36 -36
- package/kit/commands/dados-distribuidos.md +188 -188
- package/kit/commands/definir-perfil.md +10 -10
- package/kit/commands/depurar.md +190 -190
- package/kit/commands/detectar-duplicacao.md +197 -197
- package/kit/commands/discutir-fase.md +131 -131
- package/kit/commands/encontrar-seams.md +136 -136
- package/kit/commands/entrar-discord.md +17 -17
- package/kit/commands/estatisticas.md +18 -18
- package/kit/commands/example-greeting.md +33 -33
- package/kit/commands/executar-fase.md +58 -58
- package/kit/commands/expresso.md +56 -56
- package/kit/commands/fase-ui.md +34 -34
- package/kit/commands/fazer.md +57 -57
- package/kit/commands/fio.md +125 -125
- package/kit/commands/fluxos-trabalho.md +64 -64
- package/kit/commands/forense.md +176 -176
- package/kit/commands/gerenciador.md +38 -38
- package/kit/commands/inserir-fase.md +31 -31
- package/kit/commands/legacy.md +263 -263
- package/kit/commands/limpeza.md +17 -17
- package/kit/commands/listar-hipoteses-fase.md +45 -45
- package/kit/commands/listar-workspaces.md +18 -18
- package/kit/commands/load-shedding.md +117 -117
- package/kit/commands/mapear-codebase.md +70 -70
- package/kit/commands/multi-tenant.md +163 -163
- package/kit/commands/nota.md +33 -33
- package/kit/commands/novo-marco.md +43 -43
- package/kit/commands/novo-projeto.md +41 -41
- package/kit/commands/novo-workspace.md +43 -43
- package/kit/commands/pausar-trabalho.md +37 -37
- package/kit/commands/perfil-usuario.md +45 -45
- package/kit/commands/pesquisar-fase.md +195 -195
- package/kit/commands/planejar-fase.md +67 -67
- package/kit/commands/planejar-lacunas.md +33 -33
- package/kit/commands/plantar-ideia.md +25 -25
- package/kit/commands/progresso.md +24 -24
- package/kit/commands/proximo.md +30 -30
- package/kit/commands/publicar.md +490 -490
- package/kit/commands/rapido.md +35 -35
- package/kit/commands/reaplicar-patches.md +124 -124
- package/kit/commands/refactor-seguro.md +321 -321
- package/kit/commands/relatorio-sessao.md +19 -19
- package/kit/commands/remover-fase.md +31 -31
- package/kit/commands/remover-workspace.md +26 -26
- package/kit/commands/resumo-marco.md +50 -50
- package/kit/commands/retomar-trabalho.md +40 -40
- package/kit/commands/revisar-backlog.md +60 -60
- package/kit/commands/revisar-ui.md +32 -32
- package/kit/commands/revisar.md +37 -37
- package/kit/commands/saude.md +21 -21
- package/kit/commands/setup-notion.md +93 -93
- package/kit/commands/storytelling.md +179 -179
- package/kit/commands/supabase.md +30 -7
- package/kit/commands/sync-main.md +68 -68
- package/kit/commands/validar-fase.md +35 -35
- package/kit/commands/verificar-tarefas.md +44 -44
- package/kit/commands/verificar-trabalho.md +64 -64
- package/kit/file-manifest.json +14 -8
- package/kit/framework/bin/lib/commands.cjs +959 -959
- package/kit/framework/bin/lib/config.cjs +442 -442
- package/kit/framework/bin/lib/core.cjs +1230 -1230
- package/kit/framework/bin/lib/frontmatter.cjs +336 -336
- package/kit/framework/bin/lib/init.cjs +1442 -1442
- package/kit/framework/bin/lib/milestone.cjs +252 -252
- package/kit/framework/bin/lib/model-profiles.cjs +68 -68
- package/kit/framework/bin/lib/phase.cjs +888 -888
- package/kit/framework/bin/lib/profile-output.cjs +952 -952
- package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
- package/kit/framework/bin/lib/roadmap.cjs +329 -329
- package/kit/framework/bin/lib/security.cjs +382 -382
- package/kit/framework/bin/lib/state.cjs +1031 -1031
- package/kit/framework/bin/lib/template.cjs +222 -222
- package/kit/framework/bin/lib/uat.cjs +282 -282
- package/kit/framework/bin/lib/verify.cjs +888 -888
- package/kit/framework/bin/lib/workstream.cjs +491 -491
- package/kit/framework/bin/tools.cjs +918 -918
- package/kit/framework/commands/workstreams.md +63 -63
- package/kit/framework/references/checkpoints.md +778 -778
- package/kit/framework/references/continuation-format.md +249 -249
- package/kit/framework/references/decimal-phase-calculation.md +64 -64
- package/kit/framework/references/git-integration.md +295 -295
- package/kit/framework/references/git-planning-commit.md +38 -38
- package/kit/framework/references/model-profile-resolution.md +36 -36
- package/kit/framework/references/model-profiles.md +139 -139
- package/kit/framework/references/phase-argument-parsing.md +61 -61
- package/kit/framework/references/planning-config.md +202 -202
- package/kit/framework/references/questioning.md +162 -162
- package/kit/framework/references/tdd.md +263 -263
- package/kit/framework/references/ui-brand.md +160 -160
- package/kit/framework/references/user-profiling.md +657 -657
- package/kit/framework/references/verification-patterns.md +612 -612
- package/kit/framework/references/workstream-flag.md +58 -58
- package/kit/framework/templates/DEBUG.md +164 -164
- package/kit/framework/templates/UAT.md +265 -265
- package/kit/framework/templates/UI-SPEC.md +100 -100
- package/kit/framework/templates/VALIDATION.md +76 -76
- package/kit/framework/templates/claude-md.md +122 -122
- package/kit/framework/templates/codebase/architecture.md +185 -185
- package/kit/framework/templates/codebase/concerns.md +205 -205
- package/kit/framework/templates/codebase/conventions.md +204 -204
- package/kit/framework/templates/codebase/integrations.md +192 -192
- package/kit/framework/templates/codebase/stack.md +158 -158
- package/kit/framework/templates/codebase/structure.md +199 -199
- package/kit/framework/templates/codebase/testing.md +301 -301
- package/kit/framework/templates/config.json +44 -44
- package/kit/framework/templates/context.md +352 -352
- package/kit/framework/templates/continue-here.md +78 -78
- package/kit/framework/templates/copilot-instructions.md +7 -7
- package/kit/framework/templates/debug-subagent-prompt.md +91 -91
- package/kit/framework/templates/dev-preferences.md +20 -20
- package/kit/framework/templates/discovery.md +146 -146
- package/kit/framework/templates/discussion-log.md +63 -63
- package/kit/framework/templates/milestone-archive.md +123 -123
- package/kit/framework/templates/milestone.md +115 -115
- package/kit/framework/templates/phase-prompt.md +610 -610
- package/kit/framework/templates/planner-subagent-prompt.md +117 -117
- package/kit/framework/templates/project.md +186 -186
- package/kit/framework/templates/requirements.md +231 -231
- package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
- package/kit/framework/templates/research-project/FEATURES.md +147 -147
- package/kit/framework/templates/research-project/PITFALLS.md +200 -200
- package/kit/framework/templates/research-project/STACK.md +120 -120
- package/kit/framework/templates/research-project/SUMMARY.md +170 -170
- package/kit/framework/templates/research.md +419 -419
- package/kit/framework/templates/retrospective.md +54 -54
- package/kit/framework/templates/roadmap.md +202 -202
- package/kit/framework/templates/state.md +176 -176
- package/kit/framework/templates/summary-complex.md +59 -59
- package/kit/framework/templates/summary-minimal.md +41 -41
- package/kit/framework/templates/summary-standard.md +48 -48
- package/kit/framework/templates/summary.md +209 -209
- package/kit/framework/templates/user-profile.md +146 -146
- package/kit/framework/templates/user-setup.md +256 -256
- package/kit/framework/templates/verification-report.md +258 -258
- package/kit/framework/workflows/add-phase.md +112 -112
- package/kit/framework/workflows/add-tests.md +351 -351
- package/kit/framework/workflows/add-todo.md +158 -158
- package/kit/framework/workflows/audit-milestone.md +340 -340
- package/kit/framework/workflows/audit-uat.md +109 -109
- package/kit/framework/workflows/autonomous.md +891 -891
- package/kit/framework/workflows/check-todos.md +177 -177
- package/kit/framework/workflows/cleanup.md +152 -152
- package/kit/framework/workflows/complete-milestone.md +696 -696
- package/kit/framework/workflows/diagnose-issues.md +231 -231
- package/kit/framework/workflows/discovery-phase.md +289 -289
- package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
- package/kit/framework/workflows/discuss-phase.md +784 -784
- package/kit/framework/workflows/do.md +104 -104
- package/kit/framework/workflows/execute-phase.md +838 -838
- package/kit/framework/workflows/execute-plan.md +510 -510
- package/kit/framework/workflows/fast.md +102 -102
- package/kit/framework/workflows/forensics.md +265 -265
- package/kit/framework/workflows/health.md +181 -181
- package/kit/framework/workflows/help.md +619 -619
- package/kit/framework/workflows/insert-phase.md +130 -130
- package/kit/framework/workflows/list-phase-assumptions.md +178 -178
- package/kit/framework/workflows/list-workspaces.md +56 -56
- package/kit/framework/workflows/manager.md +362 -362
- package/kit/framework/workflows/map-codebase.md +377 -377
- package/kit/framework/workflows/milestone-summary.md +223 -223
- package/kit/framework/workflows/new-milestone.md +486 -486
- package/kit/framework/workflows/new-project.md +1159 -1159
- package/kit/framework/workflows/new-workspace.md +237 -237
- package/kit/framework/workflows/next.md +97 -97
- package/kit/framework/workflows/node-repair.md +92 -92
- package/kit/framework/workflows/note.md +156 -156
- package/kit/framework/workflows/pause-work.md +176 -176
- package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
- package/kit/framework/workflows/plan-phase.md +765 -765
- package/kit/framework/workflows/plant-seed.md +169 -169
- package/kit/framework/workflows/pr-branch.md +129 -129
- package/kit/framework/workflows/profile-user.md +450 -450
- package/kit/framework/workflows/progress.md +507 -507
- package/kit/framework/workflows/quick.md +757 -757
- package/kit/framework/workflows/remove-phase.md +155 -155
- package/kit/framework/workflows/remove-workspace.md +90 -90
- package/kit/framework/workflows/research-phase.md +82 -82
- package/kit/framework/workflows/resume-project.md +326 -326
- package/kit/framework/workflows/review.md +228 -228
- package/kit/framework/workflows/session-report.md +146 -146
- package/kit/framework/workflows/settings.md +283 -283
- package/kit/framework/workflows/ship.md +228 -228
- package/kit/framework/workflows/stats.md +60 -60
- package/kit/framework/workflows/transition.md +671 -671
- package/kit/framework/workflows/ui-phase.md +302 -302
- package/kit/framework/workflows/ui-review.md +165 -165
- package/kit/framework/workflows/update.md +323 -323
- package/kit/framework/workflows/validate-phase.md +174 -174
- package/kit/framework/workflows/verify-phase.md +252 -252
- package/kit/framework/workflows/verify-work.md +637 -637
- package/kit/hooks/check-update.js +118 -118
- package/kit/hooks/context-monitor.js +163 -163
- package/kit/hooks/prompt-guard.js +103 -103
- package/kit/hooks/statusline.js +125 -125
- package/kit/hooks/workflow-guard.js +101 -101
- package/kit/settings.json +45 -45
- package/kit/skills/_shared-supabase/glossary.md +17 -0
- package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
- package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
- package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
- package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
- package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
- package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
- package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
- package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
- package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
- package/kit/skills/example-skill/SKILL.md +42 -42
- package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
- package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
- package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
- package/kit/skills/legacy-extract-class/SKILL.md +203 -203
- package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
- package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
- package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
- package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
- package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
- package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
- package/kit/skills/member-invite-flow/SKILL.md +305 -305
- package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
- package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
- package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
- package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
- package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
- package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
- package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
- package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
- package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
- package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
- package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
- package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
- package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
- package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
- package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
- package/kit/skills/supabase-edge-functions/SKILL.md +229 -141
- package/kit/skills/supabase-edge-functions-auth/SKILL.md +309 -0
- package/kit/skills/supabase-edge-functions-limits/SKILL.md +302 -0
- package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +279 -0
- package/kit/skills/supabase-edge-functions-testing/SKILL.md +277 -0
- package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +357 -0
- package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
- package/kit/skills/supabase-migrations/SKILL.md +297 -297
- package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
- package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
- package/kit/skills/supabase-realtime/SKILL.md +460 -236
- package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
- package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
- package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
- package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
- package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
- package/package.json +1 -1
- package/src/cli/index.js +33 -0
- package/src/core/kit.js +216 -216
- package/src/core/reflect.js +247 -247
- package/src/core/reverse-sync.js +372 -372
- package/src/core/sync.js +418 -418
- package/src/core/watch.js +121 -121
- package/src/mcp-server/index.js +693 -490
- package/src/mcp-server/roots.js +124 -0
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
|
-
[](https://www.npmjs.com/package/@luanpdd/kit-mcp)
|
|
4
|
-
[](https://www.npmjs.com/package/@luanpdd/kit-mcp)
|
|
5
|
-
[](https://github.com/luanpdd/kit-mcp/actions/workflows/ci.yml)
|
|
6
|
-
[](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:**
|
|
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/
|
|
141
|
-
├── commands/ 89 slash-commands (/discutir-fase, /planejar-fase, /executar-fase, …)
|
|
142
|
-
├── skills/
|
|
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
|
+
[](https://www.npmjs.com/package/@luanpdd/kit-mcp)
|
|
4
|
+
[](https://www.npmjs.com/package/@luanpdd/kit-mcp)
|
|
5
|
+
[](https://github.com/luanpdd/kit-mcp/actions/workflows/ci.yml)
|
|
6
|
+
[](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
|