@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
package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/init_frontend.py
ADDED
|
@@ -0,0 +1,861 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Função MCP de Referência: initialize_frontend_structure()
|
|
3
|
+
|
|
4
|
+
ESTE ARQUIVO É APENAS REFERÊNCIA PARA IMPLEMENTAÇÃO NO MCP
|
|
5
|
+
NÃO EXECUTÁVEL LOCALMENTE
|
|
6
|
+
|
|
7
|
+
Implementação real deve ser feita no servidor MCP externo.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
import os
|
|
11
|
+
import json
|
|
12
|
+
from typing import Dict, List, Any, Optional
|
|
13
|
+
from pathlib import Path
|
|
14
|
+
|
|
15
|
+
async def initialize_frontend_structure(params: Dict[str, Any]) -> Dict[str, Any]:
|
|
16
|
+
"""
|
|
17
|
+
Cria estrutura base de frontend com template padrão
|
|
18
|
+
|
|
19
|
+
Args:
|
|
20
|
+
params: Dicionário com parâmetros de inicialização
|
|
21
|
+
- project_path: str - Caminho do projeto
|
|
22
|
+
- stack: str - React/Vue/Angular/Svelte
|
|
23
|
+
- styling: str - Tailwind/Styled Components/Emotion
|
|
24
|
+
- state_management: str - Redux/Zustand/Pinia/Vuex
|
|
25
|
+
- testing: str - Jest/Vitest + Testing Library
|
|
26
|
+
- build_tool: str - Vite/Webpack
|
|
27
|
+
- design_system: str - Pure Tailwind/shadcn/Headless UI
|
|
28
|
+
- typescript: bool - Usar TypeScript
|
|
29
|
+
- storybook: bool - Configurar Storybook
|
|
30
|
+
- eslint: bool - Configurar ESLint
|
|
31
|
+
- prettier: bool - Configurar Prettier
|
|
32
|
+
|
|
33
|
+
Returns:
|
|
34
|
+
Dict com resultado da operação
|
|
35
|
+
- success: bool - Status da operação
|
|
36
|
+
- structure_created: dict - Estrutura criada
|
|
37
|
+
- template_generated: str - Caminho do template gerado
|
|
38
|
+
- next_steps: list - Próximos passos
|
|
39
|
+
- errors: list - Lista de erros
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
try:
|
|
43
|
+
project_path = params.get("project_path")
|
|
44
|
+
stack = params.get("stack", "react")
|
|
45
|
+
typescript = params.get("typescript", True)
|
|
46
|
+
|
|
47
|
+
if not project_path:
|
|
48
|
+
return {
|
|
49
|
+
"success": False,
|
|
50
|
+
"structure_created": {},
|
|
51
|
+
"template_generated": "",
|
|
52
|
+
"next_steps": [],
|
|
53
|
+
"errors": ["project_path é obrigatório"]
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
# Criar estrutura de diretórios base
|
|
57
|
+
base_structure = {
|
|
58
|
+
"src": {
|
|
59
|
+
"components": {},
|
|
60
|
+
"pages": {},
|
|
61
|
+
"hooks": {},
|
|
62
|
+
"types": {},
|
|
63
|
+
"utils": {},
|
|
64
|
+
"tests": {
|
|
65
|
+
"unit": {},
|
|
66
|
+
"integration": {},
|
|
67
|
+
"e2e": {}
|
|
68
|
+
},
|
|
69
|
+
"styles": {},
|
|
70
|
+
"assets": {
|
|
71
|
+
"images": {},
|
|
72
|
+
"icons": {},
|
|
73
|
+
"fonts": {}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"docs": {
|
|
77
|
+
"10-frontend": {}
|
|
78
|
+
},
|
|
79
|
+
".storybook": {},
|
|
80
|
+
"public": {}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
# Adicionar diretórios específicos por stack
|
|
84
|
+
if stack == "react":
|
|
85
|
+
base_structure["src"].update({
|
|
86
|
+
"contexts": {},
|
|
87
|
+
"services": {}
|
|
88
|
+
})
|
|
89
|
+
elif stack == "vue":
|
|
90
|
+
base_structure["src"].update({
|
|
91
|
+
"composables": {},
|
|
92
|
+
"stores": {}
|
|
93
|
+
})
|
|
94
|
+
elif stack == "angular":
|
|
95
|
+
base_structure["src"].update({
|
|
96
|
+
"app": {},
|
|
97
|
+
"environments": {}
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
# Criar diretórios fisicamente
|
|
101
|
+
created_dirs = []
|
|
102
|
+
for dir_path, subdirs in base_structure.items():
|
|
103
|
+
full_path = os.path.join(project_path, dir_path)
|
|
104
|
+
os.makedirs(full_path, exist_ok=True)
|
|
105
|
+
created_dirs.append(full_path)
|
|
106
|
+
|
|
107
|
+
for subdir in subdirs:
|
|
108
|
+
subdir_path = os.path.join(full_path, subdir)
|
|
109
|
+
os.makedirs(subdir_path, exist_ok=True)
|
|
110
|
+
created_dirs.append(subdir_path)
|
|
111
|
+
|
|
112
|
+
# Gerar template principal
|
|
113
|
+
template_content = await _generate_historia_frontend_template(params)
|
|
114
|
+
template_path = os.path.join(project_path, "docs", "10-frontend", "historia-frontend.md")
|
|
115
|
+
|
|
116
|
+
# Criar diretório se não existir
|
|
117
|
+
os.makedirs(os.path.dirname(template_path), exist_ok=True)
|
|
118
|
+
|
|
119
|
+
with open(template_path, 'w', encoding='utf-8') as f:
|
|
120
|
+
f.write(template_content)
|
|
121
|
+
|
|
122
|
+
# Gerar arquivos de configuração
|
|
123
|
+
config_files = await _generate_config_files(params, project_path)
|
|
124
|
+
|
|
125
|
+
# Gerar componentes base
|
|
126
|
+
base_components = await _generate_base_components(params, project_path)
|
|
127
|
+
|
|
128
|
+
next_steps = [
|
|
129
|
+
"1. Configure o design system",
|
|
130
|
+
"2. Defina os componentes principais",
|
|
131
|
+
"3. Implemente os hooks necessários",
|
|
132
|
+
"4. Configure os testes",
|
|
133
|
+
"5. Execute `npm install` para instalar dependências"
|
|
134
|
+
]
|
|
135
|
+
|
|
136
|
+
return {
|
|
137
|
+
"success": True,
|
|
138
|
+
"structure_created": {
|
|
139
|
+
"directories": created_dirs,
|
|
140
|
+
"config_files": config_files,
|
|
141
|
+
"base_components": base_components
|
|
142
|
+
},
|
|
143
|
+
"template_generated": template_path,
|
|
144
|
+
"next_steps": next_steps,
|
|
145
|
+
"errors": []
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
except Exception as e:
|
|
149
|
+
return {
|
|
150
|
+
"success": False,
|
|
151
|
+
"structure_created": {},
|
|
152
|
+
"template_generated": "",
|
|
153
|
+
"next_steps": [],
|
|
154
|
+
"errors": [f"Erro na inicialização: {str(e)}"]
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
async def _generate_historia_frontend_template(params: Dict[str, Any]) -> str:
|
|
158
|
+
"""Gera conteúdo do template história-frontend.md"""
|
|
159
|
+
|
|
160
|
+
stack = params.get("stack", "react")
|
|
161
|
+
styling = params.get("styling", "tailwind")
|
|
162
|
+
|
|
163
|
+
template_content = f"""# 📋 História de Usuário Frontend
|
|
164
|
+
|
|
165
|
+
## 🎯 Informações Básicas
|
|
166
|
+
|
|
167
|
+
**ID da História:** [HIST-XXX]
|
|
168
|
+
**Título:** [Título claro e conciso]
|
|
169
|
+
**Prioridade:** [Alta/Média/Baixa]
|
|
170
|
+
**Sprint:** [Sprint XXX]
|
|
171
|
+
**Data:** {params.get('date', '2026-01-29')}
|
|
172
|
+
**Responsável:** [Nome do desenvolvedor]
|
|
173
|
+
|
|
174
|
+
## 👥 Persona e Contexto
|
|
175
|
+
|
|
176
|
+
**Persona:** [Nome da persona]
|
|
177
|
+
**Role:** [Papel do usuário]
|
|
178
|
+
**Necessidade:** [O que o usuário precisa]
|
|
179
|
+
**Motivação:** [Por que precisa disso]
|
|
180
|
+
**Frustração Atual:** [Problema atual que enfrenta]
|
|
181
|
+
|
|
182
|
+
## 📝 User Story Format
|
|
183
|
+
|
|
184
|
+
### Como um [persona],
|
|
185
|
+
**Eu quero** [ação/funcionalidade],
|
|
186
|
+
**Para que** [benefício/resultado].
|
|
187
|
+
|
|
188
|
+
### Critérios de Aceite (Acceptance Criteria)
|
|
189
|
+
|
|
190
|
+
#### Funcionalidade Principal
|
|
191
|
+
- [ ] **Dado que** [contexto inicial], **quando** [ação], **então** [resultado esperado]
|
|
192
|
+
- [ ] **Dado que** [contexto], **quando** [outra ação], **então** [outro resultado]
|
|
193
|
+
- [ ] **Dado que** [contexto], **quando** [ação], **então** [resultado]
|
|
194
|
+
|
|
195
|
+
#### Validação
|
|
196
|
+
- [ ] **Campos obrigatórios** validados
|
|
197
|
+
- [ ] **Mensagens de erro** claras e úteis
|
|
198
|
+
- [ ] **Feedback visual** para ações do usuário
|
|
199
|
+
- [ ] **Estados de loading** apropriados
|
|
200
|
+
|
|
201
|
+
#### Integração
|
|
202
|
+
- [ ] **API calls** funcionando com mocks
|
|
203
|
+
- [ ] **Tratamento de erros** de API
|
|
204
|
+
- [ ] **Cache** implementado onde necessário
|
|
205
|
+
- [ ] **Offline support** (se aplicável)
|
|
206
|
+
|
|
207
|
+
## 🎨 Design e UX
|
|
208
|
+
|
|
209
|
+
### Design System
|
|
210
|
+
- [ ] **Cores:** Seguir palette do design system
|
|
211
|
+
- [ ] **Tipografia:** Fontes e tamanhos definidos
|
|
212
|
+
- [ ] **Espaçamento:** Seguir grid system
|
|
213
|
+
- [ ] **Border radius:** Consistente com design
|
|
214
|
+
|
|
215
|
+
### Componentes
|
|
216
|
+
- [ ] **Componentes existentes** reutilizados
|
|
217
|
+
- [ ] **Novos componentes** criados se necessário
|
|
218
|
+
- [ ] **Props tipadas** com TypeScript
|
|
219
|
+
- [ ] **Variants** implementadas (se aplicável)
|
|
220
|
+
|
|
221
|
+
### Responsividade
|
|
222
|
+
- [ ] **Mobile-first** approach
|
|
223
|
+
- [ ] **Breakpoints:** sm (640px), md (768px), lg (1024px), xl (1280px)
|
|
224
|
+
- [ ] **Touch targets** mínimo 44px
|
|
225
|
+
- [ ] **Layout adaptável** para diferentes telas
|
|
226
|
+
|
|
227
|
+
### Animações
|
|
228
|
+
- [ ] **Micro-interações** em elementos clicáveis
|
|
229
|
+
- [ ] **Transições suaves** entre estados
|
|
230
|
+
- [ ] **Loading states** animados
|
|
231
|
+
- [ ] **Reduced motion** support
|
|
232
|
+
|
|
233
|
+
## 🔧 Implementação Técnica
|
|
234
|
+
|
|
235
|
+
### Stack Tecnológico
|
|
236
|
+
- **Framework:** {stack}
|
|
237
|
+
- **Styling:** {styling}
|
|
238
|
+
- **State Management:** {params.get('state_management', 'Zustand')}
|
|
239
|
+
- **Testing:** {params.get('testing', 'Vitest + Testing Library')}
|
|
240
|
+
- **Build Tool:** {params.get('build_tool', 'Vite')}
|
|
241
|
+
|
|
242
|
+
### Estrutura de Arquivos
|
|
243
|
+
```
|
|
244
|
+
src/
|
|
245
|
+
├── components/
|
|
246
|
+
│ ├── [ComponentName]/
|
|
247
|
+
│ │ ├── index.tsx
|
|
248
|
+
│ │ ├── [ComponentName].tsx
|
|
249
|
+
│ │ ├── [ComponentName].test.tsx
|
|
250
|
+
│ │ └── [ComponentName].stories.tsx
|
|
251
|
+
├── hooks/
|
|
252
|
+
│ └── use[HookName].ts
|
|
253
|
+
├── pages/
|
|
254
|
+
│ └── [PageName].tsx
|
|
255
|
+
└── types/
|
|
256
|
+
└── [TypeName].ts
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### Componentes Principais
|
|
260
|
+
- [ ] **[Component1]:** [Descrição e responsabilidades]
|
|
261
|
+
- [ ] **[Component2]:** [Descrição e responsabilidades]
|
|
262
|
+
- [ ] **[Component3]:** [Descrição e responsabilidades]
|
|
263
|
+
|
|
264
|
+
### Hooks e Estado
|
|
265
|
+
- [ ] **use[Hook1]:** [Descrição do hook]
|
|
266
|
+
- [ ] **use[Hook2]:** [Descrição do hook]
|
|
267
|
+
- [ ] **Estado global:** [Se aplicável]
|
|
268
|
+
|
|
269
|
+
### API Integration
|
|
270
|
+
- [ ] **Endpoints:** [Lista de endpoints necessários]
|
|
271
|
+
- [ ] **Data fetching:** [Como os dados serão buscados]
|
|
272
|
+
- [ ] **Error handling:** [Estratégia de tratamento de erros]
|
|
273
|
+
- [ ] **Caching:** [Estratégia de cache]
|
|
274
|
+
|
|
275
|
+
## 🧪 Testes
|
|
276
|
+
|
|
277
|
+
### Testes Unitários
|
|
278
|
+
- [ ] **Componentes:** 100% de cobertura de componentes críticos
|
|
279
|
+
- [ ] **Hooks:** 100% de cobertura de hooks
|
|
280
|
+
- [ ] **Utilitários:** 100% de cobertura de funções utilitárias
|
|
281
|
+
- [ ] **Mock de APIs:** Todos os endpoints mockados
|
|
282
|
+
|
|
283
|
+
### Testes de Integração
|
|
284
|
+
- [ ] **User flows:** Fluxos principais testados
|
|
285
|
+
- [ ] **API integration:** Integração com backend testada
|
|
286
|
+
- [ ] **Formulários:** Validação e submissão testadas
|
|
287
|
+
- [ ] **Navegação:** Transições entre páginas testadas
|
|
288
|
+
|
|
289
|
+
### Testes E2E
|
|
290
|
+
- [ ] **Cenários críticos:** Caminhos felizes testados
|
|
291
|
+
- [ ] **Cross-browser:** Chrome, Firefox, Safari testados
|
|
292
|
+
- [ ] **Mobile:** iOS e Android testados
|
|
293
|
+
- [ ] **Accessibility:** Screen readers testados
|
|
294
|
+
|
|
295
|
+
### Cobertura de Testes
|
|
296
|
+
- **Target:** >80% cobertura geral
|
|
297
|
+
- **Components:** >90% cobertura
|
|
298
|
+
- **Hooks:** >95% cobertura
|
|
299
|
+
- **Pages:** >70% cobertura
|
|
300
|
+
|
|
301
|
+
## 📱 Performance
|
|
302
|
+
|
|
303
|
+
### Métricas
|
|
304
|
+
- [ ] **LCP (Largest Contentful Paint):** < 2.5s
|
|
305
|
+
- [ ] **FID (First Input Delay):** < 100ms
|
|
306
|
+
- [ ] **CLS (Cumulative Layout Shift):** < 0.1
|
|
307
|
+
- [ ] **TTI (Time to Interactive):** < 3.8s
|
|
308
|
+
|
|
309
|
+
### Otimizações
|
|
310
|
+
- [ ] **Code splitting:** Implementado por rota
|
|
311
|
+
- [ ] **Lazy loading:** Imagens e componentes pesados
|
|
312
|
+
- [ ] **Bundle size:** < 500KB gzipped
|
|
313
|
+
- [ ] **Image optimization:** WebP, lazy loading
|
|
314
|
+
|
|
315
|
+
### Monitoramento
|
|
316
|
+
- [ ] **Error tracking:** Sentry/LogRocket configurado
|
|
317
|
+
- [ ] **Performance monitoring:** Web Vitals monitorados
|
|
318
|
+
- [ ] **User analytics:** Eventos trackeados
|
|
319
|
+
- [ ] **A/B testing:** Framework configurado
|
|
320
|
+
|
|
321
|
+
## ♿ Acessibilidade
|
|
322
|
+
|
|
323
|
+
### WCAG 2.1 AA Compliance
|
|
324
|
+
- [ ] **Contraste:** Mínimo 4.5:1 para texto normal
|
|
325
|
+
- [ ] **Focus management:** Ordem lógica de tab
|
|
326
|
+
- [ ] **Screen reader:** ARIA labels apropriados
|
|
327
|
+
- [ ] **Keyboard navigation:** 100% navegável por teclado
|
|
328
|
+
|
|
329
|
+
### Testes de Acessibilidade
|
|
330
|
+
- [ ] **Automated:** axe-core integration
|
|
331
|
+
- [ ] **Manual:** Screen reader testing
|
|
332
|
+
- [ ] **Keyboard:** Navegação por teclado
|
|
333
|
+
- [ ] **Color blind:** Simulação de daltonismo
|
|
334
|
+
|
|
335
|
+
## 🔐 Segurança
|
|
336
|
+
|
|
337
|
+
### Validação
|
|
338
|
+
- [ ] **Input sanitization:** Todos os inputs validados
|
|
339
|
+
- [ ] **XSS prevention:** Conteúdo sanitizado
|
|
340
|
+
- [ ] **CSRF protection:** Tokens implementados
|
|
341
|
+
- [ ] **Content Security Policy:** Headers configurados
|
|
342
|
+
|
|
343
|
+
### Dados Sensíveis
|
|
344
|
+
- [ ] **PII protection:** Dados mascarados em logs
|
|
345
|
+
- [ ] **API keys:** Variáveis de ambiente
|
|
346
|
+
- [ ] **Local storage:** Dados sensíveis criptografados
|
|
347
|
+
- [ ] **Session management:** Timeout implementado
|
|
348
|
+
|
|
349
|
+
## 📋 Checklist de Deploy
|
|
350
|
+
|
|
351
|
+
### Pré-Deploy
|
|
352
|
+
- [ ] **Build sucesso:** Sem erros de build
|
|
353
|
+
- [ ] **Testes passando:** 100% dos testes
|
|
354
|
+
- [ ] **Lint:** Sem warnings de lint
|
|
355
|
+
- [ ] **TypeScript:** Sem erros de TS
|
|
356
|
+
|
|
357
|
+
### Review
|
|
358
|
+
- [ ] **Code review:** Aprovado por peer
|
|
359
|
+
- [ ] **Design review:** Aprovado por UX
|
|
360
|
+
- [ ] **Security review:** Aprovado por security
|
|
361
|
+
- [ ] **Performance review:** Métricas OK
|
|
362
|
+
|
|
363
|
+
### Deploy
|
|
364
|
+
- [ ] **Staging:** Testado em staging
|
|
365
|
+
- [ ] **Canary:** Deploy gradual (se aplicável)
|
|
366
|
+
- [ ] **Monitoring:** Alertas configurados
|
|
367
|
+
- [ ] **Rollback:** Plano de rollback pronto
|
|
368
|
+
|
|
369
|
+
## 📊 Métricas de Sucesso
|
|
370
|
+
|
|
371
|
+
### Técnicas
|
|
372
|
+
- [ ] **Performance:** Core Web Vitals metas atingidas
|
|
373
|
+
- [ ] **Quality:** >80% cobertura de testes
|
|
374
|
+
- [ ] **Accessibility:** 100% WCAG AA compliance
|
|
375
|
+
- [ ] **Bundle size:** < 500KB gzipped
|
|
376
|
+
|
|
377
|
+
### Negócio
|
|
378
|
+
- [ ] **User engagement:** Taxa de cliques esperada
|
|
379
|
+
- [ ] **Conversion:** Taxa de conversão esperada
|
|
380
|
+
- [ ] **Error rate:** < 1% de erros
|
|
381
|
+
- [ ] **Load time:** < 3 segundos
|
|
382
|
+
|
|
383
|
+
## 🔄 Iteração Futura
|
|
384
|
+
|
|
385
|
+
### Próximas Melhorias
|
|
386
|
+
- [ ] **Feature 1:** [Descrição da melhoria]
|
|
387
|
+
- [ ] **Feature 2:** [Descrição da melhoria]
|
|
388
|
+
- [ ] **Feature 3:** [Descrição da melhoria]
|
|
389
|
+
|
|
390
|
+
### Technical Debt
|
|
391
|
+
- [ ] **Refactoring:** [Componentes a refatorar]
|
|
392
|
+
- [ ] **Upgrades:** [Dependências a atualizar]
|
|
393
|
+
- [ ] **Optimization:** [Otimizações pendentes]
|
|
394
|
+
|
|
395
|
+
## 📝 Notas e Observações
|
|
396
|
+
|
|
397
|
+
[Espaço para notas adicionais, decisões tomadas, bloqueios, etc.]
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
**Status:** [ ] Em Progresso / [ ] Em Review / [ ] Aprovado / [ ] Deployed
|
|
402
|
+
**Score de Qualidade:** [ ] / 100
|
|
403
|
+
**Tempo Estimado:** [ ] horas
|
|
404
|
+
**Tempo Real:** [ ] horas
|
|
405
|
+
**Sprint:** [ ] / [ ] story points
|
|
406
|
+
"""
|
|
407
|
+
|
|
408
|
+
return template_content
|
|
409
|
+
|
|
410
|
+
async def _generate_config_files(params: Dict[str, Any], project_path: str) -> List[str]:
|
|
411
|
+
"""Gera arquivos de configuração base"""
|
|
412
|
+
|
|
413
|
+
stack = params.get("stack", "react")
|
|
414
|
+
typescript = params.get("typescript", True)
|
|
415
|
+
styling = params.get("styling", "tailwind")
|
|
416
|
+
testing = params.get("testing", "vitest")
|
|
417
|
+
|
|
418
|
+
config_files = []
|
|
419
|
+
|
|
420
|
+
# package.json
|
|
421
|
+
package_json = await _generate_package_json(params)
|
|
422
|
+
package_path = os.path.join(project_path, "package.json")
|
|
423
|
+
with open(package_path, 'w', encoding='utf-8') as f:
|
|
424
|
+
json.dump(package_json, f, indent=2)
|
|
425
|
+
config_files.append(package_path)
|
|
426
|
+
|
|
427
|
+
# tsconfig.json (se TypeScript)
|
|
428
|
+
if typescript:
|
|
429
|
+
tsconfig = await _generate_tsconfig_json(params)
|
|
430
|
+
tsconfig_path = os.path.join(project_path, "tsconfig.json")
|
|
431
|
+
with open(tsconfig_path, 'w', encoding='utf-8') as f:
|
|
432
|
+
json.dump(tsconfig, f, indent=2)
|
|
433
|
+
config_files.append(tsconfig_path)
|
|
434
|
+
|
|
435
|
+
# tailwind.config.js (se Tailwind)
|
|
436
|
+
if styling == "tailwind":
|
|
437
|
+
tailwind_config = await _generate_tailwind_config(params)
|
|
438
|
+
tailwind_path = os.path.join(project_path, "tailwind.config.js")
|
|
439
|
+
with open(tailwind_path, 'w', encoding='utf-8') as f:
|
|
440
|
+
f.write(tailwind_config)
|
|
441
|
+
config_files.append(tailwind_path)
|
|
442
|
+
|
|
443
|
+
# vite.config.ts
|
|
444
|
+
vite_config = await _generate_vite_config(params)
|
|
445
|
+
vite_path = os.path.join(project_path, "vite.config.ts")
|
|
446
|
+
with open(vite_path, 'w', encoding='utf-8') as f:
|
|
447
|
+
f.write(vite_config)
|
|
448
|
+
config_files.append(vite_path)
|
|
449
|
+
|
|
450
|
+
# .eslintrc.js
|
|
451
|
+
eslint_config = await _generate_eslint_config(params)
|
|
452
|
+
eslint_path = os.path.join(project_path, ".eslintrc.js")
|
|
453
|
+
with open(eslint_path, 'w', encoding='utf-8') as f:
|
|
454
|
+
f.write(eslint_config)
|
|
455
|
+
config_files.append(eslint_path)
|
|
456
|
+
|
|
457
|
+
# .prettierrc
|
|
458
|
+
prettier_config = await _generate_prettier_config(params)
|
|
459
|
+
prettier_path = os.path.join(project_path, ".prettierrc")
|
|
460
|
+
with open(prettier_path, 'w', encoding='utf-8') as f:
|
|
461
|
+
json.dump(prettier_config, f, indent=2)
|
|
462
|
+
config_files.append(prettier_path)
|
|
463
|
+
|
|
464
|
+
return config_files
|
|
465
|
+
|
|
466
|
+
async def _generate_base_components(params: Dict[str, Any], project_path: str) -> List[str]:
|
|
467
|
+
"""Gera componentes base"""
|
|
468
|
+
|
|
469
|
+
stack = params.get("stack", "react")
|
|
470
|
+
typescript = params.get("typescript", True)
|
|
471
|
+
|
|
472
|
+
components = []
|
|
473
|
+
|
|
474
|
+
if stack == "react":
|
|
475
|
+
# Button component
|
|
476
|
+
button_component = await _generate_button_component(params)
|
|
477
|
+
button_dir = os.path.join(project_path, "src", "components", "Button")
|
|
478
|
+
os.makedirs(button_dir, exist_ok=True)
|
|
479
|
+
|
|
480
|
+
# Component file
|
|
481
|
+
button_file = os.path.join(button_dir, "Button.tsx" if typescript else "Button.jsx")
|
|
482
|
+
with open(button_file, 'w', encoding='utf-8') as f:
|
|
483
|
+
f.write(button_component)
|
|
484
|
+
components.append(button_file)
|
|
485
|
+
|
|
486
|
+
# Index file
|
|
487
|
+
index_file = os.path.join(button_dir, "index.ts")
|
|
488
|
+
with open(index_file, 'w', encoding='utf-8') as f:
|
|
489
|
+
f.write("export { Button } from './Button';\nexport { default } from './Button';\n")
|
|
490
|
+
components.append(index_file)
|
|
491
|
+
|
|
492
|
+
# Test file
|
|
493
|
+
test_file = os.path.join(button_dir, "Button.test.tsx")
|
|
494
|
+
with open(test_file, 'w', encoding='utf-8') as f:
|
|
495
|
+
f.write(await _generate_button_test(params))
|
|
496
|
+
components.append(test_file)
|
|
497
|
+
|
|
498
|
+
# Storybook story
|
|
499
|
+
story_file = os.path.join(button_dir, "Button.stories.tsx")
|
|
500
|
+
with open(story_file, 'w', encoding='utf-8') as f:
|
|
501
|
+
f.write(await _generate_button_story(params))
|
|
502
|
+
components.append(story_file)
|
|
503
|
+
|
|
504
|
+
return components
|
|
505
|
+
|
|
506
|
+
# Funções auxiliares para gerar configurações
|
|
507
|
+
async def _generate_package_json(params: Dict[str, Any]) -> Dict[str, Any]:
|
|
508
|
+
"""Gera package.json"""
|
|
509
|
+
|
|
510
|
+
stack = params.get("stack", "react")
|
|
511
|
+
typescript = params.get("typescript", True)
|
|
512
|
+
styling = params.get("styling", "tailwind")
|
|
513
|
+
testing = params.get("testing", "vitest")
|
|
514
|
+
|
|
515
|
+
dependencies = {
|
|
516
|
+
"react": "^18.2.0",
|
|
517
|
+
"react-dom": "^18.2.0",
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
if styling == "tailwind":
|
|
521
|
+
dependencies.update({
|
|
522
|
+
"tailwindcss": "^3.4.0",
|
|
523
|
+
"autoprefixer": "^10.4.0",
|
|
524
|
+
"postcss": "^8.4.0",
|
|
525
|
+
})
|
|
526
|
+
|
|
527
|
+
dev_dependencies = {
|
|
528
|
+
"@vitejs/plugin-react": "^4.0.0",
|
|
529
|
+
"vite": "^4.4.0",
|
|
530
|
+
"eslint": "^8.45.0",
|
|
531
|
+
"eslint-plugin-react": "^7.32.0",
|
|
532
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
533
|
+
"prettier": "^3.0.0",
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
if typescript:
|
|
537
|
+
dependencies.update({
|
|
538
|
+
"@types/react": "^18.2.0",
|
|
539
|
+
"@types/react-dom": "^18.2.0",
|
|
540
|
+
})
|
|
541
|
+
dev_dependencies.update({
|
|
542
|
+
"typescript": "^5.0.0",
|
|
543
|
+
})
|
|
544
|
+
|
|
545
|
+
if testing == "vitest":
|
|
546
|
+
dev_dependencies.update({
|
|
547
|
+
"vitest": "^0.34.0",
|
|
548
|
+
"@testing-library/react": "^13.4.0",
|
|
549
|
+
"@testing-library/jest-dom": "^6.0.0",
|
|
550
|
+
"@testing-library/user-event": "^14.4.0",
|
|
551
|
+
})
|
|
552
|
+
|
|
553
|
+
if params.get("storybook"):
|
|
554
|
+
dev_dependencies.update({
|
|
555
|
+
"@storybook/react": "^7.0.0",
|
|
556
|
+
"@storybook/react-vite": "^7.0.0",
|
|
557
|
+
"@storybook/addon-essentials": "^7.0.0",
|
|
558
|
+
})
|
|
559
|
+
|
|
560
|
+
return {
|
|
561
|
+
"name": "frontend-app",
|
|
562
|
+
"private": True,
|
|
563
|
+
"version": "0.1.0",
|
|
564
|
+
"type": "module",
|
|
565
|
+
"scripts": {
|
|
566
|
+
"dev": "vite",
|
|
567
|
+
"build": "vite build",
|
|
568
|
+
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
569
|
+
"preview": "vite preview",
|
|
570
|
+
"test": "vitest",
|
|
571
|
+
"test:ui": "vitest --ui",
|
|
572
|
+
"test:coverage": "vitest --coverage",
|
|
573
|
+
"storybook": "storybook dev -p 6006",
|
|
574
|
+
"build-storybook": "storybook build"
|
|
575
|
+
},
|
|
576
|
+
"dependencies": dependencies,
|
|
577
|
+
"devDependencies": dev_dependencies
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
async def _generate_tsconfig_json(params: Dict[str, Any]) -> Dict[str, Any]:
|
|
581
|
+
"""Gera tsconfig.json"""
|
|
582
|
+
|
|
583
|
+
return {
|
|
584
|
+
"compilerOptions": {
|
|
585
|
+
"target": "ES2020",
|
|
586
|
+
"useDefineForClassFields": True,
|
|
587
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
|
588
|
+
"module": "ESNext",
|
|
589
|
+
"skipLibCheck": True,
|
|
590
|
+
"moduleResolution": "bundler",
|
|
591
|
+
"allowImportingTsExtensions": True,
|
|
592
|
+
"resolveJsonModule": True,
|
|
593
|
+
"isolatedModules": True,
|
|
594
|
+
"noEmit": True,
|
|
595
|
+
"jsx": "react-jsx",
|
|
596
|
+
"strict": True,
|
|
597
|
+
"noUnusedLocals": True,
|
|
598
|
+
"noUnusedParameters": True,
|
|
599
|
+
"noFallthroughCasesInSwitch": True,
|
|
600
|
+
"baseUrl": ".",
|
|
601
|
+
"paths": {
|
|
602
|
+
"@/*": ["src/*"]
|
|
603
|
+
}
|
|
604
|
+
},
|
|
605
|
+
"include": ["src"],
|
|
606
|
+
"references": [{"path": "./tsconfig.node.json"}]
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
async def _generate_tailwind_config(params: Dict[str, Any]) -> str:
|
|
610
|
+
"""Gera tailwind.config.js"""
|
|
611
|
+
|
|
612
|
+
return '''/** @type {import('tailwindcss').Config} */
|
|
613
|
+
export default {
|
|
614
|
+
content: [
|
|
615
|
+
"./index.html",
|
|
616
|
+
"./src/**/*.{js,ts,jsx,tsx}",
|
|
617
|
+
],
|
|
618
|
+
theme: {
|
|
619
|
+
extend: {
|
|
620
|
+
colors: {
|
|
621
|
+
primary: {
|
|
622
|
+
50: '#eff6ff',
|
|
623
|
+
500: '#3b82f6',
|
|
624
|
+
600: '#2563eb',
|
|
625
|
+
700: '#1d4ed8',
|
|
626
|
+
},
|
|
627
|
+
},
|
|
628
|
+
fontFamily: {
|
|
629
|
+
sans: ['Inter', 'system-ui', 'sans-serif'],
|
|
630
|
+
},
|
|
631
|
+
},
|
|
632
|
+
},
|
|
633
|
+
plugins: [
|
|
634
|
+
require('@tailwindcss/forms'),
|
|
635
|
+
require('@tailwindcss/typography'),
|
|
636
|
+
],
|
|
637
|
+
}'''
|
|
638
|
+
|
|
639
|
+
async def _generate_vite_config(params: Dict[str, Any]) -> str:
|
|
640
|
+
"""Gera vite.config.ts"""
|
|
641
|
+
|
|
642
|
+
typescript = params.get("typescript", True)
|
|
643
|
+
|
|
644
|
+
return '''import { defineConfig } from 'vite'
|
|
645
|
+
import react from '@vitejs/plugin-react'
|
|
646
|
+
import path from 'path'
|
|
647
|
+
|
|
648
|
+
// https://vitejs.dev/config/
|
|
649
|
+
export default defineConfig({
|
|
650
|
+
plugins: [react()],
|
|
651
|
+
resolve: {
|
|
652
|
+
alias: {
|
|
653
|
+
'@': path.resolve(__dirname, './src'),
|
|
654
|
+
},
|
|
655
|
+
},
|
|
656
|
+
server: {
|
|
657
|
+
port: 3000,
|
|
658
|
+
},
|
|
659
|
+
build: {
|
|
660
|
+
outDir: 'dist',
|
|
661
|
+
sourcemap: true,
|
|
662
|
+
},
|
|
663
|
+
})'''
|
|
664
|
+
|
|
665
|
+
async def _generate_eslint_config(params: Dict[str, Any]) -> str:
|
|
666
|
+
"""Gera .eslintrc.js"""
|
|
667
|
+
|
|
668
|
+
return '''module.exports = {
|
|
669
|
+
root: true,
|
|
670
|
+
env: { browser: true, es2020: true },
|
|
671
|
+
extends: [
|
|
672
|
+
'eslint:recommended',
|
|
673
|
+
'@typescript-eslint/recommended',
|
|
674
|
+
'plugin:react-hooks/recommended',
|
|
675
|
+
],
|
|
676
|
+
ignorePatterns: ['dist', '.eslintrc.cjs'],
|
|
677
|
+
parser: '@typescript-eslint/parser',
|
|
678
|
+
plugins: ['react-refresh'],
|
|
679
|
+
rules: {
|
|
680
|
+
'react-refresh/only-export-components': [
|
|
681
|
+
'warn',
|
|
682
|
+
{ allowConstantExport: true },
|
|
683
|
+
],
|
|
684
|
+
},
|
|
685
|
+
}'''
|
|
686
|
+
|
|
687
|
+
async def _generate_prettier_config(params: Dict[str, Any]) -> Dict[str, Any]:
|
|
688
|
+
"""Gera .prettierrc"""
|
|
689
|
+
|
|
690
|
+
return {
|
|
691
|
+
"semi": True,
|
|
692
|
+
"trailingComma": "es5",
|
|
693
|
+
"singleQuote": True,
|
|
694
|
+
"printWidth": 80,
|
|
695
|
+
"tabWidth": 2,
|
|
696
|
+
"useTabs": False
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
async def _generate_button_component(params: Dict[str, Any]) -> str:
|
|
700
|
+
"""Gera componente Button"""
|
|
701
|
+
|
|
702
|
+
return '''import React from 'react';
|
|
703
|
+
import { cn } from '@/utils/cn';
|
|
704
|
+
|
|
705
|
+
interface ButtonProps {
|
|
706
|
+
variant?: 'default' | 'primary' | 'secondary';
|
|
707
|
+
size?: 'sm' | 'md' | 'lg';
|
|
708
|
+
children: React.ReactNode;
|
|
709
|
+
className?: string;
|
|
710
|
+
onClick?: () => void;
|
|
711
|
+
disabled?: boolean;
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
export const Button: React.FC<ButtonProps> = ({
|
|
715
|
+
variant = 'default',
|
|
716
|
+
size = 'md',
|
|
717
|
+
children,
|
|
718
|
+
className = '',
|
|
719
|
+
onClick,
|
|
720
|
+
disabled = false,
|
|
721
|
+
}) => {
|
|
722
|
+
const baseClasses = 'font-medium rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2';
|
|
723
|
+
|
|
724
|
+
const variantClasses = {
|
|
725
|
+
default: 'bg-gray-100 text-gray-900 hover:bg-gray-200 focus:ring-gray-500',
|
|
726
|
+
primary: 'bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500',
|
|
727
|
+
secondary: 'bg-green-600 text-white hover:bg-green-700 focus:ring-green-500',
|
|
728
|
+
};
|
|
729
|
+
|
|
730
|
+
const sizeClasses = {
|
|
731
|
+
sm: 'px-3 py-1.5 text-sm',
|
|
732
|
+
md: 'px-4 py-2 text-base',
|
|
733
|
+
lg: 'px-6 py-3 text-lg',
|
|
734
|
+
};
|
|
735
|
+
|
|
736
|
+
return (
|
|
737
|
+
<button
|
|
738
|
+
className={cn(
|
|
739
|
+
baseClasses,
|
|
740
|
+
variantClasses[variant],
|
|
741
|
+
sizeClasses[size],
|
|
742
|
+
disabled && 'opacity-50 cursor-not-allowed',
|
|
743
|
+
className
|
|
744
|
+
)}
|
|
745
|
+
onClick={onClick}
|
|
746
|
+
disabled={disabled}
|
|
747
|
+
>
|
|
748
|
+
{children}
|
|
749
|
+
</button>
|
|
750
|
+
);
|
|
751
|
+
};
|
|
752
|
+
|
|
753
|
+
export default Button;'''
|
|
754
|
+
|
|
755
|
+
async def _generate_button_test(params: Dict[str, Any]) -> str:
|
|
756
|
+
"""Gera teste do componente Button"""
|
|
757
|
+
|
|
758
|
+
return '''import { render, screen, fireEvent } from '@testing-library/react';
|
|
759
|
+
import { Button } from './Button';
|
|
760
|
+
|
|
761
|
+
describe('Button', () => {
|
|
762
|
+
it('renders with correct text', () => {
|
|
763
|
+
render(<Button>Click me</Button>);
|
|
764
|
+
expect(screen.getByRole('button', { name: 'Click me' })).toBeInTheDocument();
|
|
765
|
+
});
|
|
766
|
+
|
|
767
|
+
it('calls onClick when clicked', () => {
|
|
768
|
+
const handleClick = vi.fn();
|
|
769
|
+
render(<Button onClick={handleClick}>Click me</Button>);
|
|
770
|
+
|
|
771
|
+
fireEvent.click(screen.getByRole('button'));
|
|
772
|
+
expect(handleClick).toHaveBeenCalledTimes(1);
|
|
773
|
+
});
|
|
774
|
+
|
|
775
|
+
it('applies correct variant classes', () => {
|
|
776
|
+
render(<Button variant="primary">Primary Button</Button>);
|
|
777
|
+
|
|
778
|
+
const button = screen.getByRole('button');
|
|
779
|
+
expect(button).toHaveClass('bg-blue-600');
|
|
780
|
+
});
|
|
781
|
+
|
|
782
|
+
it('is disabled when disabled prop is true', () => {
|
|
783
|
+
render(<Button disabled>Disabled Button</Button>);
|
|
784
|
+
|
|
785
|
+
const button = screen.getByRole('button');
|
|
786
|
+
expect(button).toBeDisabled();
|
|
787
|
+
});
|
|
788
|
+
});'''
|
|
789
|
+
|
|
790
|
+
async def _generate_button_story(params: Dict[str, Any]) -> str:
|
|
791
|
+
"""Gera Storybook story do componente Button"""
|
|
792
|
+
|
|
793
|
+
return '''import type { Meta, StoryObj } from '@storybook/react';
|
|
794
|
+
import { Button } from './Button';
|
|
795
|
+
|
|
796
|
+
const meta: Meta<typeof Button> = {
|
|
797
|
+
title: 'Components/Button',
|
|
798
|
+
component: Button,
|
|
799
|
+
parameters: {
|
|
800
|
+
layout: 'centered',
|
|
801
|
+
},
|
|
802
|
+
tags: ['autodocs'],
|
|
803
|
+
};
|
|
804
|
+
|
|
805
|
+
export default meta;
|
|
806
|
+
type Story = StoryObj<typeof meta>;
|
|
807
|
+
|
|
808
|
+
export const Default: Story = {
|
|
809
|
+
args: {
|
|
810
|
+
children: 'Default Button',
|
|
811
|
+
},
|
|
812
|
+
};
|
|
813
|
+
|
|
814
|
+
export const Primary: Story = {
|
|
815
|
+
args: {
|
|
816
|
+
children: 'Primary Button',
|
|
817
|
+
variant: 'primary',
|
|
818
|
+
},
|
|
819
|
+
};
|
|
820
|
+
|
|
821
|
+
export const Secondary: Story = {
|
|
822
|
+
args: {
|
|
823
|
+
children: 'Secondary Button',
|
|
824
|
+
variant: 'secondary',
|
|
825
|
+
},
|
|
826
|
+
};
|
|
827
|
+
|
|
828
|
+
export const Small: Story = {
|
|
829
|
+
args: {
|
|
830
|
+
children: 'Small Button',
|
|
831
|
+
size: 'sm',
|
|
832
|
+
},
|
|
833
|
+
};
|
|
834
|
+
|
|
835
|
+
export const Large: Story = {
|
|
836
|
+
args: {
|
|
837
|
+
children: 'Large Button',
|
|
838
|
+
size: 'lg',
|
|
839
|
+
},
|
|
840
|
+
};
|
|
841
|
+
|
|
842
|
+
export const Disabled: Story = {
|
|
843
|
+
args: {
|
|
844
|
+
children: 'Disabled Button',
|
|
845
|
+
disabled: true,
|
|
846
|
+
},
|
|
847
|
+
};'''
|
|
848
|
+
|
|
849
|
+
# Função utilitária cn
|
|
850
|
+
async def _generate_utils_cn(params: Dict[str, Any]) -> str:
|
|
851
|
+
"""Gera utilitário cn para class names"""
|
|
852
|
+
|
|
853
|
+
return '''import { type ClassValue, clsx } from 'clsx';
|
|
854
|
+
import { twMerge } from 'tailwind-merge';
|
|
855
|
+
|
|
856
|
+
export function cn(...inputs: ClassValue[]) {
|
|
857
|
+
return twMerge(clsx(inputs));
|
|
858
|
+
}'''
|
|
859
|
+
|
|
860
|
+
# Exportar função principal
|
|
861
|
+
__all__ = ['initialize_frontend_structure']
|