@maestro-ai/mcp-server 1.0.0 → 1.0.1
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.js +103 -103
- 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.js +174 -174
- package/dist/tools/proximo.js +239 -239
- package/dist/tools/salvar.js +59 -59
- package/dist/tools/status.js +76 -76
- 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,207 +0,0 @@
|
|
|
1
|
-
# Prompt: Modelo de Domínio
|
|
2
|
-
|
|
3
|
-
> **Quando usar**: Início do projeto, após refinar requisitos
|
|
4
|
-
> **Especialista**: [Engenharia de Requisitos](../../02-especialistas/Especialista%20em%20Engenharia%20de%20Requisitos%20com%20IA.md) ou [Arquitetura de Software](../../02-especialistas/Especialista%20em%20Arquitetura%20de%20Software.md)
|
|
5
|
-
> **Nível**: Simples a Médio
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Fluxo de Contexto
|
|
10
|
-
|
|
11
|
-
Antes de usar este prompt, tenha em mãos:
|
|
12
|
-
- `docs/CONTEXTO.md` - Entendimento atual do projeto
|
|
13
|
-
- `docs/02-requisitos/requisitos.md` - Requisitos funcionais
|
|
14
|
-
|
|
15
|
-
Após gerar, salve o resultado em:
|
|
16
|
-
- `docs/04-modelo/modelo-dominio.md`
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Prompt Completo
|
|
21
|
-
|
|
22
|
-
```text
|
|
23
|
-
Atue como analista de domínio especializado em modelagem de dados.
|
|
24
|
-
|
|
25
|
-
## Contexto do Projeto
|
|
26
|
-
|
|
27
|
-
[COLE O CONTEÚDO DE docs/CONTEXTO.md]
|
|
28
|
-
|
|
29
|
-
## Requisitos
|
|
30
|
-
|
|
31
|
-
[COLE REQUISITOS DE docs/02-requisitos/requisitos.md]
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Sua Missão
|
|
36
|
-
|
|
37
|
-
Proponha um modelo de domínio inicial completo:
|
|
38
|
-
|
|
39
|
-
### 1. Entidades Principais
|
|
40
|
-
Para cada entidade:
|
|
41
|
-
- Nome da entidade
|
|
42
|
-
- Descrição (1 frase)
|
|
43
|
-
- Atributos com tipos (use tipos genéricos: string, int, decimal, datetime, boolean, UUID)
|
|
44
|
-
- Marque campos obrigatórios vs opcionais
|
|
45
|
-
- Indique campos únicos (unique)
|
|
46
|
-
|
|
47
|
-
### 2. Value Objects
|
|
48
|
-
Identifique conceitos que são melhor representados como Value Objects:
|
|
49
|
-
- Nome
|
|
50
|
-
- Atributos
|
|
51
|
-
- Regras de validação
|
|
52
|
-
|
|
53
|
-
### 3. Relacionamentos
|
|
54
|
-
- Cardinalidade (1:1, 1:N, N:N)
|
|
55
|
-
- Direção da navegação
|
|
56
|
-
- Cascade (o que acontece ao deletar)
|
|
57
|
-
|
|
58
|
-
### 4. Diagrama ER
|
|
59
|
-
Gere um diagrama Mermaid do modelo.
|
|
60
|
-
|
|
61
|
-
### 5. Dúvidas Abertas
|
|
62
|
-
Liste perguntas que ainda precisam ser respondidas pelo cliente.
|
|
63
|
-
|
|
64
|
-
### 6. Considerações Técnicas
|
|
65
|
-
- Índices que serão necessários
|
|
66
|
-
- Campos que podem crescer muito (text, blob)
|
|
67
|
-
- Dados sensíveis que precisam de criptografia
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## Exemplo de Uso
|
|
73
|
-
|
|
74
|
-
```text
|
|
75
|
-
Atue como analista de domínio especializado em modelagem de dados.
|
|
76
|
-
|
|
77
|
-
## Contexto do Projeto
|
|
78
|
-
|
|
79
|
-
Sistema de agendamento online para salões de beleza.
|
|
80
|
-
|
|
81
|
-
## Requisitos
|
|
82
|
-
|
|
83
|
-
- RF-001: Cliente pode se cadastrar com nome, telefone e email
|
|
84
|
-
- RF-002: Salão pode cadastrar serviços com nome, duração e preço
|
|
85
|
-
- RF-003: Cliente pode agendar um serviço para uma data/hora
|
|
86
|
-
- RF-004: Sistema deve enviar confirmação por WhatsApp
|
|
87
|
-
- RF-005: Cliente pode cancelar até 2h antes
|
|
88
|
-
- RF-006: Salão pode ver relatório de agendamentos
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Resposta Esperada
|
|
94
|
-
|
|
95
|
-
### 1. Entidades
|
|
96
|
-
|
|
97
|
-
**Cliente**
|
|
98
|
-
| Atributo | Tipo | Obrigatório | Único | Notas |
|
|
99
|
-
|----------|------|-------------|-------|-------|
|
|
100
|
-
| id | UUID | ✓ | ✓ | PK |
|
|
101
|
-
| nome | string(100) | ✓ | | |
|
|
102
|
-
| telefone | string(20) | ✓ | ✓ | WhatsApp |
|
|
103
|
-
| email | string(255) | | ✓ | |
|
|
104
|
-
| criadoEm | datetime | ✓ | | default: now |
|
|
105
|
-
|
|
106
|
-
**Servico**
|
|
107
|
-
| Atributo | Tipo | Obrigatório | Único | Notas |
|
|
108
|
-
|----------|------|-------------|-------|-------|
|
|
109
|
-
| id | UUID | ✓ | ✓ | PK |
|
|
110
|
-
| nome | string(100) | ✓ | | |
|
|
111
|
-
| duracao | int | ✓ | | minutos |
|
|
112
|
-
| preco | decimal(10,2) | ✓ | | |
|
|
113
|
-
| ativo | boolean | ✓ | | default: true |
|
|
114
|
-
|
|
115
|
-
**Agendamento**
|
|
116
|
-
| Atributo | Tipo | Obrigatório | Único | Notas |
|
|
117
|
-
|----------|------|-------------|-------|-------|
|
|
118
|
-
| id | UUID | ✓ | ✓ | PK |
|
|
119
|
-
| clienteId | UUID | ✓ | | FK → Cliente |
|
|
120
|
-
| servicoId | UUID | ✓ | | FK → Servico |
|
|
121
|
-
| dataHora | datetime | ✓ | | |
|
|
122
|
-
| status | enum | ✓ | | pendente, confirmado, cancelado, concluido |
|
|
123
|
-
| criadoEm | datetime | ✓ | | default: now |
|
|
124
|
-
|
|
125
|
-
### 2. Value Objects
|
|
126
|
-
|
|
127
|
-
**Telefone**
|
|
128
|
-
- numero: string
|
|
129
|
-
- ddi: string (default: +55)
|
|
130
|
-
- Validação: formato válido de WhatsApp
|
|
131
|
-
|
|
132
|
-
**StatusAgendamento**
|
|
133
|
-
- Enum: PENDENTE, CONFIRMADO, CANCELADO, CONCLUIDO
|
|
134
|
-
- Transições válidas definidas
|
|
135
|
-
|
|
136
|
-
### 3. Relacionamentos
|
|
137
|
-
|
|
138
|
-
```
|
|
139
|
-
Cliente 1 ──── N Agendamento
|
|
140
|
-
Servico 1 ──── N Agendamento
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
- Cliente → Agendamento: Cascade soft delete
|
|
144
|
-
- Servico → Agendamento: Não permite deletar serviço com agendamentos futuros
|
|
145
|
-
|
|
146
|
-
### 4. Diagrama ER
|
|
147
|
-
|
|
148
|
-
```mermaid
|
|
149
|
-
erDiagram
|
|
150
|
-
Cliente ||--o{ Agendamento : "faz"
|
|
151
|
-
Servico ||--o{ Agendamento : "é agendado"
|
|
152
|
-
|
|
153
|
-
Cliente {
|
|
154
|
-
UUID id PK
|
|
155
|
-
string nome
|
|
156
|
-
string telefone UK
|
|
157
|
-
string email UK
|
|
158
|
-
datetime criadoEm
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
Servico {
|
|
162
|
-
UUID id PK
|
|
163
|
-
string nome
|
|
164
|
-
int duracao
|
|
165
|
-
decimal preco
|
|
166
|
-
boolean ativo
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
Agendamento {
|
|
170
|
-
UUID id PK
|
|
171
|
-
UUID clienteId FK
|
|
172
|
-
UUID servicoId FK
|
|
173
|
-
datetime dataHora
|
|
174
|
-
enum status
|
|
175
|
-
datetime criadoEm
|
|
176
|
-
}
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### 5. Dúvidas
|
|
180
|
-
|
|
181
|
-
- [ ] Um agendamento pode ter múltiplos serviços?
|
|
182
|
-
- [ ] Há profissionais diferentes por serviço?
|
|
183
|
-
- [ ] Cliente pode ter mais de um telefone?
|
|
184
|
-
- [ ] Qual a política de reagendamento?
|
|
185
|
-
|
|
186
|
-
### 6. Considerações Técnicas
|
|
187
|
-
|
|
188
|
-
**Índices necessários:**
|
|
189
|
-
- `agendamento.dataHora` - Consultas por período
|
|
190
|
-
- `agendamento.status` - Filtros por status
|
|
191
|
-
- `agendamento(servicoId, dataHora)` - Verificar conflitos
|
|
192
|
-
|
|
193
|
-
**Dados sensíveis:**
|
|
194
|
-
- `cliente.telefone` - Considerar mascarar em logs
|
|
195
|
-
- `cliente.email` - Verificar LGPD
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
## Checklist Pós-Geração
|
|
200
|
-
|
|
201
|
-
- [ ] Todas as entidades têm PK definida
|
|
202
|
-
- [ ] Relacionamentos têm cardinalidade clara
|
|
203
|
-
- [ ] Campos obrigatórios vs opcionais definidos
|
|
204
|
-
- [ ] Diagrama ER gerado em Mermaid
|
|
205
|
-
- [ ] Dúvidas listadas para validar com cliente
|
|
206
|
-
- [ ] Índices sugeridos para queries principais
|
|
207
|
-
- [ ] Salvar em `docs/04-modelo/modelo-dominio.md`
|
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
# Prompt: Multi-tenancy
|
|
2
|
-
|
|
3
|
-
> **Prioridade**: 🟡 MÉDIA
|
|
4
|
-
> **Aplicável a**: SaaS, plataformas white-label, sistemas B2B
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Prompt Base: Projetar Multi-tenancy
|
|
9
|
-
|
|
10
|
-
```text
|
|
11
|
-
Atue como arquiteto de software especialista em SaaS.
|
|
12
|
-
|
|
13
|
-
Preciso implementar multi-tenancy para:
|
|
14
|
-
- Tipo de produto: [ex. CRM SaaS, e-commerce white-label]
|
|
15
|
-
- Número esperado de tenants: [ex. 100 / 10.000 / 1M]
|
|
16
|
-
- Isolamento necessário: [ex. dados apenas / compliance rígido]
|
|
17
|
-
- Customização por tenant: [ex. branding / features / workflows]
|
|
18
|
-
|
|
19
|
-
Constraints:
|
|
20
|
-
- Stack: [DESCREVA]
|
|
21
|
-
- Orçamento de infra: [DESCREVA]
|
|
22
|
-
- Time: [DESCREVA]
|
|
23
|
-
|
|
24
|
-
Projete:
|
|
25
|
-
|
|
26
|
-
1. **Modelo de Isolamento**
|
|
27
|
-
- Database per tenant, schema per tenant, ou row-level?
|
|
28
|
-
- Justificativa para o contexto
|
|
29
|
-
- Estratégia para tenants com necessidades especiais
|
|
30
|
-
|
|
31
|
-
2. **Identificação de Tenant**
|
|
32
|
-
- Como identificar o tenant em cada request
|
|
33
|
-
- Subdomain, header, JWT, ou combinação
|
|
34
|
-
- Fallback se não identificado
|
|
35
|
-
|
|
36
|
-
3. **Implementação de Dados**
|
|
37
|
-
- Schema das tabelas (com tenant_id)
|
|
38
|
-
- Middleware/interceptor para filtrar
|
|
39
|
-
- Como garantir que queries não vazem dados
|
|
40
|
-
|
|
41
|
-
4. **Customização**
|
|
42
|
-
- Configurações por tenant
|
|
43
|
-
- Feature flags por plano
|
|
44
|
-
- Branding (logo, cores)
|
|
45
|
-
|
|
46
|
-
5. **Operacional**
|
|
47
|
-
- Provisioning de novo tenant
|
|
48
|
-
- Migrations multi-tenant
|
|
49
|
-
- Backup/restore por tenant
|
|
50
|
-
- Monitoramento por tenant
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## Prompt: Migrar para Multi-tenant
|
|
56
|
-
|
|
57
|
-
```text
|
|
58
|
-
Tenho um sistema single-tenant que precisa virar multi-tenant:
|
|
59
|
-
[DESCREVA ESTRUTURA ATUAL]
|
|
60
|
-
|
|
61
|
-
Requisitos:
|
|
62
|
-
- Manter dados do tenant atual
|
|
63
|
-
- Adicionar suporte a novos tenants
|
|
64
|
-
- Mínimo de breaking changes
|
|
65
|
-
- Timeline: [PRAZO]
|
|
66
|
-
|
|
67
|
-
Gere um plano de migração com:
|
|
68
|
-
1. Alterações de schema (adicionar tenant_id)
|
|
69
|
-
2. Migrations de dados existentes
|
|
70
|
-
3. Mudanças de código (queries, middlewares)
|
|
71
|
-
4. Testes de validação
|
|
72
|
-
5. Rollout gradual
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## Prompt: Implementar Row-Level Security
|
|
78
|
-
|
|
79
|
-
```text
|
|
80
|
-
Preciso implementar isolamento por row-level security.
|
|
81
|
-
|
|
82
|
-
Stack: [ex. PostgreSQL + Prisma + Node.js]
|
|
83
|
-
|
|
84
|
-
Tabelas principais:
|
|
85
|
-
[LISTE TABELAS]
|
|
86
|
-
|
|
87
|
-
Gere:
|
|
88
|
-
1. Migrations para adicionar tenant_id
|
|
89
|
-
2. Policies RLS no PostgreSQL
|
|
90
|
-
3. Middleware para setar current_tenant
|
|
91
|
-
4. Repository base com tenant scope
|
|
92
|
-
5. Testes de isolamento
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## Prompt: Tenant Provisioning
|
|
98
|
-
|
|
99
|
-
```text
|
|
100
|
-
Preciso automatizar o onboarding de novos tenants.
|
|
101
|
-
|
|
102
|
-
Quando um novo tenant é criado, preciso:
|
|
103
|
-
- [ex. Criar registro no banco]
|
|
104
|
-
- [ex. Configurar subdomain no DNS]
|
|
105
|
-
- [ex. Criar usuário admin]
|
|
106
|
-
- [ex. Popular dados iniciais]
|
|
107
|
-
- [ex. Enviar email de boas-vindas]
|
|
108
|
-
|
|
109
|
-
Stack: [DESCREVA]
|
|
110
|
-
|
|
111
|
-
Gere:
|
|
112
|
-
1. Endpoint/workflow de provisioning
|
|
113
|
-
2. Jobs assíncronos necessários
|
|
114
|
-
3. Rollback se algum step falhar
|
|
115
|
-
4. Notificações de progresso
|
|
116
|
-
5. Documentação do processo
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
## Prompt: Limites e Quotas por Tenant
|
|
122
|
-
|
|
123
|
-
```text
|
|
124
|
-
Preciso implementar limites por plano:
|
|
125
|
-
|
|
126
|
-
| Recurso | Free | Pro | Enterprise |
|
|
127
|
-
|---------|------|-----|------------|
|
|
128
|
-
| Usuários | 5 | 50 | Ilimitado |
|
|
129
|
-
| Storage | 1GB | 10GB | 100GB |
|
|
130
|
-
| API calls/dia | 1000 | 10000 | Ilimitado |
|
|
131
|
-
| Features | [X,Y] | [X,Y,Z] | Todas |
|
|
132
|
-
|
|
133
|
-
Stack: [DESCREVA]
|
|
134
|
-
|
|
135
|
-
Gere:
|
|
136
|
-
1. Schema para quotas e usage tracking
|
|
137
|
-
2. Service para verificar limites
|
|
138
|
-
3. Middleware para bloquear quando excede
|
|
139
|
-
4. Dashboard de usage para tenant admin
|
|
140
|
-
5. Alerts quando próximo do limite
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## Exemplo: Tenant Context Completo
|
|
146
|
-
|
|
147
|
-
```typescript
|
|
148
|
-
// src/tenancy/TenantContext.ts
|
|
149
|
-
import { AsyncLocalStorage } from 'async_hooks';
|
|
150
|
-
import { PrismaClient } from '@prisma/client';
|
|
151
|
-
|
|
152
|
-
interface TenantContext {
|
|
153
|
-
tenantId: string;
|
|
154
|
-
config: TenantConfig;
|
|
155
|
-
user?: User;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
interface TenantConfig {
|
|
159
|
-
id: string;
|
|
160
|
-
subdomain: string;
|
|
161
|
-
plan: 'free' | 'pro' | 'enterprise';
|
|
162
|
-
quotas: {
|
|
163
|
-
maxUsers: number;
|
|
164
|
-
maxStorage: number;
|
|
165
|
-
maxApiCalls: number;
|
|
166
|
-
};
|
|
167
|
-
features: string[];
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
const storage = new AsyncLocalStorage<TenantContext>();
|
|
171
|
-
|
|
172
|
-
// Middleware
|
|
173
|
-
export async function tenantMiddleware(req, res, next) {
|
|
174
|
-
const tenantId = extractTenantIdFromRequest(req);
|
|
175
|
-
|
|
176
|
-
if (!tenantId) {
|
|
177
|
-
return res.status(400).json({ error: 'Tenant not found' });
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
const config = await loadTenantConfig(tenantId);
|
|
181
|
-
|
|
182
|
-
storage.run({ tenantId, config }, next);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
// Getters
|
|
186
|
-
export function getTenant(): TenantContext {
|
|
187
|
-
const ctx = storage.getStore();
|
|
188
|
-
if (!ctx) throw new Error('No tenant context');
|
|
189
|
-
return ctx;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
export function getTenantId(): string {
|
|
193
|
-
return getTenant().tenantId;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
export function hasFeature(feature: string): boolean {
|
|
197
|
-
return getTenant().config.features.includes(feature);
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
// Prisma extension para injetar tenant automaticamente
|
|
201
|
-
export const prisma = new PrismaClient().$extends({
|
|
202
|
-
query: {
|
|
203
|
-
$allModels: {
|
|
204
|
-
async findMany({ args, query }) {
|
|
205
|
-
args.where = { ...args.where, tenantId: getTenantId() };
|
|
206
|
-
return query(args);
|
|
207
|
-
},
|
|
208
|
-
async create({ args, query }) {
|
|
209
|
-
args.data = { ...args.data, tenantId: getTenantId() };
|
|
210
|
-
return query(args);
|
|
211
|
-
},
|
|
212
|
-
// ... outras operações
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## Checklist
|
|
221
|
-
|
|
222
|
-
- [ ] Modelo de isolamento definido
|
|
223
|
-
- [ ] Identificação de tenant implementada
|
|
224
|
-
- [ ] Todas as queries filtram por tenant
|
|
225
|
-
- [ ] Testes de isolamento automatizados
|
|
226
|
-
- [ ] Provisioning automatizado
|
|
227
|
-
- [ ] Limites e quotas por plano
|
|
228
|
-
- [ ] Monitoramento por tenant
|
|
229
|
-
- [ ] Documentação de onboarding
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
## Referências
|
|
234
|
-
|
|
235
|
-
Consulte: [Guia de Multi-tenancy](../03-guias/Guia%20de%20Multi-tenancy.md)
|
|
@@ -1,192 +0,0 @@
|
|
|
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)
|