@luanpdd/kit-mcp 1.30.2 → 1.32.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 (365) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +168 -168
  3. package/gates/agent-no-recursive-dispatch.md +84 -82
  4. package/kit/COMANDOS.md +138 -138
  5. package/kit/COMPATIBILITY.md +5 -0
  6. package/kit/README.md +76 -76
  7. package/kit/agents/advisor-researcher.md +107 -106
  8. package/kit/agents/ai-mutation-tester.md +1 -0
  9. package/kit/agents/assumptions-analyzer.md +108 -107
  10. package/kit/agents/audit-log-implementer.md +314 -313
  11. package/kit/agents/auditor-consistencia-isolamento.md +414 -413
  12. package/kit/agents/b2b-saas-architect.md +157 -156
  13. package/kit/agents/burn-rate-forecaster.md +1 -0
  14. package/kit/agents/cascading-failures-auditor.md +299 -298
  15. package/kit/agents/codebase-mapper.md +769 -768
  16. package/kit/agents/crm-pipeline-implementer.md +257 -256
  17. package/kit/agents/debugger.md +814 -813
  18. package/kit/agents/detector-tenant-quente.md +338 -337
  19. package/kit/agents/evolution-go-integrator.md +201 -200
  20. package/kit/agents/example-reviewer.md +22 -21
  21. package/kit/agents/executor.md +565 -564
  22. package/kit/agents/golden-signals-instrumenter.md +1 -0
  23. package/kit/agents/incident-investigator.md +1 -0
  24. package/kit/agents/integration-checker.md +201 -200
  25. package/kit/agents/invite-flow-implementer.md +190 -189
  26. package/kit/agents/legacy-characterizer.md +369 -368
  27. package/kit/agents/lgpd-compliance-auditor.md +296 -295
  28. package/kit/agents/load-shedding-instrumenter.md +1 -0
  29. package/kit/agents/multi-tenant-isolation-auditor.md +254 -253
  30. package/kit/agents/multi-tenant-rls-writer.md +341 -340
  31. package/kit/agents/nyquist-auditor.md +179 -178
  32. package/kit/agents/observability-coverage-auditor.md +316 -315
  33. package/kit/agents/observability-instrumenter.md +1 -0
  34. package/kit/agents/omm-auditor.md +1 -0
  35. package/kit/agents/org-onboarding-implementer.md +224 -223
  36. package/kit/agents/payload-capture-instrumenter.md +274 -273
  37. package/kit/agents/phase-researcher.md +697 -696
  38. package/kit/agents/plan-checker.md +273 -272
  39. package/kit/agents/planner.md +923 -922
  40. package/kit/agents/postmortem-writer.md +1 -0
  41. package/kit/agents/project-researcher.md +653 -652
  42. package/kit/agents/prr-conductor.md +1 -0
  43. package/kit/agents/refactor-safety-auditor.md +405 -404
  44. package/kit/agents/release-pipeline-auditor.md +1 -0
  45. package/kit/agents/research-synthesizer.md +246 -245
  46. package/kit/agents/roadmapper.md +678 -677
  47. package/kit/agents/schema-checker.md +1 -0
  48. package/kit/agents/seam-finder.md +360 -359
  49. package/kit/agents/shotgun-surgery-detector.md +350 -349
  50. package/kit/agents/slo-engineer.md +1 -0
  51. package/kit/agents/storytelling-analyst.md +1 -0
  52. package/kit/agents/supabase-architect.md +1 -0
  53. package/kit/agents/supabase-auth-bootstrapper.md +16 -1
  54. package/kit/agents/supabase-auth-hook-writer.md +418 -0
  55. package/kit/agents/supabase-branching-architect.md +563 -562
  56. package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -777
  57. package/kit/agents/supabase-column-privileges-writer.md +400 -399
  58. package/kit/agents/supabase-edge-fn-tester.md +2 -1
  59. package/kit/agents/supabase-edge-fn-writer.md +2 -1
  60. package/kit/agents/supabase-mfa-implementer.md +439 -0
  61. package/kit/agents/supabase-migration-writer.md +386 -385
  62. package/kit/agents/supabase-oauth-server-implementer.md +507 -0
  63. package/kit/agents/supabase-rbac-implementer.md +393 -392
  64. package/kit/agents/supabase-realtime-implementer.md +364 -363
  65. package/kit/agents/supabase-rls-hardener.md +522 -521
  66. package/kit/agents/supabase-rls-writer.md +324 -323
  67. package/kit/agents/supabase-roles-implementer.md +356 -355
  68. package/kit/agents/supabase-social-auth-implementer.md +451 -0
  69. package/kit/agents/supabase-sso-saml-architect.md +549 -0
  70. package/kit/agents/supabase-storage-implementer.md +1 -0
  71. package/kit/agents/super-admin-implementer.md +282 -281
  72. package/kit/agents/toil-auditor.md +1 -0
  73. package/kit/agents/ui-auditor.md +438 -437
  74. package/kit/agents/ui-checker.md +303 -302
  75. package/kit/agents/ui-researcher.md +356 -355
  76. package/kit/agents/user-profiler.md +176 -175
  77. package/kit/agents/validador-evolucao-schema.md +336 -335
  78. package/kit/agents/verifier.md +729 -728
  79. package/kit/commands/adicionar-backlog.md +75 -75
  80. package/kit/commands/adicionar-fase.md +42 -42
  81. package/kit/commands/adicionar-tarefa.md +45 -45
  82. package/kit/commands/adicionar-testes.md +41 -41
  83. package/kit/commands/ajuda.md +21 -21
  84. package/kit/commands/atualizar.md +37 -37
  85. package/kit/commands/auditar-cascading.md +111 -111
  86. package/kit/commands/auditar-marco.md +179 -179
  87. package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
  88. package/kit/commands/auditar-refactor.md +219 -219
  89. package/kit/commands/auditar-release.md +109 -109
  90. package/kit/commands/auditar-uat.md +23 -23
  91. package/kit/commands/autonomo.md +40 -40
  92. package/kit/commands/branch-pr.md +24 -24
  93. package/kit/commands/burn-rate-status.md +408 -408
  94. package/kit/commands/capturar-payloads.md +193 -193
  95. package/kit/commands/caracterizar.md +212 -212
  96. package/kit/commands/concluir-marco.md +247 -247
  97. package/kit/commands/configuracoes.md +36 -36
  98. package/kit/commands/dados-distribuidos.md +188 -188
  99. package/kit/commands/definir-perfil.md +10 -10
  100. package/kit/commands/depurar.md +190 -190
  101. package/kit/commands/detectar-duplicacao.md +197 -197
  102. package/kit/commands/discutir-fase.md +131 -131
  103. package/kit/commands/encontrar-seams.md +136 -136
  104. package/kit/commands/entrar-discord.md +17 -17
  105. package/kit/commands/estatisticas.md +18 -18
  106. package/kit/commands/example-greeting.md +33 -33
  107. package/kit/commands/executar-fase.md +58 -58
  108. package/kit/commands/expresso.md +56 -56
  109. package/kit/commands/fase-ui.md +34 -34
  110. package/kit/commands/fazer.md +57 -57
  111. package/kit/commands/fio.md +125 -125
  112. package/kit/commands/fluxos-trabalho.md +64 -64
  113. package/kit/commands/forense.md +176 -176
  114. package/kit/commands/gerenciador.md +38 -38
  115. package/kit/commands/inserir-fase.md +31 -31
  116. package/kit/commands/legacy.md +263 -263
  117. package/kit/commands/limpeza.md +17 -17
  118. package/kit/commands/listar-hipoteses-fase.md +45 -45
  119. package/kit/commands/listar-workspaces.md +18 -18
  120. package/kit/commands/load-shedding.md +117 -117
  121. package/kit/commands/mapear-codebase.md +70 -70
  122. package/kit/commands/multi-tenant.md +163 -163
  123. package/kit/commands/nota.md +33 -33
  124. package/kit/commands/novo-marco.md +43 -43
  125. package/kit/commands/novo-projeto.md +41 -41
  126. package/kit/commands/novo-workspace.md +43 -43
  127. package/kit/commands/pausar-trabalho.md +37 -37
  128. package/kit/commands/perfil-usuario.md +45 -45
  129. package/kit/commands/pesquisar-fase.md +195 -195
  130. package/kit/commands/planejar-fase.md +67 -67
  131. package/kit/commands/planejar-lacunas.md +33 -33
  132. package/kit/commands/plantar-ideia.md +25 -25
  133. package/kit/commands/progresso.md +24 -24
  134. package/kit/commands/proximo.md +30 -30
  135. package/kit/commands/publicar.md +490 -490
  136. package/kit/commands/rapido.md +35 -35
  137. package/kit/commands/reaplicar-patches.md +124 -124
  138. package/kit/commands/refactor-seguro.md +321 -321
  139. package/kit/commands/relatorio-sessao.md +19 -19
  140. package/kit/commands/remover-fase.md +31 -31
  141. package/kit/commands/remover-workspace.md +26 -26
  142. package/kit/commands/resumo-marco.md +50 -50
  143. package/kit/commands/retomar-trabalho.md +40 -40
  144. package/kit/commands/revisar-backlog.md +60 -60
  145. package/kit/commands/revisar-ui.md +32 -32
  146. package/kit/commands/revisar.md +37 -37
  147. package/kit/commands/saude.md +21 -21
  148. package/kit/commands/setup-notion.md +93 -93
  149. package/kit/commands/storytelling.md +179 -179
  150. package/kit/commands/supabase.md +21 -1
  151. package/kit/commands/sync-main.md +68 -68
  152. package/kit/commands/validar-fase.md +35 -35
  153. package/kit/commands/verificar-tarefas.md +44 -44
  154. package/kit/commands/verificar-trabalho.md +64 -64
  155. package/kit/file-manifest.json +100 -84
  156. package/kit/framework/bin/lib/commands.cjs +959 -959
  157. package/kit/framework/bin/lib/config.cjs +442 -442
  158. package/kit/framework/bin/lib/core.cjs +1230 -1230
  159. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  160. package/kit/framework/bin/lib/init.cjs +1442 -1442
  161. package/kit/framework/bin/lib/milestone.cjs +252 -252
  162. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  163. package/kit/framework/bin/lib/phase.cjs +888 -888
  164. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  165. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  166. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  167. package/kit/framework/bin/lib/security.cjs +382 -382
  168. package/kit/framework/bin/lib/state.cjs +1031 -1031
  169. package/kit/framework/bin/lib/template.cjs +222 -222
  170. package/kit/framework/bin/lib/uat.cjs +282 -282
  171. package/kit/framework/bin/lib/verify.cjs +888 -888
  172. package/kit/framework/bin/lib/workstream.cjs +491 -491
  173. package/kit/framework/bin/tools.cjs +918 -918
  174. package/kit/framework/commands/workstreams.md +63 -63
  175. package/kit/framework/references/checkpoints.md +778 -778
  176. package/kit/framework/references/continuation-format.md +249 -249
  177. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  178. package/kit/framework/references/git-integration.md +295 -295
  179. package/kit/framework/references/git-planning-commit.md +38 -38
  180. package/kit/framework/references/model-profile-resolution.md +36 -36
  181. package/kit/framework/references/model-profiles.md +139 -139
  182. package/kit/framework/references/phase-argument-parsing.md +61 -61
  183. package/kit/framework/references/planning-config.md +202 -202
  184. package/kit/framework/references/questioning.md +162 -162
  185. package/kit/framework/references/tdd.md +263 -263
  186. package/kit/framework/references/ui-brand.md +160 -160
  187. package/kit/framework/references/user-profiling.md +657 -657
  188. package/kit/framework/references/verification-patterns.md +612 -612
  189. package/kit/framework/references/workstream-flag.md +58 -58
  190. package/kit/framework/templates/DEBUG.md +164 -164
  191. package/kit/framework/templates/UAT.md +265 -265
  192. package/kit/framework/templates/UI-SPEC.md +100 -100
  193. package/kit/framework/templates/VALIDATION.md +76 -76
  194. package/kit/framework/templates/claude-md.md +122 -122
  195. package/kit/framework/templates/codebase/architecture.md +185 -185
  196. package/kit/framework/templates/codebase/concerns.md +205 -205
  197. package/kit/framework/templates/codebase/conventions.md +204 -204
  198. package/kit/framework/templates/codebase/integrations.md +192 -192
  199. package/kit/framework/templates/codebase/stack.md +158 -158
  200. package/kit/framework/templates/codebase/structure.md +199 -199
  201. package/kit/framework/templates/codebase/testing.md +301 -301
  202. package/kit/framework/templates/config.json +44 -44
  203. package/kit/framework/templates/context.md +352 -352
  204. package/kit/framework/templates/continue-here.md +78 -78
  205. package/kit/framework/templates/copilot-instructions.md +7 -7
  206. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  207. package/kit/framework/templates/dev-preferences.md +20 -20
  208. package/kit/framework/templates/discovery.md +146 -146
  209. package/kit/framework/templates/discussion-log.md +63 -63
  210. package/kit/framework/templates/milestone-archive.md +123 -123
  211. package/kit/framework/templates/milestone.md +115 -115
  212. package/kit/framework/templates/phase-prompt.md +610 -610
  213. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  214. package/kit/framework/templates/project.md +186 -186
  215. package/kit/framework/templates/requirements.md +231 -231
  216. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  217. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  218. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  219. package/kit/framework/templates/research-project/STACK.md +120 -120
  220. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  221. package/kit/framework/templates/research.md +419 -419
  222. package/kit/framework/templates/retrospective.md +54 -54
  223. package/kit/framework/templates/roadmap.md +202 -202
  224. package/kit/framework/templates/state.md +176 -176
  225. package/kit/framework/templates/summary-complex.md +59 -59
  226. package/kit/framework/templates/summary-minimal.md +41 -41
  227. package/kit/framework/templates/summary-standard.md +48 -48
  228. package/kit/framework/templates/summary.md +209 -209
  229. package/kit/framework/templates/user-profile.md +146 -146
  230. package/kit/framework/templates/user-setup.md +256 -256
  231. package/kit/framework/templates/verification-report.md +258 -258
  232. package/kit/framework/workflows/add-phase.md +112 -112
  233. package/kit/framework/workflows/add-tests.md +351 -351
  234. package/kit/framework/workflows/add-todo.md +158 -158
  235. package/kit/framework/workflows/audit-milestone.md +340 -340
  236. package/kit/framework/workflows/audit-uat.md +109 -109
  237. package/kit/framework/workflows/autonomous.md +891 -891
  238. package/kit/framework/workflows/check-todos.md +177 -177
  239. package/kit/framework/workflows/cleanup.md +152 -152
  240. package/kit/framework/workflows/complete-milestone.md +696 -696
  241. package/kit/framework/workflows/diagnose-issues.md +231 -231
  242. package/kit/framework/workflows/discovery-phase.md +289 -289
  243. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  244. package/kit/framework/workflows/discuss-phase.md +784 -784
  245. package/kit/framework/workflows/do.md +104 -104
  246. package/kit/framework/workflows/execute-phase.md +838 -838
  247. package/kit/framework/workflows/execute-plan.md +510 -510
  248. package/kit/framework/workflows/fast.md +102 -102
  249. package/kit/framework/workflows/forensics.md +265 -265
  250. package/kit/framework/workflows/health.md +181 -181
  251. package/kit/framework/workflows/help.md +619 -619
  252. package/kit/framework/workflows/insert-phase.md +130 -130
  253. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  254. package/kit/framework/workflows/list-workspaces.md +56 -56
  255. package/kit/framework/workflows/manager.md +362 -362
  256. package/kit/framework/workflows/map-codebase.md +377 -377
  257. package/kit/framework/workflows/milestone-summary.md +223 -223
  258. package/kit/framework/workflows/new-milestone.md +486 -486
  259. package/kit/framework/workflows/new-project.md +1159 -1159
  260. package/kit/framework/workflows/new-workspace.md +237 -237
  261. package/kit/framework/workflows/next.md +97 -97
  262. package/kit/framework/workflows/node-repair.md +92 -92
  263. package/kit/framework/workflows/note.md +156 -156
  264. package/kit/framework/workflows/pause-work.md +176 -176
  265. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  266. package/kit/framework/workflows/plan-phase.md +765 -765
  267. package/kit/framework/workflows/plant-seed.md +169 -169
  268. package/kit/framework/workflows/pr-branch.md +129 -129
  269. package/kit/framework/workflows/profile-user.md +450 -450
  270. package/kit/framework/workflows/progress.md +507 -507
  271. package/kit/framework/workflows/quick.md +757 -757
  272. package/kit/framework/workflows/remove-phase.md +155 -155
  273. package/kit/framework/workflows/remove-workspace.md +90 -90
  274. package/kit/framework/workflows/research-phase.md +82 -82
  275. package/kit/framework/workflows/resume-project.md +326 -326
  276. package/kit/framework/workflows/review.md +228 -228
  277. package/kit/framework/workflows/session-report.md +146 -146
  278. package/kit/framework/workflows/settings.md +283 -283
  279. package/kit/framework/workflows/ship.md +228 -228
  280. package/kit/framework/workflows/stats.md +60 -60
  281. package/kit/framework/workflows/transition.md +671 -671
  282. package/kit/framework/workflows/ui-phase.md +302 -302
  283. package/kit/framework/workflows/ui-review.md +165 -165
  284. package/kit/framework/workflows/update.md +323 -323
  285. package/kit/framework/workflows/validate-phase.md +174 -174
  286. package/kit/framework/workflows/verify-phase.md +252 -252
  287. package/kit/framework/workflows/verify-work.md +637 -637
  288. package/kit/hooks/check-update.js +118 -118
  289. package/kit/hooks/context-monitor.js +163 -163
  290. package/kit/hooks/kit-attribution-reminder.cjs +29 -50
  291. package/kit/hooks/kit-router.cjs +137 -0
  292. package/kit/hooks/prompt-guard.js +103 -103
  293. package/kit/hooks/statusline.js +125 -125
  294. package/kit/hooks/workflow-guard.js +101 -101
  295. package/kit/settings.json +45 -45
  296. package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
  297. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
  298. package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
  299. package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
  300. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
  301. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
  302. package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
  303. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
  304. package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
  305. package/kit/skills/example-skill/SKILL.md +42 -42
  306. package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
  307. package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
  308. package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
  309. package/kit/skills/legacy-extract-class/SKILL.md +203 -203
  310. package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
  311. package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
  312. package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
  313. package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
  314. package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
  315. package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
  316. package/kit/skills/member-invite-flow/SKILL.md +305 -305
  317. package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
  318. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
  319. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
  320. package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
  321. package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
  322. package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
  323. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
  324. package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
  325. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
  326. package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
  327. package/kit/skills/supabase-auth-hardening/SKILL.md +674 -0
  328. package/kit/skills/supabase-auth-hooks/SKILL.md +875 -0
  329. package/kit/skills/supabase-auth-methods/SKILL.md +486 -0
  330. package/kit/skills/supabase-auth-sessions/SKILL.md +579 -0
  331. package/kit/skills/supabase-auth-ssr/SKILL.md +60 -14
  332. package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
  333. package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
  334. package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
  335. package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
  336. package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
  337. package/kit/skills/supabase-edge-functions/SKILL.md +1 -1
  338. package/kit/skills/supabase-edge-functions-auth/SKILL.md +1 -1
  339. package/kit/skills/supabase-edge-functions-limits/SKILL.md +1 -1
  340. package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +1 -1
  341. package/kit/skills/supabase-edge-functions-testing/SKILL.md +1 -1
  342. package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +1 -1
  343. package/kit/skills/supabase-enterprise-sso-saml/SKILL.md +545 -0
  344. package/kit/skills/supabase-jwt-signing-keys/SKILL.md +399 -0
  345. package/kit/skills/supabase-mfa/SKILL.md +488 -0
  346. package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
  347. package/kit/skills/supabase-migrations/SKILL.md +297 -297
  348. package/kit/skills/supabase-oauth-server/SKILL.md +537 -0
  349. package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
  350. package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
  351. package/kit/skills/supabase-realtime/SKILL.md +460 -460
  352. package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
  353. package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
  354. package/kit/skills/supabase-social-oauth/SKILL.md +480 -0
  355. package/kit/skills/supabase-third-party-auth/SKILL.md +450 -0
  356. package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
  357. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
  358. package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
  359. package/package.json +1 -1
  360. package/src/core/kit.js +216 -216
  361. package/src/core/reflect.js +247 -247
  362. package/src/core/reverse-sync.js +372 -372
  363. package/src/core/sync.js +437 -418
  364. package/src/core/watch.js +121 -121
  365. package/src/mcp-server/index.js +794 -746
@@ -1,193 +1,193 @@
1
- ---
2
- name: capturar-payloads
3
- description: Invoca payload-capture-instrumenter — instrumenta Edge Function Supabase para captura via mcp__supabase__get_logs por N dias, sanitiza PII, gera fixtures para legacy-characterizer.
4
- argument-hint: "<edge_function_path> [--days N] [--max-payloads N] [--mode instrument|drain|full] [--sanitize-keys k1,k2,...]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Grep
11
- - Glob
12
- - Task
13
- - mcp__supabase__execute_sql
14
- - mcp__supabase__get_logs
15
- ---
16
-
17
- <objective>
18
- Instrumentar Edge Function Supabase para capturar **payloads reais** de produção, drenar logs após janela de captura via `mcp__supabase__get_logs`, sanitizar PII deterministicamente, e gerar fixtures prontos para alimentar `/caracterizar`. Invoca o agente [`payload-capture-instrumenter`](../agents/payload-capture-instrumenter.md) que aplica a skill [`legacy-characterization-tests`](../skills/legacy-characterization-tests/SKILL.md) Pattern 7.
19
-
20
- **Cria/Atualiza:**
21
- - Patch na Edge Function adicionando log dedicado controlado por env `CAPTURE_PAYLOADS=true`
22
- - `supabase/functions/_shared/payload-capture.ts` — sanitização canônica
23
- - `tests/characterization/<edge-fn>/fixtures/payload-NN.json` — fixtures sanitizados após drenagem
24
-
25
- **Após:** o user tem fixtures BASEADOS EM DISTRIBUIÇÃO REAL de produção, não em sintéticos. Cobertura comportamental cresce significativamente.
26
- </objective>
27
-
28
- <context>
29
- **Argumentos:**
30
- - `<edge_function_path>` — path da Edge Function (e.g., `supabase/functions/process-orders/index.ts`) — OBRIGATÓRIO
31
- - `--days N` — janela de captura em dias (default: 7)
32
- - `--max-payloads N` — máximo de fixtures a salvar (default: 100)
33
- - `--mode instrument|drain|full` — fase do workflow:
34
- - `instrument` — só aplica patch (você faz deploy + aguarda)
35
- - `drain` — só drena logs (após capture já rodou em prod)
36
- - `full` — patch + aguarda + drena (default — orquestra tudo)
37
- - `--sanitize-keys k1,k2,k3` — keys adicionais a redact
38
-
39
- **Workflow esperado:**
40
-
41
- ```
42
- Dia 0: /capturar-payloads <fn> --mode=instrument
43
- Dia 0: Você faz deploy + setar CAPTURE_PAYLOADS=true em env
44
- Dia 1-7: produção captura naturalmente
45
- Dia 7: /capturar-payloads <fn> --mode=drain
46
- Dia 7: Fixtures criados em tests/characterization/<fn>/fixtures/
47
- Dia 7: /caracterizar <fn> --fixtures-dir tests/characterization/<fn>/fixtures
48
- ```
49
-
50
- **Exemplos:**
51
- ```
52
- /capturar-payloads supabase/functions/webhook-stripe/index.ts # full mode 7 dias
53
- /capturar-payloads supabase/functions/process-orders/index.ts --days 14 # janela maior
54
- /capturar-payloads supabase/functions/process-orders/index.ts --mode=instrument # só patch
55
- /capturar-payloads supabase/functions/process-orders/index.ts --mode=drain # só drenagem
56
- ```
57
-
58
- **Pré-requisitos:**
59
- - Edge Function deployada em Supabase (modo drain depende de logs em prod)
60
- - MCP Supabase conectado para drenagem automatizada (alternativa: `supabase functions logs` CLI)
61
- - Tier full em IDEs com MCP; tier partial degrada para instrumentação only
62
-
63
- **Quando preferir este comando vs `/caracterizar` direto:**
64
- - Edge Function tem alto traffic (≥ 100 req/dia) — distribuição real cobre edge cases que sintético não pega
65
- - Edge Function tem contrato externo crítico (webhook de Stripe/GitHub) — fidelidade absoluta requer payloads reais
66
- - Equipe quer baseline empírico antes de refactor — payloads reais > inputs sintéticos
67
- </context>
68
-
69
- <process>
70
-
71
- ## 1. Parsear argumentos
72
-
73
- ```bash
74
- EDGE_FN_PATH=$(echo "$ARGUMENTS" | awk '{print $1}')
75
- CAPTURE_DAYS=$(echo "$ARGUMENTS" | grep -oE -- '--days [0-9]+' | awk '{print $2}')
76
- MAX_PAYLOADS=$(echo "$ARGUMENTS" | grep -oE -- '--max-payloads [0-9]+' | awk '{print $2}')
77
- MODE=$(echo "$ARGUMENTS" | grep -oE -- '--mode[= ][^ ]+' | sed 's/--mode[= ]//')
78
- SANITIZE_KEYS=$(echo "$ARGUMENTS" | grep -oE -- '--sanitize-keys [^ ]+' | awk '{print $2}')
79
-
80
- [ -z "$CAPTURE_DAYS" ] && CAPTURE_DAYS=7
81
- [ -z "$MAX_PAYLOADS" ] && MAX_PAYLOADS=100
82
- [ -z "$MODE" ] && MODE="full"
83
-
84
- if [ -z "$EDGE_FN_PATH" ]; then
85
- echo "ERROR: edge_function_path obrigatório"
86
- echo "Uso: /capturar-payloads <path> [opções]"
87
- exit 1
88
- fi
89
-
90
- if [ ! -f "$EDGE_FN_PATH" ]; then
91
- echo "ERROR: arquivo não encontrado: $EDGE_FN_PATH"
92
- exit 1
93
- fi
94
- ```
95
-
96
- ## 2. Validar pré-requisitos
97
-
98
- ```bash
99
- # verificar Edge Function (Deno + Deno.serve)
100
- if ! grep -q "Deno.serve" "$EDGE_FN_PATH"; then
101
- echo "ERROR: $EDGE_FN_PATH não parece Edge Function (sem Deno.serve)"
102
- exit 1
103
- fi
104
-
105
- # detectar projeto Supabase
106
- PROJECT_ID=""
107
- if [ -f "supabase/config.toml" ]; then
108
- PROJECT_ID=$(grep -E '^project_id\s*=' supabase/config.toml | sed 's/.*= *"\(.*\)".*/\1/' | head -1)
109
- fi
110
-
111
- if [ -z "$PROJECT_ID" ] && [ "$MODE" != "instrument" ]; then
112
- echo "WARN: PROJECT_ID não detectado em supabase/config.toml — drenagem pode falhar"
113
- fi
114
- ```
115
-
116
- ## 3. Dispatch para `payload-capture-instrumenter`
117
-
118
- ```text
119
- Task(
120
- subagent_type="payload-capture-instrumenter",
121
- prompt="
122
- edge_function_path: ${EDGE_FN_PATH}
123
- capture_days: ${CAPTURE_DAYS}
124
- max_payloads: ${MAX_PAYLOADS}
125
- mode: ${MODE}
126
- ${SANITIZE_KEYS:+sanitize_keys: ${SANITIZE_KEYS}}
127
- ${PROJECT_ID:+project_id: ${PROJECT_ID}}
128
-
129
- Aplicar skill legacy-characterization-tests Pattern 7. Etapas:
130
- 1. Preflight: validar Edge Function, detectar project_id
131
- 2. (mode=instrument|full) Patch Edge Function adicionando log dedicado
132
- 3. (mode=instrument) Output mensagem para fazer deploy + setar CAPTURE_PAYLOADS=true
133
- 4. (mode=drain|full após delay) Drenar logs via mcp__supabase__get_logs
134
- 5. Para cada log entry com kind=payload-capture:
135
- - Parse payload sanitized
136
- - Salvar em tests/characterization/<fn>/fixtures/payload-NN.json
137
- 6. Pós-processamento: validar nenhum unredacted, sanitização adicional
138
- 7. Output curto + recomendações (review fixtures, /caracterizar, remove flag)
139
- "
140
- )
141
- ```
142
-
143
- ## 4. Pós-output
144
-
145
- ```
146
- ═══════════════════════════════════════════════════════════
147
- framework ► CAPTURAR-PAYLOADS ▸ ${EDGE_FN_PATH}
148
- ═══════════════════════════════════════════════════════════
149
-
150
- [output do payload-capture-instrumenter]
151
-
152
- ## Próximos passos por mode
153
-
154
- ### Após mode=instrument
155
- 1. Deploy: `supabase functions deploy <name>`
156
- 2. Setar env var: `supabase secrets set CAPTURE_PAYLOADS=true`
157
- 3. Aguardar ${CAPTURE_DAYS} dias
158
- 4. Rodar: `/capturar-payloads ${EDGE_FN_PATH} --mode=drain`
159
-
160
- ### Após mode=drain ou full
161
- 1. **REVISAR fixtures** manualmente — sample 5-10 arquivos
162
- 2. **VALIDAR no PII vaza:**
163
- ```bash
164
- grep -E "([0-9]{3}\.[0-9]{3}\.[0-9]{3}-?[0-9]{2}|@.*\..*\.com)" tests/characterization/*/fixtures/*.json
165
- ```
166
- 3. **Alimentar legacy-characterizer:**
167
- ```bash
168
- /caracterizar ${EDGE_FN_PATH} --fixtures-dir tests/characterization/$(basename $(dirname ${EDGE_FN_PATH}))/fixtures
169
- ```
170
- 4. **Após characterization gerada:** REMOVE flag CAPTURE_PAYLOADS:
171
- ```bash
172
- supabase secrets unset CAPTURE_PAYLOADS
173
- git revert <commit-instrument>
174
- ```
175
-
176
- ## Cross-suite
177
-
178
- - **/caracterizar** (v1.12) — consome fixtures gerados aqui
179
- - **/instrumentar-fase** (v1.9) — captura é instrumentação shift-left aplicada
180
- - **/golden-signals** (v1.10) — captura E golden signals podem coexistir mesma Edge Function
181
- ```
182
-
183
- </process>
184
-
185
- <success_criteria>
186
- - [ ] $ARGUMENTS parseados (edge_function_path obrigatório, 4 flags opcionais)
187
- - [ ] Pré-requisitos validados (Deno.serve presente; supabase/config.toml para project_id)
188
- - [ ] `payload-capture-instrumenter` invocado via Task com mode resolvido
189
- - [ ] Tier degradation correto (Full = MCP drain; Partial = instrument-only)
190
- - [ ] Output forwarded transparentemente
191
- - [ ] Próximos passos específicos por mode (instrument vs drain vs full)
192
- - [ ] Cross-references com /caracterizar, /instrumentar-fase, /golden-signals
193
- </success_criteria>
1
+ ---
2
+ name: capturar-payloads
3
+ description: Invoca payload-capture-instrumenter — instrumenta Edge Function Supabase para captura via mcp__supabase__get_logs por N dias, sanitiza PII, gera fixtures para legacy-characterizer.
4
+ argument-hint: "<edge_function_path> [--days N] [--max-payloads N] [--mode instrument|drain|full] [--sanitize-keys k1,k2,...]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Grep
11
+ - Glob
12
+ - Task
13
+ - mcp__supabase__execute_sql
14
+ - mcp__supabase__get_logs
15
+ ---
16
+
17
+ <objective>
18
+ Instrumentar Edge Function Supabase para capturar **payloads reais** de produção, drenar logs após janela de captura via `mcp__supabase__get_logs`, sanitizar PII deterministicamente, e gerar fixtures prontos para alimentar `/caracterizar`. Invoca o agente [`payload-capture-instrumenter`](../agents/payload-capture-instrumenter.md) que aplica a skill [`legacy-characterization-tests`](../skills/legacy-characterization-tests/SKILL.md) Pattern 7.
19
+
20
+ **Cria/Atualiza:**
21
+ - Patch na Edge Function adicionando log dedicado controlado por env `CAPTURE_PAYLOADS=true`
22
+ - `supabase/functions/_shared/payload-capture.ts` — sanitização canônica
23
+ - `tests/characterization/<edge-fn>/fixtures/payload-NN.json` — fixtures sanitizados após drenagem
24
+
25
+ **Após:** o user tem fixtures BASEADOS EM DISTRIBUIÇÃO REAL de produção, não em sintéticos. Cobertura comportamental cresce significativamente.
26
+ </objective>
27
+
28
+ <context>
29
+ **Argumentos:**
30
+ - `<edge_function_path>` — path da Edge Function (e.g., `supabase/functions/process-orders/index.ts`) — OBRIGATÓRIO
31
+ - `--days N` — janela de captura em dias (default: 7)
32
+ - `--max-payloads N` — máximo de fixtures a salvar (default: 100)
33
+ - `--mode instrument|drain|full` — fase do workflow:
34
+ - `instrument` — só aplica patch (você faz deploy + aguarda)
35
+ - `drain` — só drena logs (após capture já rodou em prod)
36
+ - `full` — patch + aguarda + drena (default — orquestra tudo)
37
+ - `--sanitize-keys k1,k2,k3` — keys adicionais a redact
38
+
39
+ **Workflow esperado:**
40
+
41
+ ```
42
+ Dia 0: /capturar-payloads <fn> --mode=instrument
43
+ Dia 0: Você faz deploy + setar CAPTURE_PAYLOADS=true em env
44
+ Dia 1-7: produção captura naturalmente
45
+ Dia 7: /capturar-payloads <fn> --mode=drain
46
+ Dia 7: Fixtures criados em tests/characterization/<fn>/fixtures/
47
+ Dia 7: /caracterizar <fn> --fixtures-dir tests/characterization/<fn>/fixtures
48
+ ```
49
+
50
+ **Exemplos:**
51
+ ```
52
+ /capturar-payloads supabase/functions/webhook-stripe/index.ts # full mode 7 dias
53
+ /capturar-payloads supabase/functions/process-orders/index.ts --days 14 # janela maior
54
+ /capturar-payloads supabase/functions/process-orders/index.ts --mode=instrument # só patch
55
+ /capturar-payloads supabase/functions/process-orders/index.ts --mode=drain # só drenagem
56
+ ```
57
+
58
+ **Pré-requisitos:**
59
+ - Edge Function deployada em Supabase (modo drain depende de logs em prod)
60
+ - MCP Supabase conectado para drenagem automatizada (alternativa: `supabase functions logs` CLI)
61
+ - Tier full em IDEs com MCP; tier partial degrada para instrumentação only
62
+
63
+ **Quando preferir este comando vs `/caracterizar` direto:**
64
+ - Edge Function tem alto traffic (≥ 100 req/dia) — distribuição real cobre edge cases que sintético não pega
65
+ - Edge Function tem contrato externo crítico (webhook de Stripe/GitHub) — fidelidade absoluta requer payloads reais
66
+ - Equipe quer baseline empírico antes de refactor — payloads reais > inputs sintéticos
67
+ </context>
68
+
69
+ <process>
70
+
71
+ ## 1. Parsear argumentos
72
+
73
+ ```bash
74
+ EDGE_FN_PATH=$(echo "$ARGUMENTS" | awk '{print $1}')
75
+ CAPTURE_DAYS=$(echo "$ARGUMENTS" | grep -oE -- '--days [0-9]+' | awk '{print $2}')
76
+ MAX_PAYLOADS=$(echo "$ARGUMENTS" | grep -oE -- '--max-payloads [0-9]+' | awk '{print $2}')
77
+ MODE=$(echo "$ARGUMENTS" | grep -oE -- '--mode[= ][^ ]+' | sed 's/--mode[= ]//')
78
+ SANITIZE_KEYS=$(echo "$ARGUMENTS" | grep -oE -- '--sanitize-keys [^ ]+' | awk '{print $2}')
79
+
80
+ [ -z "$CAPTURE_DAYS" ] && CAPTURE_DAYS=7
81
+ [ -z "$MAX_PAYLOADS" ] && MAX_PAYLOADS=100
82
+ [ -z "$MODE" ] && MODE="full"
83
+
84
+ if [ -z "$EDGE_FN_PATH" ]; then
85
+ echo "ERROR: edge_function_path obrigatório"
86
+ echo "Uso: /capturar-payloads <path> [opções]"
87
+ exit 1
88
+ fi
89
+
90
+ if [ ! -f "$EDGE_FN_PATH" ]; then
91
+ echo "ERROR: arquivo não encontrado: $EDGE_FN_PATH"
92
+ exit 1
93
+ fi
94
+ ```
95
+
96
+ ## 2. Validar pré-requisitos
97
+
98
+ ```bash
99
+ # verificar Edge Function (Deno + Deno.serve)
100
+ if ! grep -q "Deno.serve" "$EDGE_FN_PATH"; then
101
+ echo "ERROR: $EDGE_FN_PATH não parece Edge Function (sem Deno.serve)"
102
+ exit 1
103
+ fi
104
+
105
+ # detectar projeto Supabase
106
+ PROJECT_ID=""
107
+ if [ -f "supabase/config.toml" ]; then
108
+ PROJECT_ID=$(grep -E '^project_id\s*=' supabase/config.toml | sed 's/.*= *"\(.*\)".*/\1/' | head -1)
109
+ fi
110
+
111
+ if [ -z "$PROJECT_ID" ] && [ "$MODE" != "instrument" ]; then
112
+ echo "WARN: PROJECT_ID não detectado em supabase/config.toml — drenagem pode falhar"
113
+ fi
114
+ ```
115
+
116
+ ## 3. Dispatch para `payload-capture-instrumenter`
117
+
118
+ ```text
119
+ Task(
120
+ subagent_type="payload-capture-instrumenter",
121
+ prompt="
122
+ edge_function_path: ${EDGE_FN_PATH}
123
+ capture_days: ${CAPTURE_DAYS}
124
+ max_payloads: ${MAX_PAYLOADS}
125
+ mode: ${MODE}
126
+ ${SANITIZE_KEYS:+sanitize_keys: ${SANITIZE_KEYS}}
127
+ ${PROJECT_ID:+project_id: ${PROJECT_ID}}
128
+
129
+ Aplicar skill legacy-characterization-tests Pattern 7. Etapas:
130
+ 1. Preflight: validar Edge Function, detectar project_id
131
+ 2. (mode=instrument|full) Patch Edge Function adicionando log dedicado
132
+ 3. (mode=instrument) Output mensagem para fazer deploy + setar CAPTURE_PAYLOADS=true
133
+ 4. (mode=drain|full após delay) Drenar logs via mcp__supabase__get_logs
134
+ 5. Para cada log entry com kind=payload-capture:
135
+ - Parse payload sanitized
136
+ - Salvar em tests/characterization/<fn>/fixtures/payload-NN.json
137
+ 6. Pós-processamento: validar nenhum unredacted, sanitização adicional
138
+ 7. Output curto + recomendações (review fixtures, /caracterizar, remove flag)
139
+ "
140
+ )
141
+ ```
142
+
143
+ ## 4. Pós-output
144
+
145
+ ```
146
+ ═══════════════════════════════════════════════════════════
147
+ framework ► CAPTURAR-PAYLOADS ▸ ${EDGE_FN_PATH}
148
+ ═══════════════════════════════════════════════════════════
149
+
150
+ [output do payload-capture-instrumenter]
151
+
152
+ ## Próximos passos por mode
153
+
154
+ ### Após mode=instrument
155
+ 1. Deploy: `supabase functions deploy <name>`
156
+ 2. Setar env var: `supabase secrets set CAPTURE_PAYLOADS=true`
157
+ 3. Aguardar ${CAPTURE_DAYS} dias
158
+ 4. Rodar: `/capturar-payloads ${EDGE_FN_PATH} --mode=drain`
159
+
160
+ ### Após mode=drain ou full
161
+ 1. **REVISAR fixtures** manualmente — sample 5-10 arquivos
162
+ 2. **VALIDAR no PII vaza:**
163
+ ```bash
164
+ grep -E "([0-9]{3}\.[0-9]{3}\.[0-9]{3}-?[0-9]{2}|@.*\..*\.com)" tests/characterization/*/fixtures/*.json
165
+ ```
166
+ 3. **Alimentar legacy-characterizer:**
167
+ ```bash
168
+ /caracterizar ${EDGE_FN_PATH} --fixtures-dir tests/characterization/$(basename $(dirname ${EDGE_FN_PATH}))/fixtures
169
+ ```
170
+ 4. **Após characterization gerada:** REMOVE flag CAPTURE_PAYLOADS:
171
+ ```bash
172
+ supabase secrets unset CAPTURE_PAYLOADS
173
+ git revert <commit-instrument>
174
+ ```
175
+
176
+ ## Cross-suite
177
+
178
+ - **/caracterizar** (v1.12) — consome fixtures gerados aqui
179
+ - **/instrumentar-fase** (v1.9) — captura é instrumentação shift-left aplicada
180
+ - **/golden-signals** (v1.10) — captura E golden signals podem coexistir mesma Edge Function
181
+ ```
182
+
183
+ </process>
184
+
185
+ <success_criteria>
186
+ - [ ] $ARGUMENTS parseados (edge_function_path obrigatório, 4 flags opcionais)
187
+ - [ ] Pré-requisitos validados (Deno.serve presente; supabase/config.toml para project_id)
188
+ - [ ] `payload-capture-instrumenter` invocado via Task com mode resolvido
189
+ - [ ] Tier degradation correto (Full = MCP drain; Partial = instrument-only)
190
+ - [ ] Output forwarded transparentemente
191
+ - [ ] Próximos passos específicos por mode (instrument vs drain vs full)
192
+ - [ ] Cross-references com /caracterizar, /instrumentar-fase, /golden-signals
193
+ </success_criteria>