@maestro-ai/mcp-server 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +266 -227
- package/dist/content/design-system/README.md +231 -231
- package/dist/content/design-system/indexes/README.md +211 -211
- package/dist/content/design-system/indexes/colors-index.md +156 -156
- package/dist/content/design-system/indexes/quick-search.md +111 -111
- package/dist/content/design-system/indexes/stacks-index.md +341 -341
- package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +249 -249
- package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +277 -277
- package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +260 -260
- package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +257 -257
- package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -119
- package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -147
- package/dist/content/guides/Checklist Mestre de Entrega.md +68 -68
- package/dist/content/guides/Gates de Qualidade.md +209 -209
- package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -355
- package/dist/content/guides/Guia de Chaos Engineering.md +267 -267
- package/dist/content/guides/Guia de Debugging com IA.md +135 -135
- package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -352
- package/dist/content/guides/Guia de Migrations Zero-Downtime.md +311 -311
- package/dist/content/guides/Guia de Multi-tenancy.md +368 -368
- package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -195
- package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -162
- package/dist/content/guides/Guia de SLOs e Error Budgets.md +315 -315
- package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -93
- package/dist/content/guides/Rules base.md +90 -90
- package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +364 -364
- package/dist/content/prompts/README.md +203 -203
- package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +257 -257
- package/dist/content/prompts/apis/design-api-rest.md +303 -303
- package/dist/content/prompts/apis/idempotencia.md +254 -254
- package/dist/content/prompts/apis/versionamento.md +313 -313
- package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -190
- package/dist/content/prompts/arquitetura/clean-architecture.md +151 -151
- package/dist/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -183
- package/dist/content/prompts/arquitetura/ddd-cqrs.md +176 -176
- package/dist/content/prompts/arquitetura/modelo-dominio.md +207 -207
- package/dist/content/prompts/arquitetura/multi-tenancy.md +235 -235
- package/dist/content/prompts/database/migrations-zero-downtime.md +192 -192
- package/dist/content/prompts/database/otimizacao-queries.md +296 -296
- package/dist/content/prompts/desenvolvimento/code-review.md +301 -301
- package/dist/content/prompts/desenvolvimento/gerar-servico.md +271 -271
- package/dist/content/prompts/devops/docker-compose.md +336 -336
- package/dist/content/prompts/devops/feature-flags.md +374 -374
- package/dist/content/prompts/devops/kubernetes-deploy.md +460 -460
- package/dist/content/prompts/devops/pipeline-cicd.md +358 -358
- package/dist/content/prompts/devops/terraform-iac.md +502 -502
- package/dist/content/prompts/escalabilidade/analise-performance.md +240 -240
- package/dist/content/prompts/escalabilidade/analise-performance.txt +94 -94
- package/dist/content/prompts/escalabilidade/caching.md +255 -255
- package/dist/content/prompts/observabilidade/chaos-testing.md +237 -237
- package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +263 -263
- package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -134
- package/dist/content/prompts/observabilidade/slos.md +215 -215
- package/dist/content/prompts/produto/discovery-inicial.md +203 -203
- package/dist/content/prompts/produto/discovery-inicial.txt +33 -33
- package/dist/content/prompts/requisitos/refinar-requisitos.md +232 -232
- package/dist/content/prompts/requisitos/refinar-requisitos.txt +40 -40
- package/dist/content/prompts/seguranca/analise-seguranca.md +243 -243
- package/dist/content/prompts/seguranca/pentest-checklist.md +333 -333
- package/dist/content/prompts/seguranca/rate-limiting.md +356 -356
- package/dist/content/prompts/seguranca/revisao-lgpd.md +227 -227
- package/dist/content/prompts/seguranca/threat-modeling.md +224 -224
- package/dist/content/prompts/testes/contract-testing.md +340 -340
- package/dist/content/prompts/testes/gerar-testes-unitarios.md +474 -474
- package/dist/content/prompts/testes/testes-e2e.md +460 -460
- package/dist/content/prompts/testes/testes-integracao.md +418 -418
- package/dist/content/prompts/testes/testes-performance.md +458 -458
- package/dist/content/prompts/ux/gerar-ui-stitch.md +151 -151
- package/dist/content/rules/RULES.md +835 -835
- package/dist/content/rules/adapters/copilot.md +10 -10
- package/dist/content/rules/adapters/cursor.md +10 -10
- package/dist/content/rules/adapters/gemini.md +13 -13
- package/dist/content/rules/adapters/windsurf.md +10 -10
- package/dist/content/specialists/Especialista em Acessibilidade.md +266 -266
- package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -434
- package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -358
- package/dist/content/specialists/Especialista em Arquitetura de Software.md +177 -177
- package/dist/content/specialists/Especialista em Banco de Dados.md +260 -260
- package/dist/content/specialists/Especialista em Contrato de API.md +172 -172
- package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +246 -246
- package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -191
- package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -477
- package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -241
- package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -417
- package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -294
- package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -227
- package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -299
- package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -179
- package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -179
- package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -410
- package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -248
- package/dist/content/specialists/Especialista em Observabilidade.md +415 -415
- package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +373 -373
- package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -341
- package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -419
- package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -508
- package/dist/content/specialists/Especialista em UX Design.md +453 -453
- package/dist/content/specialists/INDEX.md +43 -43
- package/dist/content/templates/PRD.md +165 -165
- package/dist/content/templates/README.md +65 -65
- package/dist/content/templates/adr.md +103 -103
- package/dist/content/templates/arquitetura.md +279 -279
- package/dist/content/templates/backlog.md +185 -185
- package/dist/content/templates/checklist-seguranca.md +180 -180
- package/dist/content/templates/contexto.md +120 -120
- package/dist/content/templates/criterios-aceite.md +99 -99
- package/dist/content/templates/design-banco.md +270 -270
- package/dist/content/templates/design-doc.md +240 -240
- package/dist/content/templates/feature.md +88 -88
- package/dist/content/templates/historia-backend.md +84 -84
- package/dist/content/templates/historia-frontend.md +75 -75
- package/dist/content/templates/historia-usuario.md +125 -125
- package/dist/content/templates/mapa-navegacao.md +133 -133
- package/dist/content/templates/matriz-rastreabilidade.md +121 -121
- package/dist/content/templates/modelo-dominio.md +219 -219
- package/dist/content/templates/plano-testes.md +199 -199
- package/dist/content/templates/prototipo-stitch.md +138 -138
- package/dist/content/templates/requisitos.md +162 -162
- package/dist/content/templates/slo-sli.md +197 -197
- package/dist/content/workflows/README-MCP.md +363 -363
- package/dist/content/workflows/mcp-debug.md +506 -506
- package/dist/content/workflows/mcp-feature.md +385 -385
- package/dist/content/workflows/mcp-gate.md +413 -413
- package/dist/content/workflows/mcp-next.md +388 -388
- package/dist/content/workflows/mcp-refactor.md +600 -600
- package/dist/content/workflows/mcp-start.md +304 -304
- package/dist/content/workflows/mcp-status.md +400 -400
- package/dist/gates/tiers.test.js +14 -14
- package/dist/index.js +133 -133
- package/dist/resources/index.js +61 -61
- package/dist/stdio.js +39 -32
- package/dist/stdio.js.map +1 -1
- package/dist/tools/analise/performance.js +23 -23
- package/dist/tools/analise/qualidade.js +23 -23
- package/dist/tools/analise/relatorio.js +24 -24
- package/dist/tools/analise/seguranca.js +28 -28
- package/dist/tools/aprovar-gate.js +81 -81
- package/dist/tools/atualizar-codebase.js +18 -18
- package/dist/tools/avaliar-entregavel.js +18 -18
- package/dist/tools/carregar-projeto.d.ts.map +1 -1
- package/dist/tools/carregar-projeto.js +91 -116
- package/dist/tools/carregar-projeto.js.map +1 -1
- package/dist/tools/classificar.js +36 -36
- package/dist/tools/confirmar-classificacao.js +36 -36
- package/dist/tools/confirmar-stitch.js +75 -75
- package/dist/tools/contexto.js +56 -56
- package/dist/tools/fluxos-alternativos.js +98 -98
- package/dist/tools/implementar-historia.js +63 -63
- package/dist/tools/iniciar-projeto.d.ts.map +1 -1
- package/dist/tools/iniciar-projeto.js +139 -224
- package/dist/tools/iniciar-projeto.js.map +1 -1
- package/dist/tools/proximo.d.ts.map +1 -1
- package/dist/tools/proximo.js +224 -252
- package/dist/tools/proximo.js.map +1 -1
- package/dist/tools/salvar.js +59 -59
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +64 -93
- package/dist/tools/status.js.map +1 -1
- package/dist/tools/validar-gate.js +35 -35
- package/dist/types/response.js +11 -11
- package/dist/utils/instructions.js +48 -48
- package/dist/utils/prompt-mapper.js +16 -16
- package/dist/utils/system-md.js +33 -33
- package/package.json +67 -67
- package/dist/content/content/design-system/README.md +0 -231
- package/dist/content/content/design-system/data/charts.csv +0 -26
- package/dist/content/content/design-system/data/colors.csv +0 -97
- package/dist/content/content/design-system/data/icons.csv +0 -101
- package/dist/content/content/design-system/data/landing.csv +0 -31
- package/dist/content/content/design-system/data/products.csv +0 -97
- package/dist/content/content/design-system/data/prompts.csv +0 -24
- package/dist/content/content/design-system/data/react-performance.csv +0 -45
- package/dist/content/content/design-system/data/styles.csv +0 -59
- package/dist/content/content/design-system/data/typography.csv +0 -58
- package/dist/content/content/design-system/data/ui-reasoning.csv +0 -101
- package/dist/content/content/design-system/data/ux-guidelines.csv +0 -100
- package/dist/content/content/design-system/data/web-interface.csv +0 -31
- package/dist/content/content/design-system/indexes/README.md +0 -211
- package/dist/content/content/design-system/indexes/colors-index.md +0 -156
- package/dist/content/content/design-system/indexes/quick-search.md +0 -111
- package/dist/content/content/design-system/indexes/stacks-index.md +0 -341
- package/dist/content/content/design-system/stacks/flutter.csv +0 -53
- package/dist/content/content/design-system/stacks/html-tailwind.csv +0 -56
- package/dist/content/content/design-system/stacks/jetpack-compose.csv +0 -53
- package/dist/content/content/design-system/stacks/nextjs.csv +0 -53
- package/dist/content/content/design-system/stacks/nuxt-ui.csv +0 -51
- package/dist/content/content/design-system/stacks/nuxtjs.csv +0 -59
- package/dist/content/content/design-system/stacks/react-native.csv +0 -52
- package/dist/content/content/design-system/stacks/react.csv +0 -54
- package/dist/content/content/design-system/stacks/shadcn.csv +0 -61
- package/dist/content/content/design-system/stacks/svelte.csv +0 -54
- package/dist/content/content/design-system/stacks/swiftui.csv +0 -51
- package/dist/content/content/design-system/stacks/vue.csv +0 -50
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +0 -250
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +0 -278
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +0 -261
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +0 -258
- package/dist/content/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +0 -119
- package/dist/content/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +0 -147
- package/dist/content/content/guides/Checklist Mestre de Entrega.md +0 -68
- package/dist/content/content/guides/Gates de Qualidade.md +0 -209
- package/dist/content/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +0 -355
- package/dist/content/content/guides/Guia de Chaos Engineering.md +0 -267
- package/dist/content/content/guides/Guia de Debugging com IA.md +0 -135
- package/dist/content/content/guides/Guia de Estrat/303/251gias de Cache.md" +0 -352
- package/dist/content/content/guides/Guia de Migrations Zero-Downtime.md +0 -311
- package/dist/content/content/guides/Guia de Multi-tenancy.md +0 -368
- package/dist/content/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +0 -195
- package/dist/content/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +0 -162
- package/dist/content/content/guides/Guia de SLOs e Error Budgets.md +0 -315
- package/dist/content/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +0 -93
- package/dist/content/content/guides/Rules base.md +0 -90
- package/dist/content/content/playbook/Playbook de Desenvolvimento com IA.md +0 -364
- package/dist/content/content/prompts/README.md +0 -203
- package/dist/content/content/prompts/acessibilidade/analise-acessibilidade.md +0 -257
- package/dist/content/content/prompts/apis/design-api-rest.md +0 -303
- package/dist/content/content/prompts/apis/idempotencia.md +0 -254
- package/dist/content/content/prompts/apis/versionamento.md +0 -313
- package/dist/content/content/prompts/arquitetura/arquitetura-c4-completo.md +0 -190
- package/dist/content/content/prompts/arquitetura/clean-architecture.md +0 -151
- package/dist/content/content/prompts/arquitetura/ddd-bounded-contexts.md +0 -183
- package/dist/content/content/prompts/arquitetura/ddd-cqrs.md +0 -176
- package/dist/content/content/prompts/arquitetura/modelo-dominio.md +0 -207
- package/dist/content/content/prompts/arquitetura/multi-tenancy.md +0 -235
- package/dist/content/content/prompts/database/migrations-zero-downtime.md +0 -192
- package/dist/content/content/prompts/database/otimizacao-queries.md +0 -296
- package/dist/content/content/prompts/desenvolvimento/code-review.md +0 -301
- package/dist/content/content/prompts/desenvolvimento/gerar-servico.md +0 -271
- package/dist/content/content/prompts/devops/docker-compose.md +0 -336
- package/dist/content/content/prompts/devops/feature-flags.md +0 -374
- package/dist/content/content/prompts/devops/kubernetes-deploy.md +0 -460
- package/dist/content/content/prompts/devops/pipeline-cicd.md +0 -358
- package/dist/content/content/prompts/devops/terraform-iac.md +0 -502
- package/dist/content/content/prompts/escalabilidade/analise-performance.md +0 -240
- package/dist/content/content/prompts/escalabilidade/analise-performance.txt +0 -94
- package/dist/content/content/prompts/escalabilidade/caching.md +0 -255
- package/dist/content/content/prompts/observabilidade/chaos-testing.md +0 -237
- package/dist/content/content/prompts/observabilidade/estrategia-observabilidade.md +0 -263
- package/dist/content/content/prompts/observabilidade/estrategia-observabilidade.txt +0 -134
- package/dist/content/content/prompts/observabilidade/slos.md +0 -215
- package/dist/content/content/prompts/produto/discovery-inicial.md +0 -203
- package/dist/content/content/prompts/produto/discovery-inicial.txt +0 -33
- package/dist/content/content/prompts/requisitos/refinar-requisitos.md +0 -232
- package/dist/content/content/prompts/requisitos/refinar-requisitos.txt +0 -40
- package/dist/content/content/prompts/seguranca/analise-seguranca.md +0 -243
- package/dist/content/content/prompts/seguranca/pentest-checklist.md +0 -333
- package/dist/content/content/prompts/seguranca/rate-limiting.md +0 -356
- package/dist/content/content/prompts/seguranca/revisao-lgpd.md +0 -227
- package/dist/content/content/prompts/seguranca/threat-modeling.md +0 -224
- package/dist/content/content/prompts/testes/contract-testing.md +0 -340
- package/dist/content/content/prompts/testes/gerar-testes-unitarios.md +0 -474
- package/dist/content/content/prompts/testes/testes-e2e.md +0 -460
- package/dist/content/content/prompts/testes/testes-integracao.md +0 -418
- package/dist/content/content/prompts/testes/testes-performance.md +0 -458
- package/dist/content/content/prompts/ux/gerar-ui-stitch.md +0 -151
- package/dist/content/content/rules/GEMINI.md +0 -841
- package/dist/content/content/rules/RULES.md +0 -835
- package/dist/content/content/rules/adapters/copilot.md +0 -10
- package/dist/content/content/rules/adapters/cursor.md +0 -10
- package/dist/content/content/rules/adapters/gemini.md +0 -13
- package/dist/content/content/rules/adapters/windsurf.md +0 -10
- package/dist/content/content/skills/api-patterns/SKILL.md +0 -81
- package/dist/content/content/skills/api-patterns/api-style.md +0 -42
- package/dist/content/content/skills/api-patterns/auth.md +0 -24
- package/dist/content/content/skills/api-patterns/documentation.md +0 -26
- package/dist/content/content/skills/api-patterns/graphql.md +0 -41
- package/dist/content/content/skills/api-patterns/rate-limiting.md +0 -31
- package/dist/content/content/skills/api-patterns/response.md +0 -37
- package/dist/content/content/skills/api-patterns/rest.md +0 -40
- package/dist/content/content/skills/api-patterns/scripts/api_validator.py +0 -211
- package/dist/content/content/skills/api-patterns/security-testing.md +0 -122
- package/dist/content/content/skills/api-patterns/trpc.md +0 -41
- package/dist/content/content/skills/api-patterns/versioning.md +0 -22
- package/dist/content/content/skills/app-builder/SKILL.md +0 -75
- package/dist/content/content/skills/app-builder/agent-coordination.md +0 -71
- package/dist/content/content/skills/app-builder/feature-building.md +0 -53
- package/dist/content/content/skills/app-builder/project-detection.md +0 -34
- package/dist/content/content/skills/app-builder/scaffolding.md +0 -118
- package/dist/content/content/skills/app-builder/tech-stack.md +0 -40
- package/dist/content/content/skills/app-builder/templates/SKILL.md +0 -39
- package/dist/content/content/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
- package/dist/content/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
- package/dist/content/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
- package/dist/content/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
- package/dist/content/content/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
- package/dist/content/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
- package/dist/content/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
- package/dist/content/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -82
- package/dist/content/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -100
- package/dist/content/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -106
- package/dist/content/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -101
- package/dist/content/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
- package/dist/content/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -93
- package/dist/content/content/skills/architecture/SKILL.md +0 -55
- package/dist/content/content/skills/architecture/context-discovery.md +0 -43
- package/dist/content/content/skills/architecture/examples.md +0 -94
- package/dist/content/content/skills/architecture/pattern-selection.md +0 -68
- package/dist/content/content/skills/architecture/patterns-reference.md +0 -50
- package/dist/content/content/skills/architecture/trade-off-analysis.md +0 -77
- package/dist/content/content/skills/bash-linux/SKILL.md +0 -199
- package/dist/content/content/skills/behavioral-modes/SKILL.md +0 -242
- package/dist/content/content/skills/brainstorming/SKILL.md +0 -163
- package/dist/content/content/skills/brainstorming/dynamic-questioning.md +0 -350
- package/dist/content/content/skills/clean-code/SKILL.md +0 -201
- package/dist/content/content/skills/code-review-checklist/SKILL.md +0 -109
- package/dist/content/content/skills/database-design/SKILL.md +0 -52
- package/dist/content/content/skills/database-design/database-selection.md +0 -43
- package/dist/content/content/skills/database-design/indexing.md +0 -39
- package/dist/content/content/skills/database-design/migrations.md +0 -48
- package/dist/content/content/skills/database-design/optimization.md +0 -36
- package/dist/content/content/skills/database-design/orm-selection.md +0 -30
- package/dist/content/content/skills/database-design/schema-design.md +0 -56
- package/dist/content/content/skills/database-design/scripts/schema_validator.py +0 -172
- package/dist/content/content/skills/deployment-procedures/SKILL.md +0 -241
- package/dist/content/content/skills/doc.md +0 -177
- package/dist/content/content/skills/documentation-templates/SKILL.md +0 -194
- package/dist/content/content/skills/frontend-design/SKILL.md +0 -396
- package/dist/content/content/skills/frontend-design/animation-guide.md +0 -331
- package/dist/content/content/skills/frontend-design/color-system.md +0 -311
- package/dist/content/content/skills/frontend-design/decision-trees.md +0 -418
- package/dist/content/content/skills/frontend-design/motion-graphics.md +0 -306
- package/dist/content/content/skills/frontend-design/scripts/accessibility_checker.py +0 -183
- package/dist/content/content/skills/frontend-design/scripts/ux_audit.py +0 -722
- package/dist/content/content/skills/frontend-design/typography-system.md +0 -345
- package/dist/content/content/skills/frontend-design/ux-psychology.md +0 -541
- package/dist/content/content/skills/frontend-design/visual-effects.md +0 -383
- package/dist/content/content/skills/game-development/2d-games/SKILL.md +0 -119
- package/dist/content/content/skills/game-development/3d-games/SKILL.md +0 -135
- package/dist/content/content/skills/game-development/SKILL.md +0 -167
- package/dist/content/content/skills/game-development/game-art/SKILL.md +0 -185
- package/dist/content/content/skills/game-development/game-audio/SKILL.md +0 -190
- package/dist/content/content/skills/game-development/game-design/SKILL.md +0 -129
- package/dist/content/content/skills/game-development/mobile-games/SKILL.md +0 -108
- package/dist/content/content/skills/game-development/multiplayer/SKILL.md +0 -132
- package/dist/content/content/skills/game-development/pc-games/SKILL.md +0 -144
- package/dist/content/content/skills/game-development/vr-ar/SKILL.md +0 -123
- package/dist/content/content/skills/game-development/web-games/SKILL.md +0 -150
- package/dist/content/content/skills/geo-fundamentals/SKILL.md +0 -156
- package/dist/content/content/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
- package/dist/content/content/skills/i18n-localization/SKILL.md +0 -154
- package/dist/content/content/skills/i18n-localization/scripts/i18n_checker.py +0 -241
- package/dist/content/content/skills/intelligent-routing/SKILL.md +0 -334
- package/dist/content/content/skills/lint-and-validate/SKILL.md +0 -45
- package/dist/content/content/skills/lint-and-validate/scripts/lint_runner.py +0 -172
- package/dist/content/content/skills/lint-and-validate/scripts/type_coverage.py +0 -173
- package/dist/content/content/skills/mcp-builder/SKILL.md +0 -176
- package/dist/content/content/skills/mobile-design/SKILL.md +0 -394
- package/dist/content/content/skills/mobile-design/decision-trees.md +0 -516
- package/dist/content/content/skills/mobile-design/mobile-backend.md +0 -491
- package/dist/content/content/skills/mobile-design/mobile-color-system.md +0 -420
- package/dist/content/content/skills/mobile-design/mobile-debugging.md +0 -122
- package/dist/content/content/skills/mobile-design/mobile-design-thinking.md +0 -357
- package/dist/content/content/skills/mobile-design/mobile-navigation.md +0 -458
- package/dist/content/content/skills/mobile-design/mobile-performance.md +0 -767
- package/dist/content/content/skills/mobile-design/mobile-testing.md +0 -356
- package/dist/content/content/skills/mobile-design/mobile-typography.md +0 -433
- package/dist/content/content/skills/mobile-design/platform-android.md +0 -666
- package/dist/content/content/skills/mobile-design/platform-ios.md +0 -561
- package/dist/content/content/skills/mobile-design/scripts/mobile_audit.py +0 -670
- package/dist/content/content/skills/mobile-design/touch-psychology.md +0 -537
- package/dist/content/content/skills/nextjs-best-practices/SKILL.md +0 -203
- package/dist/content/content/skills/nodejs-best-practices/SKILL.md +0 -333
- package/dist/content/content/skills/parallel-agents/SKILL.md +0 -175
- package/dist/content/content/skills/performance-profiling/SKILL.md +0 -143
- package/dist/content/content/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
- package/dist/content/content/skills/plan-writing/SKILL.md +0 -152
- package/dist/content/content/skills/powershell-windows/SKILL.md +0 -167
- package/dist/content/content/skills/python-patterns/SKILL.md +0 -441
- package/dist/content/content/skills/react-patterns/SKILL.md +0 -198
- package/dist/content/content/skills/red-team-tactics/SKILL.md +0 -199
- package/dist/content/content/skills/seo-fundamentals/SKILL.md +0 -129
- package/dist/content/content/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
- package/dist/content/content/skills/server-management/SKILL.md +0 -161
- package/dist/content/content/skills/systematic-debugging/SKILL.md +0 -109
- package/dist/content/content/skills/tailwind-patterns/SKILL.md +0 -269
- package/dist/content/content/skills/tdd-workflow/SKILL.md +0 -149
- package/dist/content/content/skills/testing-patterns/SKILL.md +0 -178
- package/dist/content/content/skills/testing-patterns/scripts/test_runner.py +0 -219
- package/dist/content/content/skills/vulnerability-scanner/SKILL.md +0 -276
- package/dist/content/content/skills/vulnerability-scanner/checklists.md +0 -121
- package/dist/content/content/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
- package/dist/content/content/skills/webapp-testing/SKILL.md +0 -187
- package/dist/content/content/skills/webapp-testing/scripts/playwright_runner.py +0 -173
- package/dist/content/content/specialists/Especialista em Acessibilidade.md +0 -266
- package/dist/content/content/specialists/Especialista em An/303/241lise de Testes.md" +0 -434
- package/dist/content/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +0 -358
- package/dist/content/content/specialists/Especialista em Arquitetura de Software.md +0 -177
- package/dist/content/content/specialists/Especialista em Banco de Dados.md +0 -260
- package/dist/content/content/specialists/Especialista em Contrato de API.md +0 -172
- package/dist/content/content/specialists/Especialista em Dados e Analytics com IA.md +0 -246
- package/dist/content/content/specialists/Especialista em Debugging e Troubleshooting.md +0 -191
- package/dist/content/content/specialists/Especialista em Desenvolvimento Frontend.md +0 -477
- package/dist/content/content/specialists/Especialista em Desenvolvimento Mobile.md +0 -241
- package/dist/content/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +0 -417
- package/dist/content/content/specialists/Especialista em DevOps e Infraestrutura.md +0 -294
- package/dist/content/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +0 -227
- package/dist/content/content/specialists/Especialista em Engenharia de Requisitos com IA.md +0 -299
- package/dist/content/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +0 -179
- package/dist/content/content/specialists/Especialista em Gest/303/243o de Produto.md" +0 -179
- package/dist/content/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +0 -410
- package/dist/content/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +0 -248
- package/dist/content/content/specialists/Especialista em Observabilidade.md +0 -415
- package/dist/content/content/specialists/Especialista em Performance e Escalabilidade.md +0 -373
- package/dist/content/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +0 -341
- package/dist/content/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +0 -419
- package/dist/content/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +0 -508
- package/dist/content/content/specialists/Especialista em UX Design.md +0 -453
- package/dist/content/content/specialists/INDEX.md +0 -43
- package/dist/content/content/templates/PRD.md +0 -165
- package/dist/content/content/templates/README.md +0 -65
- package/dist/content/content/templates/adr.md +0 -103
- package/dist/content/content/templates/arquitetura.md +0 -279
- package/dist/content/content/templates/backlog.md +0 -185
- package/dist/content/content/templates/checklist-seguranca.md +0 -180
- package/dist/content/content/templates/contexto.md +0 -120
- package/dist/content/content/templates/criterios-aceite.md +0 -99
- package/dist/content/content/templates/design-banco.md +0 -270
- package/dist/content/content/templates/design-doc.md +0 -240
- package/dist/content/content/templates/feature.md +0 -88
- package/dist/content/content/templates/historia-backend.md +0 -84
- package/dist/content/content/templates/historia-frontend.md +0 -75
- package/dist/content/content/templates/historia-usuario.md +0 -125
- package/dist/content/content/templates/mapa-navegacao.md +0 -133
- package/dist/content/content/templates/matriz-rastreabilidade.md +0 -121
- package/dist/content/content/templates/modelo-dominio.md +0 -219
- package/dist/content/content/templates/plano-testes.md +0 -199
- package/dist/content/content/templates/prototipo-stitch.md +0 -138
- package/dist/content/content/templates/requisitos.md +0 -162
- package/dist/content/content/templates/slo-sli.md +0 -197
- package/dist/content/content/workflows/README-MCP.md +0 -363
- package/dist/content/content/workflows/brainstorm.md +0 -113
- package/dist/content/content/workflows/create.md +0 -59
- package/dist/content/content/workflows/debug.md +0 -103
- package/dist/content/content/workflows/deploy.md +0 -176
- package/dist/content/content/workflows/enhance.md +0 -63
- package/dist/content/content/workflows/mcp-debug.md +0 -506
- package/dist/content/content/workflows/mcp-feature.md +0 -385
- package/dist/content/content/workflows/mcp-gate.md +0 -413
- package/dist/content/content/workflows/mcp-next.md +0 -388
- package/dist/content/content/workflows/mcp-refactor.md +0 -600
- package/dist/content/content/workflows/mcp-start.md +0 -304
- package/dist/content/content/workflows/mcp-status.md +0 -400
- package/dist/content/content/workflows/orchestrate.md +0 -237
- package/dist/content/content/workflows/plan.md +0 -89
- package/dist/content/content/workflows/preview.md +0 -81
- package/dist/content/content/workflows/status.md +0 -86
- package/dist/content/content/workflows/test.md +0 -144
- package/dist/content/content/workflows/ui-ux-pro-max.md +0 -296
|
@@ -1,192 +1,192 @@
|
|
|
1
|
-
# Prompt: Database Migrations Zero-Downtime
|
|
2
|
-
|
|
3
|
-
> **Prioridade**: 🟠 ALTA
|
|
4
|
-
> **Aplicável a**: Sistemas em produção com tráfego contínuo
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Contexto
|
|
9
|
-
|
|
10
|
-
Migrations tradicionais podem causar downtime ou erros quando aplicadas em sistemas ativos. Este prompt ajuda a planejar migrations seguras.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Prompt Base: Planejar Migration
|
|
15
|
-
|
|
16
|
-
```text
|
|
17
|
-
Atue como DBA especialista em migrations zero-downtime.
|
|
18
|
-
|
|
19
|
-
Preciso fazer a seguinte alteração no banco de dados:
|
|
20
|
-
[DESCREVA A ALTERAÇÃO: ex. renomear coluna, alterar tipo, adicionar índice]
|
|
21
|
-
|
|
22
|
-
Contexto:
|
|
23
|
-
- Banco: [PostgreSQL/MySQL/SQL Server]
|
|
24
|
-
- Tamanho da tabela: [ex. 5 milhões de registros]
|
|
25
|
-
- Tráfego: [ex. 100 writes/min]
|
|
26
|
-
- Deploy: [blue-green/rolling/single server]
|
|
27
|
-
|
|
28
|
-
Gere um plano de migration com:
|
|
29
|
-
|
|
30
|
-
1. **Análise de Risco**
|
|
31
|
-
- A operação bloqueia a tabela?
|
|
32
|
-
- Tempo estimado de execução
|
|
33
|
-
- Impacto em queries ativas
|
|
34
|
-
|
|
35
|
-
2. **Estratégia de Migration**
|
|
36
|
-
- Quantos deploys são necessários?
|
|
37
|
-
- Ordem das alterações
|
|
38
|
-
- Scripts SQL para cada step
|
|
39
|
-
|
|
40
|
-
3. **Backward Compatibility**
|
|
41
|
-
- Como manter código antigo funcionando?
|
|
42
|
-
- Triggers ou dual-write necessários?
|
|
43
|
-
|
|
44
|
-
4. **Rollback Plan**
|
|
45
|
-
- Como reverter cada step?
|
|
46
|
-
- Dados perdidos em rollback?
|
|
47
|
-
|
|
48
|
-
5. **Monitoramento**
|
|
49
|
-
- O que observar durante a migration?
|
|
50
|
-
- Alertas a configurar
|
|
51
|
-
|
|
52
|
-
Siga o padrão Expand-Contract quando aplicável.
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Prompt: Migrar Coluna com Dados
|
|
58
|
-
|
|
59
|
-
```text
|
|
60
|
-
Tenho uma coluna que precisa ser transformada:
|
|
61
|
-
- Tabela: [NOME]
|
|
62
|
-
- Coluna atual: [NOME, TIPO]
|
|
63
|
-
- Transformação: [ex. split em duas colunas, mudar encoding, converter unidade]
|
|
64
|
-
- Registros: [QUANTIDADE]
|
|
65
|
-
|
|
66
|
-
Stack: [DESCREVA ORM/Framework]
|
|
67
|
-
|
|
68
|
-
Gere:
|
|
69
|
-
1. Scripts SQL para cada fase (expand, migrate, contract)
|
|
70
|
-
2. Job de backfill com batches
|
|
71
|
-
3. Código para dual-write durante transição
|
|
72
|
-
4. Verificações de integridade após migration
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## Prompt: Adicionar Índice em Tabela Grande
|
|
78
|
-
|
|
79
|
-
```text
|
|
80
|
-
Preciso adicionar um índice para melhorar performance:
|
|
81
|
-
- Tabela: [NOME], [X milhões de registros]
|
|
82
|
-
- Índice: [COLUNAS, TIPO]
|
|
83
|
-
- Banco: [PostgreSQL/MySQL]
|
|
84
|
-
- Tolerância a downtime: [zero/alguns segundos]
|
|
85
|
-
|
|
86
|
-
Gere:
|
|
87
|
-
1. Comando para criar índice sem bloquear (CONCURRENTLY, ONLINE)
|
|
88
|
-
2. Estimativa de tempo baseada no tamanho
|
|
89
|
-
3. Monitoramento durante criação
|
|
90
|
-
4. Verificação de que o índice está sendo usado
|
|
91
|
-
5. Plano B se a criação falhar
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## Prompt: Revisar Migration Existente
|
|
97
|
-
|
|
98
|
-
```text
|
|
99
|
-
Tenho este script de migration:
|
|
100
|
-
[COLE O SCRIPT]
|
|
101
|
-
|
|
102
|
-
Contexto:
|
|
103
|
-
- Ambiente: produção com [X] req/s
|
|
104
|
-
- Deploy: [TIPO]
|
|
105
|
-
- Banco: [TIPO E VERSÃO]
|
|
106
|
-
|
|
107
|
-
Analise:
|
|
108
|
-
1. Há operações que bloqueiam tabelas?
|
|
109
|
-
2. É backward compatible?
|
|
110
|
-
3. O rollback é possível?
|
|
111
|
-
4. Há riscos de perda de dados?
|
|
112
|
-
|
|
113
|
-
Sugira versão zero-downtime se necessário.
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## Exemplo: Migration Segura Completa
|
|
119
|
-
|
|
120
|
-
### Cenário: Renomear `name` para `full_name`
|
|
121
|
-
|
|
122
|
-
```sql
|
|
123
|
-
-- DEPLOY 1: Expand
|
|
124
|
-
-- Adiciona nova coluna
|
|
125
|
-
ALTER TABLE users ADD COLUMN full_name VARCHAR(255);
|
|
126
|
-
|
|
127
|
-
-- Cria trigger para sincronizar
|
|
128
|
-
CREATE OR REPLACE FUNCTION sync_user_name()
|
|
129
|
-
RETURNS TRIGGER AS $$
|
|
130
|
-
BEGIN
|
|
131
|
-
IF NEW.full_name IS NULL THEN
|
|
132
|
-
NEW.full_name := NEW.name;
|
|
133
|
-
END IF;
|
|
134
|
-
IF NEW.name IS NULL THEN
|
|
135
|
-
NEW.name := NEW.full_name;
|
|
136
|
-
END IF;
|
|
137
|
-
RETURN NEW;
|
|
138
|
-
END;
|
|
139
|
-
$$ LANGUAGE plpgsql;
|
|
140
|
-
|
|
141
|
-
CREATE TRIGGER trg_sync_user_name
|
|
142
|
-
BEFORE INSERT OR UPDATE ON users
|
|
143
|
-
FOR EACH ROW EXECUTE FUNCTION sync_user_name();
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
```python
|
|
147
|
-
# DEPLOY 1: Código dual-write
|
|
148
|
-
class User:
|
|
149
|
-
def save(self):
|
|
150
|
-
self.full_name = self.name # Sync
|
|
151
|
-
db.save(self)
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
```sql
|
|
155
|
-
-- DEPLOY 1: Backfill (pode rodar após deploy)
|
|
156
|
-
UPDATE users SET full_name = name WHERE full_name IS NULL;
|
|
157
|
-
-- Em batches para tabelas grandes:
|
|
158
|
-
-- UPDATE users SET full_name = name WHERE full_name IS NULL LIMIT 10000;
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
```python
|
|
162
|
-
# DEPLOY 2: Código usa nova coluna
|
|
163
|
-
class User:
|
|
164
|
-
@property
|
|
165
|
-
def display_name(self):
|
|
166
|
-
return self.full_name # Usa nova coluna
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
```sql
|
|
170
|
-
-- DEPLOY 3: Contract (após confirmar que nenhum código antigo está ativo)
|
|
171
|
-
DROP TRIGGER trg_sync_user_name ON users;
|
|
172
|
-
DROP FUNCTION sync_user_name();
|
|
173
|
-
ALTER TABLE users DROP COLUMN name;
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## Checklist
|
|
179
|
-
|
|
180
|
-
- [ ] Testei em staging com dados similares a produção
|
|
181
|
-
- [ ] Medi tempo de execução em tabela grande
|
|
182
|
-
- [ ] Documentei cada step e ordem de execução
|
|
183
|
-
- [ ] Preparei scripts de rollback
|
|
184
|
-
- [ ] Informei time sobre janela de migration
|
|
185
|
-
- [ ] Backup recente existe e foi testado
|
|
186
|
-
- [ ] Monitoramento configurado
|
|
187
|
-
|
|
188
|
-
---
|
|
189
|
-
|
|
190
|
-
## Referências
|
|
191
|
-
|
|
192
|
-
Consulte: [Guia de Migrations Zero-Downtime](../03-guias/Guia%20de%20Migrations%20Zero-Downtime.md)
|
|
1
|
+
# Prompt: Database Migrations Zero-Downtime
|
|
2
|
+
|
|
3
|
+
> **Prioridade**: 🟠 ALTA
|
|
4
|
+
> **Aplicável a**: Sistemas em produção com tráfego contínuo
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Contexto
|
|
9
|
+
|
|
10
|
+
Migrations tradicionais podem causar downtime ou erros quando aplicadas em sistemas ativos. Este prompt ajuda a planejar migrations seguras.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Prompt Base: Planejar Migration
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
Atue como DBA especialista em migrations zero-downtime.
|
|
18
|
+
|
|
19
|
+
Preciso fazer a seguinte alteração no banco de dados:
|
|
20
|
+
[DESCREVA A ALTERAÇÃO: ex. renomear coluna, alterar tipo, adicionar índice]
|
|
21
|
+
|
|
22
|
+
Contexto:
|
|
23
|
+
- Banco: [PostgreSQL/MySQL/SQL Server]
|
|
24
|
+
- Tamanho da tabela: [ex. 5 milhões de registros]
|
|
25
|
+
- Tráfego: [ex. 100 writes/min]
|
|
26
|
+
- Deploy: [blue-green/rolling/single server]
|
|
27
|
+
|
|
28
|
+
Gere um plano de migration com:
|
|
29
|
+
|
|
30
|
+
1. **Análise de Risco**
|
|
31
|
+
- A operação bloqueia a tabela?
|
|
32
|
+
- Tempo estimado de execução
|
|
33
|
+
- Impacto em queries ativas
|
|
34
|
+
|
|
35
|
+
2. **Estratégia de Migration**
|
|
36
|
+
- Quantos deploys são necessários?
|
|
37
|
+
- Ordem das alterações
|
|
38
|
+
- Scripts SQL para cada step
|
|
39
|
+
|
|
40
|
+
3. **Backward Compatibility**
|
|
41
|
+
- Como manter código antigo funcionando?
|
|
42
|
+
- Triggers ou dual-write necessários?
|
|
43
|
+
|
|
44
|
+
4. **Rollback Plan**
|
|
45
|
+
- Como reverter cada step?
|
|
46
|
+
- Dados perdidos em rollback?
|
|
47
|
+
|
|
48
|
+
5. **Monitoramento**
|
|
49
|
+
- O que observar durante a migration?
|
|
50
|
+
- Alertas a configurar
|
|
51
|
+
|
|
52
|
+
Siga o padrão Expand-Contract quando aplicável.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Prompt: Migrar Coluna com Dados
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
Tenho uma coluna que precisa ser transformada:
|
|
61
|
+
- Tabela: [NOME]
|
|
62
|
+
- Coluna atual: [NOME, TIPO]
|
|
63
|
+
- Transformação: [ex. split em duas colunas, mudar encoding, converter unidade]
|
|
64
|
+
- Registros: [QUANTIDADE]
|
|
65
|
+
|
|
66
|
+
Stack: [DESCREVA ORM/Framework]
|
|
67
|
+
|
|
68
|
+
Gere:
|
|
69
|
+
1. Scripts SQL para cada fase (expand, migrate, contract)
|
|
70
|
+
2. Job de backfill com batches
|
|
71
|
+
3. Código para dual-write durante transição
|
|
72
|
+
4. Verificações de integridade após migration
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Prompt: Adicionar Índice em Tabela Grande
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
Preciso adicionar um índice para melhorar performance:
|
|
81
|
+
- Tabela: [NOME], [X milhões de registros]
|
|
82
|
+
- Índice: [COLUNAS, TIPO]
|
|
83
|
+
- Banco: [PostgreSQL/MySQL]
|
|
84
|
+
- Tolerância a downtime: [zero/alguns segundos]
|
|
85
|
+
|
|
86
|
+
Gere:
|
|
87
|
+
1. Comando para criar índice sem bloquear (CONCURRENTLY, ONLINE)
|
|
88
|
+
2. Estimativa de tempo baseada no tamanho
|
|
89
|
+
3. Monitoramento durante criação
|
|
90
|
+
4. Verificação de que o índice está sendo usado
|
|
91
|
+
5. Plano B se a criação falhar
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Prompt: Revisar Migration Existente
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
Tenho este script de migration:
|
|
100
|
+
[COLE O SCRIPT]
|
|
101
|
+
|
|
102
|
+
Contexto:
|
|
103
|
+
- Ambiente: produção com [X] req/s
|
|
104
|
+
- Deploy: [TIPO]
|
|
105
|
+
- Banco: [TIPO E VERSÃO]
|
|
106
|
+
|
|
107
|
+
Analise:
|
|
108
|
+
1. Há operações que bloqueiam tabelas?
|
|
109
|
+
2. É backward compatible?
|
|
110
|
+
3. O rollback é possível?
|
|
111
|
+
4. Há riscos de perda de dados?
|
|
112
|
+
|
|
113
|
+
Sugira versão zero-downtime se necessário.
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Exemplo: Migration Segura Completa
|
|
119
|
+
|
|
120
|
+
### Cenário: Renomear `name` para `full_name`
|
|
121
|
+
|
|
122
|
+
```sql
|
|
123
|
+
-- DEPLOY 1: Expand
|
|
124
|
+
-- Adiciona nova coluna
|
|
125
|
+
ALTER TABLE users ADD COLUMN full_name VARCHAR(255);
|
|
126
|
+
|
|
127
|
+
-- Cria trigger para sincronizar
|
|
128
|
+
CREATE OR REPLACE FUNCTION sync_user_name()
|
|
129
|
+
RETURNS TRIGGER AS $$
|
|
130
|
+
BEGIN
|
|
131
|
+
IF NEW.full_name IS NULL THEN
|
|
132
|
+
NEW.full_name := NEW.name;
|
|
133
|
+
END IF;
|
|
134
|
+
IF NEW.name IS NULL THEN
|
|
135
|
+
NEW.name := NEW.full_name;
|
|
136
|
+
END IF;
|
|
137
|
+
RETURN NEW;
|
|
138
|
+
END;
|
|
139
|
+
$$ LANGUAGE plpgsql;
|
|
140
|
+
|
|
141
|
+
CREATE TRIGGER trg_sync_user_name
|
|
142
|
+
BEFORE INSERT OR UPDATE ON users
|
|
143
|
+
FOR EACH ROW EXECUTE FUNCTION sync_user_name();
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
```python
|
|
147
|
+
# DEPLOY 1: Código dual-write
|
|
148
|
+
class User:
|
|
149
|
+
def save(self):
|
|
150
|
+
self.full_name = self.name # Sync
|
|
151
|
+
db.save(self)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
```sql
|
|
155
|
+
-- DEPLOY 1: Backfill (pode rodar após deploy)
|
|
156
|
+
UPDATE users SET full_name = name WHERE full_name IS NULL;
|
|
157
|
+
-- Em batches para tabelas grandes:
|
|
158
|
+
-- UPDATE users SET full_name = name WHERE full_name IS NULL LIMIT 10000;
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
```python
|
|
162
|
+
# DEPLOY 2: Código usa nova coluna
|
|
163
|
+
class User:
|
|
164
|
+
@property
|
|
165
|
+
def display_name(self):
|
|
166
|
+
return self.full_name # Usa nova coluna
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
```sql
|
|
170
|
+
-- DEPLOY 3: Contract (após confirmar que nenhum código antigo está ativo)
|
|
171
|
+
DROP TRIGGER trg_sync_user_name ON users;
|
|
172
|
+
DROP FUNCTION sync_user_name();
|
|
173
|
+
ALTER TABLE users DROP COLUMN name;
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Checklist
|
|
179
|
+
|
|
180
|
+
- [ ] Testei em staging com dados similares a produção
|
|
181
|
+
- [ ] Medi tempo de execução em tabela grande
|
|
182
|
+
- [ ] Documentei cada step e ordem de execução
|
|
183
|
+
- [ ] Preparei scripts de rollback
|
|
184
|
+
- [ ] Informei time sobre janela de migration
|
|
185
|
+
- [ ] Backup recente existe e foi testado
|
|
186
|
+
- [ ] Monitoramento configurado
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Referências
|
|
191
|
+
|
|
192
|
+
Consulte: [Guia de Migrations Zero-Downtime](../03-guias/Guia%20de%20Migrations%20Zero-Downtime.md)
|