@luanpdd/kit-mcp 1.33.0 → 1.35.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 (379) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +168 -168
  3. package/gates/agent-no-recursive-dispatch.md +84 -84
  4. package/kit/COMANDOS.md +138 -138
  5. package/kit/COMPATIBILITY.md +70 -70
  6. package/kit/README.md +76 -76
  7. package/kit/agents/advisor-researcher.md +109 -109
  8. package/kit/agents/ai-mutation-tester.md +289 -289
  9. package/kit/agents/assumptions-analyzer.md +110 -110
  10. package/kit/agents/audit-log-implementer.md +314 -314
  11. package/kit/agents/auditor-consistencia-isolamento.md +414 -414
  12. package/kit/agents/b2b-saas-architect.md +157 -157
  13. package/kit/agents/burn-rate-forecaster.md +153 -153
  14. package/kit/agents/cascading-failures-auditor.md +299 -299
  15. package/kit/agents/codebase-mapper.md +769 -769
  16. package/kit/agents/crm-pipeline-implementer.md +257 -257
  17. package/kit/agents/debugger.md +814 -814
  18. package/kit/agents/designer-ui.md +216 -216
  19. package/kit/agents/detector-tenant-quente.md +338 -338
  20. package/kit/agents/evolution-go-integrator.md +201 -201
  21. package/kit/agents/example-reviewer.md +22 -22
  22. package/kit/agents/executor.md +565 -565
  23. package/kit/agents/golden-signals-instrumenter.md +232 -232
  24. package/kit/agents/incident-investigator.md +238 -238
  25. package/kit/agents/integration-checker.md +203 -203
  26. package/kit/agents/invite-flow-implementer.md +190 -190
  27. package/kit/agents/legacy-characterizer.md +369 -369
  28. package/kit/agents/lgpd-compliance-auditor.md +296 -296
  29. package/kit/agents/load-shedding-instrumenter.md +290 -290
  30. package/kit/agents/multi-tenant-isolation-auditor.md +254 -254
  31. package/kit/agents/multi-tenant-rls-writer.md +341 -341
  32. package/kit/agents/nyquist-auditor.md +181 -181
  33. package/kit/agents/observability-coverage-auditor.md +316 -316
  34. package/kit/agents/observability-instrumenter.md +191 -191
  35. package/kit/agents/omm-auditor.md +291 -291
  36. package/kit/agents/org-onboarding-implementer.md +224 -224
  37. package/kit/agents/payload-capture-instrumenter.md +274 -274
  38. package/kit/agents/phase-researcher.md +697 -697
  39. package/kit/agents/plan-checker.md +275 -275
  40. package/kit/agents/planner.md +923 -923
  41. package/kit/agents/postmortem-writer.md +273 -273
  42. package/kit/agents/project-researcher.md +653 -653
  43. package/kit/agents/prr-conductor.md +287 -287
  44. package/kit/agents/refactor-safety-auditor.md +405 -405
  45. package/kit/agents/release-pipeline-auditor.md +364 -364
  46. package/kit/agents/research-synthesizer.md +246 -246
  47. package/kit/agents/roadmapper.md +678 -678
  48. package/kit/agents/schema-checker.md +160 -160
  49. package/kit/agents/seam-finder.md +360 -360
  50. package/kit/agents/shotgun-surgery-detector.md +350 -350
  51. package/kit/agents/slo-engineer.md +217 -217
  52. package/kit/agents/storytelling-analyst.md +300 -300
  53. package/kit/agents/supabase-architect.md +249 -249
  54. package/kit/agents/supabase-auth-bootstrapper.md +400 -400
  55. package/kit/agents/supabase-auth-hook-writer.md +418 -418
  56. package/kit/agents/supabase-branching-architect.md +563 -563
  57. package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -778
  58. package/kit/agents/supabase-column-privileges-writer.md +400 -400
  59. package/kit/agents/supabase-edge-fn-tester.md +288 -288
  60. package/kit/agents/supabase-edge-fn-writer.md +341 -341
  61. package/kit/agents/supabase-mfa-implementer.md +439 -439
  62. package/kit/agents/supabase-migration-writer.md +386 -386
  63. package/kit/agents/supabase-oauth-server-implementer.md +507 -507
  64. package/kit/agents/supabase-rbac-implementer.md +393 -393
  65. package/kit/agents/supabase-realtime-implementer.md +364 -364
  66. package/kit/agents/supabase-rls-hardener.md +522 -522
  67. package/kit/agents/supabase-rls-writer.md +324 -324
  68. package/kit/agents/supabase-roles-implementer.md +356 -356
  69. package/kit/agents/supabase-social-auth-implementer.md +451 -451
  70. package/kit/agents/supabase-sso-saml-architect.md +549 -549
  71. package/kit/agents/supabase-storage-implementer.md +407 -407
  72. package/kit/agents/super-admin-implementer.md +282 -282
  73. package/kit/agents/toil-auditor.md +268 -268
  74. package/kit/agents/ui-auditor.md +438 -438
  75. package/kit/agents/ui-checker.md +305 -305
  76. package/kit/agents/ui-researcher.md +356 -356
  77. package/kit/agents/user-profiler.md +176 -176
  78. package/kit/agents/validador-evolucao-schema.md +336 -336
  79. package/kit/agents/verifier.md +729 -729
  80. package/kit/agents/workflow-generator.md +167 -0
  81. package/kit/commands/adicionar-backlog.md +75 -75
  82. package/kit/commands/adicionar-fase.md +42 -42
  83. package/kit/commands/adicionar-tarefa.md +45 -45
  84. package/kit/commands/adicionar-testes.md +41 -41
  85. package/kit/commands/ajuda.md +21 -21
  86. package/kit/commands/atualizar.md +37 -37
  87. package/kit/commands/auditar-cascading.md +111 -111
  88. package/kit/commands/auditar-marco.md +179 -179
  89. package/kit/commands/auditar-observabilidade-cobertura-workflow.md +121 -0
  90. package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
  91. package/kit/commands/auditar-refactor.md +219 -219
  92. package/kit/commands/auditar-release.md +109 -109
  93. package/kit/commands/auditar-uat.md +23 -23
  94. package/kit/commands/autonomo.md +40 -40
  95. package/kit/commands/branch-pr.md +24 -24
  96. package/kit/commands/burn-rate-status.md +408 -408
  97. package/kit/commands/capturar-payloads.md +193 -193
  98. package/kit/commands/caracterizar.md +212 -212
  99. package/kit/commands/concluir-marco.md +247 -247
  100. package/kit/commands/configuracoes.md +36 -36
  101. package/kit/commands/criar-workflow.md +158 -0
  102. package/kit/commands/dados-distribuidos.md +188 -188
  103. package/kit/commands/definir-perfil.md +10 -10
  104. package/kit/commands/depurar.md +190 -190
  105. package/kit/commands/detectar-duplicacao.md +197 -197
  106. package/kit/commands/discutir-fase.md +131 -131
  107. package/kit/commands/encontrar-seams.md +136 -136
  108. package/kit/commands/entrar-discord.md +17 -17
  109. package/kit/commands/estatisticas.md +18 -18
  110. package/kit/commands/example-greeting.md +33 -33
  111. package/kit/commands/executar-fase.md +58 -58
  112. package/kit/commands/expresso.md +56 -56
  113. package/kit/commands/fase-ui.md +34 -34
  114. package/kit/commands/fazer.md +57 -57
  115. package/kit/commands/fio.md +125 -125
  116. package/kit/commands/fluxos-trabalho.md +64 -64
  117. package/kit/commands/forense.md +176 -176
  118. package/kit/commands/gerenciador.md +38 -38
  119. package/kit/commands/inserir-fase.md +31 -31
  120. package/kit/commands/legacy.md +263 -263
  121. package/kit/commands/limpeza.md +17 -17
  122. package/kit/commands/listar-hipoteses-fase.md +45 -45
  123. package/kit/commands/listar-workspaces.md +18 -18
  124. package/kit/commands/load-shedding.md +117 -117
  125. package/kit/commands/mapear-codebase.md +70 -70
  126. package/kit/commands/multi-tenant.md +163 -163
  127. package/kit/commands/nota.md +33 -33
  128. package/kit/commands/novo-marco.md +43 -43
  129. package/kit/commands/novo-projeto.md +41 -41
  130. package/kit/commands/novo-workspace.md +43 -43
  131. package/kit/commands/pausar-trabalho.md +37 -37
  132. package/kit/commands/perfil-usuario.md +45 -45
  133. package/kit/commands/pesquisar-fase.md +195 -195
  134. package/kit/commands/planejar-fase.md +67 -67
  135. package/kit/commands/planejar-lacunas.md +33 -33
  136. package/kit/commands/plantar-ideia.md +25 -25
  137. package/kit/commands/progresso.md +24 -24
  138. package/kit/commands/proximo.md +30 -30
  139. package/kit/commands/publicar.md +490 -490
  140. package/kit/commands/rapido.md +35 -35
  141. package/kit/commands/reaplicar-patches.md +124 -124
  142. package/kit/commands/refactor-seguro.md +321 -321
  143. package/kit/commands/relatorio-sessao.md +19 -19
  144. package/kit/commands/remover-fase.md +31 -31
  145. package/kit/commands/remover-workspace.md +26 -26
  146. package/kit/commands/resumo-marco.md +50 -50
  147. package/kit/commands/retomar-trabalho.md +40 -40
  148. package/kit/commands/revisar-backlog.md +60 -60
  149. package/kit/commands/revisar-ui.md +32 -32
  150. package/kit/commands/revisar.md +37 -37
  151. package/kit/commands/saude.md +21 -21
  152. package/kit/commands/setup-notion.md +93 -93
  153. package/kit/commands/storytelling.md +179 -179
  154. package/kit/commands/supabase.md +238 -238
  155. package/kit/commands/sync-main.md +68 -68
  156. package/kit/commands/validar-fase.md +35 -35
  157. package/kit/commands/verificar-tarefas.md +44 -44
  158. package/kit/commands/verificar-trabalho.md +64 -64
  159. package/kit/file-manifest.json +424 -419
  160. package/kit/framework/bin/lib/commands.cjs +959 -959
  161. package/kit/framework/bin/lib/config.cjs +442 -442
  162. package/kit/framework/bin/lib/core.cjs +1230 -1230
  163. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  164. package/kit/framework/bin/lib/init.cjs +1442 -1442
  165. package/kit/framework/bin/lib/milestone.cjs +252 -252
  166. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  167. package/kit/framework/bin/lib/phase.cjs +888 -888
  168. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  169. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  170. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  171. package/kit/framework/bin/lib/security.cjs +382 -382
  172. package/kit/framework/bin/lib/state.cjs +1031 -1031
  173. package/kit/framework/bin/lib/template.cjs +222 -222
  174. package/kit/framework/bin/lib/uat.cjs +282 -282
  175. package/kit/framework/bin/lib/verify.cjs +888 -888
  176. package/kit/framework/bin/lib/workstream.cjs +491 -491
  177. package/kit/framework/bin/tools.cjs +918 -918
  178. package/kit/framework/commands/workstreams.md +63 -63
  179. package/kit/framework/references/checkpoints.md +778 -778
  180. package/kit/framework/references/continuation-format.md +249 -249
  181. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  182. package/kit/framework/references/git-integration.md +295 -295
  183. package/kit/framework/references/git-planning-commit.md +38 -38
  184. package/kit/framework/references/model-profile-resolution.md +36 -36
  185. package/kit/framework/references/model-profiles.md +139 -139
  186. package/kit/framework/references/phase-argument-parsing.md +61 -61
  187. package/kit/framework/references/planning-config.md +202 -202
  188. package/kit/framework/references/questioning.md +162 -162
  189. package/kit/framework/references/tdd.md +263 -263
  190. package/kit/framework/references/ui-brand.md +160 -160
  191. package/kit/framework/references/user-profiling.md +657 -657
  192. package/kit/framework/references/verification-patterns.md +612 -612
  193. package/kit/framework/references/workstream-flag.md +58 -58
  194. package/kit/framework/templates/DEBUG.md +164 -164
  195. package/kit/framework/templates/UAT.md +265 -265
  196. package/kit/framework/templates/UI-SPEC.md +100 -100
  197. package/kit/framework/templates/VALIDATION.md +76 -76
  198. package/kit/framework/templates/claude-md.md +122 -122
  199. package/kit/framework/templates/codebase/architecture.md +185 -185
  200. package/kit/framework/templates/codebase/concerns.md +205 -205
  201. package/kit/framework/templates/codebase/conventions.md +204 -204
  202. package/kit/framework/templates/codebase/integrations.md +192 -192
  203. package/kit/framework/templates/codebase/stack.md +158 -158
  204. package/kit/framework/templates/codebase/structure.md +199 -199
  205. package/kit/framework/templates/codebase/testing.md +301 -301
  206. package/kit/framework/templates/config.json +44 -44
  207. package/kit/framework/templates/context.md +352 -352
  208. package/kit/framework/templates/continue-here.md +78 -78
  209. package/kit/framework/templates/copilot-instructions.md +7 -7
  210. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  211. package/kit/framework/templates/dev-preferences.md +20 -20
  212. package/kit/framework/templates/discovery.md +146 -146
  213. package/kit/framework/templates/discussion-log.md +63 -63
  214. package/kit/framework/templates/milestone-archive.md +123 -123
  215. package/kit/framework/templates/milestone.md +115 -115
  216. package/kit/framework/templates/phase-prompt.md +610 -610
  217. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  218. package/kit/framework/templates/project.md +186 -186
  219. package/kit/framework/templates/requirements.md +231 -231
  220. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  221. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  222. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  223. package/kit/framework/templates/research-project/STACK.md +120 -120
  224. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  225. package/kit/framework/templates/research.md +419 -419
  226. package/kit/framework/templates/retrospective.md +54 -54
  227. package/kit/framework/templates/roadmap.md +202 -202
  228. package/kit/framework/templates/state.md +176 -176
  229. package/kit/framework/templates/summary-complex.md +59 -59
  230. package/kit/framework/templates/summary-minimal.md +41 -41
  231. package/kit/framework/templates/summary-standard.md +48 -48
  232. package/kit/framework/templates/summary.md +209 -209
  233. package/kit/framework/templates/user-profile.md +146 -146
  234. package/kit/framework/templates/user-setup.md +256 -256
  235. package/kit/framework/templates/verification-report.md +258 -258
  236. package/kit/framework/workflows/add-phase.md +112 -112
  237. package/kit/framework/workflows/add-tests.md +351 -351
  238. package/kit/framework/workflows/add-todo.md +158 -158
  239. package/kit/framework/workflows/audit-milestone.md +340 -340
  240. package/kit/framework/workflows/audit-uat.md +109 -109
  241. package/kit/framework/workflows/autonomous.md +891 -891
  242. package/kit/framework/workflows/check-todos.md +177 -177
  243. package/kit/framework/workflows/cleanup.md +152 -152
  244. package/kit/framework/workflows/complete-milestone.md +696 -696
  245. package/kit/framework/workflows/diagnose-issues.md +231 -231
  246. package/kit/framework/workflows/discovery-phase.md +289 -289
  247. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  248. package/kit/framework/workflows/discuss-phase.md +784 -784
  249. package/kit/framework/workflows/do.md +104 -104
  250. package/kit/framework/workflows/execute-phase.md +838 -838
  251. package/kit/framework/workflows/execute-plan.md +510 -510
  252. package/kit/framework/workflows/fast.md +102 -102
  253. package/kit/framework/workflows/forensics.md +265 -265
  254. package/kit/framework/workflows/health.md +181 -181
  255. package/kit/framework/workflows/help.md +619 -619
  256. package/kit/framework/workflows/insert-phase.md +130 -130
  257. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  258. package/kit/framework/workflows/list-workspaces.md +56 -56
  259. package/kit/framework/workflows/manager.md +362 -362
  260. package/kit/framework/workflows/map-codebase.md +377 -377
  261. package/kit/framework/workflows/milestone-summary.md +223 -223
  262. package/kit/framework/workflows/new-milestone.md +486 -486
  263. package/kit/framework/workflows/new-project.md +1159 -1159
  264. package/kit/framework/workflows/new-workspace.md +237 -237
  265. package/kit/framework/workflows/next.md +97 -97
  266. package/kit/framework/workflows/node-repair.md +92 -92
  267. package/kit/framework/workflows/note.md +156 -156
  268. package/kit/framework/workflows/pause-work.md +176 -176
  269. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  270. package/kit/framework/workflows/plan-phase.md +765 -765
  271. package/kit/framework/workflows/plant-seed.md +169 -169
  272. package/kit/framework/workflows/pr-branch.md +129 -129
  273. package/kit/framework/workflows/profile-user.md +450 -450
  274. package/kit/framework/workflows/progress.md +507 -507
  275. package/kit/framework/workflows/quick.md +757 -757
  276. package/kit/framework/workflows/remove-phase.md +155 -155
  277. package/kit/framework/workflows/remove-workspace.md +90 -90
  278. package/kit/framework/workflows/research-phase.md +82 -82
  279. package/kit/framework/workflows/resume-project.md +326 -326
  280. package/kit/framework/workflows/review.md +228 -228
  281. package/kit/framework/workflows/session-report.md +146 -146
  282. package/kit/framework/workflows/settings.md +283 -283
  283. package/kit/framework/workflows/ship.md +228 -228
  284. package/kit/framework/workflows/stats.md +60 -60
  285. package/kit/framework/workflows/transition.md +671 -671
  286. package/kit/framework/workflows/ui-phase.md +302 -302
  287. package/kit/framework/workflows/ui-review.md +165 -165
  288. package/kit/framework/workflows/update.md +323 -323
  289. package/kit/framework/workflows/validate-phase.md +174 -174
  290. package/kit/framework/workflows/verify-phase.md +252 -252
  291. package/kit/framework/workflows/verify-work.md +637 -637
  292. package/kit/hooks/check-update.js +118 -118
  293. package/kit/hooks/context-monitor.js +163 -163
  294. package/kit/hooks/kit-attribution-reminder.cjs +92 -92
  295. package/kit/hooks/kit-router.cjs +137 -137
  296. package/kit/hooks/prompt-guard.js +103 -103
  297. package/kit/hooks/statusline.js +125 -125
  298. package/kit/hooks/workflow-guard.js +101 -101
  299. package/kit/settings.json +45 -45
  300. package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
  301. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
  302. package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
  303. package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
  304. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
  305. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
  306. package/kit/skills/dynamic-workflow-authoring/SKILL.md +223 -0
  307. package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
  308. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
  309. package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
  310. package/kit/skills/example-skill/SKILL.md +42 -42
  311. package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
  312. package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
  313. package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
  314. package/kit/skills/legacy-extract-class/SKILL.md +203 -203
  315. package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
  316. package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
  317. package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
  318. package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
  319. package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
  320. package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
  321. package/kit/skills/member-invite-flow/SKILL.md +305 -305
  322. package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
  323. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
  324. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
  325. package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
  326. package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
  327. package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
  328. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
  329. package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
  330. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
  331. package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
  332. package/kit/skills/supabase-auth-hardening/SKILL.md +674 -674
  333. package/kit/skills/supabase-auth-hooks/SKILL.md +875 -875
  334. package/kit/skills/supabase-auth-methods/SKILL.md +486 -486
  335. package/kit/skills/supabase-auth-sessions/SKILL.md +579 -579
  336. package/kit/skills/supabase-auth-ssr/SKILL.md +306 -306
  337. package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
  338. package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
  339. package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
  340. package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
  341. package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
  342. package/kit/skills/supabase-edge-functions/SKILL.md +330 -330
  343. package/kit/skills/supabase-edge-functions-auth/SKILL.md +309 -309
  344. package/kit/skills/supabase-edge-functions-limits/SKILL.md +302 -302
  345. package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +279 -279
  346. package/kit/skills/supabase-edge-functions-testing/SKILL.md +277 -277
  347. package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +357 -357
  348. package/kit/skills/supabase-enterprise-sso-saml/SKILL.md +545 -545
  349. package/kit/skills/supabase-jwt-signing-keys/SKILL.md +399 -399
  350. package/kit/skills/supabase-mfa/SKILL.md +488 -488
  351. package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
  352. package/kit/skills/supabase-migrations/SKILL.md +297 -297
  353. package/kit/skills/supabase-oauth-server/SKILL.md +537 -537
  354. package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
  355. package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
  356. package/kit/skills/supabase-realtime/SKILL.md +460 -460
  357. package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
  358. package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
  359. package/kit/skills/supabase-social-oauth/SKILL.md +480 -480
  360. package/kit/skills/supabase-third-party-auth/SKILL.md +450 -450
  361. package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
  362. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
  363. package/kit/skills/ui-anti-padroes-ia/SKILL.md +261 -261
  364. package/kit/skills/ui-contexto-produto/SKILL.md +248 -248
  365. package/kit/skills/ui-cor-estrategia/SKILL.md +213 -213
  366. package/kit/skills/ui-critica-auditoria/SKILL.md +260 -260
  367. package/kit/skills/ui-motion-funcional/SKILL.md +264 -264
  368. package/kit/skills/ui-ritmo-espacial/SKILL.md +259 -259
  369. package/kit/skills/ui-tipografia/SKILL.md +211 -211
  370. package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
  371. package/kit/workflows/auditar-observabilidade-cobertura.workflow.js +250 -0
  372. package/package.json +65 -63
  373. package/src/core/kit.js +333 -216
  374. package/src/core/reflect.js +247 -247
  375. package/src/core/registry.js +123 -112
  376. package/src/core/reverse-sync.js +448 -372
  377. package/src/core/sync.js +477 -437
  378. package/src/core/watch.js +121 -121
  379. package/src/mcp-server/index.js +794 -794
@@ -1,238 +1,238 @@
1
- ---
2
- name: supabase
3
- description: Orquestrador da Suíte Supabase — serviço de materialização (v1.23) que recebe planejamento/draft SQL de qualquer agent ou user e devolve código hardenado pronto. NUNCA bloqueia upstream…
4
- argument-hint: "<subcomando> [args...]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Bash
9
- - Grep
10
- - Glob
11
- - Task
12
- - AskUserQuestion
13
- ---
14
-
15
- <objective>
16
- Orquestrador único da Suíte Supabase. **Serviço de materialização (v1.23):** recebe planejamento de qualquer agent ou input do user e devolve código hardenado pronto. **NUNCA bloqueia upstream** — agents externos passam draft via `Task()` para receber SQL final hardenado preservando intent.
17
-
18
- Faz dispatch via `Task(subagent_type=supabase-...)` para o agent especializado correto. É o **único ponto de chain de agents Supabase** — agents permanecem função pura (anti-pitfall A10 de v1.8).
19
-
20
- **Princípio canônico v1.23:** Agents não-Supabase pensam/planejam; agents Supabase materializam/hardenam; ninguém descarta upstream.
21
-
22
- **Cria/Atualiza:** o que cada agent invocado cria/atualiza (migrations, schemas, functions, etc.) — com RLS auto-injetada no output via handoff cooperativo com `supabase-rls-hardener` em CREATE TABLE.
23
-
24
- **Após:** o usuário tem o output do agent (plano, código, SQL hardenado, ou veredito GO/STRENGTHEN/REWRITE).
25
- </objective>
26
-
27
- <execution_context>
28
- Skills consultadas pelos agents: `kit/skills/supabase-*/SKILL.md` + `kit/skills/_shared-supabase/glossary.md` (Phase 25).
29
- Agents disponíveis: `kit/agents/supabase-*.md` (Phase 26) + `kit/agents/schema-checker.md` (existente).
30
- </execution_context>
31
-
32
- <context>
33
- **Argumentos:** `$ARGUMENTS` — primeiro token é o subcomando; restante é passado para o agent como prompt.
34
-
35
- **Subcomandos suportados (sinônimos PT-BR/EN):**
36
-
37
- | Subcomando | Sinônimos | Agent dispatched |
38
- |---|---|---|
39
- | `arquiteto` | `architect`, `arch` | `supabase-architect` |
40
- | `migration` | `migrar`, `migrate` | `supabase-migration-writer` (v1.23: auto-chain cooperativo com hardener em CREATE TABLE) |
41
- | `rls` | — | `supabase-rls-writer` (v1.23: GRANTs + IS NOT NULL + views security_invoker) |
42
- | `hardener` | `harden`, `endurecer` | `supabase-rls-hardener` (v1.23 canonical materializer — recebe draft via Task) |
43
- | `column` | `coluna`, `col-priv` | `supabase-column-privileges-writer` (v1.24 canonical materializer column-level — recebe spec via Task) |
44
- | `rbac` | `roles`, `permissions`, `claims` | `supabase-rbac-implementer` (v1.25 canonical materializer Custom Claims & RBAC via Auth Hook — recebe spec via Task) |
45
- | `role` | `papel`, `roles-pg` | `supabase-roles-implementer` (v1.26 canonical materializer Postgres Roles — recebe spec via Task; system access) |
46
- | `edge` | `edge-function`, `function`, `funcao` | `supabase-edge-fn-writer` (v1.30: 2026 patterns — withSupabase, deno.json, config.toml) |
47
- | `test` | `testar`, `tests`, `deno-test` | `supabase-edge-fn-tester` (v1.30 — gera Deno tests para função existente) |
48
- | `mcp` | `mcp-server`, `mcp-lite` | `supabase-edge-fn-writer` com `pattern=mcp-server` |
49
- | `ai` | `ai-session`, `embeddings-builtin`, `gte-small`, `ollama` | `supabase-edge-fn-writer` com `pattern=rag-embeddings` (Supabase.ai.Session) |
50
- | `wasm` | `wasm-module` | `supabase-edge-fn-writer` com `pattern=wasm` + static_files config.toml |
51
- | `websocket` | `ws`, `realtime-ws` | `supabase-edge-fn-writer` com `pattern=websocket` + `per_worker` |
52
- | `realtime` | `tempo-real` | `supabase-realtime-implementer` |
53
- | `auth` | `autenticacao`, `auth-ssr` | `supabase-auth-bootstrapper` |
54
- | `social` | `oauth`, `login-social` | `supabase-social-auth-implementer` (v1.32 — social login Google/GitHub/Apple/Facebook/LinkedIn + custom OAuth/OIDC) |
55
- | `mfa` | `2fa`, `totp` | `supabase-mfa-implementer` (v1.32 — MFA TOTP/Phone + enforcement RLS por AAL) |
56
- | `hooks` | `auth-hook`, `hook` | `supabase-auth-hook-writer` (v1.32 — materializa os 6 Auth Hooks Postgres/HTTP) |
57
- | `oauth-server` | `mcp-auth`, `idp` | `supabase-oauth-server-implementer` (v1.32 — Supabase como OAuth 2.1/OIDC identity provider + MCP authentication) |
58
- | `sso` | `saml`, `enterprise-sso` | `supabase-sso-saml-architect` (v1.32 — Enterprise SSO SAML 2.0 + multi-tenant) |
59
- | `storage` | `armazenamento` | `supabase-storage-implementer` |
60
- | `rag` | `pgvector`, `embeddings` | `supabase-edge-fn-writer` com `pattern=rag-embeddings` |
61
- | `cron` | `queues`, `pgmq`, `background` | `supabase-edge-fn-writer` com `pattern=cron-pgmq` |
62
- | `check` | `validar`, `validate` | `schema-checker` (validação pré-migration) |
63
- | `help` | `ajuda`, `?` | exibe esta tabela inline |
64
-
65
- **Detect `supabase/config.toml`:** se presente, extrai `project_id` (linha `project_id = "<ref>"`) e passa como contexto para o agent.
66
- </context>
67
-
68
- <process>
69
-
70
- ## 1. Parsear Subcomando
71
-
72
- ```bash
73
- # PT-BR: extrair primeiro token de $ARGUMENTS como subcomando
74
- SUBCMD=$(echo "$ARGUMENTS" | awk '{print $1}')
75
- ARGS=$(echo "$ARGUMENTS" | cut -d' ' -f2-)
76
- ```
77
-
78
- **Se `$ARGUMENTS` for vazio ou `SUBCMD` for `help`/`ajuda`/`?`:** exibir tabela de subcomandos inline + exemplo de uso. Sair.
79
-
80
- ## 2. Resolver Sinônimos
81
-
82
- Mapear `SUBCMD` para agent name canônico:
83
-
84
- ```
85
- arquiteto, architect, arch → supabase-architect
86
- migration, migrar, migrate → supabase-migration-writer (v1.23: auto-chain hardener em CREATE TABLE)
87
- rls → supabase-rls-writer (v1.23: GRANTs + IS NOT NULL + views security_invoker)
88
- hardener, harden, endurecer → supabase-rls-hardener (v1.23 canonical materializer)
89
- column, coluna, col-priv → supabase-column-privileges-writer (v1.24 canonical materializer column-level — feature AVANÇADA)
90
- rbac, roles, permissions, claims → supabase-rbac-implementer (v1.25 canonical materializer Custom Claims & RBAC via Auth Hook)
91
- role, papel, roles-pg → supabase-roles-implementer (v1.26 canonical materializer Postgres Roles — system access only)
92
- edge, edge-function, function, funcao → supabase-edge-fn-writer (v1.30: 2026 patterns)
93
- test, testar, tests, deno-test → supabase-edge-fn-tester (v1.30)
94
- mcp, mcp-server, mcp-lite → supabase-edge-fn-writer (com flag pattern=mcp-server) (v1.30)
95
- ai, ai-session, gte-small, ollama → supabase-edge-fn-writer (com flag pattern=rag-embeddings) (v1.30)
96
- wasm, wasm-module → supabase-edge-fn-writer (com flag pattern=wasm) (v1.30)
97
- websocket, ws, realtime-ws → supabase-edge-fn-writer (com flag pattern=websocket) (v1.30)
98
- realtime, tempo-real → supabase-realtime-implementer
99
- auth, autenticacao, auth-ssr → supabase-auth-bootstrapper
100
- social, oauth, login-social → supabase-social-auth-implementer (v1.32 social login + custom OAuth/OIDC)
101
- mfa, 2fa, totp → supabase-mfa-implementer (v1.32 MFA TOTP/Phone + enforcement RLS)
102
- hooks, auth-hook, hook → supabase-auth-hook-writer (v1.32 materializa Auth Hooks Postgres/HTTP)
103
- oauth-server, mcp-auth, idp → supabase-oauth-server-implementer (v1.32 OAuth 2.1/OIDC identity provider + MCP auth)
104
- sso, saml, enterprise-sso → supabase-sso-saml-architect (v1.32 Enterprise SSO SAML 2.0)
105
- storage, armazenamento → supabase-storage-implementer
106
- rag, pgvector, embeddings → supabase-edge-fn-writer (com flag pattern=rag-embeddings)
107
- cron, queues, pgmq, background → supabase-edge-fn-writer (com flag pattern=cron-pgmq)
108
- check, validar, validate → schema-checker
109
- ```
110
-
111
- ### Serviço de materialização (v1.23 — handoff cooperativo)
112
-
113
- Quando agents externos (multi-tenant, debugger, planner, executor, audit-log, CRM, etc.) precisam produzir SQL/DDL, devem invocar `/supabase migration "<plano>"` ou `Task(subagent_type=supabase-rls-hardener, prompt=<draft+intent>)` ao invés de gerar SQL próprio. O command NÃO bloqueia — recebe planejamento, devolve código hardenado.
114
-
115
- **Pattern de invocação:**
116
-
117
- ```python
118
- # de outro agent (ex: multi-tenant-rls-writer)
119
- result = Task(subagent_type="supabase-rls-hardener", prompt=f"""
120
- <upstream_intent>
121
- Source agent: multi-tenant-rls-writer
122
- Original goal: criar policies hierárquicas org→dept→role para {table_name}
123
- Constraints: helper functions já existem em schema private
124
- </upstream_intent>
125
-
126
- <draft_sql>
127
- {draft_policies_sql}
128
- </draft_sql>
129
-
130
- <user_facing_caller>true</user_facing_caller>
131
- """)
132
- # result.verdict: GO | STRENGTHEN | REWRITE
133
- # result.final_sql: SQL hardenado preservando intent
134
- ```
135
-
136
- **Se subcomando não resolve:** exibir erro inline com lista de subcomandos válidos. Sair.
137
-
138
- ```
139
- ✗ Subcomando desconhecido: '<SUBCMD>'
140
-
141
- Subcomandos válidos:
142
- arquiteto / architect → projetar schema + RLS + topology antes de implementar
143
- migration / migrar → escrever migration SQL
144
- rls → gerar policies RLS para tabela
145
- edge → escrever Edge Function Deno
146
- realtime → configurar canais Realtime (RLS + trigger + client)
147
- auth → bootstrap Next.js v16 + Supabase Auth (SSR)
148
- storage → configurar Storage (bucket + RLS + client)
149
- rag → Edge Function com embeddings + pgvector
150
- cron → pattern cron → pgmq → Edge Function
151
- check → validar SQL antes de apply (schema-checker)
152
-
153
- Uso: /supabase <subcomando> <args...>
154
- Exemplo: /supabase arquiteto "app de chat com presence multi-room"
155
- ```
156
-
157
- ## 3. Detectar `supabase/config.toml`
158
-
159
- ```bash
160
- if [ -f supabase/config.toml ]; then
161
- PROJECT_ID=$(grep -E '^project_id\s*=' supabase/config.toml | sed 's/.*= *"\(.*\)".*/\1/' | head -1)
162
- fi
163
- ```
164
-
165
- Se presente, anexar `project_id=<value>` ao prompt do agent. Se ausente, agent funciona sem (offline ou pergunta ao user).
166
-
167
- ## 4. Dispatch
168
-
169
- Invocar `Task(subagent_type=<agent_name>, prompt=<built_prompt>)`.
170
-
171
- **Prompt construído:**
172
-
173
- ```
174
- {ARGS}
175
-
176
- {Se project_id detectado:}
177
- project_id: {PROJECT_ID}
178
-
179
- {Se subcomando rag/cron — flag de modo:}
180
- mode: rag-embeddings (ou cron-pgmq-edge)
181
-
182
- {Para architect: tier upfront via AskUserQuestion}
183
- {caller: pergunte ao user via AskUserQuestion sobre tier (Free/Pro/Team) e branches antes de produzir o plano — ver supabase-architect Step 1}
184
- ```
185
-
186
- **Subcomando `arquiteto`:** antes de dispatch, faça `AskUserQuestion` perguntando tier (Free/Pro/Team/Enterprise) e se vai usar branches. Inclua resposta no prompt.
187
-
188
- **Subcomando `check`:** dispatch para `schema-checker` (existente). O caller deve passar `migration_path` e `project_id` no `$ARGUMENTS` — exemplo: `/supabase check supabase/migrations/20260506_x.sql`.
189
-
190
- **Subcomando `migration` (v1.23 — CMD-02):** após `supabase-migration-writer` produzir SQL inicial, o agent **AUTOMATICAMENTE** invoca `supabase-rls-hardener` via `Task()` para validar defense-in-depth em CREATE TABLE. Output final inclui verdict + RLS auto-injetada. Caller NÃO precisa invocar hardener separadamente — é parte do contrato do subcomando.
191
-
192
- **Subcomando `hardener` (v1.23 novo):** dispatch direto para `supabase-rls-hardener`. Útil quando caller tem draft SQL pronto e quer apenas validação/hardening sem gerar SQL novo. Aceita input com bloco `<draft_sql>` no `$ARGUMENTS` ou via stdin.
193
-
194
- **Subcomando `column` (v1.24 novo):** dispatch direto para `supabase-column-privileges-writer`. Recebe spec de table + colunas sensíveis + roles permitidos e produz REVOKE table-level + GRANT column-level. **Feature AVANÇADA** — apenas para casos com PII compliance (LGPD/GDPR), audit log payload, billing data, tokens raw. Para casos comuns (admin/user roles), prefira dedicated role table pattern (documentado em [`supabase-column-level-security`](../skills/supabase-column-level-security/SKILL.md)). Aceita input com bloco `<sensitive_columns>` e `<allowed_roles>` no `$ARGUMENTS`.
195
-
196
- **Subcomando `rbac` (v1.25 novo):** dispatch direto para `supabase-rbac-implementer`. Recebe spec de roles + permissions matrix + multi_tenant flag e materializa setup completo (7 passos canônicos: enum types + user_roles + role_permissions + Custom Access Token Auth Hook + supabase_auth_admin GRANTs + authorize() function + RLS policies template + client jwt-decode snippet). Pattern recomendado v1.25 para RBAC — zero-JOIN em policies via claim no JWT. Caveat JWT freshness (mudanças refletem após token refresh). Aceita input com bloco `<roles>` + `<permissions_matrix>` + `<multi_tenant>` no `$ARGUMENTS`. Cross-ref skill [`supabase-custom-claims-rbac`](../skills/supabase-custom-claims-rbac/SKILL.md).
197
-
198
- **Subcomando `role` (v1.26 novo):** dispatch direto para `supabase-roles-implementer`. Recebe spec de custom Postgres roles + hierarchy + GRANT matrix e materializa setup completo (CREATE ROLE com LOGIN PASSWORD opcional + role hierarchy INHERIT/NOINHERIT + GRANT/REVOKE per schema/table/function + password security check). **System access apenas** — para application access (end-users), use `/supabase rbac` (v1.25). Aceita input com bloco `<roles_to_create>` + `<grants>` + `<use_case>` no `$ARGUMENTS`. Cross-ref skill [`supabase-postgres-roles`](../skills/supabase-postgres-roles/SKILL.md).
199
-
200
- **Subcomando `edge` (v1.30 modernizado):** dispatch para `supabase-edge-fn-writer` que agora aplica 6 skills 2026 — env vars JSON dict (`JSON.parse(SUPABASE_PUBLISHABLE_KEYS)['default']`), `withSupabase` para auth (4 modes: `'user' | 'secret:<name>' | 'publishable:<name>' | 'none'`), per-function `deno.json` (substitui import_map global legacy), per-function `config.toml` entry (`verify_jwt`, `entrypoint`, `static_files`), CORS via `npm:@supabase/supabase-js@2.95.0/cors`, instrumentação OTel + 4 golden signals + SRE defenses (timeout/jitter/RateLimitError handling). Aceita flag `pattern=basic|rag-embeddings|cron-pgmq|mcp-server|websocket|wasm|background-task` no `$ARGUMENTS`. Auto-handoff sugerido para `/supabase test <fn>` ao final.
201
-
202
- **Subcomando `test` (v1.30 novo):** dispatch direto para `supabase-edge-fn-tester`. Gera `supabase/functions/tests/<fn>-test.ts` com cobertura canônica de 5 equivalence classes (happy/validation/auth/rate-limit/timeout) usando Deno test runner + `assertSnapshot` + `FunctionsHttpError`/`FunctionsRelayError`/`FunctionsFetchError`. Pattern-specific: `characterization` (legacy via fixtures capturados), `webhook` (signature HMAC fixture), `rag` (determinismo via temperature=0), `mcp` (delega para MCP Inspector). Handoff cooperativo upstream: `supabase-edge-fn-writer` recomenda esse subcomando automaticamente ao criar função nova. Cross-ref skill [`supabase-edge-functions-testing`](../skills/supabase-edge-functions-testing/SKILL.md).
203
-
204
- **Subcomandos `mcp` / `ai` / `wasm` / `websocket` (v1.30 novos):** atalhos para `supabase-edge-fn-writer` com pattern específico — economizam o caller de especificar manualmente. Cada um carrega skill especializada:
205
- - `mcp` → [`supabase-edge-functions-mcp-server`](../skills/supabase-edge-functions-mcp-server/SKILL.md) (mcp-lite, dois Hono apps)
206
- - `ai` → [`supabase-edge-runtime-builtins`](../skills/supabase-edge-runtime-builtins/SKILL.md) (Supabase.ai.Session, gte-small, Ollama)
207
- - `wasm` → [`supabase-edge-runtime-builtins`](../skills/supabase-edge-runtime-builtins/SKILL.md) + auto-adiciona `static_files` em config.toml (CLI 2.7.0+, requer Docker no deploy)
208
- - `websocket` → [`supabase-edge-runtime-builtins`](../skills/supabase-edge-runtime-builtins/SKILL.md) + auto-adiciona `policy = "per_worker"` em config.toml
209
-
210
- **Subcomandos de autenticação (v1.32 novos):** materializam a suíte de auth. Cada um faz dispatch direto para o agent canônico e carrega a skill especializada:
211
- - `social` → `supabase-social-auth-implementer` + skill [`supabase-social-oauth`](../skills/supabase-social-oauth/SKILL.md) — social login (Google/GitHub/Apple/Facebook/LinkedIn) + custom OAuth/OIDC, rota callback PKCE.
212
- - `mfa` → `supabase-mfa-implementer` + skill [`supabase-mfa`](../skills/supabase-mfa/SKILL.md) — enrollment TOTP/Phone + enforcement RLS RESTRICTIVE por AAL.
213
- - `hooks` → `supabase-auth-hook-writer` + skill [`supabase-auth-hooks`](../skills/supabase-auth-hooks/SKILL.md) — materializa os 6 Auth Hooks (Postgres function ou Edge Function com Standard Webhooks).
214
- - `oauth-server` → `supabase-oauth-server-implementer` + skill [`supabase-oauth-server`](../skills/supabase-oauth-server/SKILL.md) — Supabase como OAuth 2.1/OIDC identity provider, **MCP authentication**, RLS por `client_id`.
215
- - `sso` → `supabase-sso-saml-architect` + skill [`supabase-enterprise-sso-saml`](../skills/supabase-enterprise-sso-saml/SKILL.md) — Enterprise SSO SAML 2.0, attribute mappings, multi-tenant.
216
-
217
- O subcomando `auth` (existente) continua para bootstrap SSR Next.js v16 via `supabase-auth-bootstrapper`. Skills de conhecimento complementares (sem agent dedicado): [`supabase-auth-methods`](../skills/supabase-auth-methods/SKILL.md), [`supabase-auth-sessions`](../skills/supabase-auth-sessions/SKILL.md), [`supabase-jwt-signing-keys`](../skills/supabase-jwt-signing-keys/SKILL.md), [`supabase-third-party-auth`](../skills/supabase-third-party-auth/SKILL.md), [`supabase-auth-hardening`](../skills/supabase-auth-hardening/SKILL.md) — a LLM as carrega automaticamente pelos trigger phrases.
218
-
219
- ## 5. Output
220
-
221
- Output do agent é o output do command. Sem post-processing — agent já formata estruturado.
222
-
223
- </process>
224
-
225
- <success_criteria>
226
- - [ ] Subcomando resolvido para agent canônico (21 subcomandos × seus sinônimos — v1.32)
227
- - [ ] `project_id` extraído de `supabase/config.toml` se presente
228
- - [ ] Subcomando `arquiteto` faz `AskUserQuestion` upfront sobre tier + branches
229
- - [ ] Dispatch via `Task(subagent_type=...)` — único ponto de chain de agents Supabase
230
- - [ ] Subcomando inválido → mensagem clara com lista
231
- - [ ] Subcomando `help`/`ajuda`/`?` → exibe tabela inline
232
- - [ ] Subcomando `check` → invoca `schema-checker` (existente)
233
- - [ ] Subcomando `edge` (v1.30) → invoca `supabase-edge-fn-writer` com 2026 patterns + auto-recomenda `/supabase test` ao final
234
- - [ ] Subcomando `test` (v1.30) → invoca `supabase-edge-fn-tester` que lê config.toml + index.ts para detectar auth mode
235
- - [ ] Subcomandos `mcp` / `ai` / `wasm` / `websocket` (v1.30) → passam `pattern=<canônico>` para writer
236
- - [ ] Subcomandos `social` / `mfa` / `hooks` / `oauth-server` / `sso` (v1.32) → dispatch para o agent de auth canônico
237
- - [ ] Args após subcomando passam transparentemente para o agent
238
- </success_criteria>
1
+ ---
2
+ name: supabase
3
+ description: Orquestrador da Suíte Supabase — serviço de materialização (v1.23) que recebe planejamento/draft SQL de qualquer agent ou user e devolve código hardenado pronto. NUNCA bloqueia upstream…
4
+ argument-hint: "<subcomando> [args...]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Grep
10
+ - Glob
11
+ - Task
12
+ - AskUserQuestion
13
+ ---
14
+
15
+ <objective>
16
+ Orquestrador único da Suíte Supabase. **Serviço de materialização (v1.23):** recebe planejamento de qualquer agent ou input do user e devolve código hardenado pronto. **NUNCA bloqueia upstream** — agents externos passam draft via `Task()` para receber SQL final hardenado preservando intent.
17
+
18
+ Faz dispatch via `Task(subagent_type=supabase-...)` para o agent especializado correto. É o **único ponto de chain de agents Supabase** — agents permanecem função pura (anti-pitfall A10 de v1.8).
19
+
20
+ **Princípio canônico v1.23:** Agents não-Supabase pensam/planejam; agents Supabase materializam/hardenam; ninguém descarta upstream.
21
+
22
+ **Cria/Atualiza:** o que cada agent invocado cria/atualiza (migrations, schemas, functions, etc.) — com RLS auto-injetada no output via handoff cooperativo com `supabase-rls-hardener` em CREATE TABLE.
23
+
24
+ **Após:** o usuário tem o output do agent (plano, código, SQL hardenado, ou veredito GO/STRENGTHEN/REWRITE).
25
+ </objective>
26
+
27
+ <execution_context>
28
+ Skills consultadas pelos agents: `kit/skills/supabase-*/SKILL.md` + `kit/skills/_shared-supabase/glossary.md` (Phase 25).
29
+ Agents disponíveis: `kit/agents/supabase-*.md` (Phase 26) + `kit/agents/schema-checker.md` (existente).
30
+ </execution_context>
31
+
32
+ <context>
33
+ **Argumentos:** `$ARGUMENTS` — primeiro token é o subcomando; restante é passado para o agent como prompt.
34
+
35
+ **Subcomandos suportados (sinônimos PT-BR/EN):**
36
+
37
+ | Subcomando | Sinônimos | Agent dispatched |
38
+ |---|---|---|
39
+ | `arquiteto` | `architect`, `arch` | `supabase-architect` |
40
+ | `migration` | `migrar`, `migrate` | `supabase-migration-writer` (v1.23: auto-chain cooperativo com hardener em CREATE TABLE) |
41
+ | `rls` | — | `supabase-rls-writer` (v1.23: GRANTs + IS NOT NULL + views security_invoker) |
42
+ | `hardener` | `harden`, `endurecer` | `supabase-rls-hardener` (v1.23 canonical materializer — recebe draft via Task) |
43
+ | `column` | `coluna`, `col-priv` | `supabase-column-privileges-writer` (v1.24 canonical materializer column-level — recebe spec via Task) |
44
+ | `rbac` | `roles`, `permissions`, `claims` | `supabase-rbac-implementer` (v1.25 canonical materializer Custom Claims & RBAC via Auth Hook — recebe spec via Task) |
45
+ | `role` | `papel`, `roles-pg` | `supabase-roles-implementer` (v1.26 canonical materializer Postgres Roles — recebe spec via Task; system access) |
46
+ | `edge` | `edge-function`, `function`, `funcao` | `supabase-edge-fn-writer` (v1.30: 2026 patterns — withSupabase, deno.json, config.toml) |
47
+ | `test` | `testar`, `tests`, `deno-test` | `supabase-edge-fn-tester` (v1.30 — gera Deno tests para função existente) |
48
+ | `mcp` | `mcp-server`, `mcp-lite` | `supabase-edge-fn-writer` com `pattern=mcp-server` |
49
+ | `ai` | `ai-session`, `embeddings-builtin`, `gte-small`, `ollama` | `supabase-edge-fn-writer` com `pattern=rag-embeddings` (Supabase.ai.Session) |
50
+ | `wasm` | `wasm-module` | `supabase-edge-fn-writer` com `pattern=wasm` + static_files config.toml |
51
+ | `websocket` | `ws`, `realtime-ws` | `supabase-edge-fn-writer` com `pattern=websocket` + `per_worker` |
52
+ | `realtime` | `tempo-real` | `supabase-realtime-implementer` |
53
+ | `auth` | `autenticacao`, `auth-ssr` | `supabase-auth-bootstrapper` |
54
+ | `social` | `oauth`, `login-social` | `supabase-social-auth-implementer` (v1.32 — social login Google/GitHub/Apple/Facebook/LinkedIn + custom OAuth/OIDC) |
55
+ | `mfa` | `2fa`, `totp` | `supabase-mfa-implementer` (v1.32 — MFA TOTP/Phone + enforcement RLS por AAL) |
56
+ | `hooks` | `auth-hook`, `hook` | `supabase-auth-hook-writer` (v1.32 — materializa os 6 Auth Hooks Postgres/HTTP) |
57
+ | `oauth-server` | `mcp-auth`, `idp` | `supabase-oauth-server-implementer` (v1.32 — Supabase como OAuth 2.1/OIDC identity provider + MCP authentication) |
58
+ | `sso` | `saml`, `enterprise-sso` | `supabase-sso-saml-architect` (v1.32 — Enterprise SSO SAML 2.0 + multi-tenant) |
59
+ | `storage` | `armazenamento` | `supabase-storage-implementer` |
60
+ | `rag` | `pgvector`, `embeddings` | `supabase-edge-fn-writer` com `pattern=rag-embeddings` |
61
+ | `cron` | `queues`, `pgmq`, `background` | `supabase-edge-fn-writer` com `pattern=cron-pgmq` |
62
+ | `check` | `validar`, `validate` | `schema-checker` (validação pré-migration) |
63
+ | `help` | `ajuda`, `?` | exibe esta tabela inline |
64
+
65
+ **Detect `supabase/config.toml`:** se presente, extrai `project_id` (linha `project_id = "<ref>"`) e passa como contexto para o agent.
66
+ </context>
67
+
68
+ <process>
69
+
70
+ ## 1. Parsear Subcomando
71
+
72
+ ```bash
73
+ # PT-BR: extrair primeiro token de $ARGUMENTS como subcomando
74
+ SUBCMD=$(echo "$ARGUMENTS" | awk '{print $1}')
75
+ ARGS=$(echo "$ARGUMENTS" | cut -d' ' -f2-)
76
+ ```
77
+
78
+ **Se `$ARGUMENTS` for vazio ou `SUBCMD` for `help`/`ajuda`/`?`:** exibir tabela de subcomandos inline + exemplo de uso. Sair.
79
+
80
+ ## 2. Resolver Sinônimos
81
+
82
+ Mapear `SUBCMD` para agent name canônico:
83
+
84
+ ```
85
+ arquiteto, architect, arch → supabase-architect
86
+ migration, migrar, migrate → supabase-migration-writer (v1.23: auto-chain hardener em CREATE TABLE)
87
+ rls → supabase-rls-writer (v1.23: GRANTs + IS NOT NULL + views security_invoker)
88
+ hardener, harden, endurecer → supabase-rls-hardener (v1.23 canonical materializer)
89
+ column, coluna, col-priv → supabase-column-privileges-writer (v1.24 canonical materializer column-level — feature AVANÇADA)
90
+ rbac, roles, permissions, claims → supabase-rbac-implementer (v1.25 canonical materializer Custom Claims & RBAC via Auth Hook)
91
+ role, papel, roles-pg → supabase-roles-implementer (v1.26 canonical materializer Postgres Roles — system access only)
92
+ edge, edge-function, function, funcao → supabase-edge-fn-writer (v1.30: 2026 patterns)
93
+ test, testar, tests, deno-test → supabase-edge-fn-tester (v1.30)
94
+ mcp, mcp-server, mcp-lite → supabase-edge-fn-writer (com flag pattern=mcp-server) (v1.30)
95
+ ai, ai-session, gte-small, ollama → supabase-edge-fn-writer (com flag pattern=rag-embeddings) (v1.30)
96
+ wasm, wasm-module → supabase-edge-fn-writer (com flag pattern=wasm) (v1.30)
97
+ websocket, ws, realtime-ws → supabase-edge-fn-writer (com flag pattern=websocket) (v1.30)
98
+ realtime, tempo-real → supabase-realtime-implementer
99
+ auth, autenticacao, auth-ssr → supabase-auth-bootstrapper
100
+ social, oauth, login-social → supabase-social-auth-implementer (v1.32 social login + custom OAuth/OIDC)
101
+ mfa, 2fa, totp → supabase-mfa-implementer (v1.32 MFA TOTP/Phone + enforcement RLS)
102
+ hooks, auth-hook, hook → supabase-auth-hook-writer (v1.32 materializa Auth Hooks Postgres/HTTP)
103
+ oauth-server, mcp-auth, idp → supabase-oauth-server-implementer (v1.32 OAuth 2.1/OIDC identity provider + MCP auth)
104
+ sso, saml, enterprise-sso → supabase-sso-saml-architect (v1.32 Enterprise SSO SAML 2.0)
105
+ storage, armazenamento → supabase-storage-implementer
106
+ rag, pgvector, embeddings → supabase-edge-fn-writer (com flag pattern=rag-embeddings)
107
+ cron, queues, pgmq, background → supabase-edge-fn-writer (com flag pattern=cron-pgmq)
108
+ check, validar, validate → schema-checker
109
+ ```
110
+
111
+ ### Serviço de materialização (v1.23 — handoff cooperativo)
112
+
113
+ Quando agents externos (multi-tenant, debugger, planner, executor, audit-log, CRM, etc.) precisam produzir SQL/DDL, devem invocar `/supabase migration "<plano>"` ou `Task(subagent_type=supabase-rls-hardener, prompt=<draft+intent>)` ao invés de gerar SQL próprio. O command NÃO bloqueia — recebe planejamento, devolve código hardenado.
114
+
115
+ **Pattern de invocação:**
116
+
117
+ ```python
118
+ # de outro agent (ex: multi-tenant-rls-writer)
119
+ result = Task(subagent_type="supabase-rls-hardener", prompt=f"""
120
+ <upstream_intent>
121
+ Source agent: multi-tenant-rls-writer
122
+ Original goal: criar policies hierárquicas org→dept→role para {table_name}
123
+ Constraints: helper functions já existem em schema private
124
+ </upstream_intent>
125
+
126
+ <draft_sql>
127
+ {draft_policies_sql}
128
+ </draft_sql>
129
+
130
+ <user_facing_caller>true</user_facing_caller>
131
+ """)
132
+ # result.verdict: GO | STRENGTHEN | REWRITE
133
+ # result.final_sql: SQL hardenado preservando intent
134
+ ```
135
+
136
+ **Se subcomando não resolve:** exibir erro inline com lista de subcomandos válidos. Sair.
137
+
138
+ ```
139
+ ✗ Subcomando desconhecido: '<SUBCMD>'
140
+
141
+ Subcomandos válidos:
142
+ arquiteto / architect → projetar schema + RLS + topology antes de implementar
143
+ migration / migrar → escrever migration SQL
144
+ rls → gerar policies RLS para tabela
145
+ edge → escrever Edge Function Deno
146
+ realtime → configurar canais Realtime (RLS + trigger + client)
147
+ auth → bootstrap Next.js v16 + Supabase Auth (SSR)
148
+ storage → configurar Storage (bucket + RLS + client)
149
+ rag → Edge Function com embeddings + pgvector
150
+ cron → pattern cron → pgmq → Edge Function
151
+ check → validar SQL antes de apply (schema-checker)
152
+
153
+ Uso: /supabase <subcomando> <args...>
154
+ Exemplo: /supabase arquiteto "app de chat com presence multi-room"
155
+ ```
156
+
157
+ ## 3. Detectar `supabase/config.toml`
158
+
159
+ ```bash
160
+ if [ -f supabase/config.toml ]; then
161
+ PROJECT_ID=$(grep -E '^project_id\s*=' supabase/config.toml | sed 's/.*= *"\(.*\)".*/\1/' | head -1)
162
+ fi
163
+ ```
164
+
165
+ Se presente, anexar `project_id=<value>` ao prompt do agent. Se ausente, agent funciona sem (offline ou pergunta ao user).
166
+
167
+ ## 4. Dispatch
168
+
169
+ Invocar `Task(subagent_type=<agent_name>, prompt=<built_prompt>)`.
170
+
171
+ **Prompt construído:**
172
+
173
+ ```
174
+ {ARGS}
175
+
176
+ {Se project_id detectado:}
177
+ project_id: {PROJECT_ID}
178
+
179
+ {Se subcomando rag/cron — flag de modo:}
180
+ mode: rag-embeddings (ou cron-pgmq-edge)
181
+
182
+ {Para architect: tier upfront via AskUserQuestion}
183
+ {caller: pergunte ao user via AskUserQuestion sobre tier (Free/Pro/Team) e branches antes de produzir o plano — ver supabase-architect Step 1}
184
+ ```
185
+
186
+ **Subcomando `arquiteto`:** antes de dispatch, faça `AskUserQuestion` perguntando tier (Free/Pro/Team/Enterprise) e se vai usar branches. Inclua resposta no prompt.
187
+
188
+ **Subcomando `check`:** dispatch para `schema-checker` (existente). O caller deve passar `migration_path` e `project_id` no `$ARGUMENTS` — exemplo: `/supabase check supabase/migrations/20260506_x.sql`.
189
+
190
+ **Subcomando `migration` (v1.23 — CMD-02):** após `supabase-migration-writer` produzir SQL inicial, o agent **AUTOMATICAMENTE** invoca `supabase-rls-hardener` via `Task()` para validar defense-in-depth em CREATE TABLE. Output final inclui verdict + RLS auto-injetada. Caller NÃO precisa invocar hardener separadamente — é parte do contrato do subcomando.
191
+
192
+ **Subcomando `hardener` (v1.23 novo):** dispatch direto para `supabase-rls-hardener`. Útil quando caller tem draft SQL pronto e quer apenas validação/hardening sem gerar SQL novo. Aceita input com bloco `<draft_sql>` no `$ARGUMENTS` ou via stdin.
193
+
194
+ **Subcomando `column` (v1.24 novo):** dispatch direto para `supabase-column-privileges-writer`. Recebe spec de table + colunas sensíveis + roles permitidos e produz REVOKE table-level + GRANT column-level. **Feature AVANÇADA** — apenas para casos com PII compliance (LGPD/GDPR), audit log payload, billing data, tokens raw. Para casos comuns (admin/user roles), prefira dedicated role table pattern (documentado em [`supabase-column-level-security`](../skills/supabase-column-level-security/SKILL.md)). Aceita input com bloco `<sensitive_columns>` e `<allowed_roles>` no `$ARGUMENTS`.
195
+
196
+ **Subcomando `rbac` (v1.25 novo):** dispatch direto para `supabase-rbac-implementer`. Recebe spec de roles + permissions matrix + multi_tenant flag e materializa setup completo (7 passos canônicos: enum types + user_roles + role_permissions + Custom Access Token Auth Hook + supabase_auth_admin GRANTs + authorize() function + RLS policies template + client jwt-decode snippet). Pattern recomendado v1.25 para RBAC — zero-JOIN em policies via claim no JWT. Caveat JWT freshness (mudanças refletem após token refresh). Aceita input com bloco `<roles>` + `<permissions_matrix>` + `<multi_tenant>` no `$ARGUMENTS`. Cross-ref skill [`supabase-custom-claims-rbac`](../skills/supabase-custom-claims-rbac/SKILL.md).
197
+
198
+ **Subcomando `role` (v1.26 novo):** dispatch direto para `supabase-roles-implementer`. Recebe spec de custom Postgres roles + hierarchy + GRANT matrix e materializa setup completo (CREATE ROLE com LOGIN PASSWORD opcional + role hierarchy INHERIT/NOINHERIT + GRANT/REVOKE per schema/table/function + password security check). **System access apenas** — para application access (end-users), use `/supabase rbac` (v1.25). Aceita input com bloco `<roles_to_create>` + `<grants>` + `<use_case>` no `$ARGUMENTS`. Cross-ref skill [`supabase-postgres-roles`](../skills/supabase-postgres-roles/SKILL.md).
199
+
200
+ **Subcomando `edge` (v1.30 modernizado):** dispatch para `supabase-edge-fn-writer` que agora aplica 6 skills 2026 — env vars JSON dict (`JSON.parse(SUPABASE_PUBLISHABLE_KEYS)['default']`), `withSupabase` para auth (4 modes: `'user' | 'secret:<name>' | 'publishable:<name>' | 'none'`), per-function `deno.json` (substitui import_map global legacy), per-function `config.toml` entry (`verify_jwt`, `entrypoint`, `static_files`), CORS via `npm:@supabase/supabase-js@2.95.0/cors`, instrumentação OTel + 4 golden signals + SRE defenses (timeout/jitter/RateLimitError handling). Aceita flag `pattern=basic|rag-embeddings|cron-pgmq|mcp-server|websocket|wasm|background-task` no `$ARGUMENTS`. Auto-handoff sugerido para `/supabase test <fn>` ao final.
201
+
202
+ **Subcomando `test` (v1.30 novo):** dispatch direto para `supabase-edge-fn-tester`. Gera `supabase/functions/tests/<fn>-test.ts` com cobertura canônica de 5 equivalence classes (happy/validation/auth/rate-limit/timeout) usando Deno test runner + `assertSnapshot` + `FunctionsHttpError`/`FunctionsRelayError`/`FunctionsFetchError`. Pattern-specific: `characterization` (legacy via fixtures capturados), `webhook` (signature HMAC fixture), `rag` (determinismo via temperature=0), `mcp` (delega para MCP Inspector). Handoff cooperativo upstream: `supabase-edge-fn-writer` recomenda esse subcomando automaticamente ao criar função nova. Cross-ref skill [`supabase-edge-functions-testing`](../skills/supabase-edge-functions-testing/SKILL.md).
203
+
204
+ **Subcomandos `mcp` / `ai` / `wasm` / `websocket` (v1.30 novos):** atalhos para `supabase-edge-fn-writer` com pattern específico — economizam o caller de especificar manualmente. Cada um carrega skill especializada:
205
+ - `mcp` → [`supabase-edge-functions-mcp-server`](../skills/supabase-edge-functions-mcp-server/SKILL.md) (mcp-lite, dois Hono apps)
206
+ - `ai` → [`supabase-edge-runtime-builtins`](../skills/supabase-edge-runtime-builtins/SKILL.md) (Supabase.ai.Session, gte-small, Ollama)
207
+ - `wasm` → [`supabase-edge-runtime-builtins`](../skills/supabase-edge-runtime-builtins/SKILL.md) + auto-adiciona `static_files` em config.toml (CLI 2.7.0+, requer Docker no deploy)
208
+ - `websocket` → [`supabase-edge-runtime-builtins`](../skills/supabase-edge-runtime-builtins/SKILL.md) + auto-adiciona `policy = "per_worker"` em config.toml
209
+
210
+ **Subcomandos de autenticação (v1.32 novos):** materializam a suíte de auth. Cada um faz dispatch direto para o agent canônico e carrega a skill especializada:
211
+ - `social` → `supabase-social-auth-implementer` + skill [`supabase-social-oauth`](../skills/supabase-social-oauth/SKILL.md) — social login (Google/GitHub/Apple/Facebook/LinkedIn) + custom OAuth/OIDC, rota callback PKCE.
212
+ - `mfa` → `supabase-mfa-implementer` + skill [`supabase-mfa`](../skills/supabase-mfa/SKILL.md) — enrollment TOTP/Phone + enforcement RLS RESTRICTIVE por AAL.
213
+ - `hooks` → `supabase-auth-hook-writer` + skill [`supabase-auth-hooks`](../skills/supabase-auth-hooks/SKILL.md) — materializa os 6 Auth Hooks (Postgres function ou Edge Function com Standard Webhooks).
214
+ - `oauth-server` → `supabase-oauth-server-implementer` + skill [`supabase-oauth-server`](../skills/supabase-oauth-server/SKILL.md) — Supabase como OAuth 2.1/OIDC identity provider, **MCP authentication**, RLS por `client_id`.
215
+ - `sso` → `supabase-sso-saml-architect` + skill [`supabase-enterprise-sso-saml`](../skills/supabase-enterprise-sso-saml/SKILL.md) — Enterprise SSO SAML 2.0, attribute mappings, multi-tenant.
216
+
217
+ O subcomando `auth` (existente) continua para bootstrap SSR Next.js v16 via `supabase-auth-bootstrapper`. Skills de conhecimento complementares (sem agent dedicado): [`supabase-auth-methods`](../skills/supabase-auth-methods/SKILL.md), [`supabase-auth-sessions`](../skills/supabase-auth-sessions/SKILL.md), [`supabase-jwt-signing-keys`](../skills/supabase-jwt-signing-keys/SKILL.md), [`supabase-third-party-auth`](../skills/supabase-third-party-auth/SKILL.md), [`supabase-auth-hardening`](../skills/supabase-auth-hardening/SKILL.md) — a LLM as carrega automaticamente pelos trigger phrases.
218
+
219
+ ## 5. Output
220
+
221
+ Output do agent é o output do command. Sem post-processing — agent já formata estruturado.
222
+
223
+ </process>
224
+
225
+ <success_criteria>
226
+ - [ ] Subcomando resolvido para agent canônico (21 subcomandos × seus sinônimos — v1.32)
227
+ - [ ] `project_id` extraído de `supabase/config.toml` se presente
228
+ - [ ] Subcomando `arquiteto` faz `AskUserQuestion` upfront sobre tier + branches
229
+ - [ ] Dispatch via `Task(subagent_type=...)` — único ponto de chain de agents Supabase
230
+ - [ ] Subcomando inválido → mensagem clara com lista
231
+ - [ ] Subcomando `help`/`ajuda`/`?` → exibe tabela inline
232
+ - [ ] Subcomando `check` → invoca `schema-checker` (existente)
233
+ - [ ] Subcomando `edge` (v1.30) → invoca `supabase-edge-fn-writer` com 2026 patterns + auto-recomenda `/supabase test` ao final
234
+ - [ ] Subcomando `test` (v1.30) → invoca `supabase-edge-fn-tester` que lê config.toml + index.ts para detectar auth mode
235
+ - [ ] Subcomandos `mcp` / `ai` / `wasm` / `websocket` (v1.30) → passam `pattern=<canônico>` para writer
236
+ - [ ] Subcomandos `social` / `mfa` / `hooks` / `oauth-server` / `sso` (v1.32) → dispatch para o agent de auth canônico
237
+ - [ ] Args após subcomando passam transparentemente para o agent
238
+ </success_criteria>
@@ -1,68 +1,68 @@
1
- ---
2
- name: sync-main
3
- description: Atualiza a branch local com os commits da main. Se houver conflitos, pergunta qual priorizar.
4
- allowed-tools:
5
- - Bash
6
- ---
7
-
8
- <safety_rules>
9
- NUNCA execute git push para main ou origin/main.
10
- NUNCA mude para a branch main (git checkout main / git switch main).
11
- Este comando só traz código da main para a branch local — nunca o contrário.
12
- </safety_rules>
13
-
14
- <process>
15
-
16
- ## 1 — Proteção: bloquear se estiver na main
17
-
18
- ```bash
19
- git branch --show-current
20
- ```
21
-
22
- Se a branch atual for `main`, encerre com:
23
- > "⛔ Você está na branch main. Mude para uma branch de feature antes de continuar."
24
-
25
- ## 2 — Buscar atualizações e verificar se há algo novo
26
-
27
- ```bash
28
- git fetch origin
29
- git log --oneline origin/main ^HEAD
30
- ```
31
-
32
- Se não houver nenhum commit novo em `origin/main`, informe:
33
- > "Sua branch já está atualizada com a main."
34
- E encerre.
35
-
36
- ## 3 — Aplicar os commits da main na branch local
37
-
38
- ```bash
39
- git merge origin/main
40
- ```
41
-
42
- ### Se não houver conflitos:
43
- Mostre um resumo com:
44
- - Quantos commits foram integrados
45
- - Lista dos arquivos modificados (`git diff --name-only HEAD~1 HEAD` ou similar)
46
-
47
- Encerre.
48
-
49
- ### Se houver conflitos:
50
-
51
- Liste os arquivos conflitantes e pergunte:
52
- > "Encontrei conflitos nos arquivos abaixo. Qual é a prioridade?
53
- > [1] main — usa o código da main nos conflitos
54
- > [2] local — mantém o seu código nos conflitos"
55
-
56
- Aguarde a resposta.
57
-
58
- **Se [1] main:**
59
- Para cada arquivo conflitante: `git checkout --theirs <arquivo>`
60
- Depois: `git add . && git commit`
61
-
62
- **Se [2] local:**
63
- Para cada arquivo conflitante: `git checkout --ours <arquivo>`
64
- Depois: `git add . && git commit`
65
-
66
- Mostre o resumo final: branch atual, status limpo, commits integrados.
67
-
68
- </process>
1
+ ---
2
+ name: sync-main
3
+ description: Atualiza a branch local com os commits da main. Se houver conflitos, pergunta qual priorizar.
4
+ allowed-tools:
5
+ - Bash
6
+ ---
7
+
8
+ <safety_rules>
9
+ NUNCA execute git push para main ou origin/main.
10
+ NUNCA mude para a branch main (git checkout main / git switch main).
11
+ Este comando só traz código da main para a branch local — nunca o contrário.
12
+ </safety_rules>
13
+
14
+ <process>
15
+
16
+ ## 1 — Proteção: bloquear se estiver na main
17
+
18
+ ```bash
19
+ git branch --show-current
20
+ ```
21
+
22
+ Se a branch atual for `main`, encerre com:
23
+ > "⛔ Você está na branch main. Mude para uma branch de feature antes de continuar."
24
+
25
+ ## 2 — Buscar atualizações e verificar se há algo novo
26
+
27
+ ```bash
28
+ git fetch origin
29
+ git log --oneline origin/main ^HEAD
30
+ ```
31
+
32
+ Se não houver nenhum commit novo em `origin/main`, informe:
33
+ > "Sua branch já está atualizada com a main."
34
+ E encerre.
35
+
36
+ ## 3 — Aplicar os commits da main na branch local
37
+
38
+ ```bash
39
+ git merge origin/main
40
+ ```
41
+
42
+ ### Se não houver conflitos:
43
+ Mostre um resumo com:
44
+ - Quantos commits foram integrados
45
+ - Lista dos arquivos modificados (`git diff --name-only HEAD~1 HEAD` ou similar)
46
+
47
+ Encerre.
48
+
49
+ ### Se houver conflitos:
50
+
51
+ Liste os arquivos conflitantes e pergunte:
52
+ > "Encontrei conflitos nos arquivos abaixo. Qual é a prioridade?
53
+ > [1] main — usa o código da main nos conflitos
54
+ > [2] local — mantém o seu código nos conflitos"
55
+
56
+ Aguarde a resposta.
57
+
58
+ **Se [1] main:**
59
+ Para cada arquivo conflitante: `git checkout --theirs <arquivo>`
60
+ Depois: `git add . && git commit`
61
+
62
+ **Se [2] local:**
63
+ Para cada arquivo conflitante: `git checkout --ours <arquivo>`
64
+ Depois: `git add . && git commit`
65
+
66
+ Mostre o resumo final: branch atual, status limpo, commits integrados.
67
+
68
+ </process>