@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,296 +1,296 @@
|
|
|
1
|
-
# Prompt: Otimização de Queries e Banco de Dados
|
|
2
|
-
|
|
3
|
-
> **Quando usar**: Ao identificar queries lentas ou planejar schema de banco
|
|
4
|
-
> **Especialista**: DBA / [Performance e Escalabilidade](../../02-especialistas/Especialista%20em%20Performance%20e%20Escalabilidade.md)
|
|
5
|
-
> **Nível**: Médio a Complexo
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Fluxo de Contexto
|
|
10
|
-
|
|
11
|
-
Antes de usar este prompt, tenha em mãos:
|
|
12
|
-
- Schema atual do banco ou modelo de domínio
|
|
13
|
-
- Queries problemáticas (se houver)
|
|
14
|
-
- Volume de dados esperado
|
|
15
|
-
|
|
16
|
-
Após gerar, salve o resultado em:
|
|
17
|
-
- `docs/07-performance/otimizacao-database.md`
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Prompt Completo
|
|
22
|
-
|
|
23
|
-
```text
|
|
24
|
-
Atue como DBA sênior especializado em otimização de banco de dados.
|
|
25
|
-
|
|
26
|
-
## Contexto do Projeto
|
|
27
|
-
|
|
28
|
-
[COLE BREVE DESCRIÇÃO DO SISTEMA]
|
|
29
|
-
|
|
30
|
-
## Banco de Dados
|
|
31
|
-
|
|
32
|
-
Tipo: [PostgreSQL/MySQL/MongoDB/etc]
|
|
33
|
-
Versão: [Versão]
|
|
34
|
-
Cloud: [RDS/Cloud SQL/Atlas/Self-hosted]
|
|
35
|
-
Tamanho atual: [XGB de dados]
|
|
36
|
-
Tamanho esperado: [X em 1 ano]
|
|
37
|
-
|
|
38
|
-
## Schema Atual
|
|
39
|
-
|
|
40
|
-
```sql
|
|
41
|
-
[COLE O SCHEMA DDL OU DESCREVA AS TABELAS]
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Queries Problemáticas (se houver)
|
|
45
|
-
|
|
46
|
-
```sql
|
|
47
|
-
-- Query 1: [Descrição]
|
|
48
|
-
[QUERY SQL]
|
|
49
|
-
-- Tempo atual: Xms
|
|
50
|
-
-- Frequência: Y vezes/dia
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Volume de Dados
|
|
54
|
-
|
|
55
|
-
- Tabela X: ~N registros, crescimento K/mês
|
|
56
|
-
- Tabela Y: ~N registros, crescimento K/mês
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Sua Missão
|
|
61
|
-
|
|
62
|
-
Analise e otimize o banco de dados:
|
|
63
|
-
|
|
64
|
-
### 1. Análise de Schema
|
|
65
|
-
|
|
66
|
-
#### 1.1 Tipos de Dados
|
|
67
|
-
- Tipos apropriados para cada coluna?
|
|
68
|
-
- Tamanhos excessivos (VARCHAR(255) desnecessário)?
|
|
69
|
-
- Nullable vs NOT NULL corretos?
|
|
70
|
-
|
|
71
|
-
#### 1.2 Normalização
|
|
72
|
-
- Está na forma normal adequada (3NF)?
|
|
73
|
-
- Há desnormalização intencional justificada?
|
|
74
|
-
- Redundância de dados?
|
|
75
|
-
|
|
76
|
-
#### 1.3 Relacionamentos
|
|
77
|
-
- Foreign keys definidas?
|
|
78
|
-
- Cascade appropriado?
|
|
79
|
-
- Índices em FKs?
|
|
80
|
-
|
|
81
|
-
### 2. Análise de Índices
|
|
82
|
-
|
|
83
|
-
#### 2.1 Índices Existentes
|
|
84
|
-
- Estão sendo utilizados?
|
|
85
|
-
- Há índices duplicados?
|
|
86
|
-
- Ordem das colunas correta?
|
|
87
|
-
|
|
88
|
-
#### 2.2 Índices Sugeridos
|
|
89
|
-
Para cada índice sugerido:
|
|
90
|
-
- Colunas e ordem
|
|
91
|
-
- Tipo (B-tree, Hash, GIN, GiST)
|
|
92
|
-
- Justificativa (queries beneficiadas)
|
|
93
|
-
- Impacto em writes
|
|
94
|
-
|
|
95
|
-
#### 2.3 Índices para Remover
|
|
96
|
-
- Índices não utilizados
|
|
97
|
-
- Índices duplicados
|
|
98
|
-
|
|
99
|
-
### 3. Otimização de Queries
|
|
100
|
-
|
|
101
|
-
Para cada query problemática:
|
|
102
|
-
|
|
103
|
-
#### 3.1 EXPLAIN ANALYZE
|
|
104
|
-
```sql
|
|
105
|
-
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT) [QUERY];
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
#### 3.2 Problemas Identificados
|
|
109
|
-
- Sequential scans em tabelas grandes?
|
|
110
|
-
- Nested loops com muitas iterações?
|
|
111
|
-
- Sort em memória vs disco?
|
|
112
|
-
- Hash joins custosos?
|
|
113
|
-
|
|
114
|
-
#### 3.3 Query Otimizada
|
|
115
|
-
```sql
|
|
116
|
-
-- Query original
|
|
117
|
-
[QUERY ORIGINAL]
|
|
118
|
-
|
|
119
|
-
-- Query otimizada
|
|
120
|
-
[QUERY OTIMIZADA]
|
|
121
|
-
|
|
122
|
-
-- Ganho: de Xms para Yms (Z% melhoria)
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### 4. Design de Schema (se aplicável)
|
|
126
|
-
|
|
127
|
-
Para novas tabelas ou refatoração:
|
|
128
|
-
|
|
129
|
-
#### 4.1 DDL Otimizado
|
|
130
|
-
```sql
|
|
131
|
-
CREATE TABLE tabela (
|
|
132
|
-
-- colunas com tipos otimizados
|
|
133
|
-
);
|
|
134
|
-
|
|
135
|
-
-- Índices
|
|
136
|
-
CREATE INDEX ...;
|
|
137
|
-
|
|
138
|
-
-- Constraints
|
|
139
|
-
ALTER TABLE ...;
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
#### 4.2 Particionamento
|
|
143
|
-
- Candidatos a particionamento
|
|
144
|
-
- Estratégia (range, list, hash)
|
|
145
|
-
- Manutenção de partições
|
|
146
|
-
|
|
147
|
-
### 5. Connection Pooling
|
|
148
|
-
|
|
149
|
-
- Pool size recomendado
|
|
150
|
-
- Timeout configurations
|
|
151
|
-
- Tool recomendada (PgBouncer, ProxySQL)
|
|
152
|
-
|
|
153
|
-
### 6. Vacuum e Manutenção (PostgreSQL)
|
|
154
|
-
|
|
155
|
-
- Vacuum strategy
|
|
156
|
-
- autovacuum settings
|
|
157
|
-
- Bloat monitoring
|
|
158
|
-
- REINDEX frequency
|
|
159
|
-
|
|
160
|
-
### 7. Migrations
|
|
161
|
-
|
|
162
|
-
Se sugerir alterações de schema:
|
|
163
|
-
```sql
|
|
164
|
-
-- Migration up
|
|
165
|
-
ALTER TABLE ...;
|
|
166
|
-
|
|
167
|
-
-- Migration down (rollback)
|
|
168
|
-
ALTER TABLE ...;
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### 8. Métricas e Monitoramento
|
|
172
|
-
|
|
173
|
-
- Métricas essenciais
|
|
174
|
-
- Queries lentas (slow query log)
|
|
175
|
-
- Alertas recomendados
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## Exemplo de Uso
|
|
181
|
-
|
|
182
|
-
```text
|
|
183
|
-
Atue como DBA sênior especializado em otimização de banco de dados.
|
|
184
|
-
|
|
185
|
-
## Contexto do Projeto
|
|
186
|
-
|
|
187
|
-
Sistema de agendamento para salões de beleza.
|
|
188
|
-
Consultas frequentes de disponibilidade.
|
|
189
|
-
|
|
190
|
-
## Banco de Dados
|
|
191
|
-
|
|
192
|
-
Tipo: PostgreSQL
|
|
193
|
-
Versão: 15
|
|
194
|
-
Cloud: AWS RDS (db.t3.medium)
|
|
195
|
-
Tamanho atual: 2GB
|
|
196
|
-
Tamanho esperado: 50GB em 1 ano
|
|
197
|
-
|
|
198
|
-
## Schema Atual
|
|
199
|
-
|
|
200
|
-
```sql
|
|
201
|
-
CREATE TABLE clientes (
|
|
202
|
-
id UUID PRIMARY KEY,
|
|
203
|
-
nome VARCHAR(255),
|
|
204
|
-
telefone VARCHAR(255),
|
|
205
|
-
email VARCHAR(255),
|
|
206
|
-
criado_em TIMESTAMP
|
|
207
|
-
);
|
|
208
|
-
|
|
209
|
-
CREATE TABLE agendamentos (
|
|
210
|
-
id UUID PRIMARY KEY,
|
|
211
|
-
cliente_id UUID REFERENCES clientes(id),
|
|
212
|
-
profissional_id UUID REFERENCES profissionais(id),
|
|
213
|
-
servico_id UUID REFERENCES servicos(id),
|
|
214
|
-
data_hora TIMESTAMP,
|
|
215
|
-
status VARCHAR(50),
|
|
216
|
-
criado_em TIMESTAMP
|
|
217
|
-
);
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
## Queries Problemáticas
|
|
221
|
-
|
|
222
|
-
```sql
|
|
223
|
-
-- Query 1: Buscar disponibilidade de um profissional
|
|
224
|
-
SELECT * FROM agendamentos
|
|
225
|
-
WHERE profissional_id = $1
|
|
226
|
-
AND data_hora BETWEEN $2 AND $3
|
|
227
|
-
AND status != 'CANCELADO';
|
|
228
|
-
-- Tempo atual: 800ms
|
|
229
|
-
-- Frequência: 1000 vezes/dia
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
## Volume de Dados
|
|
233
|
-
|
|
234
|
-
- clientes: ~10.000 registros, +500/mês
|
|
235
|
-
- agendamentos: ~100.000 registros, +5.000/mês
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
## Resposta Esperada
|
|
241
|
-
|
|
242
|
-
### Schema Otimizado
|
|
243
|
-
|
|
244
|
-
```sql
|
|
245
|
-
-- Problema: VARCHAR(255) excessivo e sem índices
|
|
246
|
-
-- Correção: tipos adequados e índices
|
|
247
|
-
|
|
248
|
-
ALTER TABLE clientes ALTER COLUMN telefone TYPE VARCHAR(20);
|
|
249
|
-
ALTER TABLE clientes ALTER COLUMN email TYPE VARCHAR(100);
|
|
250
|
-
ALTER TABLE agendamentos ALTER COLUMN status TYPE VARCHAR(20);
|
|
251
|
-
|
|
252
|
-
-- Índices para a query de disponibilidade
|
|
253
|
-
CREATE INDEX idx_agendamentos_disponibilidade
|
|
254
|
-
ON agendamentos (profissional_id, data_hora)
|
|
255
|
-
WHERE status != 'CANCELADO';
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
### Query Otimizada
|
|
259
|
-
|
|
260
|
-
```sql
|
|
261
|
-
-- EXPLAIN original: Seq Scan (800ms)
|
|
262
|
-
-- EXPLAIN otimizado: Index Scan (15ms)
|
|
263
|
-
|
|
264
|
-
-- Query otimizada (mesma, mas usando índice parcial)
|
|
265
|
-
SELECT id, cliente_id, servico_id, data_hora, status
|
|
266
|
-
FROM agendamentos
|
|
267
|
-
WHERE profissional_id = $1
|
|
268
|
-
AND data_hora >= $2
|
|
269
|
-
AND data_hora < $3
|
|
270
|
-
AND status != 'CANCELADO';
|
|
271
|
-
|
|
272
|
-
-- Ganho: de 800ms para 15ms (98% melhoria)
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
### Índices Recomendados
|
|
276
|
-
|
|
277
|
-
| Tabela | Índice | Tipo | Justificativa |
|
|
278
|
-
|--------|--------|------|---------------|
|
|
279
|
-
| agendamentos | (profissional_id, data_hora) | B-tree parcial | Query de disponibilidade |
|
|
280
|
-
| agendamentos | (cliente_id, data_hora) | B-tree | Histórico do cliente |
|
|
281
|
-
| agendamentos | (data_hora) | B-tree | Relatórios por período |
|
|
282
|
-
|
|
283
|
-
---
|
|
284
|
-
|
|
285
|
-
## Checklist Pós-Geração
|
|
286
|
-
|
|
287
|
-
- [ ] Tipos de dados otimizados
|
|
288
|
-
- [ ] Índices sugeridos com justificativa
|
|
289
|
-
- [ ] EXPLAIN ANALYZE das queries
|
|
290
|
-
- [ ] Queries otimizadas com ganho estimado
|
|
291
|
-
- [ ] Connection pooling configurado
|
|
292
|
-
- [ ] Particionamento avaliado (se dados grandes)
|
|
293
|
-
- [ ] Vacuum/maintenance configurado
|
|
294
|
-
- [ ] Métricas de monitoramento
|
|
295
|
-
- [ ] Migrations para alterações
|
|
296
|
-
- [ ] Salvar em `docs/07-performance/otimizacao-database.md`
|
|
1
|
+
# Prompt: Otimização de Queries e Banco de Dados
|
|
2
|
+
|
|
3
|
+
> **Quando usar**: Ao identificar queries lentas ou planejar schema de banco
|
|
4
|
+
> **Especialista**: DBA / [Performance e Escalabilidade](../../02-especialistas/Especialista%20em%20Performance%20e%20Escalabilidade.md)
|
|
5
|
+
> **Nível**: Médio a Complexo
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Fluxo de Contexto
|
|
10
|
+
|
|
11
|
+
Antes de usar este prompt, tenha em mãos:
|
|
12
|
+
- Schema atual do banco ou modelo de domínio
|
|
13
|
+
- Queries problemáticas (se houver)
|
|
14
|
+
- Volume de dados esperado
|
|
15
|
+
|
|
16
|
+
Após gerar, salve o resultado em:
|
|
17
|
+
- `docs/07-performance/otimizacao-database.md`
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Prompt Completo
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
Atue como DBA sênior especializado em otimização de banco de dados.
|
|
25
|
+
|
|
26
|
+
## Contexto do Projeto
|
|
27
|
+
|
|
28
|
+
[COLE BREVE DESCRIÇÃO DO SISTEMA]
|
|
29
|
+
|
|
30
|
+
## Banco de Dados
|
|
31
|
+
|
|
32
|
+
Tipo: [PostgreSQL/MySQL/MongoDB/etc]
|
|
33
|
+
Versão: [Versão]
|
|
34
|
+
Cloud: [RDS/Cloud SQL/Atlas/Self-hosted]
|
|
35
|
+
Tamanho atual: [XGB de dados]
|
|
36
|
+
Tamanho esperado: [X em 1 ano]
|
|
37
|
+
|
|
38
|
+
## Schema Atual
|
|
39
|
+
|
|
40
|
+
```sql
|
|
41
|
+
[COLE O SCHEMA DDL OU DESCREVA AS TABELAS]
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Queries Problemáticas (se houver)
|
|
45
|
+
|
|
46
|
+
```sql
|
|
47
|
+
-- Query 1: [Descrição]
|
|
48
|
+
[QUERY SQL]
|
|
49
|
+
-- Tempo atual: Xms
|
|
50
|
+
-- Frequência: Y vezes/dia
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Volume de Dados
|
|
54
|
+
|
|
55
|
+
- Tabela X: ~N registros, crescimento K/mês
|
|
56
|
+
- Tabela Y: ~N registros, crescimento K/mês
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Sua Missão
|
|
61
|
+
|
|
62
|
+
Analise e otimize o banco de dados:
|
|
63
|
+
|
|
64
|
+
### 1. Análise de Schema
|
|
65
|
+
|
|
66
|
+
#### 1.1 Tipos de Dados
|
|
67
|
+
- Tipos apropriados para cada coluna?
|
|
68
|
+
- Tamanhos excessivos (VARCHAR(255) desnecessário)?
|
|
69
|
+
- Nullable vs NOT NULL corretos?
|
|
70
|
+
|
|
71
|
+
#### 1.2 Normalização
|
|
72
|
+
- Está na forma normal adequada (3NF)?
|
|
73
|
+
- Há desnormalização intencional justificada?
|
|
74
|
+
- Redundância de dados?
|
|
75
|
+
|
|
76
|
+
#### 1.3 Relacionamentos
|
|
77
|
+
- Foreign keys definidas?
|
|
78
|
+
- Cascade appropriado?
|
|
79
|
+
- Índices em FKs?
|
|
80
|
+
|
|
81
|
+
### 2. Análise de Índices
|
|
82
|
+
|
|
83
|
+
#### 2.1 Índices Existentes
|
|
84
|
+
- Estão sendo utilizados?
|
|
85
|
+
- Há índices duplicados?
|
|
86
|
+
- Ordem das colunas correta?
|
|
87
|
+
|
|
88
|
+
#### 2.2 Índices Sugeridos
|
|
89
|
+
Para cada índice sugerido:
|
|
90
|
+
- Colunas e ordem
|
|
91
|
+
- Tipo (B-tree, Hash, GIN, GiST)
|
|
92
|
+
- Justificativa (queries beneficiadas)
|
|
93
|
+
- Impacto em writes
|
|
94
|
+
|
|
95
|
+
#### 2.3 Índices para Remover
|
|
96
|
+
- Índices não utilizados
|
|
97
|
+
- Índices duplicados
|
|
98
|
+
|
|
99
|
+
### 3. Otimização de Queries
|
|
100
|
+
|
|
101
|
+
Para cada query problemática:
|
|
102
|
+
|
|
103
|
+
#### 3.1 EXPLAIN ANALYZE
|
|
104
|
+
```sql
|
|
105
|
+
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT) [QUERY];
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
#### 3.2 Problemas Identificados
|
|
109
|
+
- Sequential scans em tabelas grandes?
|
|
110
|
+
- Nested loops com muitas iterações?
|
|
111
|
+
- Sort em memória vs disco?
|
|
112
|
+
- Hash joins custosos?
|
|
113
|
+
|
|
114
|
+
#### 3.3 Query Otimizada
|
|
115
|
+
```sql
|
|
116
|
+
-- Query original
|
|
117
|
+
[QUERY ORIGINAL]
|
|
118
|
+
|
|
119
|
+
-- Query otimizada
|
|
120
|
+
[QUERY OTIMIZADA]
|
|
121
|
+
|
|
122
|
+
-- Ganho: de Xms para Yms (Z% melhoria)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### 4. Design de Schema (se aplicável)
|
|
126
|
+
|
|
127
|
+
Para novas tabelas ou refatoração:
|
|
128
|
+
|
|
129
|
+
#### 4.1 DDL Otimizado
|
|
130
|
+
```sql
|
|
131
|
+
CREATE TABLE tabela (
|
|
132
|
+
-- colunas com tipos otimizados
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
-- Índices
|
|
136
|
+
CREATE INDEX ...;
|
|
137
|
+
|
|
138
|
+
-- Constraints
|
|
139
|
+
ALTER TABLE ...;
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
#### 4.2 Particionamento
|
|
143
|
+
- Candidatos a particionamento
|
|
144
|
+
- Estratégia (range, list, hash)
|
|
145
|
+
- Manutenção de partições
|
|
146
|
+
|
|
147
|
+
### 5. Connection Pooling
|
|
148
|
+
|
|
149
|
+
- Pool size recomendado
|
|
150
|
+
- Timeout configurations
|
|
151
|
+
- Tool recomendada (PgBouncer, ProxySQL)
|
|
152
|
+
|
|
153
|
+
### 6. Vacuum e Manutenção (PostgreSQL)
|
|
154
|
+
|
|
155
|
+
- Vacuum strategy
|
|
156
|
+
- autovacuum settings
|
|
157
|
+
- Bloat monitoring
|
|
158
|
+
- REINDEX frequency
|
|
159
|
+
|
|
160
|
+
### 7. Migrations
|
|
161
|
+
|
|
162
|
+
Se sugerir alterações de schema:
|
|
163
|
+
```sql
|
|
164
|
+
-- Migration up
|
|
165
|
+
ALTER TABLE ...;
|
|
166
|
+
|
|
167
|
+
-- Migration down (rollback)
|
|
168
|
+
ALTER TABLE ...;
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### 8. Métricas e Monitoramento
|
|
172
|
+
|
|
173
|
+
- Métricas essenciais
|
|
174
|
+
- Queries lentas (slow query log)
|
|
175
|
+
- Alertas recomendados
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Exemplo de Uso
|
|
181
|
+
|
|
182
|
+
```text
|
|
183
|
+
Atue como DBA sênior especializado em otimização de banco de dados.
|
|
184
|
+
|
|
185
|
+
## Contexto do Projeto
|
|
186
|
+
|
|
187
|
+
Sistema de agendamento para salões de beleza.
|
|
188
|
+
Consultas frequentes de disponibilidade.
|
|
189
|
+
|
|
190
|
+
## Banco de Dados
|
|
191
|
+
|
|
192
|
+
Tipo: PostgreSQL
|
|
193
|
+
Versão: 15
|
|
194
|
+
Cloud: AWS RDS (db.t3.medium)
|
|
195
|
+
Tamanho atual: 2GB
|
|
196
|
+
Tamanho esperado: 50GB em 1 ano
|
|
197
|
+
|
|
198
|
+
## Schema Atual
|
|
199
|
+
|
|
200
|
+
```sql
|
|
201
|
+
CREATE TABLE clientes (
|
|
202
|
+
id UUID PRIMARY KEY,
|
|
203
|
+
nome VARCHAR(255),
|
|
204
|
+
telefone VARCHAR(255),
|
|
205
|
+
email VARCHAR(255),
|
|
206
|
+
criado_em TIMESTAMP
|
|
207
|
+
);
|
|
208
|
+
|
|
209
|
+
CREATE TABLE agendamentos (
|
|
210
|
+
id UUID PRIMARY KEY,
|
|
211
|
+
cliente_id UUID REFERENCES clientes(id),
|
|
212
|
+
profissional_id UUID REFERENCES profissionais(id),
|
|
213
|
+
servico_id UUID REFERENCES servicos(id),
|
|
214
|
+
data_hora TIMESTAMP,
|
|
215
|
+
status VARCHAR(50),
|
|
216
|
+
criado_em TIMESTAMP
|
|
217
|
+
);
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## Queries Problemáticas
|
|
221
|
+
|
|
222
|
+
```sql
|
|
223
|
+
-- Query 1: Buscar disponibilidade de um profissional
|
|
224
|
+
SELECT * FROM agendamentos
|
|
225
|
+
WHERE profissional_id = $1
|
|
226
|
+
AND data_hora BETWEEN $2 AND $3
|
|
227
|
+
AND status != 'CANCELADO';
|
|
228
|
+
-- Tempo atual: 800ms
|
|
229
|
+
-- Frequência: 1000 vezes/dia
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Volume de Dados
|
|
233
|
+
|
|
234
|
+
- clientes: ~10.000 registros, +500/mês
|
|
235
|
+
- agendamentos: ~100.000 registros, +5.000/mês
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Resposta Esperada
|
|
241
|
+
|
|
242
|
+
### Schema Otimizado
|
|
243
|
+
|
|
244
|
+
```sql
|
|
245
|
+
-- Problema: VARCHAR(255) excessivo e sem índices
|
|
246
|
+
-- Correção: tipos adequados e índices
|
|
247
|
+
|
|
248
|
+
ALTER TABLE clientes ALTER COLUMN telefone TYPE VARCHAR(20);
|
|
249
|
+
ALTER TABLE clientes ALTER COLUMN email TYPE VARCHAR(100);
|
|
250
|
+
ALTER TABLE agendamentos ALTER COLUMN status TYPE VARCHAR(20);
|
|
251
|
+
|
|
252
|
+
-- Índices para a query de disponibilidade
|
|
253
|
+
CREATE INDEX idx_agendamentos_disponibilidade
|
|
254
|
+
ON agendamentos (profissional_id, data_hora)
|
|
255
|
+
WHERE status != 'CANCELADO';
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Query Otimizada
|
|
259
|
+
|
|
260
|
+
```sql
|
|
261
|
+
-- EXPLAIN original: Seq Scan (800ms)
|
|
262
|
+
-- EXPLAIN otimizado: Index Scan (15ms)
|
|
263
|
+
|
|
264
|
+
-- Query otimizada (mesma, mas usando índice parcial)
|
|
265
|
+
SELECT id, cliente_id, servico_id, data_hora, status
|
|
266
|
+
FROM agendamentos
|
|
267
|
+
WHERE profissional_id = $1
|
|
268
|
+
AND data_hora >= $2
|
|
269
|
+
AND data_hora < $3
|
|
270
|
+
AND status != 'CANCELADO';
|
|
271
|
+
|
|
272
|
+
-- Ganho: de 800ms para 15ms (98% melhoria)
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Índices Recomendados
|
|
276
|
+
|
|
277
|
+
| Tabela | Índice | Tipo | Justificativa |
|
|
278
|
+
|--------|--------|------|---------------|
|
|
279
|
+
| agendamentos | (profissional_id, data_hora) | B-tree parcial | Query de disponibilidade |
|
|
280
|
+
| agendamentos | (cliente_id, data_hora) | B-tree | Histórico do cliente |
|
|
281
|
+
| agendamentos | (data_hora) | B-tree | Relatórios por período |
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Checklist Pós-Geração
|
|
286
|
+
|
|
287
|
+
- [ ] Tipos de dados otimizados
|
|
288
|
+
- [ ] Índices sugeridos com justificativa
|
|
289
|
+
- [ ] EXPLAIN ANALYZE das queries
|
|
290
|
+
- [ ] Queries otimizadas com ganho estimado
|
|
291
|
+
- [ ] Connection pooling configurado
|
|
292
|
+
- [ ] Particionamento avaliado (se dados grandes)
|
|
293
|
+
- [ ] Vacuum/maintenance configurado
|
|
294
|
+
- [ ] Métricas de monitoramento
|
|
295
|
+
- [ ] Migrations para alterações
|
|
296
|
+
- [ ] Salvar em `docs/07-performance/otimizacao-database.md`
|