@maestro-ai/mcp-server 1.2.0 → 2.0.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/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/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/stdio.js +184 -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/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/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/iniciar-projeto.d.ts.map +1 -1
- package/dist/tools/iniciar-projeto.js +27 -1
- 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 +45 -8
- package/dist/tools/proximo.js.map +1 -1
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +28 -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 +14 -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 +38 -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/prompt-mapper.d.ts +46 -0
- package/dist/utils/prompt-mapper.d.ts.map +1 -1
- package/dist/utils/prompt-mapper.js +100 -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,601 @@
|
|
|
1
|
+
# Guia Completo de Modelagem de Domínio
|
|
2
|
+
|
|
3
|
+
## Sumário
|
|
4
|
+
Guia completo de modelagem de domínio com DDD, padrões e melhores práticas para desenvolvimento de software.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Fundamentos de Domain-Driven Design (DDD)
|
|
9
|
+
|
|
10
|
+
### 1.1 O que é DDD?
|
|
11
|
+
Domain-Driven Design é uma abordagem para desenvolvimento de software complexo que foca no domínio do problema e na lógica de negócio.
|
|
12
|
+
|
|
13
|
+
### 1.2 Princípios Fundamentais
|
|
14
|
+
- **Linguagem Ubíqua:** Termos consistentes entre negócio e técnica
|
|
15
|
+
- **Bounded Contexts:** Fronteiras delimitadas do domínio
|
|
16
|
+
- **Modelo Rico:** Modelo que captura comportamentos e regras
|
|
17
|
+
- **Colaboração:** Desenvolvedores e especialistas do domínio juntos
|
|
18
|
+
|
|
19
|
+
### 1.3 Benefícios do DDD
|
|
20
|
+
- **Alinhamento com negócio:** Software reflete o problema real
|
|
21
|
+
- **Manutenibilidade:** Código mais fácil de entender e modificar
|
|
22
|
+
- **Comunicação:** Linguagem compartilhada entre equipes
|
|
23
|
+
- **Qualidade:** Software mais robusto e testável
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Elementos Fundamentais do DDD
|
|
28
|
+
|
|
29
|
+
### 2.1 Entidades (Entities)
|
|
30
|
+
Entidades são objetos que têm identidade própria e ciclo de vida.
|
|
31
|
+
|
|
32
|
+
#### Características
|
|
33
|
+
- **Identidade única:** ID ou identificador natural
|
|
34
|
+
- **Ciclo de vida:** Estados e transições
|
|
35
|
+
- **Comportamento:** Métodos que modificam estado
|
|
36
|
+
- **Igualdade:** Baseada em identidade, não em atributos
|
|
37
|
+
|
|
38
|
+
#### Exemplo
|
|
39
|
+
```typescript
|
|
40
|
+
class Cliente {
|
|
41
|
+
constructor(
|
|
42
|
+
private readonly id: string,
|
|
43
|
+
private nome: string,
|
|
44
|
+
private email: string
|
|
45
|
+
) {}
|
|
46
|
+
|
|
47
|
+
atualizarNome(nome: string): void {
|
|
48
|
+
if (!nome || nome.trim().length === 0) {
|
|
49
|
+
throw new Error('Nome inválido')
|
|
50
|
+
}
|
|
51
|
+
this.nome = nome
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
equals(outro: Cliente): boolean {
|
|
55
|
+
return this.id === outro.id
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 2.2 Value Objects
|
|
61
|
+
Value Objects são objetos sem identidade que representam conceitos do domínio.
|
|
62
|
+
|
|
63
|
+
#### Características
|
|
64
|
+
- **Imutabilidade:** Não mudam após criação
|
|
65
|
+
- **Validação:** Validam seus próprios dados
|
|
66
|
+
- **Igualdade:** Baseada em valores, não identidade
|
|
67
|
+
- **Sem副作用:** Não causam efeitos colaterais
|
|
68
|
+
|
|
69
|
+
#### Exemplo
|
|
70
|
+
```typescript
|
|
71
|
+
class Email {
|
|
72
|
+
constructor(private readonly valor: string) {
|
|
73
|
+
if (!this.isValidEmail(valor)) {
|
|
74
|
+
throw new Error('Email inválido')
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
private isValidEmail(email: string): boolean {
|
|
79
|
+
const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/
|
|
80
|
+
return regex.test(email)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
getValor(): string {
|
|
84
|
+
return this.valor
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
equals(outro: Email): boolean {
|
|
88
|
+
return this.valor === outro.getValor()
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 2.3 Agregados (Aggregates)
|
|
94
|
+
Agregados são clusters de entidades e value objects com raiz de consistência.
|
|
95
|
+
|
|
96
|
+
#### Características
|
|
97
|
+
- **Raiz do agregado:** Entidade principal que controla o agregado
|
|
98
|
+
- **Consistência:** Invariantes mantidos dentro do agregado
|
|
99
|
+
- **Fronteiras claras:** Limites bem definidos
|
|
100
|
+
- **Acesso externo:** Apenas através da raiz
|
|
101
|
+
|
|
102
|
+
#### Exemplo
|
|
103
|
+
```typescript
|
|
104
|
+
class Pedido {
|
|
105
|
+
constructor(
|
|
106
|
+
private readonly id: string,
|
|
107
|
+
private cliente: Cliente,
|
|
108
|
+
private itens: ItemPedido[] = []
|
|
109
|
+
) {}
|
|
110
|
+
|
|
111
|
+
adicionarItem(produto: Produto, quantidade: number): void {
|
|
112
|
+
if (quantidade <= 0) {
|
|
113
|
+
throw new Error('Quantidade inválida')
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const item = new ItemPedido(produto, quantidade)
|
|
117
|
+
this.itens.push(item)
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
calcularTotal(): Money {
|
|
121
|
+
return this.itens.reduce((total, item) =>
|
|
122
|
+
total.add(item.getValorTotal()),
|
|
123
|
+
new Money(0)
|
|
124
|
+
)
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Acesso externo apenas através do Pedido
|
|
128
|
+
getItens(): ItemPedido[] {
|
|
129
|
+
return [...this.itens] // Retorna cópia para proteção
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 2.4 Repositories
|
|
135
|
+
Repositories abstraem a persistência de agregados.
|
|
136
|
+
|
|
137
|
+
#### Características
|
|
138
|
+
- **Interface:** Contrato de persistência
|
|
139
|
+
- **Agregado root:** Trabalha com raízes de agregados
|
|
140
|
+
- **Coleção:** Simula coleção em memória
|
|
141
|
+
- **Abstração:** Esconde detalhes de implementação
|
|
142
|
+
|
|
143
|
+
#### Exemplo
|
|
144
|
+
```typescript
|
|
145
|
+
interface PedidoRepository {
|
|
146
|
+
salvar(pedido: Pedido): Promise<void>
|
|
147
|
+
buscarPorId(id: string): Promise<Pedido | null>
|
|
148
|
+
buscarPorCliente(clienteId: string): Promise<Pedido[]>
|
|
149
|
+
remover(pedido: Pedido): Promise<void>
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### 2.5 Domain Services
|
|
154
|
+
Domain services encapsulam lógica de negócio que não pertence a uma entidade.
|
|
155
|
+
|
|
156
|
+
#### Características
|
|
157
|
+
- **Sem estado:** Operações stateless
|
|
158
|
+
- **Lógica de domínio:** Regras de negócio complexas
|
|
159
|
+
- **Coordenação:** Orquestram múltiplas entidades
|
|
160
|
+
- **Reutilizabilidade:** Usados em diferentes contextos
|
|
161
|
+
|
|
162
|
+
#### Exemplo
|
|
163
|
+
```typescript
|
|
164
|
+
class CalculadoraFreteService {
|
|
165
|
+
calcularFrete(pedido: Pedido, endereco: Endereco): Money {
|
|
166
|
+
const distancia = this.calcularDistancia(endereco)
|
|
167
|
+
const peso = pedido.calcularPesoTotal()
|
|
168
|
+
const valorBase = distancia.multiply(0.1)
|
|
169
|
+
const valorPeso = peso.multiply(0.05)
|
|
170
|
+
|
|
171
|
+
return valorBase.add(valorPeso)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
private calcularDistancia(endereco: Endereco): number {
|
|
175
|
+
// Lógica complexa de cálculo de distância
|
|
176
|
+
return 100 // Exemplo
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## 3. Bounded Contexts
|
|
184
|
+
|
|
185
|
+
### 3.1 O que são Bounded Contexts?
|
|
186
|
+
Bounded Contexts são fronteiras delimitadas onde um modelo de domínio específico é aplicado.
|
|
187
|
+
|
|
188
|
+
### 3.2 Características
|
|
189
|
+
- **Fronteiras claras:** Limites bem definidos
|
|
190
|
+
- **Linguagem própria:** Termos específicos do contexto
|
|
191
|
+
- **Modelo independente:** Cada contexto tem seu modelo
|
|
192
|
+
- **Integração controlada:** Comunicação definida entre contexts
|
|
193
|
+
|
|
194
|
+
### 3.3 Tipos de Relacionamento
|
|
195
|
+
- **Shared Kernel:** Parte compartilhada do modelo
|
|
196
|
+
- **Customer/Supplier:** Um contexto consome do outro
|
|
197
|
+
- **Conformist:** Um contexto segue o modelo do outro
|
|
198
|
+
- **Anti-corruption Layer:** Protege um contexto do outro
|
|
199
|
+
|
|
200
|
+
### 3.4 Exemplo de Context Map
|
|
201
|
+
```
|
|
202
|
+
[Vendas] --(Customer/Supplier)--> [Estoque]
|
|
203
|
+
[Vendas] --(Shared Kernel)--> [Pagamentos]
|
|
204
|
+
[Estoque] --(Anti-corruption Layer)--> [Logística]
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 4. Eventos de Domínio
|
|
210
|
+
|
|
211
|
+
### 4.1 O que são Domain Events?
|
|
212
|
+
Domain events representam algo que aconteceu no domínio que outros contexts podem se interessar.
|
|
213
|
+
|
|
214
|
+
### 4.2 Características
|
|
215
|
+
- **Imutáveis:** Não mudam após criação
|
|
216
|
+
- **Timestamp:** Quando ocorreram
|
|
217
|
+
- **Dados relevantes:** Informações sobre o evento
|
|
218
|
+
- **Assíncronos:** Processados de forma assíncrona
|
|
219
|
+
|
|
220
|
+
### 4.3 Exemplo
|
|
221
|
+
```typescript
|
|
222
|
+
class PedidoCriadoEvent {
|
|
223
|
+
constructor(
|
|
224
|
+
public readonly pedidoId: string,
|
|
225
|
+
public readonly clienteId: string,
|
|
226
|
+
public readonly dataCriacao: Date,
|
|
227
|
+
public readonly valorTotal: Money
|
|
228
|
+
) {}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
class PedidoService {
|
|
232
|
+
constructor(
|
|
233
|
+
private pedidoRepository: PedidoRepository,
|
|
234
|
+
private eventPublisher: EventPublisher
|
|
235
|
+
) {}
|
|
236
|
+
|
|
237
|
+
async criarPedido(dados: CriarPedidoDto): Promise<Pedido> {
|
|
238
|
+
const pedido = new Pedido(dados.clienteId, dados.itens)
|
|
239
|
+
|
|
240
|
+
await this.pedidoRepository.salvar(pedido)
|
|
241
|
+
|
|
242
|
+
// Publica evento
|
|
243
|
+
const event = new PedidoCriadoEvent(
|
|
244
|
+
pedido.getId(),
|
|
245
|
+
dados.clienteId,
|
|
246
|
+
new Date(),
|
|
247
|
+
pedido.calcularTotal()
|
|
248
|
+
)
|
|
249
|
+
|
|
250
|
+
await this.eventPublisher.publish(event)
|
|
251
|
+
|
|
252
|
+
return pedido
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## 5. Estratégias de Mapeamento
|
|
260
|
+
|
|
261
|
+
### 5.1 Mapeamento Objeto-Relacional (ORM)
|
|
262
|
+
- **Entidade → Tabela:** Cada entidade mapeia para uma tabela
|
|
263
|
+
- **Atributos → Colunas:** Atributos mapeiam para colunas
|
|
264
|
+
- **Relacionamentos → FKs:** Relacionamentos mapeiam para chaves estrangeiras
|
|
265
|
+
- **Agregados → Múltiplas tabelas:** Agregados podem usar várias tabelas
|
|
266
|
+
|
|
267
|
+
### 5.2 Padrões de Mapeamento
|
|
268
|
+
- **Single Table Inheritance:** Hierarquia em uma tabela
|
|
269
|
+
- **Class Table Inheritance:** Cada classe em sua tabela
|
|
270
|
+
- **Concrete Table Inheritance:** Cada classe concreta em sua tabela
|
|
271
|
+
|
|
272
|
+
### 5.3 Exemplo de Mapeamento
|
|
273
|
+
```typescript
|
|
274
|
+
// Entidade
|
|
275
|
+
@Entity('clientes')
|
|
276
|
+
class Cliente {
|
|
277
|
+
@PrimaryGeneratedColumn('uuid')
|
|
278
|
+
id: string
|
|
279
|
+
|
|
280
|
+
@Column()
|
|
281
|
+
nome: string
|
|
282
|
+
|
|
283
|
+
@Column({ unique: true })
|
|
284
|
+
email: string
|
|
285
|
+
|
|
286
|
+
@OneToMany(() => Pedido, pedido => pedido.cliente)
|
|
287
|
+
pedidos: Pedido[]
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// Value Object embutido
|
|
291
|
+
@Embeddable()
|
|
292
|
+
class Endereco {
|
|
293
|
+
@Column()
|
|
294
|
+
rua: string
|
|
295
|
+
|
|
296
|
+
@Column()
|
|
297
|
+
numero: string
|
|
298
|
+
|
|
299
|
+
@Column()
|
|
300
|
+
cidade: string
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
@Entity('clientes')
|
|
304
|
+
class Cliente {
|
|
305
|
+
@Embedded(() => Endereco)
|
|
306
|
+
endereco: Endereco
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## 6. Testes em DDD
|
|
313
|
+
|
|
314
|
+
### 6.1 Testes Unitários
|
|
315
|
+
- **Entidades:** Testam comportamentos e validações
|
|
316
|
+
- **Value Objects:** Testam imutabilidade e igualdade
|
|
317
|
+
- **Domain Services:** Testam lógica de negócio
|
|
318
|
+
|
|
319
|
+
### 6.2 Testes de Integração
|
|
320
|
+
- **Repositories:** Testam persistência e consultas
|
|
321
|
+
- **Agregados:** Testam consistência transacional
|
|
322
|
+
- **Eventos:** Testam publicação e consumo
|
|
323
|
+
|
|
324
|
+
### 6.3 Exemplo de Teste
|
|
325
|
+
```typescript
|
|
326
|
+
describe('Cliente', () => {
|
|
327
|
+
it('deve criar cliente válido', () => {
|
|
328
|
+
const cliente = new Cliente('123', 'João', 'joão@email.com')
|
|
329
|
+
|
|
330
|
+
expect(cliente.getNome()).toBe('João')
|
|
331
|
+
expect(cliente.getEmail()).toBe('joão@email.com')
|
|
332
|
+
})
|
|
333
|
+
|
|
334
|
+
it('deve lançar erro com email inválido', () => {
|
|
335
|
+
expect(() => {
|
|
336
|
+
new Cliente('123', 'João', 'email-invalido')
|
|
337
|
+
}).toThrow('Email inválido')
|
|
338
|
+
})
|
|
339
|
+
|
|
340
|
+
it('deve atualizar nome', () => {
|
|
341
|
+
const cliente = new Cliente('123', 'João', 'joão@email.com')
|
|
342
|
+
cliente.atualizarNome('João Silva')
|
|
343
|
+
|
|
344
|
+
expect(cliente.getNome()).toBe('João Silva')
|
|
345
|
+
})
|
|
346
|
+
})
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## 7. Refatoração para DDD
|
|
352
|
+
|
|
353
|
+
### 7.1 Sinais de Problemas
|
|
354
|
+
- **Anemic Domain Model:** Entidades sem comportamento
|
|
355
|
+
- **God Objects:** Entidades com muitas responsabilidades
|
|
356
|
+
- **Primitives Obsession:** Uso excessivo de tipos primitivos
|
|
357
|
+
- **Duplicate Logic:** Lógica duplicada em vários lugares
|
|
358
|
+
|
|
359
|
+
### 7.2 Passos de Refatoração
|
|
360
|
+
1. **Identificar entidades:** Encontrar objetos com identidade
|
|
361
|
+
2. **Extrair Value Objects:** Criar VOs para conceitos do domínio
|
|
362
|
+
3. **Definir agregados:** Agrupar entidades relacionadas
|
|
363
|
+
4. **Implementar repositories:** Abstrair persistência
|
|
364
|
+
5. **Criar domain services:** Extrair lógica complexa
|
|
365
|
+
|
|
366
|
+
### 7.3 Exemplo de Refatoração
|
|
367
|
+
```typescript
|
|
368
|
+
// Antes - Anemic Domain Model
|
|
369
|
+
class Cliente {
|
|
370
|
+
id: string
|
|
371
|
+
nome: string
|
|
372
|
+
email: string
|
|
373
|
+
cpf: string
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// ClienteService com toda lógica
|
|
377
|
+
class ClienteService {
|
|
378
|
+
validarCPF(cpf: string): boolean { /* ... */ }
|
|
379
|
+
atualizarEmail(cliente: Cliente, email: string): void { /* ... */ }
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
// Depois - Rich Domain Model
|
|
383
|
+
class Cliente {
|
|
384
|
+
constructor(
|
|
385
|
+
private readonly id: string,
|
|
386
|
+
private nome: string,
|
|
387
|
+
private email: Email,
|
|
388
|
+
private cpf: CPF
|
|
389
|
+
) {}
|
|
390
|
+
|
|
391
|
+
atualizarEmail(email: string): void {
|
|
392
|
+
this.email = new Email(email)
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
validarCPF(): boolean {
|
|
396
|
+
return this.cpf.isValido()
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
## 8. Padrões e Anti-padrões
|
|
404
|
+
|
|
405
|
+
### 8.1 Padrões Recomendados
|
|
406
|
+
- **Specification Pattern:** Para regras complexas
|
|
407
|
+
- **Strategy Pattern:** Para algoritmos variáveis
|
|
408
|
+
- **Factory Pattern:** Para criação de objetos complexos
|
|
409
|
+
- **Observer Pattern:** Para eventos de domínio
|
|
410
|
+
|
|
411
|
+
### 8.2 Anti-padrões a Evitar
|
|
412
|
+
- **Anemic Domain Model:** Entidades sem comportamento
|
|
413
|
+
- **Big Ball of Mud:** Código sem estrutura clara
|
|
414
|
+
- **Spaghetti Code:** Lógica embaralhada
|
|
415
|
+
- **Copy-Paste Programming:** Duplicação de código
|
|
416
|
+
|
|
417
|
+
### 8.3 Exemplo de Specification Pattern
|
|
418
|
+
```typescript
|
|
419
|
+
interface Specification<T> {
|
|
420
|
+
isSatisfiedBy(candidate: T): boolean
|
|
421
|
+
and(other: Specification<T>): Specification<T>
|
|
422
|
+
or(other: Specification<T>): Specification<T>
|
|
423
|
+
not(): Specification<T>
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
class ClienteAtivoSpecification implements Specification<Cliente> {
|
|
427
|
+
isSatisfiedBy(cliente: Cliente): boolean {
|
|
428
|
+
return cliente.getStatus() === StatusCliente.ATIVO
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
and(other: Specification<Cliente>): Specification<Cliente> {
|
|
432
|
+
return new AndSpecification(this, other)
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
class ClienteComLimiteCreditoSpecification implements Specification<Cliente> {
|
|
437
|
+
constructor(private limiteMinimo: Money) {}
|
|
438
|
+
|
|
439
|
+
isSatisfiedBy(cliente: Cliente): boolean {
|
|
440
|
+
return cliente.getLimiteCredite().isGreaterThan(this.limiteMinimo)
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
// Uso
|
|
445
|
+
const clientesAtivosComLimite = clientes.filter(cliente =>
|
|
446
|
+
new ClienteAtivoSpecification()
|
|
447
|
+
.and(new ClienteComLimiteCreditoSpecification(new Money(1000)))
|
|
448
|
+
.isSatisfiedBy(cliente)
|
|
449
|
+
)
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
---
|
|
453
|
+
|
|
454
|
+
## 9. Ferramentas e Frameworks
|
|
455
|
+
|
|
456
|
+
### 9.1 Linguagens e Frameworks
|
|
457
|
+
- **Java:** Spring Boot, Jakarta EE
|
|
458
|
+
- **TypeScript:** NestJS, TypeORM
|
|
459
|
+
- **C#:** .NET Core, Entity Framework
|
|
460
|
+
- **Python:** Django, SQLAlchemy
|
|
461
|
+
|
|
462
|
+
### 9.2 Ferramentas de Modelagem
|
|
463
|
+
- **PlantUML:** Para diagramas de classes
|
|
464
|
+
- **Mermaid:** Para diagramas simples
|
|
465
|
+
- **Draw.io:** Para diagramas visuais
|
|
466
|
+
- **Lucidchart:** Para diagramas colaborativos
|
|
467
|
+
|
|
468
|
+
### 9.3 Bibliotecas Úteis
|
|
469
|
+
- **Event Sourcing:** Para eventos de domínio
|
|
470
|
+
- **CQRS:** Para separação de leitura/escrita
|
|
471
|
+
- **Saga:** Para transações distribuídas
|
|
472
|
+
- **Event Store:** Para armazenamento de eventos
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
476
|
+
## 10. Melhores Práticas
|
|
477
|
+
|
|
478
|
+
### 10.1 Design de Entidades
|
|
479
|
+
- **ID imutável:** Nunca muda o ID
|
|
480
|
+
- **Construtores simples:** Facilitam testes
|
|
481
|
+
- **Validações no construtor:** Garantem consistência
|
|
482
|
+
- **Métodos pequenos:** Um método, uma responsabilidade
|
|
483
|
+
|
|
484
|
+
### 10.2 Design de Value Objects
|
|
485
|
+
- **Imutabilidade:** Use readonly/final
|
|
486
|
+
- **Validação:** Valide no construtor
|
|
487
|
+
- **Equals/HashCode:** Baseados em valores
|
|
488
|
+
- **Sem副作用:** Não alteram estado externo
|
|
489
|
+
|
|
490
|
+
### 10.3 Design de Agregados
|
|
491
|
+
- **Raiz clara:** Uma entidade principal
|
|
492
|
+
- **Fronteiras firmes:** Não vaze estado
|
|
493
|
+
- **Consistência:** Mantenha invariantes
|
|
494
|
+
- **Tamanho adequado:** Nem grande, nem pequeno
|
|
495
|
+
|
|
496
|
+
### 10.4 Design de Services
|
|
497
|
+
- **Sem estado:** Não guarde estado entre chamadas
|
|
498
|
+
- **Nome descritivo:** Reflita o propósito
|
|
499
|
+
- **Interface clara:** Defina contrato explicitamente
|
|
500
|
+
- **Testabilidade:** Facilite testes unitários
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
## 11. Métricas e Qualidade
|
|
505
|
+
|
|
506
|
+
### 11.1 Métricas de Design
|
|
507
|
+
- **Complexidade ciclomática:** Mede complexidade do código
|
|
508
|
+
- **Acoplamento:** Nível de dependência entre classes
|
|
509
|
+
- **Coesão:** Quanto uma classe foca em sua responsabilidade
|
|
510
|
+
- **Testabilidade:** Facilidade de testar o código
|
|
511
|
+
|
|
512
|
+
### 11.2 Métricas de Domínio
|
|
513
|
+
- **Número de entidades:** Complexidade do domínio
|
|
514
|
+
- **Profundidade de agregados:** Tamanho dos agregados
|
|
515
|
+
- **Número de bounded contexts:** Complexidade da arquitetura
|
|
516
|
+
- **Taxa de eventos:** Frequência de eventos de domínio
|
|
517
|
+
|
|
518
|
+
### 11.3 Qualidade de Código
|
|
519
|
+
- **Coverage:** Percentual de código testado
|
|
520
|
+
- **Code smells:** Problemas de design
|
|
521
|
+
- **Technical debt:** Dívida técnica acumulada
|
|
522
|
+
- **Maintainability index:** Facilidade de manutenção
|
|
523
|
+
|
|
524
|
+
---
|
|
525
|
+
|
|
526
|
+
## 12. Evolução do Modelo
|
|
527
|
+
|
|
528
|
+
### 12.1 Sinais de Evolução Necessária
|
|
529
|
+
- **Dificuldade de mudança:** Código difícil de modificar
|
|
530
|
+
- **Bugs frequentes:** Problemas recorrentes
|
|
531
|
+
- **Performance ruim:** Sistema lento
|
|
532
|
+
- **Complexidade alta:** Dificuldade de entendimento
|
|
533
|
+
|
|
534
|
+
### 12.2 Estratégias de Evolução
|
|
535
|
+
- **Refatoração incremental:** Mudanças pequenas e contínuas
|
|
536
|
+
- **Strangler Fig:** Substituição gradual de código
|
|
537
|
+
- **Branch by Abstraction:** Isolar mudanças
|
|
538
|
+
- **Parallel Run:** Executar velho e novo lado a lado
|
|
539
|
+
|
|
540
|
+
### 12.3 Gerenciamento de Mudanças
|
|
541
|
+
- **Versionamento:** Controle de versões do modelo
|
|
542
|
+
- **Migração:** Scripts de migração de dados
|
|
543
|
+
- **Backward compatibility:** Suporte a versões antigas
|
|
544
|
+
- **Communication:** Comunicar mudanças para equipe
|
|
545
|
+
|
|
546
|
+
---
|
|
547
|
+
|
|
548
|
+
## 13. Casos de Uso Reais
|
|
549
|
+
|
|
550
|
+
### 13.1 E-commerce
|
|
551
|
+
- **Entidades:** Cliente, Produto, Pedido, Carrinho
|
|
552
|
+
- **Value Objects:** Dinheiro, Endereço, Email
|
|
553
|
+
- **Agregados:** Pedido, Carrinho
|
|
554
|
+
- **Services:** CalculadoraFrete, ProcessadorPagamento
|
|
555
|
+
|
|
556
|
+
### 13.2 Sistema Bancário
|
|
557
|
+
- **Entidades:** Conta, Cliente, Transação
|
|
558
|
+
- **Value Objects:** Dinheiro, CPF, Agência
|
|
559
|
+
- **Agregados:** Conta
|
|
560
|
+
- **Services:** ValidadorTransacao, CalculadorJuros
|
|
561
|
+
|
|
562
|
+
### 13.3 Sistema de Saúde
|
|
563
|
+
- **Entidades:** Paciente, Médico, Consulta
|
|
564
|
+
- **Value Objects:** CRM, Endereço, Telefone
|
|
565
|
+
- **Agregados:** Prontuário
|
|
566
|
+
- **Services:** AgendamentoService, NotificacaoService
|
|
567
|
+
|
|
568
|
+
---
|
|
569
|
+
|
|
570
|
+
## 14. Conclusão
|
|
571
|
+
|
|
572
|
+
Domain-Driven Design é uma abordagem poderosa para desenvolvimento de software complexo. Focar no domínio, usar linguagem ubíqua e aplicar os padrões corretos resulta em software mais alinhado com o negócio, manutenível e de qualidade.
|
|
573
|
+
|
|
574
|
+
A chave para o sucesso é a colaboração contínua entre desenvolvedores e especialistas do domínio, a evolução incremental do modelo e a busca constante por simplicidade e clareza.
|
|
575
|
+
|
|
576
|
+
---
|
|
577
|
+
|
|
578
|
+
## 15. Referências
|
|
579
|
+
|
|
580
|
+
### 15.1 Livros
|
|
581
|
+
- **Domain-Driven Design** - Eric Evans
|
|
582
|
+
- **Implementing Domain-Driven Design** - Vaughn Vernon
|
|
583
|
+
- **DDD Distilled** - Vaughn Vernon
|
|
584
|
+
- **Clean Architecture** - Robert C. Martin
|
|
585
|
+
|
|
586
|
+
### 15.2 Artigos e Blogs
|
|
587
|
+
- **DDD Community** - https://dddcommunity.org/
|
|
588
|
+
- **Martin Fowler** - https://martinfowler.com/
|
|
589
|
+
- **Vaughn Vernon** - https://vaughnvernon.co/
|
|
590
|
+
|
|
591
|
+
### 15.3 Ferramentas
|
|
592
|
+
- **PlantUML** - https://plantuml.com/
|
|
593
|
+
- **Mermaid** - https://mermaid-js.github.io/
|
|
594
|
+
- **Draw.io** - https://app.diagrams.net/
|
|
595
|
+
|
|
596
|
+
---
|
|
597
|
+
|
|
598
|
+
**Versão:** 1.0
|
|
599
|
+
**Atualizado:** 2026-01-29
|
|
600
|
+
**Autor:** Domain Architect
|
|
601
|
+
**Status:** Guia Completo
|