@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
package/dist/content/skills/specialist-analise-testes/resources/checklists/testing-validation.md
ADDED
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
# Checklist de Validação de Testes
|
|
2
|
+
|
|
3
|
+
## Visão Geral
|
|
4
|
+
|
|
5
|
+
Checklist automatizado para validação da qualidade e completude da estratégia de testes, garantindo que todos os critérios de qualidade sejam atendidos antes do avanço para a próxima fase.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Checklist Principal de Qualidade
|
|
10
|
+
|
|
11
|
+
### ✅ Seção 1: Estratégia de Testes
|
|
12
|
+
|
|
13
|
+
| Item | Critério | Status | Observações |
|
|
14
|
+
|------|----------|--------|-------------|
|
|
15
|
+
| **1.1** | Pirâmide 70/20/10 definida e justificada | ⬜ | Percentuais documentados com base em risco e complexidade |
|
|
16
|
+
| **1.2** | Ferramentas selecionadas por camada | ⬜ | Unitários, Integração, E2E, Performance, Segurança |
|
|
17
|
+
| **1.3** | Ambiente de testes configurado | ⬜ | Isolado, replicável, com dados de teste |
|
|
18
|
+
| **1.4** | Pipeline CI/CD configurado | ⬜ | Gates automáticos, paralelização, notificações |
|
|
19
|
+
| **1.5** | Métricas de qualidade definidas | ⬜ | Coverage, pass rate, performance, flaky rate |
|
|
20
|
+
|
|
21
|
+
### ✅ Seção 2: Cobertura de Requisitos
|
|
22
|
+
|
|
23
|
+
| Item | Critério | Status | Observações |
|
|
24
|
+
|------|----------|--------|-------------|
|
|
25
|
+
| **2.1** | 100% requisitos críticos cobertos | ⬜ | RFs com prioridade Alta/Crítica |
|
|
26
|
+
| **2.2** | Matriz de rastreabilidade completa | ⬜ | Requisitos → Testes → Código |
|
|
27
|
+
| **2.3** | Requisitos não funcionais testados | ⬜ | Performance, segurança, disponibilidade |
|
|
28
|
+
| **2.4** | Edge cases identificados e testados | ⬜ | Limites, valores extremos, erro handling |
|
|
29
|
+
| **2.5** | Casos de erro validados | ⬜ | Negative paths, exception handling |
|
|
30
|
+
|
|
31
|
+
### ✅ Seção 3: Qualidade dos Testes
|
|
32
|
+
|
|
33
|
+
| Item | Critério | Status | Observações |
|
|
34
|
+
|------|----------|--------|-------------|
|
|
35
|
+
| **3.1** | Testes unitários isolados | ⬜ | Sem dependências externas, mocks adequados |
|
|
36
|
+
| **3.2** | Testes determinísticos | ⬜ | Mesmo input = mesmo output, sem flaky |
|
|
37
|
+
| **3.3** | Nomes descritivos e documentados | ⬜ | O que testa, por quê, como |
|
|
38
|
+
| **3.4** | AAA pattern (Arrange, Act, Assert) | ⬜ | Estrutura clara e consistente |
|
|
39
|
+
| **3.5** | Coverage mínimo atingido | ⬜ | ≥80% geral, ≥90% regras negócio |
|
|
40
|
+
|
|
41
|
+
### ✅ Seção 4: Automação e Performance
|
|
42
|
+
|
|
43
|
+
| Item | Critério | Status | Observações |
|
|
44
|
+
|------|----------|--------|-------------|
|
|
45
|
+
| **4.1** | Taxa de automação ≥ 90% | ⬜ | Testes manuais apenas para exploração |
|
|
46
|
+
| **4.2** | Tempo de execução otimizado | ⬜ | Suite completa < 10 minutos |
|
|
47
|
+
| **4.3** | Paralelização configurada | ⬜ | Aproveitamento de recursos |
|
|
48
|
+
| **4.4** | Testes de performance implementados | ⬜ | Load, stress, spike tests |
|
|
49
|
+
| **4.5** | Monitoramento contínuo configurado | ⬜ | Dashboards, alertas, tendências |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Checklist de Segurança
|
|
54
|
+
|
|
55
|
+
### 🔒 Seção 5: Testes de Segurança
|
|
56
|
+
|
|
57
|
+
| Item | Critério | Status | Observações |
|
|
58
|
+
|------|----------|--------|-------------|
|
|
59
|
+
| **5.1** | OWASP Top 10 coberto | ⬜ | SQL Injection, XSS, CSRF, etc |
|
|
60
|
+
| **5.2** | Autenticação e autorização testadas | ⬜ | RBAC, JWT, session management |
|
|
61
|
+
| **5.3** | Validação de input implementada | ⬜ | Sanitização, encoding, whitelist |
|
|
62
|
+
| **5.4** | Testes de penetração automatizados | ⬜ | Scanner integrado ao pipeline |
|
|
63
|
+
| **5.5** | Dados sensíveis protegidos | ⬜ | Criptografia, masking, compliance |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Checklist de Performance
|
|
68
|
+
|
|
69
|
+
### ⚡ Seção 6: Performance e Escalabilidade
|
|
70
|
+
|
|
71
|
+
| Item | Critério | Status | Observações |
|
|
72
|
+
|------|----------|--------|-------------|
|
|
73
|
+
| **6.1** | Benchmarks de performance definidos | ⬜ | SLOs, SLIs, thresholds |
|
|
74
|
+
| **6.2** | Testes de carga implementados | ⬜ | Volume realista, sustained load |
|
|
75
|
+
| **6.3** | Testes de estresse executados | ⬜ | Limites identificados, degradation |
|
|
76
|
+
| **6.4** | Monitoramento em produção | ⬜ | APM, metrics, tracing |
|
|
77
|
+
| **6.5** | Performance regression detectada | ⬜ | Baselines, alertas, auto-scaling |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Checklist de Documentação
|
|
82
|
+
|
|
83
|
+
### 📚 Seção 7: Documentação e Comunicação
|
|
84
|
+
|
|
85
|
+
| Item | Critério | Status | Observações |
|
|
86
|
+
|------|----------|--------|-------------|
|
|
87
|
+
| **7.1** | Plano de testes documentado | ⬜ | Estrutura, estratégia, responsabilidades |
|
|
88
|
+
| **7.2** | Guia de execução disponível | ⬜ | Setup, comandos, troubleshooting |
|
|
89
|
+
| **7.3** | Relatórios de teste gerados | ⬜ | Execução, cobertura, tendências |
|
|
90
|
+
| **7.4** | Conhecimento compartilhado | ⬜ | Wiki, treinamentos, boas práticas |
|
|
91
|
+
| **7.5** | Lições aprendidas documentadas | ⬜ | Retrospectivas, melhorias |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Cálculo de Score de Qualidade
|
|
96
|
+
|
|
97
|
+
### Fórmula
|
|
98
|
+
```
|
|
99
|
+
Score Total = (Σ Itens Marcados / Σ Itens Totais) × 100
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Categorias de Score
|
|
103
|
+
- **90-100:** 🟢 **Excelente** - Ready para produção
|
|
104
|
+
- **75-89:** 🟡 **Bom** - Ready com melhorias planejadas
|
|
105
|
+
- **60-74:** 🟠 **Regular** - Requer ajustes antes do release
|
|
106
|
+
- **< 60:** 🔴 **Crítico** - Bloqueia release, ação imediata necessária
|
|
107
|
+
|
|
108
|
+
### Pesos por Categoria
|
|
109
|
+
| Categoria | Peso | Descrição |
|
|
110
|
+
|-----------|------|-----------|
|
|
111
|
+
| Estratégia | 25% | Fundamentação e planejamento |
|
|
112
|
+
| Cobertura | 30% | Completude dos testes |
|
|
113
|
+
| Qualidade | 25% | Qualidade técnica dos testes |
|
|
114
|
+
| Automação | 20% | Eficiência e performance |
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Validação Automática (MCP Functions)
|
|
119
|
+
|
|
120
|
+
### Função: `validate_testing_strategy()`
|
|
121
|
+
|
|
122
|
+
```python
|
|
123
|
+
async def validate_testing_strategy(project_path: str) -> Dict:
|
|
124
|
+
"""
|
|
125
|
+
Valida automaticamente a estratégia de testes baseada no checklist
|
|
126
|
+
|
|
127
|
+
Args:
|
|
128
|
+
project_path: Caminho do projeto
|
|
129
|
+
|
|
130
|
+
Returns:
|
|
131
|
+
Dict com score, detalhes e recomendações
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
# 1. Verificar existência dos arquivos obrigatórios
|
|
135
|
+
required_files = [
|
|
136
|
+
'docs/09-testes/plano-testes.md',
|
|
137
|
+
'docs/09-testes/matriz-rastreabilidade.md'
|
|
138
|
+
]
|
|
139
|
+
|
|
140
|
+
# 2. Analisar cobertura de requisitos
|
|
141
|
+
coverage_analysis = await analyze_requirement_coverage(project_path)
|
|
142
|
+
|
|
143
|
+
# 3. Validar qualidade dos testes
|
|
144
|
+
quality_metrics = await analyze_test_quality(project_path)
|
|
145
|
+
|
|
146
|
+
# 4. Verificar automação
|
|
147
|
+
automation_score = await check_automation_level(project_path)
|
|
148
|
+
|
|
149
|
+
# 5. Calcular score final
|
|
150
|
+
final_score = calculate_weighted_score([
|
|
151
|
+
(coverage_analysis['score'], 0.30),
|
|
152
|
+
(quality_metrics['score'], 0.25),
|
|
153
|
+
(automation_score['score'], 0.20),
|
|
154
|
+
(strategy_score, 0.25)
|
|
155
|
+
])
|
|
156
|
+
|
|
157
|
+
return {
|
|
158
|
+
'score': final_score,
|
|
159
|
+
'status': get_status_from_score(final_score),
|
|
160
|
+
'details': {
|
|
161
|
+
'coverage': coverage_analysis,
|
|
162
|
+
'quality': quality_metrics,
|
|
163
|
+
'automation': automation_score,
|
|
164
|
+
'strategy': strategy_score
|
|
165
|
+
},
|
|
166
|
+
'recommendations': generate_recommendations(final_score),
|
|
167
|
+
'next_steps': get_next_steps(final_score)
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Função: `generate_quality_report()`
|
|
172
|
+
|
|
173
|
+
```python
|
|
174
|
+
async def generate_quality_report(project_path: str) -> str:
|
|
175
|
+
"""
|
|
176
|
+
Gera relatório detalhado de qualidade dos testes
|
|
177
|
+
|
|
178
|
+
Args:
|
|
179
|
+
project_path: Caminho do projeto
|
|
180
|
+
|
|
181
|
+
Returns:
|
|
182
|
+
String com relatório em markdown
|
|
183
|
+
"""
|
|
184
|
+
|
|
185
|
+
validation = await validate_testing_strategy(project_path)
|
|
186
|
+
|
|
187
|
+
report = f"""
|
|
188
|
+
# Relatório de Qualidade de Testes
|
|
189
|
+
|
|
190
|
+
## Score Geral: {validation['score']}/100 ({validation['status']})
|
|
191
|
+
|
|
192
|
+
## Detalhes por Categoria
|
|
193
|
+
|
|
194
|
+
### Cobertura de Requisitos: {validation['details']['coverage']['score']}/100
|
|
195
|
+
- Requisitos cobertos: {validation['details']['coverage']['covered']}/{validation['details']['coverage']['total']}
|
|
196
|
+
- Gaps identificados: {len(validation['details']['coverage']['gaps'])}
|
|
197
|
+
|
|
198
|
+
### Qualidade dos Testes: {validation['details']['quality']['score']}/100
|
|
199
|
+
- Coverage de código: {validation['details']['quality']['code_coverage']}%
|
|
200
|
+
- Taxa de automação: {validation['details']['quality']['automation_rate']}%
|
|
201
|
+
- Testes flaky: {validation['details']['quality']['flaky_rate']}%
|
|
202
|
+
|
|
203
|
+
### Automação: {validation['details']['automation']['score']}/100
|
|
204
|
+
- Pipeline configurado: {'✅' if validation['details']['automation']['pipeline'] else '❌'}
|
|
205
|
+
- Tempo de execução: {validation['details']['automation']['execution_time']}min
|
|
206
|
+
|
|
207
|
+
## Recomendações
|
|
208
|
+
|
|
209
|
+
{chr(10).join(f"- {rec}" for rec in validation['recommendations'])}
|
|
210
|
+
|
|
211
|
+
## Próximos Passos
|
|
212
|
+
|
|
213
|
+
{chr(10).join(f"1. {step}" for step in validation['next_steps'])}
|
|
214
|
+
"""
|
|
215
|
+
|
|
216
|
+
return report
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Uso do Checklist
|
|
222
|
+
|
|
223
|
+
### Para Desenvolvedores
|
|
224
|
+
1. **Executar validação** antes de cada PR
|
|
225
|
+
2. **Atualizar status** dos itens concluídos
|
|
226
|
+
3. **Documentar gaps** e planos de ação
|
|
227
|
+
4. **Monitorar métricas** continuamente
|
|
228
|
+
|
|
229
|
+
### Para QA Engineers
|
|
230
|
+
1. **Revisar criticamente** cada item
|
|
231
|
+
2. **Validar automações** e configurações
|
|
232
|
+
3. **Gerar relatórios** para stakeholders
|
|
233
|
+
4. **Coordenar melhorias** baseadas em gaps
|
|
234
|
+
|
|
235
|
+
### Para Managers
|
|
236
|
+
1. **Avaliar score** para decisões de release
|
|
237
|
+
2. **Alocar recursos** para melhorias críticas
|
|
238
|
+
3. **Monitorar tendências** de qualidade
|
|
239
|
+
4. **Definir metas** baseadas em benchmarks
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## Integração com Pipeline
|
|
244
|
+
|
|
245
|
+
### GitHub Actions Example
|
|
246
|
+
|
|
247
|
+
```yaml
|
|
248
|
+
name: Testing Quality Check
|
|
249
|
+
on: [pull_request]
|
|
250
|
+
|
|
251
|
+
jobs:
|
|
252
|
+
quality-check:
|
|
253
|
+
runs-on: ubuntu-latest
|
|
254
|
+
steps:
|
|
255
|
+
- uses: actions/checkout@v2
|
|
256
|
+
|
|
257
|
+
- name: Validate Testing Strategy
|
|
258
|
+
run: |
|
|
259
|
+
python -m mcp_functions.validate_testing_strategy \
|
|
260
|
+
--project-path . \
|
|
261
|
+
--output-format json \
|
|
262
|
+
--fail-threshold 75
|
|
263
|
+
|
|
264
|
+
- name: Generate Quality Report
|
|
265
|
+
run: |
|
|
266
|
+
python -m mcp_functions.generate_quality_report \
|
|
267
|
+
--project-path . \
|
|
268
|
+
--output-file quality-report.md
|
|
269
|
+
|
|
270
|
+
- name: Upload Report
|
|
271
|
+
uses: actions/upload-artifact@v2
|
|
272
|
+
with:
|
|
273
|
+
name: quality-report
|
|
274
|
+
path: quality-report.md
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Frequência de Validação
|
|
280
|
+
|
|
281
|
+
| Frequência | Responsável | Foco |
|
|
282
|
+
|------------|-------------|------|
|
|
283
|
+
| **Contínuo** | Pipeline CI/CD | Validação automática |
|
|
284
|
+
| **Diário** | QA Lead | Métricas e tendências |
|
|
285
|
+
| **Semanal** | Team | Revisão de gaps |
|
|
286
|
+
| **Mensal** | Management | Score e estratégia |
|
|
287
|
+
| **Trimestral** | Stakeholders | Benchmarks e metas |
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Critérios de Avanço
|
|
292
|
+
|
|
293
|
+
### Para Avançar para Próxima Fase:
|
|
294
|
+
- **Score mínimo:** 75 pontos
|
|
295
|
+
- **Sem itens críticos** pendentes
|
|
296
|
+
- **Pipeline estável** por 3 dias consecutivos
|
|
297
|
+
- **Documentação completa** e atualizada
|
|
298
|
+
- **Equipe treinada** nos processos
|
|
299
|
+
|
|
300
|
+
### Para Release para Produção:
|
|
301
|
+
- **Score mínimo:** 85 pontos
|
|
302
|
+
- **Todos os testes passando** por 24h
|
|
303
|
+
- **Performance dentro** dos SLOs
|
|
304
|
+
- **Security scan** sem vulnerabilidades críticas
|
|
305
|
+
- **Stakeholder approval** documentado
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
# Exemplos Práticos de Testes
|
|
2
|
+
|
|
3
|
+
## Visão Geral
|
|
4
|
+
|
|
5
|
+
Este documento contém exemplos reais e práticos de casos de teste, estratégias e implementações para diferentes tipos de aplicações e cenários.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Exemplo 1: Sistema de E-commerce
|
|
10
|
+
|
|
11
|
+
### Contexto
|
|
12
|
+
- **Aplicação:** Plataforma de e-commerce
|
|
13
|
+
- **Stack:** React + Node.js + PostgreSQL
|
|
14
|
+
- **Métricas:** 1000 transações/dia, 99.9% uptime
|
|
15
|
+
|
|
16
|
+
### Casos de Teste Críticos
|
|
17
|
+
|
|
18
|
+
#### TC001 - Login de Usuário (RF001)
|
|
19
|
+
|
|
20
|
+
**Input:**
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"email": "cliente@exemplo.com",
|
|
24
|
+
"password": "SenhaValida123!"
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Output Esperado:**
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"status": 200,
|
|
32
|
+
"data": {
|
|
33
|
+
"user": {
|
|
34
|
+
"id": "usr_123",
|
|
35
|
+
"name": "João Silva",
|
|
36
|
+
"email": "cliente@exemplo.com"
|
|
37
|
+
},
|
|
38
|
+
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
|
|
39
|
+
"expiresIn": 3600
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Teste Unitário (Jest):**
|
|
45
|
+
```javascript
|
|
46
|
+
describe('User Login', () => {
|
|
47
|
+
test('should login with valid credentials', async () => {
|
|
48
|
+
const mockUser = { id: 'usr_123', email: 'cliente@exemplo.com' };
|
|
49
|
+
jest.spyOn(userService, 'findByEmail').mockResolvedValue(mockUser);
|
|
50
|
+
jest.spyOn(bcrypt, 'compare').mockResolvedValue(true);
|
|
51
|
+
|
|
52
|
+
const result = await authService.login('cliente@exemplo.com', 'SenhaValida123!');
|
|
53
|
+
|
|
54
|
+
expect(result).toHaveProperty('token');
|
|
55
|
+
expect(result.user.email).toBe('cliente@exemplo.com');
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### TC002 - Falha no Login (RF001)
|
|
61
|
+
|
|
62
|
+
**Input:**
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"email": "cliente@exemplo.com",
|
|
66
|
+
"password": "senhaIncorreta"
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Output Esperado:**
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"status": 401,
|
|
74
|
+
"error": {
|
|
75
|
+
"code": "INVALID_CREDENTIALS",
|
|
76
|
+
"message": "Email ou senha incorretos"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### TC003 - Adicionar Item ao Carrinho (RF002)
|
|
82
|
+
|
|
83
|
+
**Input:**
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"productId": "prod_456",
|
|
87
|
+
"quantity": 2,
|
|
88
|
+
"variant": {
|
|
89
|
+
"size": "M",
|
|
90
|
+
"color": "azul"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Output Esperado:**
|
|
96
|
+
```json
|
|
97
|
+
{
|
|
98
|
+
"status": 200,
|
|
99
|
+
"data": {
|
|
100
|
+
"cartId": "cart_789",
|
|
101
|
+
"items": [
|
|
102
|
+
{
|
|
103
|
+
"productId": "prod_456",
|
|
104
|
+
"quantity": 2,
|
|
105
|
+
"unitPrice": 89.90,
|
|
106
|
+
"totalPrice": 179.80
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"total": 179.80
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Teste de Performance (k6)
|
|
115
|
+
|
|
116
|
+
```javascript
|
|
117
|
+
import http from 'k6/http';
|
|
118
|
+
import { check, sleep } from 'k6';
|
|
119
|
+
|
|
120
|
+
export let options = {
|
|
121
|
+
stages: [
|
|
122
|
+
{ duration: '2m', target: 100 }, // Ramp up
|
|
123
|
+
{ duration: '5m', target: 100 }, // Stay
|
|
124
|
+
{ duration: '2m', target: 0 }, // Ramp down
|
|
125
|
+
],
|
|
126
|
+
thresholds: {
|
|
127
|
+
http_req_duration: ['p(95)<200'], // 95% das requests < 200ms
|
|
128
|
+
http_req_failed: ['rate<0.1'], // < 10% de falhas
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export default function () {
|
|
133
|
+
let response = http.post('https://api.exemplo.com/login', {
|
|
134
|
+
email: 'test@example.com',
|
|
135
|
+
password: 'test123'
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
check(response, {
|
|
139
|
+
'status is 200': (r) => r.status === 200,
|
|
140
|
+
'response time < 200ms': (r) => r.timings.duration < 200,
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
sleep(1);
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Exemplo 2: API de Microserviços
|
|
150
|
+
|
|
151
|
+
### Contexto
|
|
152
|
+
- **Aplicação:** API Gateway com 5 microserviços
|
|
153
|
+
- **Stack:** Java Spring Boot + Docker + Kubernetes
|
|
154
|
+
- **Métricas:** 10k requests/min, < 100ms latency
|
|
155
|
+
|
|
156
|
+
### Testes de Integração
|
|
157
|
+
|
|
158
|
+
#### TC004 - Ordem Completa (RF003)
|
|
159
|
+
|
|
160
|
+
**Cenário:** Fluxo completo de pedido → pagamento → notificação
|
|
161
|
+
|
|
162
|
+
```yaml
|
|
163
|
+
# docker-compose.test.yml
|
|
164
|
+
version: '3.8'
|
|
165
|
+
services:
|
|
166
|
+
api-gateway:
|
|
167
|
+
image: api-gateway:test
|
|
168
|
+
ports:
|
|
169
|
+
- "8080:8080"
|
|
170
|
+
environment:
|
|
171
|
+
- ORDER_SERVICE_URL=http://order-service:8081
|
|
172
|
+
- PAYMENT_SERVICE_URL=http://payment-service:8082
|
|
173
|
+
- NOTIFICATION_SERVICE_URL=http://notification-service:8083
|
|
174
|
+
|
|
175
|
+
order-service:
|
|
176
|
+
image: order-service:test
|
|
177
|
+
environment:
|
|
178
|
+
- DB_URL=jdbc:postgresql://postgres:5432/testdb
|
|
179
|
+
|
|
180
|
+
payment-service:
|
|
181
|
+
image: payment-service:test
|
|
182
|
+
environment:
|
|
183
|
+
- PAYMENT_GATEWAY_URL=http://mock-gateway:8084
|
|
184
|
+
|
|
185
|
+
postgres:
|
|
186
|
+
image: postgres:13
|
|
187
|
+
environment:
|
|
188
|
+
- POSTGRES_DB=testdb
|
|
189
|
+
- POSTGRES_USER=test
|
|
190
|
+
- POSTGRES_PASSWORD=test
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Teste de Integração (Spring Boot Test):**
|
|
194
|
+
```java
|
|
195
|
+
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
|
196
|
+
@TestPropertySource(locations = "classpath:application-test.properties")
|
|
197
|
+
class OrderIntegrationTest {
|
|
198
|
+
|
|
199
|
+
@Autowired
|
|
200
|
+
private TestRestTemplate restTemplate;
|
|
201
|
+
|
|
202
|
+
@Test
|
|
203
|
+
@Sql(scripts = "/test-data.sql")
|
|
204
|
+
void shouldProcessCompleteOrderSuccessfully() {
|
|
205
|
+
// Arrange
|
|
206
|
+
OrderRequest request = OrderRequest.builder()
|
|
207
|
+
.customerId("cust_123")
|
|
208
|
+
.items(Arrays.asList(
|
|
209
|
+
OrderItem.builder()
|
|
210
|
+
.productId("prod_456")
|
|
211
|
+
.quantity(2)
|
|
212
|
+
.price(89.90)
|
|
213
|
+
.build()
|
|
214
|
+
))
|
|
215
|
+
.paymentMethod(PaymentMethod.CREDIT_CARD)
|
|
216
|
+
.build();
|
|
217
|
+
|
|
218
|
+
// Act
|
|
219
|
+
ResponseEntity<OrderResponse> response = restTemplate.postForEntity(
|
|
220
|
+
"/api/orders", request, OrderResponse.class);
|
|
221
|
+
|
|
222
|
+
// Assert
|
|
223
|
+
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED);
|
|
224
|
+
assertThat(response.getBody().getStatus()).isEqualTo(OrderStatus.CONFIRMED);
|
|
225
|
+
assertThat(response.getBody().getPaymentId()).isNotNull();
|
|
226
|
+
|
|
227
|
+
// Verify notification was sent
|
|
228
|
+
verify(notificationService).sendOrderConfirmation(any(Order.class));
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Exemplo 3: Aplicação Mobile React Native
|
|
236
|
+
|
|
237
|
+
### Contexto
|
|
238
|
+
- **Aplicação:** App de delivery
|
|
239
|
+
- **Stack:** React Native + Firebase + Redux
|
|
240
|
+
- **Métricas:** 50k usuários ativos, 4.8★ rating
|
|
241
|
+
|
|
242
|
+
### Testes E2E (Detox)
|
|
243
|
+
|
|
244
|
+
```javascript
|
|
245
|
+
// e2e/OrderFlow.e2e.js
|
|
246
|
+
describe('Order Flow', () => {
|
|
247
|
+
beforeAll(async () => {
|
|
248
|
+
await device.launchApp();
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
beforeEach(async () => {
|
|
252
|
+
await device.reloadReactNative();
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
it('should complete order flow successfully', async () => {
|
|
256
|
+
// Login
|
|
257
|
+
await element(by.id('email-input')).typeText('user@test.com');
|
|
258
|
+
await element(by.id('password-input')).typeText('password123');
|
|
259
|
+
await element(by.id('login-button')).tap();
|
|
260
|
+
|
|
261
|
+
// Verify home screen
|
|
262
|
+
await expect(element(by.id('home-screen'))).toBeVisible();
|
|
263
|
+
|
|
264
|
+
// Select restaurant
|
|
265
|
+
await element(by.id('restaurant-1')).tap();
|
|
266
|
+
|
|
267
|
+
// Add item to cart
|
|
268
|
+
await element(by.id('item-pizza-1')).tap();
|
|
269
|
+
await element(by.id('add-to-cart-button')).tap();
|
|
270
|
+
|
|
271
|
+
// Proceed to checkout
|
|
272
|
+
await element(by.id('cart-button')).tap();
|
|
273
|
+
await element(by.id('checkout-button')).tap();
|
|
274
|
+
|
|
275
|
+
// Select payment method
|
|
276
|
+
await element(by.id('payment-credit-card')).tap();
|
|
277
|
+
await element(by.id('confirm-order-button')).tap();
|
|
278
|
+
|
|
279
|
+
// Verify order confirmation
|
|
280
|
+
await expect(element(by.id('order-confirmation'))).toBeVisible();
|
|
281
|
+
await expect(element(by.text('Pedido confirmado!'))).toBeVisible();
|
|
282
|
+
});
|
|
283
|
+
});
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Exemplo 4: Testes de Segurança
|
|
289
|
+
|
|
290
|
+
### OWASP Top 10 - SQL Injection
|
|
291
|
+
|
|
292
|
+
#### TC005 - SQL Injection Prevention (RNF001)
|
|
293
|
+
|
|
294
|
+
```python
|
|
295
|
+
# security_tests.py
|
|
296
|
+
import pytest
|
|
297
|
+
from app import app
|
|
298
|
+
|
|
299
|
+
class TestSQLInjection:
|
|
300
|
+
def test_sql_injection_in_login(self):
|
|
301
|
+
"""Test that SQL injection is prevented in login endpoint"""
|
|
302
|
+
malicious_inputs = [
|
|
303
|
+
"admin'--",
|
|
304
|
+
"admin' OR '1'='1",
|
|
305
|
+
"'; DROP TABLE users; --",
|
|
306
|
+
"' UNION SELECT * FROM users --"
|
|
307
|
+
]
|
|
308
|
+
|
|
309
|
+
for malicious_input in malicious_inputs:
|
|
310
|
+
response = app.test_client().post('/login', json={
|
|
311
|
+
'email': malicious_input,
|
|
312
|
+
'password': 'password'
|
|
313
|
+
})
|
|
314
|
+
|
|
315
|
+
# Should return 401, not 500 (error)
|
|
316
|
+
assert response.status_code == 401
|
|
317
|
+
assert 'invalid' in response.json['error'].lower()
|
|
318
|
+
|
|
319
|
+
def test_parameterized_queries(self):
|
|
320
|
+
"""Verify that parameterized queries are used"""
|
|
321
|
+
with app.app_context():
|
|
322
|
+
# This should use parameterized query internally
|
|
323
|
+
user = User.query.filter_by(email="test@example.com").first()
|
|
324
|
+
assert user is not None or user is None # No SQL error
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Teste de XSS Prevention
|
|
328
|
+
|
|
329
|
+
```javascript
|
|
330
|
+
// security.test.js
|
|
331
|
+
describe('XSS Prevention', () => {
|
|
332
|
+
test('should sanitize user input', () => {
|
|
333
|
+
const maliciousInput = '<script>alert("xss")</script>';
|
|
334
|
+
|
|
335
|
+
const sanitized = sanitizer.sanitize(maliciousInput);
|
|
336
|
+
|
|
337
|
+
expect(sanitized).not.toContain('<script>');
|
|
338
|
+
expect(sanitized).not.toContain('alert');
|
|
339
|
+
});
|
|
340
|
+
|
|
341
|
+
test('should escape HTML in responses', async () => {
|
|
342
|
+
const response = await request(app)
|
|
343
|
+
.post('/comments')
|
|
344
|
+
.send({ text: '<script>alert("xss")</script>' })
|
|
345
|
+
.expect(200);
|
|
346
|
+
|
|
347
|
+
expect(response.body.text).not.toContain('<script>');
|
|
348
|
+
expect(response.body.text).toContain('<script>');
|
|
349
|
+
});
|
|
350
|
+
});
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## Boas Práticas Demonstradas
|
|
356
|
+
|
|
357
|
+
### 1. Estrutura de Testes
|
|
358
|
+
- **Arrange, Act, Assert** pattern claro
|
|
359
|
+
- **Test data isolation** com fixtures
|
|
360
|
+
- **Descriptive test names** explicando o cenário
|
|
361
|
+
|
|
362
|
+
### 2. Mocking e Stubbing
|
|
363
|
+
- **Controlled dependencies** para testes unitários
|
|
364
|
+
- **Realistic responses** para testes de integração
|
|
365
|
+
- **Edge cases coverage** para validação
|
|
366
|
+
|
|
367
|
+
### 3. Performance Testing
|
|
368
|
+
- **Realistic load patterns** baseados em produção
|
|
369
|
+
- **Clear thresholds** com métricas específicas
|
|
370
|
+
- **Gradual ramp-up** para simular crescimento
|
|
371
|
+
|
|
372
|
+
### 4. Security Testing
|
|
373
|
+
- **OWASP Top 10 coverage** para vulnerabilidades comuns
|
|
374
|
+
- **Input validation** em todos os endpoints
|
|
375
|
+
- **Output encoding** para prevenir XSS
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
## Métricas e KPIs dos Exemplos
|
|
380
|
+
|
|
381
|
+
| Aplicação | Cobertura | Pass Rate | Performance | Segurança |
|
|
382
|
+
|-----------|-----------|-----------|--------------|-----------|
|
|
383
|
+
| E-commerce | 85% | 98% | < 200ms (p95) | OWASP 8/10 |
|
|
384
|
+
| Microserviços | 90% | 99% | < 100ms (p95) | OWASP 9/10 |
|
|
385
|
+
| Mobile App | 75% | 95% | < 1s (p95) | OWASP 7/10 |
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## Próximos Passos
|
|
390
|
+
|
|
391
|
+
1. **Adaptar exemplos** para seu contexto específico
|
|
392
|
+
2. **Expandir cobertura** para edge cases identificados
|
|
393
|
+
3. **Automatizar execução** em pipeline CI/CD
|
|
394
|
+
4. **Monitorar métricas** continuamente
|
|
395
|
+
5. **Atualizar testes** com base em feedback de produção
|