@maestro-ai/mcp-server 1.2.0 → 2.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 +26 -31
- package/dist/content/rules/GEMINI.md +79 -27
- package/dist/content/rules/RULES.md +6 -0
- package/dist/content/skills/specialist-acessibilidade/MCP_INTEGRATION.md +698 -0
- package/dist/content/skills/specialist-acessibilidade/README.md +292 -0
- package/dist/content/skills/specialist-acessibilidade/SKILL.md +202 -0
- package/dist/content/skills/specialist-acessibilidade/mcp_functions/init_accessibility_audit.py +675 -0
- package/dist/content/skills/specialist-acessibilidade/mcp_functions/validate_wcag_compliance.py +587 -0
- package/dist/content/skills/specialist-acessibilidade/resources/checklists/accessibility-validation.md +457 -0
- package/dist/content/skills/specialist-acessibilidade/resources/examples/accessibility-examples.md +863 -0
- package/dist/content/skills/specialist-acessibilidade/resources/reference/wcag-guide.md +359 -0
- package/dist/content/skills/specialist-acessibilidade/resources/templates/checklist-acessibilidade.md +435 -0
- package/dist/content/skills/specialist-acessibilidade/resources/templates/relatorio-acessibilidade.md +490 -0
- package/dist/content/skills/specialist-analise-testes/MCP_INTEGRATION.md +569 -0
- package/dist/content/skills/specialist-analise-testes/README.md +42 -0
- package/dist/content/skills/specialist-analise-testes/SKILL.md +258 -0
- package/dist/content/skills/specialist-analise-testes/mcp_functions/README.md +794 -0
- package/dist/content/skills/specialist-analise-testes/resources/checklists/testing-validation.md +305 -0
- package/dist/content/skills/specialist-analise-testes/resources/examples/testing-examples.md +395 -0
- package/dist/content/skills/specialist-analise-testes/resources/reference/testing-guide.md +1024 -0
- package/dist/content/skills/specialist-arquitetura-avancada/MCP_INTEGRATION.md +440 -0
- package/dist/content/skills/specialist-arquitetura-avancada/README.md +298 -0
- package/dist/content/skills/specialist-arquitetura-avancada/SKILL.md +295 -0
- package/dist/content/skills/specialist-arquitetura-avancada/mcp_functions/README.md +573 -0
- package/dist/content/skills/specialist-arquitetura-avancada/resources/checklists/architecture-validation.md +385 -0
- package/dist/content/skills/specialist-arquitetura-avancada/resources/examples/architecture-examples.md +743 -0
- package/dist/content/skills/specialist-arquitetura-avancada/resources/reference/architecture-guide.md +680 -0
- package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/bounded-context.md +333 -0
- package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/cqrs-implementation.md +495 -0
- package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/event-sourcing.md +571 -0
- package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/microservices-strategy.md +647 -0
- package/dist/content/skills/specialist-arquitetura-software/MCP_INTEGRATION.md +483 -0
- package/dist/content/skills/specialist-arquitetura-software/README.md +306 -0
- package/dist/content/skills/specialist-arquitetura-software/SKILL.md +194 -0
- package/dist/content/skills/specialist-arquitetura-software/mcp_functions/init_architecture.py +137 -0
- package/dist/content/skills/specialist-arquitetura-software/mcp_functions/process_architecture.py +279 -0
- package/dist/content/skills/specialist-arquitetura-software/mcp_functions/validate_architecture.py +302 -0
- package/dist/content/skills/specialist-arquitetura-software/resources/checklists/architecture-validation.md +180 -0
- package/dist/content/skills/specialist-arquitetura-software/resources/examples/architecture-examples.md +239 -0
- package/dist/content/skills/specialist-arquitetura-software/resources/reference/architecture-guide.md +489 -0
- package/dist/content/skills/specialist-arquitetura-software/resources/templates/adr.md +61 -0
- package/dist/content/skills/specialist-arquitetura-software/resources/templates/arquitetura.md +192 -0
- package/dist/content/skills/specialist-arquitetura-software/resources/templates/slo-sli.md +153 -0
- package/dist/content/skills/specialist-banco-dados/MCP_INTEGRATION.md +390 -0
- package/dist/content/skills/specialist-banco-dados/README.md +323 -0
- package/dist/content/skills/specialist-banco-dados/SKILL.md +221 -0
- package/dist/content/skills/specialist-banco-dados/mcp_functions/init_database.py +720 -0
- package/dist/content/skills/specialist-banco-dados/mcp_functions/process_database.py +386 -0
- package/dist/content/skills/specialist-banco-dados/mcp_functions/validate_database.py +551 -0
- package/dist/content/skills/specialist-banco-dados/resources/checklists/database-validation.md +434 -0
- package/dist/content/skills/specialist-banco-dados/resources/examples/database-examples.md +857 -0
- package/dist/content/skills/specialist-banco-dados/resources/reference/database-guide.md +708 -0
- package/dist/content/skills/specialist-banco-dados/resources/templates/constraints.md +935 -0
- package/dist/content/skills/specialist-banco-dados/resources/templates/design-banco.md +509 -0
- package/dist/content/skills/specialist-banco-dados/resources/templates/indices.md +553 -0
- package/dist/content/skills/specialist-banco-dados/resources/templates/migracoes.md +777 -0
- package/dist/content/skills/specialist-contrato-api/MCP_INTEGRATION.md +152 -0
- package/dist/content/skills/specialist-contrato-api/README.md +183 -0
- package/dist/content/skills/specialist-contrato-api/SKILL.md +317 -0
- package/dist/content/skills/specialist-contrato-api/mcp_functions/README.md +17 -0
- package/dist/content/skills/specialist-contrato-api/resources/checklists/api-validation.md +44 -0
- package/dist/content/skills/specialist-contrato-api/resources/examples/api-examples.md +137 -0
- package/dist/content/skills/specialist-contrato-api/resources/reference/api-guide.md +96 -0
- package/dist/content/skills/specialist-contrato-api/resources/templates/contrato-api.md +165 -0
- package/dist/content/skills/specialist-dados-analytics-ia/MCP_INTEGRATION.md +398 -0
- package/dist/content/skills/specialist-dados-analytics-ia/README.md +224 -0
- package/dist/content/skills/specialist-dados-analytics-ia/SKILL.md +160 -0
- package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/generate_insights_dashboard.py +669 -0
- package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/init_analytics_pipeline.py +626 -0
- package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/validate_analytics_quality.py +772 -0
- package/dist/content/skills/specialist-dados-analytics-ia/resources/checklists/analytics-validation.md +519 -0
- package/dist/content/skills/specialist-dados-analytics-ia/resources/examples/analytics-examples.md +646 -0
- package/dist/content/skills/specialist-dados-analytics-ia/resources/reference/analytics-guide.md +1111 -0
- package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/feature.md +419 -0
- package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/requisitos.md +384 -0
- package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/slo-sli.md +381 -0
- package/dist/content/skills/specialist-debugging-troubleshooting/MCP_INTEGRATION.md +340 -0
- package/dist/content/skills/specialist-debugging-troubleshooting/README.md +218 -0
- package/dist/content/skills/specialist-debugging-troubleshooting/SKILL.md +194 -0
- package/dist/content/skills/specialist-debugging-troubleshooting/resources/checklists/debugging-validation.md +319 -0
- package/dist/content/skills/specialist-debugging-troubleshooting/resources/examples/debugging-examples.md +480 -0
- package/dist/content/skills/specialist-debugging-troubleshooting/resources/prompts/analise-bugs.md +527 -0
- package/dist/content/skills/specialist-debugging-troubleshooting/resources/reference/debugging-guide.md +392 -0
- package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/bug-report.md +192 -0
- package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/post-mortem.md +241 -0
- package/dist/content/skills/specialist-debugging-troubleshooting/scripts/README.md +64 -0
- package/dist/content/skills/specialist-desenvolvimento-backend/MCP_INTEGRATION.md +98 -0
- package/dist/content/skills/specialist-desenvolvimento-backend/README.md +167 -0
- package/dist/content/skills/specialist-desenvolvimento-backend/SKILL.md +288 -0
- package/dist/content/skills/specialist-desenvolvimento-backend/mcp_functions/README.md +17 -0
- package/dist/content/skills/specialist-desenvolvimento-backend/resources/checklists/backend-validation.md +44 -0
- package/dist/content/skills/specialist-desenvolvimento-backend/resources/examples/backend-examples.md +109 -0
- package/dist/content/skills/specialist-desenvolvimento-backend/resources/reference/backend-guide.md +86 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/MCP_INTEGRATION.md +914 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/README.md +261 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/SKILL.md +220 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/init_frontend.py +861 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/process_frontend.py +1003 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/validate_frontend.py +766 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/resources/checklists/frontend-validation.md +365 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/resources/examples/frontend-examples.md +1125 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/resources/reference/frontend-guide.md +1055 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/component-story.md +530 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/historia-frontend.md +243 -0
- package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/ui-guidelines.md +725 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/MCP_INTEGRATION.md +87 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/README.md +149 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/SKILL.md +360 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/mcp_functions/README.md +17 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/resources/checklists/mobile-validation.md +330 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/resources/examples/mobile-examples.md +966 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/android-guide.md +546 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/flutter-guide.md +500 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/ios-guide.md +518 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/mobile-guide.md +76 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/react-native-guide.md +659 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/historia-mobile.md +284 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/mobile-checklist.md +239 -0
- package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/platform-selection.md +302 -0
- package/dist/content/skills/specialist-devops-infra/MCP_INTEGRATION.md +471 -0
- package/dist/content/skills/specialist-devops-infra/README.md +234 -0
- package/dist/content/skills/specialist-devops-infra/SKILL.md +162 -0
- package/dist/content/skills/specialist-devops-infra/mcp_functions/generate_ci_cd_pipeline.py +870 -0
- package/dist/content/skills/specialist-devops-infra/mcp_functions/init_infrastructure_structure.py +704 -0
- package/dist/content/skills/specialist-devops-infra/mcp_functions/validate_infrastructure_quality.py +745 -0
- package/dist/content/skills/specialist-devops-infra/resources/checklists/devops-validation.md +427 -0
- package/dist/content/skills/specialist-devops-infra/resources/examples/devops-examples.md +652 -0
- package/dist/content/skills/specialist-devops-infra/resources/reference/devops-guide.md +1244 -0
- package/dist/content/skills/specialist-devops-infra/resources/templates/ci-cd-pipeline.yml +40 -0
- package/dist/content/skills/specialist-documentacao-tecnica/MCP_INTEGRATION.md +797 -0
- package/dist/content/skills/specialist-documentacao-tecnica/README.md +304 -0
- package/dist/content/skills/specialist-documentacao-tecnica/SKILL.md +202 -0
- package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/init_documentation_structure.py +733 -0
- package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/process_documentation_for_publishing.py +888 -0
- package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/validate_documentation_quality.py +775 -0
- package/dist/content/skills/specialist-documentacao-tecnica/resources/checklists/documentation-validation.md +296 -0
- package/dist/content/skills/specialist-documentacao-tecnica/resources/examples/documentation-examples.md +515 -0
- package/dist/content/skills/specialist-documentacao-tecnica/resources/reference/documentation-guide.md +798 -0
- package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/api-docs.md +619 -0
- package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/design-doc.md +250 -0
- package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/guia-tecnico.md +383 -0
- package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/readme-template.md +462 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/MCP_INTEGRATION.md +457 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/README.md +295 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/SKILL.md +214 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/init_requirements.py +152 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/process_requirements.py +445 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/validate_requirements.py +475 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/checklists/requirements-validation.md +258 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/examples/requirements-examples.md +316 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/reference/requirements-guide.md +651 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/criterios-aceite.md +484 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/matriz-rastreabilidade.md +246 -0
- package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/requisitos.md +244 -0
- package/dist/content/skills/specialist-exploracao-codebase/MCP_INTEGRATION.md +155 -0
- package/dist/content/skills/specialist-exploracao-codebase/README.md +320 -0
- package/dist/content/skills/specialist-exploracao-codebase/SKILL.md +194 -0
- package/dist/content/skills/specialist-exploracao-codebase/mcp_functions/README.md +39 -0
- package/dist/content/skills/specialist-exploracao-codebase/resources/checklists/exploration-validation.md +51 -0
- package/dist/content/skills/specialist-exploracao-codebase/resources/examples/exploration-examples.md +106 -0
- package/dist/content/skills/specialist-exploracao-codebase/resources/reference/exploration-guide.md +111 -0
- package/dist/content/skills/specialist-exploracao-codebase/resources/templates/codebase-map.md +129 -0
- package/dist/content/skills/specialist-exploracao-codebase/resources/templates/refactoring-plan.md +96 -0
- package/dist/content/skills/specialist-exploracao-codebase/resources/templates/technical-debt-report.md +69 -0
- package/dist/content/skills/specialist-gestao-produto/MCP_INTEGRATION.md +436 -0
- package/dist/content/skills/specialist-gestao-produto/README.md +202 -0
- package/dist/content/skills/specialist-gestao-produto/SKILL.md +174 -0
- package/dist/content/skills/specialist-gestao-produto/resources/checklists/prd-validation.md +165 -0
- package/dist/content/skills/specialist-gestao-produto/resources/examples/prd-examples.md +231 -0
- package/dist/content/skills/specialist-gestao-produto/resources/reference/product-guide.md +416 -0
- package/dist/content/skills/specialist-gestao-produto/resources/templates/PRD.md +212 -0
- package/dist/content/skills/specialist-gestao-produto/scripts/init_prd.py +170 -0
- package/dist/content/skills/specialist-gestao-produto/scripts/process_prd.py +388 -0
- package/dist/content/skills/specialist-gestao-produto/scripts/validate_prd.py +406 -0
- package/dist/content/skills/specialist-migracao-modernizacao/MCP_INTEGRATION.md +17 -0
- package/dist/content/skills/specialist-migracao-modernizacao/README.md +46 -0
- package/dist/content/skills/specialist-migracao-modernizacao/SKILL.md +485 -0
- package/dist/content/skills/specialist-migracao-modernizacao/mcp_functions/README.md +10 -0
- package/dist/content/skills/specialist-migracao-modernizacao/resources/checklists/migration-validation.md +23 -0
- package/dist/content/skills/specialist-migracao-modernizacao/resources/examples/migration-examples.md +30 -0
- package/dist/content/skills/specialist-migracao-modernizacao/resources/reference/migration-guide.md +27 -0
- package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/migration-assessment.md +391 -0
- package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/modernization-roadmap.md +479 -0
- package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/risk-analysis.md +527 -0
- package/dist/content/skills/specialist-mobile-design-avancado/MCP_INTEGRATION.md +17 -0
- package/dist/content/skills/specialist-mobile-design-avancado/README.md +46 -0
- package/dist/content/skills/specialist-mobile-design-avancado/SKILL.md +567 -0
- package/dist/content/skills/specialist-mobile-design-avancado/mcp_functions/README.md +10 -0
- package/dist/content/skills/specialist-mobile-design-avancado/resources/checklists/design-validation.md +23 -0
- package/dist/content/skills/specialist-mobile-design-avancado/resources/examples/design-examples.md +46 -0
- package/dist/content/skills/specialist-mobile-design-avancado/resources/reference/design-guide.md +23 -0
- package/dist/content/skills/specialist-modelagem-dominio/MCP_INTEGRATION.md +336 -0
- package/dist/content/skills/specialist-modelagem-dominio/README.md +314 -0
- package/dist/content/skills/specialist-modelagem-dominio/SKILL.md +241 -0
- package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/init_domain.py +479 -0
- package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/process_domain.py +526 -0
- package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/validate_domain.py +569 -0
- package/dist/content/skills/specialist-modelagem-dominio/resources/checklists/domain-validation.md +341 -0
- package/dist/content/skills/specialist-modelagem-dominio/resources/examples/domain-examples.md +505 -0
- package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-guide.md +601 -0
- package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-modeling-complete-guide.md +1126 -0
- package/dist/content/skills/specialist-modelagem-dominio/resources/templates/arquitetura-c4.md +477 -0
- package/dist/content/skills/specialist-modelagem-dominio/resources/templates/casos-uso.md +395 -0
- package/dist/content/skills/specialist-modelagem-dominio/resources/templates/entidades-relacionamentos.md +368 -0
- package/dist/content/skills/specialist-modelagem-dominio/resources/templates/modelo-dominio.md +311 -0
- package/dist/content/skills/specialist-observabilidade/SKILL.md +462 -0
- package/dist/content/skills/specialist-performance-escalabilidade/SKILL.md +329 -0
- package/dist/content/skills/specialist-plano-execucao-ia/MCP_INTEGRATION.md +371 -0
- package/dist/content/skills/specialist-plano-execucao-ia/README.md +194 -0
- package/dist/content/skills/specialist-plano-execucao-ia/SKILL.md +271 -0
- package/dist/content/skills/specialist-plano-execucao-ia/mcp_functions/README.md +38 -0
- package/dist/content/skills/specialist-plano-execucao-ia/resources/checklists/planning-validation.md +144 -0
- package/dist/content/skills/specialist-plano-execucao-ia/resources/examples/planning-examples.md +203 -0
- package/dist/content/skills/specialist-plano-execucao-ia/resources/reference/planning-guide.md +316 -0
- package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/backlog.md +146 -0
- package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-backend.md +157 -0
- package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-frontend.md +116 -0
- package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-usuario.md +66 -0
- package/dist/content/skills/specialist-prototipagem-stitch/MCP_INTEGRATION.md +533 -0
- package/dist/content/skills/specialist-prototipagem-stitch/README.md +321 -0
- package/dist/content/skills/specialist-prototipagem-stitch/SKILL.md +194 -0
- package/dist/content/skills/specialist-prototipagem-stitch/mcp_functions/README.md +239 -0
- package/dist/content/skills/specialist-prototipagem-stitch/resources/checklists/stitch-validation.md +357 -0
- package/dist/content/skills/specialist-prototipagem-stitch/resources/examples/stitch-examples.md +372 -0
- package/dist/content/skills/specialist-prototipagem-stitch/resources/reference/stitch-guide.md +517 -0
- package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prompt-stitch.md +429 -0
- package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prototipo-stitch.md +317 -0
- package/dist/content/skills/specialist-seguranca-informacao/MCP_INTEGRATION.md +466 -0
- package/dist/content/skills/specialist-seguranca-informacao/README.md +245 -0
- package/dist/content/skills/specialist-seguranca-informacao/SKILL.md +343 -0
- package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/init_security.py +405 -0
- package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/process_security.py +611 -0
- package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/validate_security.py +468 -0
- package/dist/content/skills/specialist-seguranca-informacao/resources/checklists/security-validation.md +368 -0
- package/dist/content/skills/specialist-seguranca-informacao/resources/examples/security-examples.md +358 -0
- package/dist/content/skills/specialist-seguranca-informacao/resources/reference/security-guide.md +757 -0
- package/dist/content/skills/specialist-seguranca-informacao/resources/templates/checklist-seguranca.md +383 -0
- package/dist/content/skills/specialist-seguranca-informacao/resources/templates/slo-sli.md +244 -0
- package/dist/content/skills/specialist-seguranca-informacao/resources/templates/threat-modeling.md +161 -0
- package/dist/content/skills/specialist-ux-design/MCP_INTEGRATION.md +294 -0
- package/dist/content/skills/specialist-ux-design/README.md +304 -0
- package/dist/content/skills/specialist-ux-design/SKILL.md +212 -0
- package/dist/content/skills/specialist-ux-design/mcp_functions/init_ux.py +126 -0
- package/dist/content/skills/specialist-ux-design/mcp_functions/process_ux.py +408 -0
- package/dist/content/skills/specialist-ux-design/mcp_functions/validate_ux.py +379 -0
- package/dist/content/skills/specialist-ux-design/resources/checklists/ux-validation.md +77 -0
- package/dist/content/skills/specialist-ux-design/resources/examples/ux-examples.md +161 -0
- package/dist/content/skills/specialist-ux-design/resources/reference/ux-guide.md +184 -0
- package/dist/content/skills/specialist-ux-design/resources/templates/design-doc.md +160 -0
- package/dist/content/skills/specialist-ux-design/resources/templates/jornada-usuario.md +126 -0
- package/dist/content/skills/specialist-ux-design/resources/templates/wireframes.md +155 -0
- package/dist/core/adr/ADRGenerator.d.ts +28 -0
- package/dist/core/adr/ADRGenerator.d.ts.map +1 -0
- package/dist/core/adr/ADRGenerator.js +63 -0
- package/dist/core/adr/ADRGenerator.js.map +1 -0
- package/dist/core/adr/index.d.ts +2 -0
- package/dist/core/adr/index.d.ts.map +1 -0
- package/dist/core/adr/index.js +2 -0
- package/dist/core/adr/index.js.map +1 -0
- package/dist/core/architecture/FitnessFunctions.d.ts +67 -0
- package/dist/core/architecture/FitnessFunctions.d.ts.map +1 -0
- package/dist/core/architecture/FitnessFunctions.js +292 -0
- package/dist/core/architecture/FitnessFunctions.js.map +1 -0
- package/dist/core/architecture/index.d.ts +3 -0
- package/dist/core/architecture/index.d.ts.map +1 -0
- package/dist/core/architecture/index.js +3 -0
- package/dist/core/architecture/index.js.map +1 -0
- package/dist/core/architecture/types.d.ts +42 -0
- package/dist/core/architecture/types.d.ts.map +1 -0
- package/dist/core/architecture/types.js +5 -0
- package/dist/core/architecture/types.js.map +1 -0
- package/dist/core/atam/ATAMAnalyzer.d.ts +19 -0
- package/dist/core/atam/ATAMAnalyzer.d.ts.map +1 -0
- package/dist/core/atam/ATAMAnalyzer.js +206 -0
- package/dist/core/atam/ATAMAnalyzer.js.map +1 -0
- package/dist/core/atam/ATAMReporter.d.ts +16 -0
- package/dist/core/atam/ATAMReporter.d.ts.map +1 -0
- package/dist/core/atam/ATAMReporter.js +175 -0
- package/dist/core/atam/ATAMReporter.js.map +1 -0
- package/dist/core/atam/QualityScenarios.d.ts +16 -0
- package/dist/core/atam/QualityScenarios.d.ts.map +1 -0
- package/dist/core/atam/QualityScenarios.js +149 -0
- package/dist/core/atam/QualityScenarios.js.map +1 -0
- package/dist/core/atam/RiskRegistry.d.ts +21 -0
- package/dist/core/atam/RiskRegistry.d.ts.map +1 -0
- package/dist/core/atam/RiskRegistry.js +83 -0
- package/dist/core/atam/RiskRegistry.js.map +1 -0
- package/dist/core/atam/index.d.ts +6 -0
- package/dist/core/atam/index.d.ts.map +1 -0
- package/dist/core/atam/index.js +6 -0
- package/dist/core/atam/index.js.map +1 -0
- package/dist/core/atam/types.d.ts +86 -0
- package/dist/core/atam/types.d.ts.map +1 -0
- package/dist/core/atam/types.js +5 -0
- package/dist/core/atam/types.js.map +1 -0
- package/dist/core/authority/AuthorityManager.d.ts +19 -0
- package/dist/core/authority/AuthorityManager.d.ts.map +1 -0
- package/dist/core/authority/AuthorityManager.js +66 -0
- package/dist/core/authority/AuthorityManager.js.map +1 -0
- package/dist/core/authority/index.d.ts +2 -0
- package/dist/core/authority/index.d.ts.map +1 -0
- package/dist/core/authority/index.js +2 -0
- package/dist/core/authority/index.js.map +1 -0
- package/dist/core/autofix/AutoFixEngine.d.ts +17 -0
- package/dist/core/autofix/AutoFixEngine.d.ts.map +1 -0
- package/dist/core/autofix/AutoFixEngine.js +46 -0
- package/dist/core/autofix/AutoFixEngine.js.map +1 -0
- package/dist/core/autofix/index.d.ts +2 -0
- package/dist/core/autofix/index.d.ts.map +1 -0
- package/dist/core/autofix/index.js +2 -0
- package/dist/core/autofix/index.js.map +1 -0
- package/dist/core/automation/AutoExecutor.d.ts +20 -0
- package/dist/core/automation/AutoExecutor.d.ts.map +1 -0
- package/dist/core/automation/AutoExecutor.js +38 -0
- package/dist/core/automation/AutoExecutor.js.map +1 -0
- package/dist/core/automation/index.d.ts +2 -0
- package/dist/core/automation/index.d.ts.map +1 -0
- package/dist/core/automation/index.js +2 -0
- package/dist/core/automation/index.js.map +1 -0
- package/dist/core/checkpoint/CheckpointManager.d.ts +43 -0
- package/dist/core/checkpoint/CheckpointManager.d.ts.map +1 -0
- package/dist/core/checkpoint/CheckpointManager.js +158 -0
- package/dist/core/checkpoint/CheckpointManager.js.map +1 -0
- package/dist/core/checkpoint/RollbackEngine.d.ts +31 -0
- package/dist/core/checkpoint/RollbackEngine.d.ts.map +1 -0
- package/dist/core/checkpoint/RollbackEngine.js +176 -0
- package/dist/core/checkpoint/RollbackEngine.js.map +1 -0
- package/dist/core/checkpoint/index.d.ts +4 -0
- package/dist/core/checkpoint/index.d.ts.map +1 -0
- package/dist/core/checkpoint/index.js +4 -0
- package/dist/core/checkpoint/index.js.map +1 -0
- package/dist/core/checkpoint/types.d.ts +33 -0
- package/dist/core/checkpoint/types.d.ts.map +1 -0
- package/dist/core/checkpoint/types.js +2 -0
- package/dist/core/checkpoint/types.js.map +1 -0
- package/dist/core/consistency/ConsistencyAnalyzer.d.ts +12 -0
- package/dist/core/consistency/ConsistencyAnalyzer.d.ts.map +1 -0
- package/dist/core/consistency/ConsistencyAnalyzer.js +79 -0
- package/dist/core/consistency/ConsistencyAnalyzer.js.map +1 -0
- package/dist/core/consistency/index.d.ts +3 -0
- package/dist/core/consistency/index.d.ts.map +1 -0
- package/dist/core/consistency/index.js +3 -0
- package/dist/core/consistency/index.js.map +1 -0
- package/dist/core/consistency/types.d.ts +43 -0
- package/dist/core/consistency/types.d.ts.map +1 -0
- package/dist/core/consistency/types.js +5 -0
- package/dist/core/consistency/types.js.map +1 -0
- package/dist/core/context/ContextDetector.d.ts +14 -0
- package/dist/core/context/ContextDetector.d.ts.map +1 -0
- package/dist/core/context/ContextDetector.js +58 -0
- package/dist/core/context/ContextDetector.js.map +1 -0
- package/dist/core/context/index.d.ts +3 -0
- package/dist/core/context/index.d.ts.map +1 -0
- package/dist/core/context/index.js +3 -0
- package/dist/core/context/index.js.map +1 -0
- package/dist/core/context/types.d.ts +41 -0
- package/dist/core/context/types.d.ts.map +1 -0
- package/dist/core/context/types.js +5 -0
- package/dist/core/context/types.js.map +1 -0
- package/dist/core/decision/AlternativeGenerator.d.ts +32 -0
- package/dist/core/decision/AlternativeGenerator.d.ts.map +1 -0
- package/dist/core/decision/AlternativeGenerator.js +155 -0
- package/dist/core/decision/AlternativeGenerator.js.map +1 -0
- package/dist/core/decision/ConfidenceCalculator.d.ts +42 -0
- package/dist/core/decision/ConfidenceCalculator.d.ts.map +1 -0
- package/dist/core/decision/ConfidenceCalculator.js +114 -0
- package/dist/core/decision/ConfidenceCalculator.js.map +1 -0
- package/dist/core/decision/DecisionEngine.d.ts +42 -0
- package/dist/core/decision/DecisionEngine.d.ts.map +1 -0
- package/dist/core/decision/DecisionEngine.js +144 -0
- package/dist/core/decision/DecisionEngine.js.map +1 -0
- package/dist/core/decision/DecisionMatrix.d.ts +29 -0
- package/dist/core/decision/DecisionMatrix.d.ts.map +1 -0
- package/dist/core/decision/DecisionMatrix.js +66 -0
- package/dist/core/decision/DecisionMatrix.js.map +1 -0
- package/dist/core/decision/index.d.ts +6 -0
- package/dist/core/decision/index.d.ts.map +1 -0
- package/dist/core/decision/index.js +6 -0
- package/dist/core/decision/index.js.map +1 -0
- package/dist/core/decision/types.d.ts +40 -0
- package/dist/core/decision/types.d.ts.map +1 -0
- package/dist/core/decision/types.js +5 -0
- package/dist/core/decision/types.js.map +1 -0
- package/dist/core/discovery/CodebaseDiscovery.d.ts +19 -0
- package/dist/core/discovery/CodebaseDiscovery.d.ts.map +1 -0
- package/dist/core/discovery/CodebaseDiscovery.js +83 -0
- package/dist/core/discovery/CodebaseDiscovery.js.map +1 -0
- package/dist/core/discovery/index.d.ts +2 -0
- package/dist/core/discovery/index.d.ts.map +1 -0
- package/dist/core/discovery/index.js +2 -0
- package/dist/core/discovery/index.js.map +1 -0
- package/dist/core/feedback/FeedbackLoop.d.ts +21 -0
- package/dist/core/feedback/FeedbackLoop.d.ts.map +1 -0
- package/dist/core/feedback/FeedbackLoop.js +45 -0
- package/dist/core/feedback/FeedbackLoop.js.map +1 -0
- package/dist/core/feedback/index.d.ts +2 -0
- package/dist/core/feedback/index.d.ts.map +1 -0
- package/dist/core/feedback/index.js +2 -0
- package/dist/core/feedback/index.js.map +1 -0
- package/dist/core/growth/GrowthProjector.d.ts +12 -0
- package/dist/core/growth/GrowthProjector.d.ts.map +1 -0
- package/dist/core/growth/GrowthProjector.js +93 -0
- package/dist/core/growth/GrowthProjector.js.map +1 -0
- package/dist/core/growth/index.d.ts +3 -0
- package/dist/core/growth/index.d.ts.map +1 -0
- package/dist/core/growth/index.js +3 -0
- package/dist/core/growth/index.js.map +1 -0
- package/dist/core/growth/types.d.ts +40 -0
- package/dist/core/growth/types.d.ts.map +1 -0
- package/dist/core/growth/types.js +5 -0
- package/dist/core/growth/types.js.map +1 -0
- package/dist/core/impact/ImpactAnalyzer.d.ts +22 -0
- package/dist/core/impact/ImpactAnalyzer.d.ts.map +1 -0
- package/dist/core/impact/ImpactAnalyzer.js +43 -0
- package/dist/core/impact/ImpactAnalyzer.js.map +1 -0
- package/dist/core/impact/index.d.ts +2 -0
- package/dist/core/impact/index.d.ts.map +1 -0
- package/dist/core/impact/index.js +2 -0
- package/dist/core/impact/index.js.map +1 -0
- package/dist/core/knowledge/ADRManager.d.ts +22 -0
- package/dist/core/knowledge/ADRManager.d.ts.map +1 -0
- package/dist/core/knowledge/ADRManager.js +82 -0
- package/dist/core/knowledge/ADRManager.js.map +1 -0
- package/dist/core/knowledge/ContextLoader.d.ts +18 -0
- package/dist/core/knowledge/ContextLoader.d.ts.map +1 -0
- package/dist/core/knowledge/ContextLoader.js +48 -0
- package/dist/core/knowledge/ContextLoader.js.map +1 -0
- package/dist/core/knowledge/KnowledgeBase.d.ts +35 -0
- package/dist/core/knowledge/KnowledgeBase.d.ts.map +1 -0
- package/dist/core/knowledge/KnowledgeBase.js +143 -0
- package/dist/core/knowledge/KnowledgeBase.js.map +1 -0
- package/dist/core/knowledge/PatternRegistry.d.ts +22 -0
- package/dist/core/knowledge/PatternRegistry.d.ts.map +1 -0
- package/dist/core/knowledge/PatternRegistry.js +56 -0
- package/dist/core/knowledge/PatternRegistry.js.map +1 -0
- package/dist/core/knowledge/index.d.ts +6 -0
- package/dist/core/knowledge/index.d.ts.map +1 -0
- package/dist/core/knowledge/index.js +6 -0
- package/dist/core/knowledge/index.js.map +1 -0
- package/dist/core/knowledge/types.d.ts +60 -0
- package/dist/core/knowledge/types.d.ts.map +1 -0
- package/dist/core/knowledge/types.js +2 -0
- package/dist/core/knowledge/types.js.map +1 -0
- package/dist/core/metrics/MetricsCollector.d.ts +21 -0
- package/dist/core/metrics/MetricsCollector.d.ts.map +1 -0
- package/dist/core/metrics/MetricsCollector.js +20 -0
- package/dist/core/metrics/MetricsCollector.js.map +1 -0
- package/dist/core/metrics/index.d.ts +2 -0
- package/dist/core/metrics/index.d.ts.map +1 -0
- package/dist/core/metrics/index.js +2 -0
- package/dist/core/metrics/index.js.map +1 -0
- package/dist/core/notification/NotificationManager.d.ts +20 -0
- package/dist/core/notification/NotificationManager.d.ts.map +1 -0
- package/dist/core/notification/NotificationManager.js +16 -0
- package/dist/core/notification/NotificationManager.js.map +1 -0
- package/dist/core/notification/index.d.ts +2 -0
- package/dist/core/notification/index.d.ts.map +1 -0
- package/dist/core/notification/index.js +2 -0
- package/dist/core/notification/index.js.map +1 -0
- package/dist/core/risk/RiskEvaluator.d.ts +11 -0
- package/dist/core/risk/RiskEvaluator.d.ts.map +1 -0
- package/dist/core/risk/RiskEvaluator.js +83 -0
- package/dist/core/risk/RiskEvaluator.js.map +1 -0
- package/dist/core/risk/index.d.ts +3 -0
- package/dist/core/risk/index.d.ts.map +1 -0
- package/dist/core/risk/index.js +3 -0
- package/dist/core/risk/index.js.map +1 -0
- package/dist/core/risk/types.d.ts +19 -0
- package/dist/core/risk/types.d.ts.map +1 -0
- package/dist/core/risk/types.js +2 -0
- package/dist/core/risk/types.js.map +1 -0
- package/dist/core/roadmap/RoadmapManager.d.ts +14 -0
- package/dist/core/roadmap/RoadmapManager.d.ts.map +1 -0
- package/dist/core/roadmap/RoadmapManager.js +81 -0
- package/dist/core/roadmap/RoadmapManager.js.map +1 -0
- package/dist/core/roadmap/index.d.ts +3 -0
- package/dist/core/roadmap/index.d.ts.map +1 -0
- package/dist/core/roadmap/index.js +3 -0
- package/dist/core/roadmap/index.js.map +1 -0
- package/dist/core/roadmap/types.d.ts +64 -0
- package/dist/core/roadmap/types.d.ts.map +1 -0
- package/dist/core/roadmap/types.js +5 -0
- package/dist/core/roadmap/types.js.map +1 -0
- package/dist/core/strangler/StranglerOrchestrator.d.ts +14 -0
- package/dist/core/strangler/StranglerOrchestrator.d.ts.map +1 -0
- package/dist/core/strangler/StranglerOrchestrator.js +87 -0
- package/dist/core/strangler/StranglerOrchestrator.js.map +1 -0
- package/dist/core/strangler/index.d.ts +3 -0
- package/dist/core/strangler/index.d.ts.map +1 -0
- package/dist/core/strangler/index.js +3 -0
- package/dist/core/strangler/index.js.map +1 -0
- package/dist/core/strangler/types.d.ts +70 -0
- package/dist/core/strangler/types.d.ts.map +1 -0
- package/dist/core/strangler/types.js +5 -0
- package/dist/core/strangler/types.js.map +1 -0
- package/dist/core/testing/TestRunner.d.ts +17 -0
- package/dist/core/testing/TestRunner.d.ts.map +1 -0
- package/dist/core/testing/TestRunner.js +22 -0
- package/dist/core/testing/TestRunner.js.map +1 -0
- package/dist/core/testing/index.d.ts +2 -0
- package/dist/core/testing/index.d.ts.map +1 -0
- package/dist/core/testing/index.js +2 -0
- package/dist/core/testing/index.js.map +1 -0
- package/dist/core/tradeoff/TradeoffAnalyzer.d.ts +24 -0
- package/dist/core/tradeoff/TradeoffAnalyzer.d.ts.map +1 -0
- package/dist/core/tradeoff/TradeoffAnalyzer.js +51 -0
- package/dist/core/tradeoff/TradeoffAnalyzer.js.map +1 -0
- package/dist/core/tradeoff/index.d.ts +2 -0
- package/dist/core/tradeoff/index.d.ts.map +1 -0
- package/dist/core/tradeoff/index.js +2 -0
- package/dist/core/tradeoff/index.js.map +1 -0
- package/dist/core/validation/DependencyValidator.d.ts +28 -0
- package/dist/core/validation/DependencyValidator.d.ts.map +1 -0
- package/dist/core/validation/DependencyValidator.js +188 -0
- package/dist/core/validation/DependencyValidator.js.map +1 -0
- package/dist/core/validation/SecurityValidator.d.ts +44 -0
- package/dist/core/validation/SecurityValidator.d.ts.map +1 -0
- package/dist/core/validation/SecurityValidator.js +248 -0
- package/dist/core/validation/SecurityValidator.js.map +1 -0
- package/dist/core/validation/ValidationPipeline.d.ts +62 -0
- package/dist/core/validation/ValidationPipeline.d.ts.map +1 -0
- package/dist/core/validation/ValidationPipeline.js +216 -0
- package/dist/core/validation/ValidationPipeline.js.map +1 -0
- package/dist/core/validation/index.d.ts +4 -0
- package/dist/core/validation/index.d.ts.map +1 -0
- package/dist/core/validation/index.js +4 -0
- package/dist/core/validation/index.js.map +1 -0
- package/dist/core/validation/layers/ArchitectureValidator.d.ts +21 -0
- package/dist/core/validation/layers/ArchitectureValidator.d.ts.map +1 -0
- package/dist/core/validation/layers/ArchitectureValidator.js +226 -0
- package/dist/core/validation/layers/ArchitectureValidator.js.map +1 -0
- package/dist/core/validation/layers/QualityValidator.d.ts +23 -0
- package/dist/core/validation/layers/QualityValidator.d.ts.map +1 -0
- package/dist/core/validation/layers/QualityValidator.js +259 -0
- package/dist/core/validation/layers/QualityValidator.js.map +1 -0
- package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts +12 -0
- package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts.map +1 -0
- package/dist/core/validation/layers/SecurityValidatorWrapper.js +54 -0
- package/dist/core/validation/layers/SecurityValidatorWrapper.js.map +1 -0
- package/dist/core/validation/layers/SemanticValidator.d.ts +21 -0
- package/dist/core/validation/layers/SemanticValidator.d.ts.map +1 -0
- package/dist/core/validation/layers/SemanticValidator.js +182 -0
- package/dist/core/validation/layers/SemanticValidator.js.map +1 -0
- package/dist/core/validation/layers/SyntacticValidator.d.ts +17 -0
- package/dist/core/validation/layers/SyntacticValidator.d.ts.map +1 -0
- package/dist/core/validation/layers/SyntacticValidator.js +194 -0
- package/dist/core/validation/layers/SyntacticValidator.js.map +1 -0
- package/dist/core/validation/types.d.ts +90 -0
- package/dist/core/validation/types.d.ts.map +1 -0
- package/dist/core/validation/types.js +24 -0
- package/dist/core/validation/types.js.map +1 -0
- package/dist/frontend-first/contract-generator.d.ts +47 -0
- package/dist/frontend-first/contract-generator.d.ts.map +1 -0
- package/dist/frontend-first/contract-generator.js +312 -0
- package/dist/frontend-first/contract-generator.js.map +1 -0
- package/dist/frontend-first/mock-generator.d.ts +23 -0
- package/dist/frontend-first/mock-generator.d.ts.map +1 -0
- package/dist/frontend-first/mock-generator.js +186 -0
- package/dist/frontend-first/mock-generator.js.map +1 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/optimization/batch-prompts.d.ts +27 -0
- package/dist/optimization/batch-prompts.d.ts.map +1 -0
- package/dist/optimization/batch-prompts.js +178 -0
- package/dist/optimization/batch-prompts.js.map +1 -0
- package/dist/optimization/context-cache.d.ts +45 -0
- package/dist/optimization/context-cache.d.ts.map +1 -0
- package/dist/optimization/context-cache.js +149 -0
- package/dist/optimization/context-cache.js.map +1 -0
- package/dist/optimization/smart-validation.d.ts +43 -0
- package/dist/optimization/smart-validation.d.ts.map +1 -0
- package/dist/optimization/smart-validation.js +137 -0
- package/dist/optimization/smart-validation.js.map +1 -0
- package/dist/state/storage.d.ts +1 -1
- package/dist/state/storage.d.ts.map +1 -1
- package/dist/state/storage.js +2 -1
- package/dist/state/storage.js.map +1 -1
- package/dist/stdio.js +186 -0
- package/dist/stdio.js.map +1 -1
- package/dist/tasks/task-manager.d.ts +30 -0
- package/dist/tasks/task-manager.d.ts.map +1 -0
- package/dist/tasks/task-manager.js +290 -0
- package/dist/tasks/task-manager.js.map +1 -0
- package/dist/tools/atualizar-tarefa.d.ts +17 -0
- package/dist/tools/atualizar-tarefa.d.ts.map +1 -0
- package/dist/tools/atualizar-tarefa.js +200 -0
- package/dist/tools/atualizar-tarefa.js.map +1 -0
- package/dist/tools/configurar-modo.d.ts +10 -0
- package/dist/tools/configurar-modo.d.ts.map +1 -0
- package/dist/tools/configurar-modo.js +121 -0
- package/dist/tools/configurar-modo.js.map +1 -0
- package/dist/tools/contexto.d.ts.map +1 -1
- package/dist/tools/contexto.js +35 -4
- package/dist/tools/contexto.js.map +1 -1
- package/dist/tools/criar-tarefa.d.ts +17 -0
- package/dist/tools/criar-tarefa.d.ts.map +1 -0
- package/dist/tools/criar-tarefa.js +132 -0
- package/dist/tools/criar-tarefa.js.map +1 -0
- package/dist/tools/discovery.d.ts +121 -0
- package/dist/tools/discovery.d.ts.map +1 -0
- package/dist/tools/discovery.js +344 -0
- package/dist/tools/discovery.js.map +1 -0
- package/dist/tools/fase1/checkpoint.tools.d.ts +150 -0
- package/dist/tools/fase1/checkpoint.tools.d.ts.map +1 -0
- package/dist/tools/fase1/checkpoint.tools.js +165 -0
- package/dist/tools/fase1/checkpoint.tools.js.map +1 -0
- package/dist/tools/fase1/knowledge.tools.d.ts +265 -0
- package/dist/tools/fase1/knowledge.tools.d.ts.map +1 -0
- package/dist/tools/fase1/knowledge.tools.js +209 -0
- package/dist/tools/fase1/knowledge.tools.js.map +1 -0
- package/dist/tools/fase1/misc.tools.d.ts +113 -0
- package/dist/tools/fase1/misc.tools.d.ts.map +1 -0
- package/dist/tools/fase1/misc.tools.js +99 -0
- package/dist/tools/fase1/misc.tools.js.map +1 -0
- package/dist/tools/fase1/validation.tools.d.ts +103 -0
- package/dist/tools/fase1/validation.tools.d.ts.map +1 -0
- package/dist/tools/fase1/validation.tools.js +174 -0
- package/dist/tools/fase1/validation.tools.js.map +1 -0
- package/dist/tools/fluxos-alternativos.js +4 -4
- package/dist/tools/fluxos-alternativos.js.map +1 -1
- package/dist/tools/gerar-contrato-api.d.ts +15 -0
- package/dist/tools/gerar-contrato-api.d.ts.map +1 -0
- package/dist/tools/gerar-contrato-api.js +216 -0
- package/dist/tools/gerar-contrato-api.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +14 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/iniciar-projeto.d.ts +12 -0
- package/dist/tools/iniciar-projeto.d.ts.map +1 -1
- package/dist/tools/iniciar-projeto.js +92 -29
- package/dist/tools/iniciar-projeto.js.map +1 -1
- package/dist/tools/listar-tarefas.d.ts +16 -0
- package/dist/tools/listar-tarefas.d.ts.map +1 -0
- package/dist/tools/listar-tarefas.js +215 -0
- package/dist/tools/listar-tarefas.js.map +1 -0
- package/dist/tools/phase2/architecture.tools.d.ts +37 -0
- package/dist/tools/phase2/architecture.tools.d.ts.map +1 -0
- package/dist/tools/phase2/architecture.tools.js +51 -0
- package/dist/tools/phase2/architecture.tools.js.map +1 -0
- package/dist/tools/phase2/decision.tools.d.ts +61 -0
- package/dist/tools/phase2/decision.tools.d.ts.map +1 -0
- package/dist/tools/phase2/decision.tools.js +69 -0
- package/dist/tools/phase2/decision.tools.js.map +1 -0
- package/dist/tools/phase2/index.d.ts +8 -0
- package/dist/tools/phase2/index.d.ts.map +1 -0
- package/dist/tools/phase2/index.js +16 -0
- package/dist/tools/phase2/index.js.map +1 -0
- package/dist/tools/phase2/validation.tools.d.ts +40 -0
- package/dist/tools/phase2/validation.tools.d.ts.map +1 -0
- package/dist/tools/phase2/validation.tools.js +43 -0
- package/dist/tools/phase2/validation.tools.js.map +1 -0
- package/dist/tools/phase3/atam.tools.d.ts +26 -0
- package/dist/tools/phase3/atam.tools.d.ts.map +1 -0
- package/dist/tools/phase3/atam.tools.js +48 -0
- package/dist/tools/phase3/atam.tools.js.map +1 -0
- package/dist/tools/phase3/consistency.tools.d.ts +15 -0
- package/dist/tools/phase3/consistency.tools.d.ts.map +1 -0
- package/dist/tools/phase3/consistency.tools.js +20 -0
- package/dist/tools/phase3/consistency.tools.js.map +1 -0
- package/dist/tools/phase3/context.tools.d.ts +25 -0
- package/dist/tools/phase3/context.tools.d.ts.map +1 -0
- package/dist/tools/phase3/context.tools.js +32 -0
- package/dist/tools/phase3/context.tools.js.map +1 -0
- package/dist/tools/phase3/growth.tools.d.ts +28 -0
- package/dist/tools/phase3/growth.tools.d.ts.map +1 -0
- package/dist/tools/phase3/growth.tools.js +32 -0
- package/dist/tools/phase3/growth.tools.js.map +1 -0
- package/dist/tools/phase3/index.d.ts +10 -0
- package/dist/tools/phase3/index.d.ts.map +1 -0
- package/dist/tools/phase3/index.js +10 -0
- package/dist/tools/phase3/index.js.map +1 -0
- package/dist/tools/phase3/roadmap.tools.d.ts +41 -0
- package/dist/tools/phase3/roadmap.tools.d.ts.map +1 -0
- package/dist/tools/phase3/roadmap.tools.js +44 -0
- package/dist/tools/phase3/roadmap.tools.js.map +1 -0
- package/dist/tools/phase3/strangler.tools.d.ts +37 -0
- package/dist/tools/phase3/strangler.tools.d.ts.map +1 -0
- package/dist/tools/phase3/strangler.tools.js +44 -0
- package/dist/tools/phase3/strangler.tools.js.map +1 -0
- package/dist/tools/proximo.d.ts.map +1 -1
- package/dist/tools/proximo.js +44 -11
- package/dist/tools/proximo.js.map +1 -1
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +18 -5
- package/dist/tools/status.js.map +1 -1
- package/dist/tools/validar-gate.d.ts.map +1 -1
- package/dist/tools/validar-gate.js +17 -0
- package/dist/tools/validar-gate.js.map +1 -1
- package/dist/types/config.d.ts +46 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +162 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +39 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/tasks.d.ts +100 -0
- package/dist/types/tasks.d.ts.map +1 -0
- package/dist/types/tasks.js +2 -0
- package/dist/types/tasks.js.map +1 -0
- package/dist/utils/__tests__/prompt-mapper.test.d.ts +2 -0
- package/dist/utils/__tests__/prompt-mapper.test.d.ts.map +1 -0
- package/dist/utils/__tests__/prompt-mapper.test.js +184 -0
- package/dist/utils/__tests__/prompt-mapper.test.js.map +1 -0
- package/dist/utils/history.d.ts +10 -0
- package/dist/utils/history.d.ts.map +1 -1
- package/dist/utils/history.js +12 -1
- package/dist/utils/history.js.map +1 -1
- package/dist/utils/ide-paths.d.ts +61 -0
- package/dist/utils/ide-paths.d.ts.map +1 -0
- package/dist/utils/ide-paths.js +110 -0
- package/dist/utils/ide-paths.js.map +1 -0
- package/dist/utils/prompt-mapper.d.ts +48 -0
- package/dist/utils/prompt-mapper.d.ts.map +1 -1
- package/dist/utils/prompt-mapper.js +104 -0
- package/dist/utils/prompt-mapper.js.map +1 -1
- package/package.json +5 -5
- package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +0 -250
- package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +0 -278
- package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +0 -261
- package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +0 -258
- package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +0 -119
- package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +0 -147
- package/dist/content/guides/Checklist Mestre de Entrega.md +0 -68
- package/dist/content/guides/Gates de Qualidade.md +0 -209
- package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +0 -355
- package/dist/content/guides/Guia de Chaos Engineering.md +0 -267
- package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +0 -352
- package/dist/content/guides/Guia de Migrations Zero-Downtime.md +0 -311
- package/dist/content/guides/Guia de Multi-tenancy.md +0 -368
- package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +0 -195
- package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +0 -162
- package/dist/content/guides/Guia de SLOs e Error Budgets.md +0 -315
- package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +0 -93
- package/dist/content/guides/Rules base.md +0 -90
- package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +0 -364
- package/dist/content/prompts/README.md +0 -203
- package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +0 -257
- package/dist/content/prompts/apis/design-api-rest.md +0 -303
- package/dist/content/prompts/apis/idempotencia.md +0 -254
- package/dist/content/prompts/apis/versionamento.md +0 -313
- package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +0 -190
- package/dist/content/prompts/arquitetura/clean-architecture.md +0 -151
- package/dist/content/prompts/arquitetura/multi-tenancy.md +0 -235
- package/dist/content/prompts/database/migrations-zero-downtime.md +0 -192
- package/dist/content/prompts/database/otimizacao-queries.md +0 -296
- package/dist/content/prompts/desenvolvimento/code-review.md +0 -301
- package/dist/content/prompts/desenvolvimento/gerar-servico.md +0 -271
- package/dist/content/prompts/devops/docker-compose.md +0 -336
- package/dist/content/prompts/devops/feature-flags.md +0 -374
- package/dist/content/prompts/devops/kubernetes-deploy.md +0 -460
- package/dist/content/prompts/devops/pipeline-cicd.md +0 -358
- package/dist/content/prompts/devops/terraform-iac.md +0 -502
- package/dist/content/prompts/escalabilidade/analise-performance.md +0 -240
- package/dist/content/prompts/escalabilidade/analise-performance.txt +0 -94
- package/dist/content/prompts/escalabilidade/caching.md +0 -255
- package/dist/content/prompts/observabilidade/chaos-testing.md +0 -237
- package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +0 -263
- package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +0 -134
- package/dist/content/prompts/observabilidade/slos.md +0 -215
- package/dist/content/prompts/produto/discovery-inicial.md +0 -203
- package/dist/content/prompts/produto/discovery-inicial.txt +0 -33
- package/dist/content/prompts/requisitos/refinar-requisitos.md +0 -232
- package/dist/content/prompts/requisitos/refinar-requisitos.txt +0 -40
- package/dist/content/prompts/seguranca/analise-seguranca.md +0 -243
- package/dist/content/prompts/seguranca/pentest-checklist.md +0 -333
- package/dist/content/prompts/seguranca/rate-limiting.md +0 -356
- package/dist/content/prompts/seguranca/revisao-lgpd.md +0 -227
- package/dist/content/prompts/seguranca/threat-modeling.md +0 -224
- package/dist/content/prompts/testes/contract-testing.md +0 -340
- package/dist/content/prompts/testes/gerar-testes-unitarios.md +0 -474
- package/dist/content/prompts/testes/testes-e2e.md +0 -460
- package/dist/content/prompts/testes/testes-integracao.md +0 -418
- package/dist/content/prompts/testes/testes-performance.md +0 -458
- package/dist/content/prompts/ux/gerar-ui-stitch.md +0 -151
- package/dist/content/specialists/Especialista em Acessibilidade.md +0 -266
- package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +0 -434
- package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +0 -358
- package/dist/content/specialists/Especialista em Arquitetura de Software.md +0 -177
- package/dist/content/specialists/Especialista em Banco de Dados.md +0 -260
- package/dist/content/specialists/Especialista em Contrato de API.md +0 -172
- package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +0 -246
- package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +0 -191
- package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +0 -477
- package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +0 -241
- package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +0 -417
- package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +0 -294
- package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +0 -227
- package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +0 -299
- package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +0 -179
- package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +0 -179
- package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +0 -410
- package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +0 -248
- package/dist/content/specialists/Especialista em Observabilidade.md +0 -415
- package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +0 -373
- package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +0 -341
- package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +0 -419
- package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +0 -508
- package/dist/content/specialists/Especialista em UX Design.md +0 -453
- package/dist/content/specialists/INDEX.md +0 -43
- package/dist/content/templates/PRD.md +0 -165
- package/dist/content/templates/README.md +0 -65
- package/dist/content/templates/adr.md +0 -103
- package/dist/content/templates/arquitetura.md +0 -279
- package/dist/content/templates/backlog.md +0 -185
- package/dist/content/templates/checklist-seguranca.md +0 -180
- package/dist/content/templates/contexto.md +0 -120
- package/dist/content/templates/criterios-aceite.md +0 -99
- package/dist/content/templates/design-banco.md +0 -270
- package/dist/content/templates/design-doc.md +0 -240
- package/dist/content/templates/feature.md +0 -88
- package/dist/content/templates/historia-backend.md +0 -84
- package/dist/content/templates/historia-frontend.md +0 -75
- package/dist/content/templates/historia-usuario.md +0 -125
- package/dist/content/templates/mapa-navegacao.md +0 -133
- package/dist/content/templates/matriz-rastreabilidade.md +0 -121
- package/dist/content/templates/modelo-dominio.md +0 -219
- package/dist/content/templates/plano-testes.md +0 -199
- package/dist/content/templates/prototipo-stitch.md +0 -138
- package/dist/content/templates/requisitos.md +0 -162
- package/dist/content/templates/slo-sli.md +0 -197
- /package/dist/content/{guides/Guia de Debugging com IA.md → skills/specialist-debugging-troubleshooting/resources/reference/debugging-ai-guide.md} +0 -0
- /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-bounded-contexts.md +0 -0
- /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-cqrs.md +0 -0
- /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/modelo-dominio.md +0 -0
|
@@ -0,0 +1,777 @@
|
|
|
1
|
+
# [Nome do Projeto] - Estratégia de Migrações
|
|
2
|
+
|
|
3
|
+
## Sumário Executivo
|
|
4
|
+
[ ] **Projeto:** [Nome do projeto]
|
|
5
|
+
[ ] **Versão:** [Versão atual]
|
|
6
|
+
[ ] **Data:** [Data de criação]
|
|
7
|
+
[ ] **Status:** [Em elaboração/Revisão/Aprovado]
|
|
8
|
+
[ ] **Autor:** [DBA]
|
|
9
|
+
[ ] **Aprovadores:** [Stakeholders]
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Visão Geral da Estratégia
|
|
14
|
+
|
|
15
|
+
### 1.1 Princípios
|
|
16
|
+
- **Zero-Downtime:** Sem parada do serviço
|
|
17
|
+
- **Backward Compatibility:** Suporte a versões antigas
|
|
18
|
+
- **Rollback:** Capacidade de reverter mudanças
|
|
19
|
+
- **Testing:** Validação em ambiente staging
|
|
20
|
+
- **Incremental:** Mudanças pequenas e frequentes
|
|
21
|
+
|
|
22
|
+
### 1.2 Processo de Migração
|
|
23
|
+
1. **Preparação:** Backup e staging
|
|
24
|
+
2. **Teste:** Validação em ambiente controlado
|
|
25
|
+
3. **Deploy:** Aplicação em produção
|
|
26
|
+
4. **Monitor:** Verificação de performance
|
|
27
|
+
5. **Rollback:** Se necessário
|
|
28
|
+
|
|
29
|
+
### 1.3 Ferramentas
|
|
30
|
+
- **ORM:** [Nome do ORM]
|
|
31
|
+
- **Migration Tool:** [Ferramenta de migração]
|
|
32
|
+
- **CI/CD:** [Pipeline de deploy]
|
|
33
|
+
- **Monitoring:** [Ferramenta de monitoramento]
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. Estrutura de Migrações
|
|
38
|
+
|
|
39
|
+
### 2.1 Convenções de Nomenclatura
|
|
40
|
+
- **Padrão:** [timestamp]_[descrição].sql
|
|
41
|
+
- **Exemplo:** 20260129_120000_create_users_table.sql
|
|
42
|
+
- **Forward:** 001_create_users_table.sql
|
|
43
|
+
- **Rollback:** 001_create_users_table_down.sql
|
|
44
|
+
|
|
45
|
+
### 2.2 Template de Migração
|
|
46
|
+
```sql
|
|
47
|
+
-- Migration: [número]_[descrição]
|
|
48
|
+
-- Author: [autor]
|
|
49
|
+
-- Created: [data]
|
|
50
|
+
-- Description: [descrição detalhada]
|
|
51
|
+
|
|
52
|
+
BEGIN;
|
|
53
|
+
|
|
54
|
+
-- Forward migration
|
|
55
|
+
[SQL commands]
|
|
56
|
+
|
|
57
|
+
-- Rollback migration (comentado por padrão)
|
|
58
|
+
-- [SQL commands para rollback]
|
|
59
|
+
|
|
60
|
+
COMMIT;
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 2.3 Estrutura de Diretórios
|
|
64
|
+
```
|
|
65
|
+
migrations/
|
|
66
|
+
├── forward/
|
|
67
|
+
│ ├── 001_create_users_table.sql
|
|
68
|
+
│ ├── 002_add_email_unique.sql
|
|
69
|
+
│ └── 003_create_orders_table.sql
|
|
70
|
+
├── rollback/
|
|
71
|
+
│ ├── 001_create_users_table_down.sql
|
|
72
|
+
│ ├── 002_add_email_unique_down.sql
|
|
73
|
+
│ └── 003_create_orders_table_down.sql
|
|
74
|
+
└── data/
|
|
75
|
+
├── seed_data.sql
|
|
76
|
+
└── test_data.sql
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 3. Migrações por Tipo
|
|
82
|
+
|
|
83
|
+
### 3.1 Criação de Tabelas
|
|
84
|
+
#### Forward Migration
|
|
85
|
+
```sql
|
|
86
|
+
-- Migration: 001_create_users_table.sql
|
|
87
|
+
BEGIN;
|
|
88
|
+
|
|
89
|
+
CREATE TABLE users (
|
|
90
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
91
|
+
email VARCHAR(255) NOT NULL,
|
|
92
|
+
username VARCHAR(50) NOT NULL,
|
|
93
|
+
password_hash VARCHAR(255) NOT NULL,
|
|
94
|
+
created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
|
|
95
|
+
updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
-- Índices
|
|
99
|
+
CREATE UNIQUE INDEX idx_users_email ON users(email);
|
|
100
|
+
CREATE UNIQUE INDEX idx_users_username ON users(username);
|
|
101
|
+
|
|
102
|
+
COMMIT;
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
#### Rollback Migration
|
|
106
|
+
```sql
|
|
107
|
+
-- Migration: 001_create_users_table_down.sql
|
|
108
|
+
BEGIN;
|
|
109
|
+
|
|
110
|
+
DROP TABLE IF EXISTS users;
|
|
111
|
+
|
|
112
|
+
COMMIT;
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### 3.2 Adição de Colunas
|
|
116
|
+
#### Forward Migration
|
|
117
|
+
```sql
|
|
118
|
+
-- Migration: 002_add_user_profile.sql
|
|
119
|
+
BEGIN;
|
|
120
|
+
|
|
121
|
+
-- Adicionar colunas (nullable para backward compatibility)
|
|
122
|
+
ALTER TABLE users ADD COLUMN first_name VARCHAR(100);
|
|
123
|
+
ALTER TABLE users ADD COLUMN last_name VARCHAR(100);
|
|
124
|
+
ALTER TABLE users ADD COLUMN phone VARCHAR(20);
|
|
125
|
+
|
|
126
|
+
-- Índice para nova coluna
|
|
127
|
+
CREATE INDEX idx_users_phone ON users(phone);
|
|
128
|
+
|
|
129
|
+
COMMIT;
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
#### Rollback Migration
|
|
133
|
+
```sql
|
|
134
|
+
-- Migration: 002_add_user_profile_down.sql
|
|
135
|
+
BEGIN;
|
|
136
|
+
|
|
137
|
+
-- Remover índices
|
|
138
|
+
DROP INDEX IF EXISTS idx_users_phone;
|
|
139
|
+
|
|
140
|
+
-- Remover colunas
|
|
141
|
+
ALTER TABLE users DROP COLUMN IF EXISTS first_name;
|
|
142
|
+
ALTER TABLE users DROP COLUMN IF EXISTS last_name;
|
|
143
|
+
ALTER TABLE users DROP COLUMN IF EXISTS phone;
|
|
144
|
+
|
|
145
|
+
COMMIT;
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### 3.3 Modificação de Colunas
|
|
149
|
+
#### Forward Migration
|
|
150
|
+
```sql
|
|
151
|
+
-- Migration: 003_increase_email_length.sql
|
|
152
|
+
BEGIN;
|
|
153
|
+
|
|
154
|
+
-- Aumentar tamanho de email (backward compatible)
|
|
155
|
+
ALTER TABLE users ALTER COLUMN email TYPE VARCHAR(255);
|
|
156
|
+
|
|
157
|
+
COMMIT;
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
#### Rollback Migration
|
|
161
|
+
```sql
|
|
162
|
+
-- Migration: 003_increase_email_length_down.sql
|
|
163
|
+
BEGIN;
|
|
164
|
+
|
|
165
|
+
-- Reduzir tamanho (se seguro)
|
|
166
|
+
ALTER TABLE users ALTER COLUMN email TYPE VARCHAR(100);
|
|
167
|
+
|
|
168
|
+
COMMIT;
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### 3.4 Adição de Constraints
|
|
172
|
+
#### Forward Migration
|
|
173
|
+
```sql
|
|
174
|
+
-- Migration: 004_add_user_constraints.sql
|
|
175
|
+
BEGIN;
|
|
176
|
+
|
|
177
|
+
-- Adicionar constraint (backward compatible)
|
|
178
|
+
ALTER TABLE users ADD CONSTRAINT uk_users_email UNIQUE (email);
|
|
179
|
+
|
|
180
|
+
-- Adicionar check constraint
|
|
181
|
+
ALTER TABLE users ADD CONSTRAINT ck_users_email_format
|
|
182
|
+
CHECK (email ~* '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$');
|
|
183
|
+
|
|
184
|
+
COMMIT;
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
#### Rollback Migration
|
|
188
|
+
```sql
|
|
189
|
+
-- Migration: 004_add_user_constraints_down.sql
|
|
190
|
+
BEGIN;
|
|
191
|
+
|
|
192
|
+
-- Remover constraints
|
|
193
|
+
ALTER TABLE users DROP CONSTRAINT IF EXISTS uk_users_email;
|
|
194
|
+
ALTER TABLE users DROP CONSTRAINT IF EXISTS ck_users_email_format;
|
|
195
|
+
|
|
196
|
+
COMMIT;
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 4. Migrações Complexas
|
|
202
|
+
|
|
203
|
+
### 4.1 Migração de Dados
|
|
204
|
+
#### Forward Migration
|
|
205
|
+
```sql
|
|
206
|
+
-- Migration: 005_migrate_user_names.sql
|
|
207
|
+
BEGIN;
|
|
208
|
+
|
|
209
|
+
-- Adicionar colunas temporárias
|
|
210
|
+
ALTER TABLE users ADD COLUMN full_name VARCHAR(200);
|
|
211
|
+
ALTER TABLE users ADD COLUMN first_name_temp VARCHAR(100);
|
|
212
|
+
ALTER TABLE users ADD COLUMN last_name_temp VARCHAR(100);
|
|
213
|
+
|
|
214
|
+
-- Migrar dados
|
|
215
|
+
UPDATE users SET
|
|
216
|
+
full_name = COALESCE(first_name, '') || ' ' || COALESCE(last_name, ''),
|
|
217
|
+
first_name_temp = SPLIT_PART(full_name, ' ', 1),
|
|
218
|
+
last_name_temp = CASE
|
|
219
|
+
WHEN POSITION(' ' IN full_name) > 0
|
|
220
|
+
THEN SUBSTRING(full_name, POSITION(' ' IN full_name) + 1)
|
|
221
|
+
ELSE ''
|
|
222
|
+
END;
|
|
223
|
+
|
|
224
|
+
-- Remover colunas antigas
|
|
225
|
+
ALTER TABLE users DROP COLUMN IF EXISTS first_name;
|
|
226
|
+
ALTER TABLE users DROP COLUMN IF EXISTS last_name;
|
|
227
|
+
ALTER TABLE users DROP COLUMN IF EXISTS full_name;
|
|
228
|
+
|
|
229
|
+
-- Renomear colunas temporárias
|
|
230
|
+
ALTER TABLE users RENAME COLUMN first_name_temp TO first_name;
|
|
231
|
+
ALTER TABLE users RENAME COLUMN last_name_temp TO last_name;
|
|
232
|
+
|
|
233
|
+
COMMIT;
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### 4.2 Migração Zero-Downtime
|
|
237
|
+
#### Forward Migration
|
|
238
|
+
```sql
|
|
239
|
+
-- Migration: 006_zero_downtime_column_add.sql
|
|
240
|
+
BEGIN;
|
|
241
|
+
|
|
242
|
+
-- Passo 1: Adicionar coluna nullable
|
|
243
|
+
ALTER TABLE users ADD COLUMN email_new VARCHAR(255);
|
|
244
|
+
|
|
245
|
+
-- Passo 2: Criar trigger para manter sincronizado
|
|
246
|
+
CREATE OR REPLACE FUNCTION sync_email_new()
|
|
247
|
+
RETURNS TRIGGER AS $$
|
|
248
|
+
BEGIN
|
|
249
|
+
NEW.email_new = NEW.email;
|
|
250
|
+
RETURN NEW;
|
|
251
|
+
END;
|
|
252
|
+
$$ LANGUAGE plpgsql;
|
|
253
|
+
|
|
254
|
+
CREATE TRIGGER trg_sync_email_new
|
|
255
|
+
BEFORE INSERT OR UPDATE ON users
|
|
256
|
+
FOR EACH ROW EXECUTE FUNCTION sync_email_new();
|
|
257
|
+
|
|
258
|
+
-- Passo 3: Migrar dados existentes
|
|
259
|
+
UPDATE users SET email_new = email;
|
|
260
|
+
|
|
261
|
+
-- Passo 4: Criar índice na nova coluna
|
|
262
|
+
CREATE UNIQUE INDEX CONCURRENTLY idx_users_email_new ON users(email_new);
|
|
263
|
+
|
|
264
|
+
COMMIT;
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
#### Rollback Migration
|
|
268
|
+
```sql
|
|
269
|
+
-- Migration: 006_zero_downtime_column_add_down.sql
|
|
270
|
+
BEGIN;
|
|
271
|
+
|
|
272
|
+
-- Remover trigger
|
|
273
|
+
DROP TRIGGER IF EXISTS trg_sync_email_new ON users;
|
|
274
|
+
DROP FUNCTION IF EXISTS sync_email_new();
|
|
275
|
+
|
|
276
|
+
-- Remover índice
|
|
277
|
+
DROP INDEX IF EXISTS idx_users_email_new;
|
|
278
|
+
|
|
279
|
+
-- Remover coluna
|
|
280
|
+
ALTER TABLE users DROP COLUMN IF EXISTS email_new;
|
|
281
|
+
|
|
282
|
+
COMMIT;
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## 5. Migrações por Stack
|
|
288
|
+
|
|
289
|
+
### 5.1 Node.js (Prisma)
|
|
290
|
+
#### Migration File
|
|
291
|
+
```typescript
|
|
292
|
+
// migrations/001_create_users_table.ts
|
|
293
|
+
import { Migration } from '@mikro-orm/migrations';
|
|
294
|
+
|
|
295
|
+
export class Migration20260129120000 extends Migration {
|
|
296
|
+
|
|
297
|
+
async up(): Promise<void> {
|
|
298
|
+
this.addSql('CREATE TABLE users (id UUID PRIMARY KEY DEFAULT gen_random_uuid(), email VARCHAR(255) NOT NULL, username VARCHAR(50) NOT NULL, password_hash VARCHAR(255) NOT NULL, created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP);');
|
|
299
|
+
this.addSql('CREATE UNIQUE INDEX idx_users_email ON users(email);');
|
|
300
|
+
this.addSql('CREATE UNIQUE INDEX idx_users_username ON users(username);');
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
async down(): Promise<void> {
|
|
304
|
+
this.addSql('DROP TABLE IF EXISTS users;');
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
#### Deploy Script
|
|
311
|
+
```typescript
|
|
312
|
+
// scripts/deploy-migration.ts
|
|
313
|
+
import { MigrationExecutor } from '@mikro-orm/migrations';
|
|
314
|
+
import { EntityManager } from '@mikro-orm/postgresql';
|
|
315
|
+
|
|
316
|
+
async function deployMigration(migrationName: string) {
|
|
317
|
+
const em = EntityManager.create();
|
|
318
|
+
const executor = new MigrationExecutor(em);
|
|
319
|
+
|
|
320
|
+
try {
|
|
321
|
+
await executor.executeMigration(migrationName);
|
|
322
|
+
console.log(`Migration ${migrationName} deployed successfully`);
|
|
323
|
+
} catch (error) {
|
|
324
|
+
console.error(`Migration ${migrationName} failed:`, error);
|
|
325
|
+
throw error;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### 5.2 Python (Alembic)
|
|
331
|
+
#### Migration File
|
|
332
|
+
```python
|
|
333
|
+
# migrations/versions/001_create_users_table.py
|
|
334
|
+
"""create users table
|
|
335
|
+
|
|
336
|
+
Revision ID: 001
|
|
337
|
+
Revises: 000
|
|
338
|
+
Create Date: 2026-01-29 12:00:00.000000
|
|
339
|
+
|
|
340
|
+
from alembic import op
|
|
341
|
+
import sqlalchemy as sa
|
|
342
|
+
|
|
343
|
+
def upgrade():
|
|
344
|
+
op.create_table(
|
|
345
|
+
'users',
|
|
346
|
+
sa.Column('id', sa.UUID(), nullable=False),
|
|
347
|
+
sa.Column('email', sa.String(length=255), nullable=False),
|
|
348
|
+
sa.Column('username', sa.String(length=50), nullable=False),
|
|
349
|
+
sa.Column('password_hash', sa.String(length=255), nullable=False),
|
|
350
|
+
sa.Column('created_at', sa.DateTime(), nullable=False),
|
|
351
|
+
sa.Column('updated_at', sa.DateTime(), nullable=False),
|
|
352
|
+
sa.PrimaryKeyConstraint('pk_users', 'id')
|
|
353
|
+
)
|
|
354
|
+
op.create_index('idx_users_email', 'users', ['email'], unique=True)
|
|
355
|
+
op.create_index('idx_users_username', 'users', ['username'], unique=True)
|
|
356
|
+
|
|
357
|
+
def downgrade():
|
|
358
|
+
op.drop_table('users')
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
#### Deploy Script
|
|
362
|
+
```python
|
|
363
|
+
# scripts/deploy_migration.py
|
|
364
|
+
from alembic.config import Config
|
|
365
|
+
from alembic import command
|
|
366
|
+
import sys
|
|
367
|
+
|
|
368
|
+
def deploy_migration(revision: str):
|
|
369
|
+
alembic_cfg = Config("alembic.ini")
|
|
370
|
+
|
|
371
|
+
try:
|
|
372
|
+
command.upgrade(alembic_cfg, revision)
|
|
373
|
+
print(f"Migration {revision} deployed successfully")
|
|
374
|
+
except Exception as error:
|
|
375
|
+
print(f"Migration {revision} failed: {error}")
|
|
376
|
+
sys.exit(1)
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### 5.3 PHP (Laravel)
|
|
380
|
+
#### Migration File
|
|
381
|
+
```php
|
|
382
|
+
// database/migrations/2026_01_29_120000_create_users_table.php
|
|
383
|
+
use Illuminate\Database\Migrations\Migration;
|
|
384
|
+
use Illuminate\Database\Schema\Blueprint;
|
|
385
|
+
use Illuminate\Support\Facades\Schema;
|
|
386
|
+
|
|
387
|
+
class CreateUsersTable extends Migration
|
|
388
|
+
{
|
|
389
|
+
public function up()
|
|
390
|
+
{
|
|
391
|
+
Schema::create('users', function (Blueprint $table) {
|
|
392
|
+
$table->uuid('id')->primary();
|
|
393
|
+
$table->string('email', 255);
|
|
394
|
+
$table->string('username', 50);
|
|
395
|
+
$table->string('password_hash', 255);
|
|
396
|
+
$table->timestamps();
|
|
397
|
+
|
|
398
|
+
$table->unique('email');
|
|
399
|
+
$table->unique('username');
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
public function down()
|
|
404
|
+
{
|
|
405
|
+
Schema::dropIfExists('users');
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
#### Deploy Script
|
|
411
|
+
```php
|
|
412
|
+
// scripts/deploy_migration.php
|
|
413
|
+
require_once 'vendor/autoload.php';
|
|
414
|
+
|
|
415
|
+
use Illuminate\Support\Facades\Artisan;
|
|
416
|
+
use Illuminate\Support\Facades\DB;
|
|
417
|
+
|
|
418
|
+
function deployMigration($migration) {
|
|
419
|
+
try {
|
|
420
|
+
Artisan::call('migrate', ['--path' => $migration]);
|
|
421
|
+
echo "Migration {$migration} deployed successfully\n";
|
|
422
|
+
} catch (Exception $error) {
|
|
423
|
+
echo "Migration {$migration} failed: {$error->getMessage()}\n";
|
|
424
|
+
exit(1);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
## 6. Estratégia de Deploy
|
|
432
|
+
|
|
433
|
+
### 6.1 Deploy Sequencial
|
|
434
|
+
1. **Backup:** Backup completo do banco
|
|
435
|
+
2. **Teste:** Executar em staging
|
|
436
|
+
3. **Deploy:** Aplicar em produção
|
|
437
|
+
4. **Monitor:** Verificar por 5 minutos
|
|
438
|
+
5. **Rollback:** Se necessário
|
|
439
|
+
|
|
440
|
+
### 6.2 Deploy Blue-Green
|
|
441
|
+
1. **Green:** Nova versão em ambiente green
|
|
442
|
+
2. **Teste:** Validação completa
|
|
443
|
+
3. **Switch:** Trocar tráfego para green
|
|
444
|
+
4. **Monitor:** Verificar estabilidade
|
|
445
|
+
5. **Cleanup:** Remover ambiente blue
|
|
446
|
+
|
|
447
|
+
### 6.3 Deploy Canário
|
|
448
|
+
1. **10%:** Deploy para 10% do tráfego
|
|
449
|
+
2. **Monitor:** Verificar por 10 minutos
|
|
450
|
+
3. **50%:** Aumentar para 50% se OK
|
|
451
|
+
4. **Monitor:** Verificar por 10 minutos
|
|
452
|
+
5. **100%:** Deploy completo se OK
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
## 7. Rollback Strategy
|
|
457
|
+
|
|
458
|
+
### 7.1 Automatic Rollback
|
|
459
|
+
- **Trigger:** Erro detectado em monitoramento
|
|
460
|
+
- **Action:** Executar script de rollback
|
|
461
|
+
- **Verification:** Verificar sistema estável
|
|
462
|
+
- **Alert:** Notificar equipe
|
|
463
|
+
|
|
464
|
+
### 7.2 Manual Rollback
|
|
465
|
+
- **Trigger:** Decisão da equipe
|
|
466
|
+
- **Preparation:** Preparar ambiente
|
|
467
|
+
- **Execution:** Executar rollback
|
|
468
|
+
- **Verification:** Testar sistema
|
|
469
|
+
|
|
470
|
+
### 7.3 Rollback Scripts
|
|
471
|
+
```sql
|
|
472
|
+
-- rollback_001_create_users_table.sql
|
|
473
|
+
BEGIN;
|
|
474
|
+
|
|
475
|
+
DROP TABLE IF EXISTS users;
|
|
476
|
+
|
|
477
|
+
COMMIT;
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
```bash
|
|
481
|
+
#!/bin/bash
|
|
482
|
+
# rollback.sh
|
|
483
|
+
echo "Starting rollback..."
|
|
484
|
+
|
|
485
|
+
# Parar aplicação
|
|
486
|
+
systemctl stop app
|
|
487
|
+
|
|
488
|
+
# Executar rollback
|
|
489
|
+
psql -d database -f rollback_001_create_users_table.sql
|
|
490
|
+
|
|
491
|
+
# Reiniciar aplicação
|
|
492
|
+
systemctl start app
|
|
493
|
+
|
|
494
|
+
echo "Rollback completed"
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
## 8. Testing Strategy
|
|
500
|
+
|
|
501
|
+
### 8.1 Unit Tests
|
|
502
|
+
- **Migration SQL:** Testar sintaxe
|
|
503
|
+
- **Rollback SQL:** Testar reversão
|
|
504
|
+
- **Data Integrity:** Verificar dados
|
|
505
|
+
|
|
506
|
+
### 8.2 Integration Tests
|
|
507
|
+
- **Full Migration:** Testar processo completo
|
|
508
|
+
- **Application:** Testar com app real
|
|
509
|
+
- **Performance:** Verificar impacto
|
|
510
|
+
|
|
511
|
+
### 8.3 Staging Tests
|
|
512
|
+
- **Production-like:** Ambiente similar
|
|
513
|
+
- **Data Volume:** Volume real de dados
|
|
514
|
+
- **Load Test:** Testes de carga
|
|
515
|
+
|
|
516
|
+
### 8.4 Test Automation
|
|
517
|
+
```yaml
|
|
518
|
+
# .github/workflows/migration.yml
|
|
519
|
+
name: Migration Test
|
|
520
|
+
|
|
521
|
+
on:
|
|
522
|
+
pull_request:
|
|
523
|
+
paths:
|
|
524
|
+
- 'migrations/**'
|
|
525
|
+
|
|
526
|
+
jobs:
|
|
527
|
+
test-migration:
|
|
528
|
+
runs-on: ubuntu-latest
|
|
529
|
+
|
|
530
|
+
steps:
|
|
531
|
+
- uses: actions/checkout@v2
|
|
532
|
+
|
|
533
|
+
- name: Setup PostgreSQL
|
|
534
|
+
run: |
|
|
535
|
+
sudo apt-get install postgresql postgresql-contrib
|
|
536
|
+
sudo systemctl start postgresql
|
|
537
|
+
|
|
538
|
+
- name: Run Migration Tests
|
|
539
|
+
run: |
|
|
540
|
+
python scripts/test_migrations.py
|
|
541
|
+
|
|
542
|
+
- name: Run Rollback Tests
|
|
543
|
+
run: |
|
|
544
|
+
python scripts/test_rollback.py
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
---
|
|
548
|
+
|
|
549
|
+
## 9. Monitoring
|
|
550
|
+
|
|
551
|
+
### 9.1 Migration Metrics
|
|
552
|
+
- **Duration:** Tempo de execução
|
|
553
|
+
- **Rows Affected:** Linhas modificadas
|
|
554
|
+
- **Errors:** Erros encontrados
|
|
555
|
+
- **Performance:** Impacto na performance
|
|
556
|
+
|
|
557
|
+
### 9.2 Dashboard Metrics
|
|
558
|
+
- **Migration Status:** Em execução/concluído/falhou
|
|
559
|
+
- **Database Health:** Status do banco
|
|
560
|
+
- **Application Health:** Status da aplicação
|
|
561
|
+
- **Error Rate:** Taxa de erros
|
|
562
|
+
|
|
563
|
+
### 9.3 Alert Configuration
|
|
564
|
+
```yaml
|
|
565
|
+
# alerts/migration.yml
|
|
566
|
+
groups:
|
|
567
|
+
- name: migration_alerts
|
|
568
|
+
rules:
|
|
569
|
+
- alert: MigrationFailed
|
|
570
|
+
expr: migration_status == 2
|
|
571
|
+
for: 1m
|
|
572
|
+
labels:
|
|
573
|
+
severity: critical
|
|
574
|
+
annotations:
|
|
575
|
+
summary: "Migration failed"
|
|
576
|
+
|
|
577
|
+
- alert: MigrationSlow
|
|
578
|
+
expr: migration_duration > 300
|
|
579
|
+
for: 2m
|
|
580
|
+
labels:
|
|
581
|
+
severity: warning
|
|
582
|
+
annotations:
|
|
583
|
+
summary: "Migration taking too long"
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
---
|
|
587
|
+
|
|
588
|
+
## 10. Best Practices
|
|
589
|
+
|
|
590
|
+
### 10.1 Migration Design
|
|
591
|
+
- **Atomic:** Tudo ou nada
|
|
592
|
+
- **Idempotent:** Pode ser re-executado
|
|
593
|
+
- **Reversible:** Sempre tem rollback
|
|
594
|
+
- **Tested:** Testado antes de deploy
|
|
595
|
+
|
|
596
|
+
### 10.2 SQL Best Practices
|
|
597
|
+
- **BEGIN/COMMIT:** Transações explícitas
|
|
598
|
+
- **CONCURRENTLY:** Índices sem bloqueio
|
|
599
|
+
- **IF EXISTS:** Evitar erros
|
|
600
|
+
- **Comments:** Documentar mudanças
|
|
601
|
+
|
|
602
|
+
### 10.3 Performance
|
|
603
|
+
- **Batch Size:** Processar em lotes
|
|
604
|
+
- **Indexes:** Remover/recriar se necessário
|
|
605
|
+
- **Vacuum:** Limpar espaço após migração
|
|
606
|
+
- **Analyze:** Atualizar estatísticas
|
|
607
|
+
|
|
608
|
+
---
|
|
609
|
+
|
|
610
|
+
## 11. Troubleshooting
|
|
611
|
+
|
|
612
|
+
### 11.1 Common Issues
|
|
613
|
+
#### Lock Timeout
|
|
614
|
+
- **Sintoma:** Lock timeout error
|
|
615
|
+
- **Causa:** Migração bloqueada por query
|
|
616
|
+
- **Solução:** Identificar e matar query bloqueante
|
|
617
|
+
|
|
618
|
+
#### Out of Memory
|
|
619
|
+
- **Sintoma:** Memory error
|
|
620
|
+
- **Causa:** Dataset muito grande
|
|
621
|
+
- **Solução:** Processar em batches
|
|
622
|
+
|
|
623
|
+
#### Constraint Violation
|
|
624
|
+
- **Sintoma:** Constraint violation error
|
|
625
|
+
- **Causa:** Dados inconsistentes
|
|
626
|
+
- **Solução:** Limpar dados antes da migração
|
|
627
|
+
|
|
628
|
+
### 11.2 Debug Tools
|
|
629
|
+
```sql
|
|
630
|
+
-- Verificar locks ativos
|
|
631
|
+
SELECT * FROM pg_locks WHERE relation = '[table_name]'::regclass;
|
|
632
|
+
|
|
633
|
+
-- Verificar queries em execução
|
|
634
|
+
SELECT * FROM pg_stat_activity WHERE state = 'active';
|
|
635
|
+
|
|
636
|
+
-- Verificar tamanho da tabela
|
|
637
|
+
SELECT pg_size_pretty(pg_relation_size('[table_name]'));
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
---
|
|
641
|
+
|
|
642
|
+
## 12. Documentation
|
|
643
|
+
|
|
644
|
+
### 12.1 Migration Log
|
|
645
|
+
| Date | Migration | Status | Duration | Notes |
|
|
646
|
+
|------|-----------|--------|----------|-------|
|
|
647
|
+
| 2026-01-29 | 001_create_users_table | Success | 2.3s | Initial setup |
|
|
648
|
+
| 2026-01-30 | 002_add_user_profile | Success | 1.8s | Added profile fields |
|
|
649
|
+
| 2026-01-31 | 003_migrate_emails | Failed | 5.2s | Data inconsistency |
|
|
650
|
+
|
|
651
|
+
### 12.2 Migration Checklist
|
|
652
|
+
- [ ] **Backup criado**
|
|
653
|
+
- [ ] **Testado em staging**
|
|
654
|
+
- [ ] **Rollback preparado**
|
|
655
|
+
- [ ] **Monitoramento configurado**
|
|
656
|
+
- [ ] **Documentação atualizada**
|
|
657
|
+
- [ ] **Aprovação obtida**
|
|
658
|
+
|
|
659
|
+
### 12.3 Runbook
|
|
660
|
+
1. **Pre-migration:**
|
|
661
|
+
- [ ] Verificar backup
|
|
662
|
+
- [ ] Testar em staging
|
|
663
|
+
- [ ] Preparar rollback
|
|
664
|
+
|
|
665
|
+
2. **Migration:**
|
|
666
|
+
- [ ] Executar migration
|
|
667
|
+
- [ ] Verificar logs
|
|
668
|
+
- [ ] Monitorar performance
|
|
669
|
+
|
|
670
|
+
3. **Post-migration:**
|
|
671
|
+
- [ ] Verificar aplicação
|
|
672
|
+
- [ ] Atualizar documentação
|
|
673
|
+
- [ ] Limpar arquivos temporários
|
|
674
|
+
|
|
675
|
+
---
|
|
676
|
+
|
|
677
|
+
## 13. Security
|
|
678
|
+
|
|
679
|
+
### 13.1 Access Control
|
|
680
|
+
- **Migration User:** Permissões limitadas
|
|
681
|
+
- **Audit Log:** Registrar mudanças
|
|
682
|
+
- **Approval Process:** Requer aprovação
|
|
683
|
+
|
|
684
|
+
### 13.2 Data Protection
|
|
685
|
+
- **PII:** Identificar dados sensíveis
|
|
686
|
+
- **Encryption:** Criptografar se necessário
|
|
687
|
+
- **Compliance:** Atender regulamentações
|
|
688
|
+
|
|
689
|
+
### 13.3 Backup Security
|
|
690
|
+
- **Encryption:** Backup criptografado
|
|
691
|
+
- **Access:** Acesso controlado
|
|
692
|
+
- **Retention:** Política de retenção
|
|
693
|
+
|
|
694
|
+
---
|
|
695
|
+
|
|
696
|
+
## 14. Compliance
|
|
697
|
+
|
|
698
|
+
### 14.1 Regulatory Requirements
|
|
699
|
+
- **GDPR:** Proteção de dados pessoais
|
|
700
|
+
- **PCI DSS:** Pagamentos e cartões
|
|
701
|
+
- **HIPAA:** Dados de saúde
|
|
702
|
+
- **SOX:** Controles financeiros
|
|
703
|
+
|
|
704
|
+
### 14.2 Audit Trail
|
|
705
|
+
- **Migration Log:** Registrar todas as mudanças
|
|
706
|
+
- **User Action:** Quem executou
|
|
707
|
+
- **Timestamp:** Quando executou
|
|
708
|
+
- **Reason:** Por que executou
|
|
709
|
+
|
|
710
|
+
### 14.3 Data Retention
|
|
711
|
+
- **Backup Retention:** Por quanto tempo manter
|
|
712
|
+
- **Log Retention:** Política de logs
|
|
713
|
+
- **Archive:** Arquivamento de dados antigos
|
|
714
|
+
|
|
715
|
+
---
|
|
716
|
+
|
|
717
|
+
## 15. Future Considerations
|
|
718
|
+
|
|
719
|
+
### 15.1 Automation
|
|
720
|
+
- **CI/CD Integration:** Automatizar deploy
|
|
721
|
+
- **Testing Automation:** Testes automáticos
|
|
722
|
+
- **Monitoring Automation:** Alertas automáticas
|
|
723
|
+
|
|
724
|
+
### 15.2 Scalability
|
|
725
|
+
- **Sharding:** Particionamento horizontal
|
|
726
|
+
- **Replication:** Réplicas de leitura
|
|
727
|
+
- **Caching:** Cache de queries
|
|
728
|
+
|
|
729
|
+
### 15.3 Evolution
|
|
730
|
+
- **Schema Evolution:** Evolução do schema
|
|
731
|
+
- **Version Management:** Gerenciamento de versões
|
|
732
|
+
- **Backward Compatibility:** Manter compatibilidade
|
|
733
|
+
|
|
734
|
+
---
|
|
735
|
+
|
|
736
|
+
## 16. Apêndice
|
|
737
|
+
|
|
738
|
+
### 16.1 Migration Commands
|
|
739
|
+
```bash
|
|
740
|
+
# PostgreSQL
|
|
741
|
+
psql -d database -f migration.sql
|
|
742
|
+
|
|
743
|
+
# MySQL
|
|
744
|
+
mysql -u user -p database < migration.sql
|
|
745
|
+
|
|
746
|
+
# MongoDB
|
|
747
|
+
mongo database --eval "db.collection.insertOne({...})"
|
|
748
|
+
|
|
749
|
+
# Redis
|
|
750
|
+
redis-cli SET key value
|
|
751
|
+
```
|
|
752
|
+
|
|
753
|
+
### 16.2 Useful Queries
|
|
754
|
+
```sql
|
|
755
|
+
-- Verificar versão do schema
|
|
756
|
+
SELECT version FROM schema_version;
|
|
757
|
+
|
|
758
|
+
-- Listar migrations aplicadas
|
|
759
|
+
SELECT * FROM migration_history;
|
|
760
|
+
|
|
761
|
+
-- Verificar tamanho do banco
|
|
762
|
+
SELECT pg_size_pretty(pg_database_size('database'));
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
### 16.3 References
|
|
766
|
+
- **PostgreSQL Migrations:** [Documentação oficial]
|
|
767
|
+
- **MySQL Migrations:** [Documentação oficial]
|
|
768
|
+
- **Database Migrations:** [Livro de referência]
|
|
769
|
+
- **Refactoring Databases:** [Livro de referência]
|
|
770
|
+
|
|
771
|
+
---
|
|
772
|
+
|
|
773
|
+
**Status:** [Em elaboração/Revisão/Aprovado]
|
|
774
|
+
**Revisado por:** [Nome]
|
|
775
|
+
**Data da revisão:** [Data]
|
|
776
|
+
**Próxima revisão:** [Data]
|
|
777
|
+
**Versão:** [Versão]
|