@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.
Files changed (824) hide show
  1. package/README.md +26 -31
  2. package/dist/content/rules/GEMINI.md +79 -27
  3. package/dist/content/rules/RULES.md +6 -0
  4. package/dist/content/skills/specialist-acessibilidade/MCP_INTEGRATION.md +698 -0
  5. package/dist/content/skills/specialist-acessibilidade/README.md +292 -0
  6. package/dist/content/skills/specialist-acessibilidade/SKILL.md +202 -0
  7. package/dist/content/skills/specialist-acessibilidade/mcp_functions/init_accessibility_audit.py +675 -0
  8. package/dist/content/skills/specialist-acessibilidade/mcp_functions/validate_wcag_compliance.py +587 -0
  9. package/dist/content/skills/specialist-acessibilidade/resources/checklists/accessibility-validation.md +457 -0
  10. package/dist/content/skills/specialist-acessibilidade/resources/examples/accessibility-examples.md +863 -0
  11. package/dist/content/skills/specialist-acessibilidade/resources/reference/wcag-guide.md +359 -0
  12. package/dist/content/skills/specialist-acessibilidade/resources/templates/checklist-acessibilidade.md +435 -0
  13. package/dist/content/skills/specialist-acessibilidade/resources/templates/relatorio-acessibilidade.md +490 -0
  14. package/dist/content/skills/specialist-analise-testes/MCP_INTEGRATION.md +569 -0
  15. package/dist/content/skills/specialist-analise-testes/README.md +42 -0
  16. package/dist/content/skills/specialist-analise-testes/SKILL.md +258 -0
  17. package/dist/content/skills/specialist-analise-testes/mcp_functions/README.md +794 -0
  18. package/dist/content/skills/specialist-analise-testes/resources/checklists/testing-validation.md +305 -0
  19. package/dist/content/skills/specialist-analise-testes/resources/examples/testing-examples.md +395 -0
  20. package/dist/content/skills/specialist-analise-testes/resources/reference/testing-guide.md +1024 -0
  21. package/dist/content/skills/specialist-arquitetura-avancada/MCP_INTEGRATION.md +440 -0
  22. package/dist/content/skills/specialist-arquitetura-avancada/README.md +298 -0
  23. package/dist/content/skills/specialist-arquitetura-avancada/SKILL.md +295 -0
  24. package/dist/content/skills/specialist-arquitetura-avancada/mcp_functions/README.md +573 -0
  25. package/dist/content/skills/specialist-arquitetura-avancada/resources/checklists/architecture-validation.md +385 -0
  26. package/dist/content/skills/specialist-arquitetura-avancada/resources/examples/architecture-examples.md +743 -0
  27. package/dist/content/skills/specialist-arquitetura-avancada/resources/reference/architecture-guide.md +680 -0
  28. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/bounded-context.md +333 -0
  29. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/cqrs-implementation.md +495 -0
  30. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/event-sourcing.md +571 -0
  31. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/microservices-strategy.md +647 -0
  32. package/dist/content/skills/specialist-arquitetura-software/MCP_INTEGRATION.md +483 -0
  33. package/dist/content/skills/specialist-arquitetura-software/README.md +306 -0
  34. package/dist/content/skills/specialist-arquitetura-software/SKILL.md +194 -0
  35. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/init_architecture.py +137 -0
  36. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/process_architecture.py +279 -0
  37. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/validate_architecture.py +302 -0
  38. package/dist/content/skills/specialist-arquitetura-software/resources/checklists/architecture-validation.md +180 -0
  39. package/dist/content/skills/specialist-arquitetura-software/resources/examples/architecture-examples.md +239 -0
  40. package/dist/content/skills/specialist-arquitetura-software/resources/reference/architecture-guide.md +489 -0
  41. package/dist/content/skills/specialist-arquitetura-software/resources/templates/adr.md +61 -0
  42. package/dist/content/skills/specialist-arquitetura-software/resources/templates/arquitetura.md +192 -0
  43. package/dist/content/skills/specialist-arquitetura-software/resources/templates/slo-sli.md +153 -0
  44. package/dist/content/skills/specialist-banco-dados/MCP_INTEGRATION.md +390 -0
  45. package/dist/content/skills/specialist-banco-dados/README.md +323 -0
  46. package/dist/content/skills/specialist-banco-dados/SKILL.md +221 -0
  47. package/dist/content/skills/specialist-banco-dados/mcp_functions/init_database.py +720 -0
  48. package/dist/content/skills/specialist-banco-dados/mcp_functions/process_database.py +386 -0
  49. package/dist/content/skills/specialist-banco-dados/mcp_functions/validate_database.py +551 -0
  50. package/dist/content/skills/specialist-banco-dados/resources/checklists/database-validation.md +434 -0
  51. package/dist/content/skills/specialist-banco-dados/resources/examples/database-examples.md +857 -0
  52. package/dist/content/skills/specialist-banco-dados/resources/reference/database-guide.md +708 -0
  53. package/dist/content/skills/specialist-banco-dados/resources/templates/constraints.md +935 -0
  54. package/dist/content/skills/specialist-banco-dados/resources/templates/design-banco.md +509 -0
  55. package/dist/content/skills/specialist-banco-dados/resources/templates/indices.md +553 -0
  56. package/dist/content/skills/specialist-banco-dados/resources/templates/migracoes.md +777 -0
  57. package/dist/content/skills/specialist-contrato-api/MCP_INTEGRATION.md +152 -0
  58. package/dist/content/skills/specialist-contrato-api/README.md +183 -0
  59. package/dist/content/skills/specialist-contrato-api/SKILL.md +317 -0
  60. package/dist/content/skills/specialist-contrato-api/mcp_functions/README.md +17 -0
  61. package/dist/content/skills/specialist-contrato-api/resources/checklists/api-validation.md +44 -0
  62. package/dist/content/skills/specialist-contrato-api/resources/examples/api-examples.md +137 -0
  63. package/dist/content/skills/specialist-contrato-api/resources/reference/api-guide.md +96 -0
  64. package/dist/content/skills/specialist-contrato-api/resources/templates/contrato-api.md +165 -0
  65. package/dist/content/skills/specialist-dados-analytics-ia/MCP_INTEGRATION.md +398 -0
  66. package/dist/content/skills/specialist-dados-analytics-ia/README.md +224 -0
  67. package/dist/content/skills/specialist-dados-analytics-ia/SKILL.md +160 -0
  68. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/generate_insights_dashboard.py +669 -0
  69. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/init_analytics_pipeline.py +626 -0
  70. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/validate_analytics_quality.py +772 -0
  71. package/dist/content/skills/specialist-dados-analytics-ia/resources/checklists/analytics-validation.md +519 -0
  72. package/dist/content/skills/specialist-dados-analytics-ia/resources/examples/analytics-examples.md +646 -0
  73. package/dist/content/skills/specialist-dados-analytics-ia/resources/reference/analytics-guide.md +1111 -0
  74. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/feature.md +419 -0
  75. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/requisitos.md +384 -0
  76. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/slo-sli.md +381 -0
  77. package/dist/content/skills/specialist-debugging-troubleshooting/MCP_INTEGRATION.md +340 -0
  78. package/dist/content/skills/specialist-debugging-troubleshooting/README.md +218 -0
  79. package/dist/content/skills/specialist-debugging-troubleshooting/SKILL.md +194 -0
  80. package/dist/content/skills/specialist-debugging-troubleshooting/resources/checklists/debugging-validation.md +319 -0
  81. package/dist/content/skills/specialist-debugging-troubleshooting/resources/examples/debugging-examples.md +480 -0
  82. package/dist/content/skills/specialist-debugging-troubleshooting/resources/prompts/analise-bugs.md +527 -0
  83. package/dist/content/skills/specialist-debugging-troubleshooting/resources/reference/debugging-guide.md +392 -0
  84. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/bug-report.md +192 -0
  85. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/post-mortem.md +241 -0
  86. package/dist/content/skills/specialist-debugging-troubleshooting/scripts/README.md +64 -0
  87. package/dist/content/skills/specialist-desenvolvimento-backend/MCP_INTEGRATION.md +98 -0
  88. package/dist/content/skills/specialist-desenvolvimento-backend/README.md +167 -0
  89. package/dist/content/skills/specialist-desenvolvimento-backend/SKILL.md +288 -0
  90. package/dist/content/skills/specialist-desenvolvimento-backend/mcp_functions/README.md +17 -0
  91. package/dist/content/skills/specialist-desenvolvimento-backend/resources/checklists/backend-validation.md +44 -0
  92. package/dist/content/skills/specialist-desenvolvimento-backend/resources/examples/backend-examples.md +109 -0
  93. package/dist/content/skills/specialist-desenvolvimento-backend/resources/reference/backend-guide.md +86 -0
  94. package/dist/content/skills/specialist-desenvolvimento-frontend/MCP_INTEGRATION.md +914 -0
  95. package/dist/content/skills/specialist-desenvolvimento-frontend/README.md +261 -0
  96. package/dist/content/skills/specialist-desenvolvimento-frontend/SKILL.md +220 -0
  97. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/init_frontend.py +861 -0
  98. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/process_frontend.py +1003 -0
  99. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/validate_frontend.py +766 -0
  100. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/checklists/frontend-validation.md +365 -0
  101. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/examples/frontend-examples.md +1125 -0
  102. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/reference/frontend-guide.md +1055 -0
  103. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/component-story.md +530 -0
  104. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/historia-frontend.md +243 -0
  105. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/ui-guidelines.md +725 -0
  106. package/dist/content/skills/specialist-desenvolvimento-mobile/MCP_INTEGRATION.md +87 -0
  107. package/dist/content/skills/specialist-desenvolvimento-mobile/README.md +149 -0
  108. package/dist/content/skills/specialist-desenvolvimento-mobile/SKILL.md +360 -0
  109. package/dist/content/skills/specialist-desenvolvimento-mobile/mcp_functions/README.md +17 -0
  110. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/checklists/mobile-validation.md +330 -0
  111. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/examples/mobile-examples.md +966 -0
  112. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/android-guide.md +546 -0
  113. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/flutter-guide.md +500 -0
  114. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/ios-guide.md +518 -0
  115. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/mobile-guide.md +76 -0
  116. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/react-native-guide.md +659 -0
  117. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/historia-mobile.md +284 -0
  118. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/mobile-checklist.md +239 -0
  119. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/platform-selection.md +302 -0
  120. package/dist/content/skills/specialist-devops-infra/MCP_INTEGRATION.md +471 -0
  121. package/dist/content/skills/specialist-devops-infra/README.md +234 -0
  122. package/dist/content/skills/specialist-devops-infra/SKILL.md +162 -0
  123. package/dist/content/skills/specialist-devops-infra/mcp_functions/generate_ci_cd_pipeline.py +870 -0
  124. package/dist/content/skills/specialist-devops-infra/mcp_functions/init_infrastructure_structure.py +704 -0
  125. package/dist/content/skills/specialist-devops-infra/mcp_functions/validate_infrastructure_quality.py +745 -0
  126. package/dist/content/skills/specialist-devops-infra/resources/checklists/devops-validation.md +427 -0
  127. package/dist/content/skills/specialist-devops-infra/resources/examples/devops-examples.md +652 -0
  128. package/dist/content/skills/specialist-devops-infra/resources/reference/devops-guide.md +1244 -0
  129. package/dist/content/skills/specialist-devops-infra/resources/templates/ci-cd-pipeline.yml +40 -0
  130. package/dist/content/skills/specialist-documentacao-tecnica/MCP_INTEGRATION.md +797 -0
  131. package/dist/content/skills/specialist-documentacao-tecnica/README.md +304 -0
  132. package/dist/content/skills/specialist-documentacao-tecnica/SKILL.md +202 -0
  133. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/init_documentation_structure.py +733 -0
  134. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/process_documentation_for_publishing.py +888 -0
  135. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/validate_documentation_quality.py +775 -0
  136. package/dist/content/skills/specialist-documentacao-tecnica/resources/checklists/documentation-validation.md +296 -0
  137. package/dist/content/skills/specialist-documentacao-tecnica/resources/examples/documentation-examples.md +515 -0
  138. package/dist/content/skills/specialist-documentacao-tecnica/resources/reference/documentation-guide.md +798 -0
  139. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/api-docs.md +619 -0
  140. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/design-doc.md +250 -0
  141. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/guia-tecnico.md +383 -0
  142. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/readme-template.md +462 -0
  143. package/dist/content/skills/specialist-engenharia-requisitos-ia/MCP_INTEGRATION.md +457 -0
  144. package/dist/content/skills/specialist-engenharia-requisitos-ia/README.md +295 -0
  145. package/dist/content/skills/specialist-engenharia-requisitos-ia/SKILL.md +214 -0
  146. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/init_requirements.py +152 -0
  147. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/process_requirements.py +445 -0
  148. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/validate_requirements.py +475 -0
  149. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/checklists/requirements-validation.md +258 -0
  150. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/examples/requirements-examples.md +316 -0
  151. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/reference/requirements-guide.md +651 -0
  152. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/criterios-aceite.md +484 -0
  153. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/matriz-rastreabilidade.md +246 -0
  154. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/requisitos.md +244 -0
  155. package/dist/content/skills/specialist-exploracao-codebase/MCP_INTEGRATION.md +155 -0
  156. package/dist/content/skills/specialist-exploracao-codebase/README.md +320 -0
  157. package/dist/content/skills/specialist-exploracao-codebase/SKILL.md +194 -0
  158. package/dist/content/skills/specialist-exploracao-codebase/mcp_functions/README.md +39 -0
  159. package/dist/content/skills/specialist-exploracao-codebase/resources/checklists/exploration-validation.md +51 -0
  160. package/dist/content/skills/specialist-exploracao-codebase/resources/examples/exploration-examples.md +106 -0
  161. package/dist/content/skills/specialist-exploracao-codebase/resources/reference/exploration-guide.md +111 -0
  162. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/codebase-map.md +129 -0
  163. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/refactoring-plan.md +96 -0
  164. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/technical-debt-report.md +69 -0
  165. package/dist/content/skills/specialist-gestao-produto/MCP_INTEGRATION.md +436 -0
  166. package/dist/content/skills/specialist-gestao-produto/README.md +202 -0
  167. package/dist/content/skills/specialist-gestao-produto/SKILL.md +174 -0
  168. package/dist/content/skills/specialist-gestao-produto/resources/checklists/prd-validation.md +165 -0
  169. package/dist/content/skills/specialist-gestao-produto/resources/examples/prd-examples.md +231 -0
  170. package/dist/content/skills/specialist-gestao-produto/resources/reference/product-guide.md +416 -0
  171. package/dist/content/skills/specialist-gestao-produto/resources/templates/PRD.md +212 -0
  172. package/dist/content/skills/specialist-gestao-produto/scripts/init_prd.py +170 -0
  173. package/dist/content/skills/specialist-gestao-produto/scripts/process_prd.py +388 -0
  174. package/dist/content/skills/specialist-gestao-produto/scripts/validate_prd.py +406 -0
  175. package/dist/content/skills/specialist-migracao-modernizacao/MCP_INTEGRATION.md +17 -0
  176. package/dist/content/skills/specialist-migracao-modernizacao/README.md +46 -0
  177. package/dist/content/skills/specialist-migracao-modernizacao/SKILL.md +485 -0
  178. package/dist/content/skills/specialist-migracao-modernizacao/mcp_functions/README.md +10 -0
  179. package/dist/content/skills/specialist-migracao-modernizacao/resources/checklists/migration-validation.md +23 -0
  180. package/dist/content/skills/specialist-migracao-modernizacao/resources/examples/migration-examples.md +30 -0
  181. package/dist/content/skills/specialist-migracao-modernizacao/resources/reference/migration-guide.md +27 -0
  182. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/migration-assessment.md +391 -0
  183. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/modernization-roadmap.md +479 -0
  184. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/risk-analysis.md +527 -0
  185. package/dist/content/skills/specialist-mobile-design-avancado/MCP_INTEGRATION.md +17 -0
  186. package/dist/content/skills/specialist-mobile-design-avancado/README.md +46 -0
  187. package/dist/content/skills/specialist-mobile-design-avancado/SKILL.md +567 -0
  188. package/dist/content/skills/specialist-mobile-design-avancado/mcp_functions/README.md +10 -0
  189. package/dist/content/skills/specialist-mobile-design-avancado/resources/checklists/design-validation.md +23 -0
  190. package/dist/content/skills/specialist-mobile-design-avancado/resources/examples/design-examples.md +46 -0
  191. package/dist/content/skills/specialist-mobile-design-avancado/resources/reference/design-guide.md +23 -0
  192. package/dist/content/skills/specialist-modelagem-dominio/MCP_INTEGRATION.md +336 -0
  193. package/dist/content/skills/specialist-modelagem-dominio/README.md +314 -0
  194. package/dist/content/skills/specialist-modelagem-dominio/SKILL.md +241 -0
  195. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/init_domain.py +479 -0
  196. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/process_domain.py +526 -0
  197. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/validate_domain.py +569 -0
  198. package/dist/content/skills/specialist-modelagem-dominio/resources/checklists/domain-validation.md +341 -0
  199. package/dist/content/skills/specialist-modelagem-dominio/resources/examples/domain-examples.md +505 -0
  200. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-guide.md +601 -0
  201. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-modeling-complete-guide.md +1126 -0
  202. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/arquitetura-c4.md +477 -0
  203. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/casos-uso.md +395 -0
  204. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/entidades-relacionamentos.md +368 -0
  205. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/modelo-dominio.md +311 -0
  206. package/dist/content/skills/specialist-observabilidade/SKILL.md +462 -0
  207. package/dist/content/skills/specialist-performance-escalabilidade/SKILL.md +329 -0
  208. package/dist/content/skills/specialist-plano-execucao-ia/MCP_INTEGRATION.md +371 -0
  209. package/dist/content/skills/specialist-plano-execucao-ia/README.md +194 -0
  210. package/dist/content/skills/specialist-plano-execucao-ia/SKILL.md +271 -0
  211. package/dist/content/skills/specialist-plano-execucao-ia/mcp_functions/README.md +38 -0
  212. package/dist/content/skills/specialist-plano-execucao-ia/resources/checklists/planning-validation.md +144 -0
  213. package/dist/content/skills/specialist-plano-execucao-ia/resources/examples/planning-examples.md +203 -0
  214. package/dist/content/skills/specialist-plano-execucao-ia/resources/reference/planning-guide.md +316 -0
  215. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/backlog.md +146 -0
  216. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-backend.md +157 -0
  217. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-frontend.md +116 -0
  218. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-usuario.md +66 -0
  219. package/dist/content/skills/specialist-prototipagem-stitch/MCP_INTEGRATION.md +533 -0
  220. package/dist/content/skills/specialist-prototipagem-stitch/README.md +321 -0
  221. package/dist/content/skills/specialist-prototipagem-stitch/SKILL.md +194 -0
  222. package/dist/content/skills/specialist-prototipagem-stitch/mcp_functions/README.md +239 -0
  223. package/dist/content/skills/specialist-prototipagem-stitch/resources/checklists/stitch-validation.md +357 -0
  224. package/dist/content/skills/specialist-prototipagem-stitch/resources/examples/stitch-examples.md +372 -0
  225. package/dist/content/skills/specialist-prototipagem-stitch/resources/reference/stitch-guide.md +517 -0
  226. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prompt-stitch.md +429 -0
  227. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prototipo-stitch.md +317 -0
  228. package/dist/content/skills/specialist-seguranca-informacao/MCP_INTEGRATION.md +466 -0
  229. package/dist/content/skills/specialist-seguranca-informacao/README.md +245 -0
  230. package/dist/content/skills/specialist-seguranca-informacao/SKILL.md +343 -0
  231. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/init_security.py +405 -0
  232. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/process_security.py +611 -0
  233. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/validate_security.py +468 -0
  234. package/dist/content/skills/specialist-seguranca-informacao/resources/checklists/security-validation.md +368 -0
  235. package/dist/content/skills/specialist-seguranca-informacao/resources/examples/security-examples.md +358 -0
  236. package/dist/content/skills/specialist-seguranca-informacao/resources/reference/security-guide.md +757 -0
  237. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/checklist-seguranca.md +383 -0
  238. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/slo-sli.md +244 -0
  239. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/threat-modeling.md +161 -0
  240. package/dist/content/skills/specialist-ux-design/MCP_INTEGRATION.md +294 -0
  241. package/dist/content/skills/specialist-ux-design/README.md +304 -0
  242. package/dist/content/skills/specialist-ux-design/SKILL.md +212 -0
  243. package/dist/content/skills/specialist-ux-design/mcp_functions/init_ux.py +126 -0
  244. package/dist/content/skills/specialist-ux-design/mcp_functions/process_ux.py +408 -0
  245. package/dist/content/skills/specialist-ux-design/mcp_functions/validate_ux.py +379 -0
  246. package/dist/content/skills/specialist-ux-design/resources/checklists/ux-validation.md +77 -0
  247. package/dist/content/skills/specialist-ux-design/resources/examples/ux-examples.md +161 -0
  248. package/dist/content/skills/specialist-ux-design/resources/reference/ux-guide.md +184 -0
  249. package/dist/content/skills/specialist-ux-design/resources/templates/design-doc.md +160 -0
  250. package/dist/content/skills/specialist-ux-design/resources/templates/jornada-usuario.md +126 -0
  251. package/dist/content/skills/specialist-ux-design/resources/templates/wireframes.md +155 -0
  252. package/dist/core/adr/ADRGenerator.d.ts +28 -0
  253. package/dist/core/adr/ADRGenerator.d.ts.map +1 -0
  254. package/dist/core/adr/ADRGenerator.js +63 -0
  255. package/dist/core/adr/ADRGenerator.js.map +1 -0
  256. package/dist/core/adr/index.d.ts +2 -0
  257. package/dist/core/adr/index.d.ts.map +1 -0
  258. package/dist/core/adr/index.js +2 -0
  259. package/dist/core/adr/index.js.map +1 -0
  260. package/dist/core/architecture/FitnessFunctions.d.ts +67 -0
  261. package/dist/core/architecture/FitnessFunctions.d.ts.map +1 -0
  262. package/dist/core/architecture/FitnessFunctions.js +292 -0
  263. package/dist/core/architecture/FitnessFunctions.js.map +1 -0
  264. package/dist/core/architecture/index.d.ts +3 -0
  265. package/dist/core/architecture/index.d.ts.map +1 -0
  266. package/dist/core/architecture/index.js +3 -0
  267. package/dist/core/architecture/index.js.map +1 -0
  268. package/dist/core/architecture/types.d.ts +42 -0
  269. package/dist/core/architecture/types.d.ts.map +1 -0
  270. package/dist/core/architecture/types.js +5 -0
  271. package/dist/core/architecture/types.js.map +1 -0
  272. package/dist/core/atam/ATAMAnalyzer.d.ts +19 -0
  273. package/dist/core/atam/ATAMAnalyzer.d.ts.map +1 -0
  274. package/dist/core/atam/ATAMAnalyzer.js +206 -0
  275. package/dist/core/atam/ATAMAnalyzer.js.map +1 -0
  276. package/dist/core/atam/ATAMReporter.d.ts +16 -0
  277. package/dist/core/atam/ATAMReporter.d.ts.map +1 -0
  278. package/dist/core/atam/ATAMReporter.js +175 -0
  279. package/dist/core/atam/ATAMReporter.js.map +1 -0
  280. package/dist/core/atam/QualityScenarios.d.ts +16 -0
  281. package/dist/core/atam/QualityScenarios.d.ts.map +1 -0
  282. package/dist/core/atam/QualityScenarios.js +149 -0
  283. package/dist/core/atam/QualityScenarios.js.map +1 -0
  284. package/dist/core/atam/RiskRegistry.d.ts +21 -0
  285. package/dist/core/atam/RiskRegistry.d.ts.map +1 -0
  286. package/dist/core/atam/RiskRegistry.js +83 -0
  287. package/dist/core/atam/RiskRegistry.js.map +1 -0
  288. package/dist/core/atam/index.d.ts +6 -0
  289. package/dist/core/atam/index.d.ts.map +1 -0
  290. package/dist/core/atam/index.js +6 -0
  291. package/dist/core/atam/index.js.map +1 -0
  292. package/dist/core/atam/types.d.ts +86 -0
  293. package/dist/core/atam/types.d.ts.map +1 -0
  294. package/dist/core/atam/types.js +5 -0
  295. package/dist/core/atam/types.js.map +1 -0
  296. package/dist/core/authority/AuthorityManager.d.ts +19 -0
  297. package/dist/core/authority/AuthorityManager.d.ts.map +1 -0
  298. package/dist/core/authority/AuthorityManager.js +66 -0
  299. package/dist/core/authority/AuthorityManager.js.map +1 -0
  300. package/dist/core/authority/index.d.ts +2 -0
  301. package/dist/core/authority/index.d.ts.map +1 -0
  302. package/dist/core/authority/index.js +2 -0
  303. package/dist/core/authority/index.js.map +1 -0
  304. package/dist/core/autofix/AutoFixEngine.d.ts +17 -0
  305. package/dist/core/autofix/AutoFixEngine.d.ts.map +1 -0
  306. package/dist/core/autofix/AutoFixEngine.js +46 -0
  307. package/dist/core/autofix/AutoFixEngine.js.map +1 -0
  308. package/dist/core/autofix/index.d.ts +2 -0
  309. package/dist/core/autofix/index.d.ts.map +1 -0
  310. package/dist/core/autofix/index.js +2 -0
  311. package/dist/core/autofix/index.js.map +1 -0
  312. package/dist/core/automation/AutoExecutor.d.ts +20 -0
  313. package/dist/core/automation/AutoExecutor.d.ts.map +1 -0
  314. package/dist/core/automation/AutoExecutor.js +38 -0
  315. package/dist/core/automation/AutoExecutor.js.map +1 -0
  316. package/dist/core/automation/index.d.ts +2 -0
  317. package/dist/core/automation/index.d.ts.map +1 -0
  318. package/dist/core/automation/index.js +2 -0
  319. package/dist/core/automation/index.js.map +1 -0
  320. package/dist/core/checkpoint/CheckpointManager.d.ts +43 -0
  321. package/dist/core/checkpoint/CheckpointManager.d.ts.map +1 -0
  322. package/dist/core/checkpoint/CheckpointManager.js +158 -0
  323. package/dist/core/checkpoint/CheckpointManager.js.map +1 -0
  324. package/dist/core/checkpoint/RollbackEngine.d.ts +31 -0
  325. package/dist/core/checkpoint/RollbackEngine.d.ts.map +1 -0
  326. package/dist/core/checkpoint/RollbackEngine.js +176 -0
  327. package/dist/core/checkpoint/RollbackEngine.js.map +1 -0
  328. package/dist/core/checkpoint/index.d.ts +4 -0
  329. package/dist/core/checkpoint/index.d.ts.map +1 -0
  330. package/dist/core/checkpoint/index.js +4 -0
  331. package/dist/core/checkpoint/index.js.map +1 -0
  332. package/dist/core/checkpoint/types.d.ts +33 -0
  333. package/dist/core/checkpoint/types.d.ts.map +1 -0
  334. package/dist/core/checkpoint/types.js +2 -0
  335. package/dist/core/checkpoint/types.js.map +1 -0
  336. package/dist/core/consistency/ConsistencyAnalyzer.d.ts +12 -0
  337. package/dist/core/consistency/ConsistencyAnalyzer.d.ts.map +1 -0
  338. package/dist/core/consistency/ConsistencyAnalyzer.js +79 -0
  339. package/dist/core/consistency/ConsistencyAnalyzer.js.map +1 -0
  340. package/dist/core/consistency/index.d.ts +3 -0
  341. package/dist/core/consistency/index.d.ts.map +1 -0
  342. package/dist/core/consistency/index.js +3 -0
  343. package/dist/core/consistency/index.js.map +1 -0
  344. package/dist/core/consistency/types.d.ts +43 -0
  345. package/dist/core/consistency/types.d.ts.map +1 -0
  346. package/dist/core/consistency/types.js +5 -0
  347. package/dist/core/consistency/types.js.map +1 -0
  348. package/dist/core/context/ContextDetector.d.ts +14 -0
  349. package/dist/core/context/ContextDetector.d.ts.map +1 -0
  350. package/dist/core/context/ContextDetector.js +58 -0
  351. package/dist/core/context/ContextDetector.js.map +1 -0
  352. package/dist/core/context/index.d.ts +3 -0
  353. package/dist/core/context/index.d.ts.map +1 -0
  354. package/dist/core/context/index.js +3 -0
  355. package/dist/core/context/index.js.map +1 -0
  356. package/dist/core/context/types.d.ts +41 -0
  357. package/dist/core/context/types.d.ts.map +1 -0
  358. package/dist/core/context/types.js +5 -0
  359. package/dist/core/context/types.js.map +1 -0
  360. package/dist/core/decision/AlternativeGenerator.d.ts +32 -0
  361. package/dist/core/decision/AlternativeGenerator.d.ts.map +1 -0
  362. package/dist/core/decision/AlternativeGenerator.js +155 -0
  363. package/dist/core/decision/AlternativeGenerator.js.map +1 -0
  364. package/dist/core/decision/ConfidenceCalculator.d.ts +42 -0
  365. package/dist/core/decision/ConfidenceCalculator.d.ts.map +1 -0
  366. package/dist/core/decision/ConfidenceCalculator.js +114 -0
  367. package/dist/core/decision/ConfidenceCalculator.js.map +1 -0
  368. package/dist/core/decision/DecisionEngine.d.ts +42 -0
  369. package/dist/core/decision/DecisionEngine.d.ts.map +1 -0
  370. package/dist/core/decision/DecisionEngine.js +144 -0
  371. package/dist/core/decision/DecisionEngine.js.map +1 -0
  372. package/dist/core/decision/DecisionMatrix.d.ts +29 -0
  373. package/dist/core/decision/DecisionMatrix.d.ts.map +1 -0
  374. package/dist/core/decision/DecisionMatrix.js +66 -0
  375. package/dist/core/decision/DecisionMatrix.js.map +1 -0
  376. package/dist/core/decision/index.d.ts +6 -0
  377. package/dist/core/decision/index.d.ts.map +1 -0
  378. package/dist/core/decision/index.js +6 -0
  379. package/dist/core/decision/index.js.map +1 -0
  380. package/dist/core/decision/types.d.ts +40 -0
  381. package/dist/core/decision/types.d.ts.map +1 -0
  382. package/dist/core/decision/types.js +5 -0
  383. package/dist/core/decision/types.js.map +1 -0
  384. package/dist/core/discovery/CodebaseDiscovery.d.ts +19 -0
  385. package/dist/core/discovery/CodebaseDiscovery.d.ts.map +1 -0
  386. package/dist/core/discovery/CodebaseDiscovery.js +83 -0
  387. package/dist/core/discovery/CodebaseDiscovery.js.map +1 -0
  388. package/dist/core/discovery/index.d.ts +2 -0
  389. package/dist/core/discovery/index.d.ts.map +1 -0
  390. package/dist/core/discovery/index.js +2 -0
  391. package/dist/core/discovery/index.js.map +1 -0
  392. package/dist/core/feedback/FeedbackLoop.d.ts +21 -0
  393. package/dist/core/feedback/FeedbackLoop.d.ts.map +1 -0
  394. package/dist/core/feedback/FeedbackLoop.js +45 -0
  395. package/dist/core/feedback/FeedbackLoop.js.map +1 -0
  396. package/dist/core/feedback/index.d.ts +2 -0
  397. package/dist/core/feedback/index.d.ts.map +1 -0
  398. package/dist/core/feedback/index.js +2 -0
  399. package/dist/core/feedback/index.js.map +1 -0
  400. package/dist/core/growth/GrowthProjector.d.ts +12 -0
  401. package/dist/core/growth/GrowthProjector.d.ts.map +1 -0
  402. package/dist/core/growth/GrowthProjector.js +93 -0
  403. package/dist/core/growth/GrowthProjector.js.map +1 -0
  404. package/dist/core/growth/index.d.ts +3 -0
  405. package/dist/core/growth/index.d.ts.map +1 -0
  406. package/dist/core/growth/index.js +3 -0
  407. package/dist/core/growth/index.js.map +1 -0
  408. package/dist/core/growth/types.d.ts +40 -0
  409. package/dist/core/growth/types.d.ts.map +1 -0
  410. package/dist/core/growth/types.js +5 -0
  411. package/dist/core/growth/types.js.map +1 -0
  412. package/dist/core/impact/ImpactAnalyzer.d.ts +22 -0
  413. package/dist/core/impact/ImpactAnalyzer.d.ts.map +1 -0
  414. package/dist/core/impact/ImpactAnalyzer.js +43 -0
  415. package/dist/core/impact/ImpactAnalyzer.js.map +1 -0
  416. package/dist/core/impact/index.d.ts +2 -0
  417. package/dist/core/impact/index.d.ts.map +1 -0
  418. package/dist/core/impact/index.js +2 -0
  419. package/dist/core/impact/index.js.map +1 -0
  420. package/dist/core/knowledge/ADRManager.d.ts +22 -0
  421. package/dist/core/knowledge/ADRManager.d.ts.map +1 -0
  422. package/dist/core/knowledge/ADRManager.js +82 -0
  423. package/dist/core/knowledge/ADRManager.js.map +1 -0
  424. package/dist/core/knowledge/ContextLoader.d.ts +18 -0
  425. package/dist/core/knowledge/ContextLoader.d.ts.map +1 -0
  426. package/dist/core/knowledge/ContextLoader.js +48 -0
  427. package/dist/core/knowledge/ContextLoader.js.map +1 -0
  428. package/dist/core/knowledge/KnowledgeBase.d.ts +35 -0
  429. package/dist/core/knowledge/KnowledgeBase.d.ts.map +1 -0
  430. package/dist/core/knowledge/KnowledgeBase.js +143 -0
  431. package/dist/core/knowledge/KnowledgeBase.js.map +1 -0
  432. package/dist/core/knowledge/PatternRegistry.d.ts +22 -0
  433. package/dist/core/knowledge/PatternRegistry.d.ts.map +1 -0
  434. package/dist/core/knowledge/PatternRegistry.js +56 -0
  435. package/dist/core/knowledge/PatternRegistry.js.map +1 -0
  436. package/dist/core/knowledge/index.d.ts +6 -0
  437. package/dist/core/knowledge/index.d.ts.map +1 -0
  438. package/dist/core/knowledge/index.js +6 -0
  439. package/dist/core/knowledge/index.js.map +1 -0
  440. package/dist/core/knowledge/types.d.ts +60 -0
  441. package/dist/core/knowledge/types.d.ts.map +1 -0
  442. package/dist/core/knowledge/types.js +2 -0
  443. package/dist/core/knowledge/types.js.map +1 -0
  444. package/dist/core/metrics/MetricsCollector.d.ts +21 -0
  445. package/dist/core/metrics/MetricsCollector.d.ts.map +1 -0
  446. package/dist/core/metrics/MetricsCollector.js +20 -0
  447. package/dist/core/metrics/MetricsCollector.js.map +1 -0
  448. package/dist/core/metrics/index.d.ts +2 -0
  449. package/dist/core/metrics/index.d.ts.map +1 -0
  450. package/dist/core/metrics/index.js +2 -0
  451. package/dist/core/metrics/index.js.map +1 -0
  452. package/dist/core/notification/NotificationManager.d.ts +20 -0
  453. package/dist/core/notification/NotificationManager.d.ts.map +1 -0
  454. package/dist/core/notification/NotificationManager.js +16 -0
  455. package/dist/core/notification/NotificationManager.js.map +1 -0
  456. package/dist/core/notification/index.d.ts +2 -0
  457. package/dist/core/notification/index.d.ts.map +1 -0
  458. package/dist/core/notification/index.js +2 -0
  459. package/dist/core/notification/index.js.map +1 -0
  460. package/dist/core/risk/RiskEvaluator.d.ts +11 -0
  461. package/dist/core/risk/RiskEvaluator.d.ts.map +1 -0
  462. package/dist/core/risk/RiskEvaluator.js +83 -0
  463. package/dist/core/risk/RiskEvaluator.js.map +1 -0
  464. package/dist/core/risk/index.d.ts +3 -0
  465. package/dist/core/risk/index.d.ts.map +1 -0
  466. package/dist/core/risk/index.js +3 -0
  467. package/dist/core/risk/index.js.map +1 -0
  468. package/dist/core/risk/types.d.ts +19 -0
  469. package/dist/core/risk/types.d.ts.map +1 -0
  470. package/dist/core/risk/types.js +2 -0
  471. package/dist/core/risk/types.js.map +1 -0
  472. package/dist/core/roadmap/RoadmapManager.d.ts +14 -0
  473. package/dist/core/roadmap/RoadmapManager.d.ts.map +1 -0
  474. package/dist/core/roadmap/RoadmapManager.js +81 -0
  475. package/dist/core/roadmap/RoadmapManager.js.map +1 -0
  476. package/dist/core/roadmap/index.d.ts +3 -0
  477. package/dist/core/roadmap/index.d.ts.map +1 -0
  478. package/dist/core/roadmap/index.js +3 -0
  479. package/dist/core/roadmap/index.js.map +1 -0
  480. package/dist/core/roadmap/types.d.ts +64 -0
  481. package/dist/core/roadmap/types.d.ts.map +1 -0
  482. package/dist/core/roadmap/types.js +5 -0
  483. package/dist/core/roadmap/types.js.map +1 -0
  484. package/dist/core/strangler/StranglerOrchestrator.d.ts +14 -0
  485. package/dist/core/strangler/StranglerOrchestrator.d.ts.map +1 -0
  486. package/dist/core/strangler/StranglerOrchestrator.js +87 -0
  487. package/dist/core/strangler/StranglerOrchestrator.js.map +1 -0
  488. package/dist/core/strangler/index.d.ts +3 -0
  489. package/dist/core/strangler/index.d.ts.map +1 -0
  490. package/dist/core/strangler/index.js +3 -0
  491. package/dist/core/strangler/index.js.map +1 -0
  492. package/dist/core/strangler/types.d.ts +70 -0
  493. package/dist/core/strangler/types.d.ts.map +1 -0
  494. package/dist/core/strangler/types.js +5 -0
  495. package/dist/core/strangler/types.js.map +1 -0
  496. package/dist/core/testing/TestRunner.d.ts +17 -0
  497. package/dist/core/testing/TestRunner.d.ts.map +1 -0
  498. package/dist/core/testing/TestRunner.js +22 -0
  499. package/dist/core/testing/TestRunner.js.map +1 -0
  500. package/dist/core/testing/index.d.ts +2 -0
  501. package/dist/core/testing/index.d.ts.map +1 -0
  502. package/dist/core/testing/index.js +2 -0
  503. package/dist/core/testing/index.js.map +1 -0
  504. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts +24 -0
  505. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts.map +1 -0
  506. package/dist/core/tradeoff/TradeoffAnalyzer.js +51 -0
  507. package/dist/core/tradeoff/TradeoffAnalyzer.js.map +1 -0
  508. package/dist/core/tradeoff/index.d.ts +2 -0
  509. package/dist/core/tradeoff/index.d.ts.map +1 -0
  510. package/dist/core/tradeoff/index.js +2 -0
  511. package/dist/core/tradeoff/index.js.map +1 -0
  512. package/dist/core/validation/DependencyValidator.d.ts +28 -0
  513. package/dist/core/validation/DependencyValidator.d.ts.map +1 -0
  514. package/dist/core/validation/DependencyValidator.js +188 -0
  515. package/dist/core/validation/DependencyValidator.js.map +1 -0
  516. package/dist/core/validation/SecurityValidator.d.ts +44 -0
  517. package/dist/core/validation/SecurityValidator.d.ts.map +1 -0
  518. package/dist/core/validation/SecurityValidator.js +248 -0
  519. package/dist/core/validation/SecurityValidator.js.map +1 -0
  520. package/dist/core/validation/ValidationPipeline.d.ts +62 -0
  521. package/dist/core/validation/ValidationPipeline.d.ts.map +1 -0
  522. package/dist/core/validation/ValidationPipeline.js +216 -0
  523. package/dist/core/validation/ValidationPipeline.js.map +1 -0
  524. package/dist/core/validation/index.d.ts +4 -0
  525. package/dist/core/validation/index.d.ts.map +1 -0
  526. package/dist/core/validation/index.js +4 -0
  527. package/dist/core/validation/index.js.map +1 -0
  528. package/dist/core/validation/layers/ArchitectureValidator.d.ts +21 -0
  529. package/dist/core/validation/layers/ArchitectureValidator.d.ts.map +1 -0
  530. package/dist/core/validation/layers/ArchitectureValidator.js +226 -0
  531. package/dist/core/validation/layers/ArchitectureValidator.js.map +1 -0
  532. package/dist/core/validation/layers/QualityValidator.d.ts +23 -0
  533. package/dist/core/validation/layers/QualityValidator.d.ts.map +1 -0
  534. package/dist/core/validation/layers/QualityValidator.js +259 -0
  535. package/dist/core/validation/layers/QualityValidator.js.map +1 -0
  536. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts +12 -0
  537. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts.map +1 -0
  538. package/dist/core/validation/layers/SecurityValidatorWrapper.js +54 -0
  539. package/dist/core/validation/layers/SecurityValidatorWrapper.js.map +1 -0
  540. package/dist/core/validation/layers/SemanticValidator.d.ts +21 -0
  541. package/dist/core/validation/layers/SemanticValidator.d.ts.map +1 -0
  542. package/dist/core/validation/layers/SemanticValidator.js +182 -0
  543. package/dist/core/validation/layers/SemanticValidator.js.map +1 -0
  544. package/dist/core/validation/layers/SyntacticValidator.d.ts +17 -0
  545. package/dist/core/validation/layers/SyntacticValidator.d.ts.map +1 -0
  546. package/dist/core/validation/layers/SyntacticValidator.js +194 -0
  547. package/dist/core/validation/layers/SyntacticValidator.js.map +1 -0
  548. package/dist/core/validation/types.d.ts +90 -0
  549. package/dist/core/validation/types.d.ts.map +1 -0
  550. package/dist/core/validation/types.js +24 -0
  551. package/dist/core/validation/types.js.map +1 -0
  552. package/dist/frontend-first/contract-generator.d.ts +47 -0
  553. package/dist/frontend-first/contract-generator.d.ts.map +1 -0
  554. package/dist/frontend-first/contract-generator.js +312 -0
  555. package/dist/frontend-first/contract-generator.js.map +1 -0
  556. package/dist/frontend-first/mock-generator.d.ts +23 -0
  557. package/dist/frontend-first/mock-generator.d.ts.map +1 -0
  558. package/dist/frontend-first/mock-generator.js +186 -0
  559. package/dist/frontend-first/mock-generator.js.map +1 -0
  560. package/dist/index.js +2 -2
  561. package/dist/index.js.map +1 -1
  562. package/dist/optimization/batch-prompts.d.ts +27 -0
  563. package/dist/optimization/batch-prompts.d.ts.map +1 -0
  564. package/dist/optimization/batch-prompts.js +178 -0
  565. package/dist/optimization/batch-prompts.js.map +1 -0
  566. package/dist/optimization/context-cache.d.ts +45 -0
  567. package/dist/optimization/context-cache.d.ts.map +1 -0
  568. package/dist/optimization/context-cache.js +149 -0
  569. package/dist/optimization/context-cache.js.map +1 -0
  570. package/dist/optimization/smart-validation.d.ts +43 -0
  571. package/dist/optimization/smart-validation.d.ts.map +1 -0
  572. package/dist/optimization/smart-validation.js +137 -0
  573. package/dist/optimization/smart-validation.js.map +1 -0
  574. package/dist/state/storage.d.ts +1 -1
  575. package/dist/state/storage.d.ts.map +1 -1
  576. package/dist/state/storage.js +2 -1
  577. package/dist/state/storage.js.map +1 -1
  578. package/dist/stdio.js +186 -0
  579. package/dist/stdio.js.map +1 -1
  580. package/dist/tasks/task-manager.d.ts +30 -0
  581. package/dist/tasks/task-manager.d.ts.map +1 -0
  582. package/dist/tasks/task-manager.js +290 -0
  583. package/dist/tasks/task-manager.js.map +1 -0
  584. package/dist/tools/atualizar-tarefa.d.ts +17 -0
  585. package/dist/tools/atualizar-tarefa.d.ts.map +1 -0
  586. package/dist/tools/atualizar-tarefa.js +200 -0
  587. package/dist/tools/atualizar-tarefa.js.map +1 -0
  588. package/dist/tools/configurar-modo.d.ts +10 -0
  589. package/dist/tools/configurar-modo.d.ts.map +1 -0
  590. package/dist/tools/configurar-modo.js +121 -0
  591. package/dist/tools/configurar-modo.js.map +1 -0
  592. package/dist/tools/contexto.d.ts.map +1 -1
  593. package/dist/tools/contexto.js +35 -4
  594. package/dist/tools/contexto.js.map +1 -1
  595. package/dist/tools/criar-tarefa.d.ts +17 -0
  596. package/dist/tools/criar-tarefa.d.ts.map +1 -0
  597. package/dist/tools/criar-tarefa.js +132 -0
  598. package/dist/tools/criar-tarefa.js.map +1 -0
  599. package/dist/tools/discovery.d.ts +121 -0
  600. package/dist/tools/discovery.d.ts.map +1 -0
  601. package/dist/tools/discovery.js +344 -0
  602. package/dist/tools/discovery.js.map +1 -0
  603. package/dist/tools/fase1/checkpoint.tools.d.ts +150 -0
  604. package/dist/tools/fase1/checkpoint.tools.d.ts.map +1 -0
  605. package/dist/tools/fase1/checkpoint.tools.js +165 -0
  606. package/dist/tools/fase1/checkpoint.tools.js.map +1 -0
  607. package/dist/tools/fase1/knowledge.tools.d.ts +265 -0
  608. package/dist/tools/fase1/knowledge.tools.d.ts.map +1 -0
  609. package/dist/tools/fase1/knowledge.tools.js +209 -0
  610. package/dist/tools/fase1/knowledge.tools.js.map +1 -0
  611. package/dist/tools/fase1/misc.tools.d.ts +113 -0
  612. package/dist/tools/fase1/misc.tools.d.ts.map +1 -0
  613. package/dist/tools/fase1/misc.tools.js +99 -0
  614. package/dist/tools/fase1/misc.tools.js.map +1 -0
  615. package/dist/tools/fase1/validation.tools.d.ts +103 -0
  616. package/dist/tools/fase1/validation.tools.d.ts.map +1 -0
  617. package/dist/tools/fase1/validation.tools.js +174 -0
  618. package/dist/tools/fase1/validation.tools.js.map +1 -0
  619. package/dist/tools/fluxos-alternativos.js +4 -4
  620. package/dist/tools/fluxos-alternativos.js.map +1 -1
  621. package/dist/tools/gerar-contrato-api.d.ts +15 -0
  622. package/dist/tools/gerar-contrato-api.d.ts.map +1 -0
  623. package/dist/tools/gerar-contrato-api.js +216 -0
  624. package/dist/tools/gerar-contrato-api.js.map +1 -0
  625. package/dist/tools/index.d.ts.map +1 -1
  626. package/dist/tools/index.js +14 -0
  627. package/dist/tools/index.js.map +1 -1
  628. package/dist/tools/iniciar-projeto.d.ts +12 -0
  629. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  630. package/dist/tools/iniciar-projeto.js +92 -29
  631. package/dist/tools/iniciar-projeto.js.map +1 -1
  632. package/dist/tools/listar-tarefas.d.ts +16 -0
  633. package/dist/tools/listar-tarefas.d.ts.map +1 -0
  634. package/dist/tools/listar-tarefas.js +215 -0
  635. package/dist/tools/listar-tarefas.js.map +1 -0
  636. package/dist/tools/phase2/architecture.tools.d.ts +37 -0
  637. package/dist/tools/phase2/architecture.tools.d.ts.map +1 -0
  638. package/dist/tools/phase2/architecture.tools.js +51 -0
  639. package/dist/tools/phase2/architecture.tools.js.map +1 -0
  640. package/dist/tools/phase2/decision.tools.d.ts +61 -0
  641. package/dist/tools/phase2/decision.tools.d.ts.map +1 -0
  642. package/dist/tools/phase2/decision.tools.js +69 -0
  643. package/dist/tools/phase2/decision.tools.js.map +1 -0
  644. package/dist/tools/phase2/index.d.ts +8 -0
  645. package/dist/tools/phase2/index.d.ts.map +1 -0
  646. package/dist/tools/phase2/index.js +16 -0
  647. package/dist/tools/phase2/index.js.map +1 -0
  648. package/dist/tools/phase2/validation.tools.d.ts +40 -0
  649. package/dist/tools/phase2/validation.tools.d.ts.map +1 -0
  650. package/dist/tools/phase2/validation.tools.js +43 -0
  651. package/dist/tools/phase2/validation.tools.js.map +1 -0
  652. package/dist/tools/phase3/atam.tools.d.ts +26 -0
  653. package/dist/tools/phase3/atam.tools.d.ts.map +1 -0
  654. package/dist/tools/phase3/atam.tools.js +48 -0
  655. package/dist/tools/phase3/atam.tools.js.map +1 -0
  656. package/dist/tools/phase3/consistency.tools.d.ts +15 -0
  657. package/dist/tools/phase3/consistency.tools.d.ts.map +1 -0
  658. package/dist/tools/phase3/consistency.tools.js +20 -0
  659. package/dist/tools/phase3/consistency.tools.js.map +1 -0
  660. package/dist/tools/phase3/context.tools.d.ts +25 -0
  661. package/dist/tools/phase3/context.tools.d.ts.map +1 -0
  662. package/dist/tools/phase3/context.tools.js +32 -0
  663. package/dist/tools/phase3/context.tools.js.map +1 -0
  664. package/dist/tools/phase3/growth.tools.d.ts +28 -0
  665. package/dist/tools/phase3/growth.tools.d.ts.map +1 -0
  666. package/dist/tools/phase3/growth.tools.js +32 -0
  667. package/dist/tools/phase3/growth.tools.js.map +1 -0
  668. package/dist/tools/phase3/index.d.ts +10 -0
  669. package/dist/tools/phase3/index.d.ts.map +1 -0
  670. package/dist/tools/phase3/index.js +10 -0
  671. package/dist/tools/phase3/index.js.map +1 -0
  672. package/dist/tools/phase3/roadmap.tools.d.ts +41 -0
  673. package/dist/tools/phase3/roadmap.tools.d.ts.map +1 -0
  674. package/dist/tools/phase3/roadmap.tools.js +44 -0
  675. package/dist/tools/phase3/roadmap.tools.js.map +1 -0
  676. package/dist/tools/phase3/strangler.tools.d.ts +37 -0
  677. package/dist/tools/phase3/strangler.tools.d.ts.map +1 -0
  678. package/dist/tools/phase3/strangler.tools.js +44 -0
  679. package/dist/tools/phase3/strangler.tools.js.map +1 -0
  680. package/dist/tools/proximo.d.ts.map +1 -1
  681. package/dist/tools/proximo.js +44 -11
  682. package/dist/tools/proximo.js.map +1 -1
  683. package/dist/tools/status.d.ts.map +1 -1
  684. package/dist/tools/status.js +18 -5
  685. package/dist/tools/status.js.map +1 -1
  686. package/dist/tools/validar-gate.d.ts.map +1 -1
  687. package/dist/tools/validar-gate.js +17 -0
  688. package/dist/tools/validar-gate.js.map +1 -1
  689. package/dist/types/config.d.ts +46 -0
  690. package/dist/types/config.d.ts.map +1 -0
  691. package/dist/types/config.js +162 -0
  692. package/dist/types/config.js.map +1 -0
  693. package/dist/types/index.d.ts +39 -0
  694. package/dist/types/index.d.ts.map +1 -1
  695. package/dist/types/index.js.map +1 -1
  696. package/dist/types/tasks.d.ts +100 -0
  697. package/dist/types/tasks.d.ts.map +1 -0
  698. package/dist/types/tasks.js +2 -0
  699. package/dist/types/tasks.js.map +1 -0
  700. package/dist/utils/__tests__/prompt-mapper.test.d.ts +2 -0
  701. package/dist/utils/__tests__/prompt-mapper.test.d.ts.map +1 -0
  702. package/dist/utils/__tests__/prompt-mapper.test.js +184 -0
  703. package/dist/utils/__tests__/prompt-mapper.test.js.map +1 -0
  704. package/dist/utils/history.d.ts +10 -0
  705. package/dist/utils/history.d.ts.map +1 -1
  706. package/dist/utils/history.js +12 -1
  707. package/dist/utils/history.js.map +1 -1
  708. package/dist/utils/ide-paths.d.ts +61 -0
  709. package/dist/utils/ide-paths.d.ts.map +1 -0
  710. package/dist/utils/ide-paths.js +110 -0
  711. package/dist/utils/ide-paths.js.map +1 -0
  712. package/dist/utils/prompt-mapper.d.ts +48 -0
  713. package/dist/utils/prompt-mapper.d.ts.map +1 -1
  714. package/dist/utils/prompt-mapper.js +104 -0
  715. package/dist/utils/prompt-mapper.js.map +1 -1
  716. package/package.json +5 -5
  717. package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +0 -250
  718. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +0 -278
  719. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +0 -261
  720. package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +0 -258
  721. package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +0 -119
  722. package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +0 -147
  723. package/dist/content/guides/Checklist Mestre de Entrega.md +0 -68
  724. package/dist/content/guides/Gates de Qualidade.md +0 -209
  725. package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +0 -355
  726. package/dist/content/guides/Guia de Chaos Engineering.md +0 -267
  727. package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +0 -352
  728. package/dist/content/guides/Guia de Migrations Zero-Downtime.md +0 -311
  729. package/dist/content/guides/Guia de Multi-tenancy.md +0 -368
  730. package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +0 -195
  731. package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +0 -162
  732. package/dist/content/guides/Guia de SLOs e Error Budgets.md +0 -315
  733. package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +0 -93
  734. package/dist/content/guides/Rules base.md +0 -90
  735. package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +0 -364
  736. package/dist/content/prompts/README.md +0 -203
  737. package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +0 -257
  738. package/dist/content/prompts/apis/design-api-rest.md +0 -303
  739. package/dist/content/prompts/apis/idempotencia.md +0 -254
  740. package/dist/content/prompts/apis/versionamento.md +0 -313
  741. package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +0 -190
  742. package/dist/content/prompts/arquitetura/clean-architecture.md +0 -151
  743. package/dist/content/prompts/arquitetura/multi-tenancy.md +0 -235
  744. package/dist/content/prompts/database/migrations-zero-downtime.md +0 -192
  745. package/dist/content/prompts/database/otimizacao-queries.md +0 -296
  746. package/dist/content/prompts/desenvolvimento/code-review.md +0 -301
  747. package/dist/content/prompts/desenvolvimento/gerar-servico.md +0 -271
  748. package/dist/content/prompts/devops/docker-compose.md +0 -336
  749. package/dist/content/prompts/devops/feature-flags.md +0 -374
  750. package/dist/content/prompts/devops/kubernetes-deploy.md +0 -460
  751. package/dist/content/prompts/devops/pipeline-cicd.md +0 -358
  752. package/dist/content/prompts/devops/terraform-iac.md +0 -502
  753. package/dist/content/prompts/escalabilidade/analise-performance.md +0 -240
  754. package/dist/content/prompts/escalabilidade/analise-performance.txt +0 -94
  755. package/dist/content/prompts/escalabilidade/caching.md +0 -255
  756. package/dist/content/prompts/observabilidade/chaos-testing.md +0 -237
  757. package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +0 -263
  758. package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +0 -134
  759. package/dist/content/prompts/observabilidade/slos.md +0 -215
  760. package/dist/content/prompts/produto/discovery-inicial.md +0 -203
  761. package/dist/content/prompts/produto/discovery-inicial.txt +0 -33
  762. package/dist/content/prompts/requisitos/refinar-requisitos.md +0 -232
  763. package/dist/content/prompts/requisitos/refinar-requisitos.txt +0 -40
  764. package/dist/content/prompts/seguranca/analise-seguranca.md +0 -243
  765. package/dist/content/prompts/seguranca/pentest-checklist.md +0 -333
  766. package/dist/content/prompts/seguranca/rate-limiting.md +0 -356
  767. package/dist/content/prompts/seguranca/revisao-lgpd.md +0 -227
  768. package/dist/content/prompts/seguranca/threat-modeling.md +0 -224
  769. package/dist/content/prompts/testes/contract-testing.md +0 -340
  770. package/dist/content/prompts/testes/gerar-testes-unitarios.md +0 -474
  771. package/dist/content/prompts/testes/testes-e2e.md +0 -460
  772. package/dist/content/prompts/testes/testes-integracao.md +0 -418
  773. package/dist/content/prompts/testes/testes-performance.md +0 -458
  774. package/dist/content/prompts/ux/gerar-ui-stitch.md +0 -151
  775. package/dist/content/specialists/Especialista em Acessibilidade.md +0 -266
  776. package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +0 -434
  777. package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +0 -358
  778. package/dist/content/specialists/Especialista em Arquitetura de Software.md +0 -177
  779. package/dist/content/specialists/Especialista em Banco de Dados.md +0 -260
  780. package/dist/content/specialists/Especialista em Contrato de API.md +0 -172
  781. package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +0 -246
  782. package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +0 -191
  783. package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +0 -477
  784. package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +0 -241
  785. package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +0 -417
  786. package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +0 -294
  787. package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +0 -227
  788. package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +0 -299
  789. package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +0 -179
  790. package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +0 -179
  791. package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +0 -410
  792. package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +0 -248
  793. package/dist/content/specialists/Especialista em Observabilidade.md +0 -415
  794. package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +0 -373
  795. package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +0 -341
  796. package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +0 -419
  797. package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +0 -508
  798. package/dist/content/specialists/Especialista em UX Design.md +0 -453
  799. package/dist/content/specialists/INDEX.md +0 -43
  800. package/dist/content/templates/PRD.md +0 -165
  801. package/dist/content/templates/README.md +0 -65
  802. package/dist/content/templates/adr.md +0 -103
  803. package/dist/content/templates/arquitetura.md +0 -279
  804. package/dist/content/templates/backlog.md +0 -185
  805. package/dist/content/templates/checklist-seguranca.md +0 -180
  806. package/dist/content/templates/contexto.md +0 -120
  807. package/dist/content/templates/criterios-aceite.md +0 -99
  808. package/dist/content/templates/design-banco.md +0 -270
  809. package/dist/content/templates/design-doc.md +0 -240
  810. package/dist/content/templates/feature.md +0 -88
  811. package/dist/content/templates/historia-backend.md +0 -84
  812. package/dist/content/templates/historia-frontend.md +0 -75
  813. package/dist/content/templates/historia-usuario.md +0 -125
  814. package/dist/content/templates/mapa-navegacao.md +0 -133
  815. package/dist/content/templates/matriz-rastreabilidade.md +0 -121
  816. package/dist/content/templates/modelo-dominio.md +0 -219
  817. package/dist/content/templates/plano-testes.md +0 -199
  818. package/dist/content/templates/prototipo-stitch.md +0 -138
  819. package/dist/content/templates/requisitos.md +0 -162
  820. package/dist/content/templates/slo-sli.md +0 -197
  821. /package/dist/content/{guides/Guia de Debugging com IA.md → skills/specialist-debugging-troubleshooting/resources/reference/debugging-ai-guide.md} +0 -0
  822. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-bounded-contexts.md +0 -0
  823. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-cqrs.md +0 -0
  824. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/modelo-dominio.md +0 -0
@@ -0,0 +1,766 @@
1
+ """
2
+ Função MCP de Referência: validate_frontend_quality()
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
+ import re
13
+ from typing import Dict, List, Any, Optional, Tuple
14
+ from pathlib import Path
15
+
16
+ async def validate_frontend_quality(params: Dict[str, Any]) -> Dict[str, Any]:
17
+ """
18
+ Valida qualidade dos componentes frontend
19
+
20
+ Args:
21
+ params: Dicionário com parâmetros de validação
22
+ - project_path: str - Caminho do projeto
23
+ - artifact_path: str - Caminho do artefato principal
24
+ - threshold: int - Score mínimo (default: 75)
25
+ - check_types: list - Tipos de validação
26
+ - stack: str - Stack tecnológico
27
+ - strict_mode: bool - Modo estrito de validação
28
+
29
+ Returns:
30
+ Dict com resultado da validação
31
+ - success: bool - Status da operação
32
+ - score: int - Score final (0-100)
33
+ - validation_results: dict - Resultados detalhados
34
+ - issues_found: list - Lista de problemas encontrados
35
+ - recommendations: list - Recomendações de melhoria
36
+ - passed_threshold: bool - Se passou no threshold
37
+ """
38
+
39
+ try:
40
+ project_path = params.get("project_path")
41
+ artifact_path = params.get("artifact_path", "")
42
+ threshold = params.get("threshold", 75)
43
+ stack = params.get("stack", "react")
44
+ strict_mode = params.get("strict_mode", False)
45
+
46
+ if not project_path:
47
+ return {
48
+ "success": False,
49
+ "score": 0,
50
+ "validation_results": {},
51
+ "issues_found": ["project_path é obrigatório"],
52
+ "recommendations": [],
53
+ "passed_threshold": False
54
+ }
55
+
56
+ # Tipos de validação padrão
57
+ check_types = params.get("check_types", [
58
+ "structure", "components", "tests", "performance",
59
+ "accessibility", "security"
60
+ ])
61
+
62
+ validation_results = {}
63
+ total_score = 0
64
+ max_score = 0
65
+ all_issues = []
66
+
67
+ # 1. Validação de Estrutura (20 pontos)
68
+ if "structure" in check_types:
69
+ structure_score, structure_issues = await validate_project_structure(
70
+ project_path, stack, strict_mode
71
+ )
72
+ validation_results["structure"] = {
73
+ "score": structure_score,
74
+ "max_score": 20,
75
+ "issues": structure_issues
76
+ }
77
+ total_score += structure_score
78
+ max_score += 20
79
+ all_issues.extend(structure_issues)
80
+
81
+ # 2. Validação de Componentes (25 pontos)
82
+ if "components" in check_types:
83
+ components_score, components_issues = await validate_components(
84
+ project_path, stack, strict_mode
85
+ )
86
+ validation_results["components"] = {
87
+ "score": components_score,
88
+ "max_score": 25,
89
+ "issues": components_issues
90
+ }
91
+ total_score += components_score
92
+ max_score += 25
93
+ all_issues.extend(components_issues)
94
+
95
+ # 3. Validação de Testes (20 pontos)
96
+ if "tests" in check_types:
97
+ tests_score, tests_issues = await validate_tests(
98
+ project_path, stack, strict_mode
99
+ )
100
+ validation_results["tests"] = {
101
+ "score": tests_score,
102
+ "max_score": 20,
103
+ "issues": tests_issues
104
+ }
105
+ total_score += tests_score
106
+ max_score += 20
107
+ all_issues.extend(tests_issues)
108
+
109
+ # 4. Validação de Performance (15 pontos)
110
+ if "performance" in check_types:
111
+ performance_score, performance_issues = await validate_performance(
112
+ project_path, strict_mode
113
+ )
114
+ validation_results["performance"] = {
115
+ "score": performance_score,
116
+ "max_score": 15,
117
+ "issues": performance_issues
118
+ }
119
+ total_score += performance_score
120
+ max_score += 15
121
+ all_issues.extend(performance_issues)
122
+
123
+ # 5. Validação de Acessibilidade (10 pontos)
124
+ if "accessibility" in check_types:
125
+ accessibility_score, accessibility_issues = await validate_accessibility(
126
+ project_path, strict_mode
127
+ )
128
+ validation_results["accessibility"] = {
129
+ "score": accessibility_score,
130
+ "max_score": 10,
131
+ "issues": accessibility_issues
132
+ }
133
+ total_score += accessibility_score
134
+ max_score += 10
135
+ all_issues.extend(accessibility_issues)
136
+
137
+ # 6. Validação de Segurança (10 pontos)
138
+ if "security" in check_types:
139
+ security_score, security_issues = await validate_security(
140
+ project_path, strict_mode
141
+ )
142
+ validation_results["security"] = {
143
+ "score": security_score,
144
+ "max_score": 10,
145
+ "issues": security_issues
146
+ }
147
+ total_score += security_score
148
+ max_score += 10
149
+ all_issues.extend(security_issues)
150
+
151
+ # Calcular score final
152
+ final_score = int((total_score / max_score) * 100) if max_score > 0 else 0
153
+ passed_threshold = final_score >= threshold
154
+
155
+ # Gerar recomendações
156
+ recommendations = await generate_recommendations(validation_results, all_issues)
157
+
158
+ return {
159
+ "success": True,
160
+ "score": final_score,
161
+ "validation_results": validation_results,
162
+ "issues_found": all_issues,
163
+ "recommendations": recommendations,
164
+ "passed_threshold": passed_threshold
165
+ }
166
+
167
+ except Exception as e:
168
+ return {
169
+ "success": False,
170
+ "score": 0,
171
+ "validation_results": {},
172
+ "issues_found": [f"Erro na validação: {str(e)}"],
173
+ "recommendations": [],
174
+ "passed_threshold": False
175
+ }
176
+
177
+ async def validate_project_structure(project_path: str, stack: str, strict_mode: bool) -> Tuple[int, List[str]]:
178
+ """Valida estrutura do projeto"""
179
+
180
+ issues = []
181
+ score = 20
182
+
183
+ # Diretórios obrigatórios
184
+ required_dirs = [
185
+ "src/components",
186
+ "src/pages",
187
+ "src/hooks",
188
+ "src/tests",
189
+ "src/types",
190
+ "src/utils",
191
+ "src/styles",
192
+ "src/assets",
193
+ "docs/10-frontend",
194
+ "public"
195
+ ]
196
+
197
+ for dir_path in required_dirs:
198
+ full_path = os.path.join(project_path, dir_path)
199
+ if not os.path.exists(full_path):
200
+ issues.append(f"Diretório obrigatório ausente: {dir_path}")
201
+ score -= 2
202
+
203
+ # Arquivos de configuração obrigatórios
204
+ config_files = {
205
+ "react": ["package.json", "tsconfig.json", "vite.config.ts", ".eslintrc.js"],
206
+ "vue": ["package.json", "vue.config.js", "tsconfig.json"],
207
+ "angular": ["package.json", "angular.json", "tsconfig.json"]
208
+ }
209
+
210
+ for config_file in config_files.get(stack, ["package.json"]):
211
+ config_path = os.path.join(project_path, config_file)
212
+ if not os.path.exists(config_path):
213
+ issues.append(f"Arquivo de configuração ausente: {config_file}")
214
+ score -= 1
215
+
216
+ # Verificar conteúdo dos diretórios
217
+ components_dir = os.path.join(project_path, "src/components")
218
+ if os.path.exists(components_dir):
219
+ components = os.listdir(components_dir)
220
+ if len(components) == 0:
221
+ issues.append("Diretório de componentes vazio")
222
+ score -= 3
223
+
224
+ # Verificar arquivos de documentação
225
+ docs_dir = os.path.join(project_path, "docs", "10-frontend")
226
+ if os.path.exists(docs_dir):
227
+ docs_files = os.listdir(docs_dir)
228
+ if "historia-frontend.md" not in docs_files:
229
+ issues.append("Arquivo história-frontend.md não encontrado")
230
+ score -= 2
231
+
232
+ return max(0, score), issues
233
+
234
+ async def validate_components(project_path: str, stack: str, strict_mode: bool) -> Tuple[int, List[str]]:
235
+ """Valida componentes frontend"""
236
+
237
+ issues = []
238
+ score = 25
239
+
240
+ components_path = os.path.join(project_path, "src/components")
241
+
242
+ if not os.path.exists(components_path):
243
+ return 0, ["Diretório de componentes não encontrado"]
244
+
245
+ # Verificar componentes
246
+ components = []
247
+ for item in os.listdir(components_path):
248
+ item_path = os.path.join(components_path, item)
249
+ if os.path.isdir(item_path):
250
+ components.append(item)
251
+
252
+ if not components:
253
+ issues.append("Nenhum componente encontrado")
254
+ score -= 10
255
+ else:
256
+ # Validar estrutura de cada componente
257
+ for component in components[:5]: # Limitar a 5 componentes para performance
258
+ comp_path = os.path.join(components_path, component)
259
+ component_issues = await validate_single_component(comp_path, component, stack, strict_mode)
260
+ issues.extend(component_issues)
261
+
262
+ # Penalizar por cada issue de componente
263
+ score -= min(len(component_issues), 3)
264
+
265
+ # Verificar se há componentes reutilizáveis
266
+ reusable_count = 0
267
+ for component in components:
268
+ comp_path = os.path.join(components_path, component)
269
+ if await is_component_reusable(comp_path):
270
+ reusable_count += 1
271
+
272
+ if reusable_count < len(components) * 0.5:
273
+ issues.append(f"Poucos componentes reutilizáveis: {reusable_count}/{len(components)}")
274
+ score -= 5
275
+
276
+ return max(0, score), issues
277
+
278
+ async def validate_single_component(component_path: str, component_name: str, stack: str, strict_mode: bool) -> List[str]:
279
+ """Valida estrutura de um único componente"""
280
+
281
+ issues = []
282
+
283
+ # Arquivos obrigatórios por stack
284
+ required_files = {
285
+ "react": [f"{component_name}.tsx", f"{component_name}.test.tsx"],
286
+ "vue": [f"{component_name}.vue", f"{component_name}.test.js"],
287
+ "angular": [f"{component_name}.component.ts", f"{component_name}.component.spec.ts"]
288
+ }
289
+
290
+ for req_file in required_files.get(stack, []):
291
+ file_path = os.path.join(component_path, req_file)
292
+ if not os.path.exists(file_path):
293
+ issues.append(f"Componente {component_name}缺少 arquivo: {req_file}")
294
+
295
+ # Verificar index.tsx
296
+ index_path = os.path.join(component_path, "index.ts")
297
+ if not os.path.exists(index_path):
298
+ issues.append(f"Componente {component_name}缺少 arquivo: index.ts")
299
+
300
+ # Verificar Storybook story
301
+ story_path = os.path.join(component_path, f"{component_name}.stories.tsx")
302
+ if not os.path.exists(story_path):
303
+ issues.append(f"Componente {component_name}缺少 Storybook story")
304
+
305
+ # Analisar código do componente principal
306
+ if stack == "react":
307
+ component_file = os.path.join(component_path, f"{component_name}.tsx")
308
+ if os.path.exists(component_file):
309
+ code_issues = await analyze_react_component_code(component_file, strict_mode)
310
+ issues.extend(code_issues)
311
+
312
+ return issues
313
+
314
+ async def analyze_react_component_code(file_path: str, strict_mode: bool) -> List[str]:
315
+ """Analisa código de componente React"""
316
+
317
+ issues = []
318
+
319
+ try:
320
+ with open(file_path, 'r', encoding='utf-8') as f:
321
+ content = f.read()
322
+
323
+ # Verificar TypeScript
324
+ if not content.strip().startswith('// @ts-nocheck') and 'interface ' not in content and 'type ' not in content:
325
+ issues.append("Componente sem tipagem TypeScript")
326
+
327
+ # Verificar props tipadas
328
+ if 'interface Props' not in content and 'type Props' not in content:
329
+ issues.append("Props não tipadas")
330
+
331
+ # Verificar export default
332
+ if 'export default' not in content:
333
+ issues.append("Componente sem export default")
334
+
335
+ # Verificar se usa React.memo (performance)
336
+ if strict_mode and 'React.memo' not in content:
337
+ issues.append("Componente não otimizado com React.memo")
338
+
339
+ # Verificar se há tratamento de erro
340
+ if 'try {' not in content and 'catch' not in content:
341
+ issues.append("Componente sem tratamento de erro")
342
+
343
+ # Verificar acessibilidade básica
344
+ if 'aria-' not in content and 'role=' not in content:
345
+ issues.append("Componente sem atributos de acessibilidade")
346
+
347
+ except Exception as e:
348
+ issues.append(f"Erro ao analisar arquivo {file_path}: {str(e)}")
349
+
350
+ return issues
351
+
352
+ async def is_component_reusable(component_path: str) -> bool:
353
+ """Verifica se um componente é reutilizável"""
354
+
355
+ try:
356
+ # Procurar arquivo principal do componente
357
+ for file in os.listdir(component_path):
358
+ if file.endswith(('.tsx', '.jsx', '.vue')):
359
+ file_path = os.path.join(component_path, file)
360
+ with open(file_path, 'r', encoding='utf-8') as f:
361
+ content = f.read()
362
+
363
+ # Verificar se tem props configuráveis
364
+ if 'interface Props' in content or 'type Props' in content:
365
+ props_match = re.search(r'(interface|type) Props\s*{([^}]+)}', content)
366
+ if props_match:
367
+ props_content = props_match.group(2)
368
+ # Se tiver mais de 2 props, consideramos reutilizável
369
+ prop_count = len(re.findall(r'\w+:', props_content))
370
+ return prop_count > 2
371
+
372
+ return False
373
+ except:
374
+ return False
375
+
376
+ async def validate_tests(project_path: str, stack: str, strict_mode: bool) -> Tuple[int, List[str]]:
377
+ """Valida testes"""
378
+
379
+ issues = []
380
+ score = 20
381
+
382
+ tests_path = os.path.join(project_path, "src/tests")
383
+
384
+ if not os.path.exists(tests_path):
385
+ return 0, ["Diretório de testes não encontrado"]
386
+
387
+ # Verificar configuração de testes
388
+ test_configs = ["vitest.config.ts", "jest.config.js", "package.json"]
389
+
390
+ has_config = False
391
+ for config in test_configs:
392
+ config_path = os.path.join(project_path, config)
393
+ if os.path.exists(config_path):
394
+ has_config = True
395
+ break
396
+
397
+ if not has_config:
398
+ issues.append("Configuração de testes não encontrada")
399
+ score -= 5
400
+
401
+ # Contar arquivos de teste
402
+ test_files = []
403
+ for root, dirs, files in os.walk(tests_path):
404
+ for file in files:
405
+ if file.endswith(('.test.ts', '.test.tsx', '.test.js', '.spec.ts', '.spec.tsx')):
406
+ test_files.append(file)
407
+
408
+ # Também procurar testes em outros diretórios
409
+ for root, dirs, files in os.walk(os.path.join(project_path, "src")):
410
+ if "tests" not in root:
411
+ for file in files:
412
+ if file.endswith(('.test.ts', '.test.tsx', '.test.js', '.spec.ts', '.spec.tsx')):
413
+ test_files.append(file)
414
+
415
+ if len(test_files) < 3:
416
+ issues.append(f"Poucos arquivos de teste encontrados: {len(test_files)}")
417
+ score -= 5
418
+
419
+ # Verificar qualidade dos testes
420
+ test_quality_score = 15
421
+ for test_file in test_files[:10]: # Limitar a 10 arquivos
422
+ test_path = None
423
+ for root, dirs, files in os.walk(os.path.join(project_path, "src")):
424
+ if test_file in files:
425
+ test_path = os.path.join(root, test_file)
426
+ break
427
+
428
+ if test_path:
429
+ quality_issues = await analyze_test_file(test_path, strict_mode)
430
+ issues.extend(quality_issues)
431
+ test_quality_score -= min(len(quality_issues), 2)
432
+
433
+ score += max(0, test_quality_score)
434
+
435
+ return max(0, score), issues
436
+
437
+ async def analyze_test_file(file_path: str, strict_mode: bool) -> List[str]:
438
+ """Analisa qualidade de um arquivo de teste"""
439
+
440
+ issues = []
441
+
442
+ try:
443
+ with open(file_path, 'r', encoding='utf-8') as f:
444
+ content = f.read()
445
+
446
+ # Verificar se tem describe blocks
447
+ if 'describe(' not in content:
448
+ issues.append(f"Teste sem describe blocks: {os.path.basename(file_path)}")
449
+
450
+ # Verificar se tem assertions
451
+ if 'expect(' not in content and 'assert.' not in content:
452
+ issues.append(f"Teste sem assertions: {os.path.basename(file_path)}")
453
+
454
+ # Verificar se testa casos de erro
455
+ if strict_mode and 'error' not in content.lower() and 'exception' not in content.lower():
456
+ issues.append(f"Teste não cobre casos de erro: {os.path.basename(file_path)}")
457
+
458
+ # Verificar se tem mocks
459
+ if 'vi.mock' not in content and 'jest.mock' not in content and 'mock(' not in content:
460
+ issues.append(f"Teste sem mocks: {os.path.basename(file_path)}")
461
+
462
+ except Exception as e:
463
+ issues.append(f"Erro ao analisar teste {file_path}: {str(e)}")
464
+
465
+ return issues
466
+
467
+ async def validate_performance(project_path: str, strict_mode: bool) -> Tuple[int, List[str]]:
468
+ """Valida performance"""
469
+
470
+ issues = []
471
+ score = 15
472
+
473
+ # Verificar package.json para dependências de performance
474
+ package_path = os.path.join(project_path, "package.json")
475
+ if os.path.exists(package_path):
476
+ try:
477
+ with open(package_path, 'r') as f:
478
+ package_data = json.load(f)
479
+
480
+ # Verificar dependências de performance
481
+ perf_deps = ["@next/bundle-analyzer", "webpack-bundle-analyzer", "lighthouse", "web-vitals"]
482
+ has_perf_tools = any(
483
+ dep in package_data.get("devDependencies", {}) or
484
+ dep in package_data.get("dependencies", {})
485
+ for dep in perf_deps
486
+ )
487
+
488
+ if not has_perf_tools:
489
+ issues.append("Ferramentas de performance não configuradas")
490
+ score -= 3
491
+
492
+ # Verificar se tem scripts de build/analyze
493
+ scripts = package_data.get("scripts", {})
494
+ if "build" not in scripts:
495
+ issues.append("Script de build não configurado")
496
+ score -= 2
497
+
498
+ if "analyze" not in scripts and strict_mode:
499
+ issues.append("Script de análise de bundle não configurado")
500
+ score -= 1
501
+
502
+ except Exception as e:
503
+ issues.append(f"Erro ao ler package.json: {str(e)}")
504
+ score -= 5
505
+
506
+ # Verificar otimizações no código
507
+ src_path = os.path.join(project_path, "src")
508
+ if os.path.exists(src_path):
509
+ optimization_score = 10
510
+
511
+ # Procurar por lazy loading
512
+ lazy_files = []
513
+ for root, dirs, files in os.walk(src_path):
514
+ for file in files:
515
+ if file.endswith(('.ts', '.tsx', '.js', '.jsx')):
516
+ file_path = os.path.join(root, file)
517
+ try:
518
+ with open(file_path, 'r', encoding='utf-8') as f:
519
+ content = f.read()
520
+ if 'lazy(' in content or 'import(' in content:
521
+ lazy_files.append(file)
522
+ except:
523
+ continue
524
+
525
+ if len(lazy_files) == 0:
526
+ issues.append("Nenhum lazy loading encontrado")
527
+ optimization_score -= 3
528
+
529
+ # Procurar por React.memo
530
+ memo_files = []
531
+ for root, dirs, files in os.walk(src_path):
532
+ for file in files:
533
+ if file.endswith(('.tsx', '.jsx')):
534
+ file_path = os.path.join(root, file)
535
+ try:
536
+ with open(file_path, 'r', encoding='utf-8') as f:
537
+ content = f.read()
538
+ if 'React.memo' in content or 'memo(' in content:
539
+ memo_files.append(file)
540
+ except:
541
+ continue
542
+
543
+ if len(memo_files) == 0 and strict_mode:
544
+ issues.append("Nenhuma otimização com React.memo encontrada")
545
+ optimization_score -= 2
546
+
547
+ # Procurar por useMemo/useCallback
548
+ optimization_files = []
549
+ for root, dirs, files in os.walk(src_path):
550
+ for file in files:
551
+ if file.endswith(('.ts', '.tsx', '.js', '.jsx')):
552
+ file_path = os.path.join(root, file)
553
+ try:
554
+ with open(file_path, 'r', encoding='utf-8') as f:
555
+ content = f.read()
556
+ if 'useMemo' in content or 'useCallback' in content:
557
+ optimization_files.append(file)
558
+ except:
559
+ continue
560
+
561
+ if len(optimization_files) == 0:
562
+ issues.append("Nenhuma otimização useMemo/useCallback encontrada")
563
+ optimization_score -= 2
564
+
565
+ score += max(0, optimization_score)
566
+
567
+ return max(0, score), issues
568
+
569
+ async def validate_accessibility(project_path: str, strict_mode: bool) -> Tuple[int, List[str]]:
570
+ """Valida acessibilidade"""
571
+
572
+ issues = []
573
+ score = 10
574
+
575
+ # Verificar package.json para dependências de acessibilidade
576
+ package_path = os.path.join(project_path, "package.json")
577
+ if os.path.exists(package_path):
578
+ try:
579
+ with open(package_path, 'r') as f:
580
+ package_data = json.load(f)
581
+
582
+ # Verificar dependências de acessibilidade
583
+ a11y_deps = ["@axe-core/react", "eslint-plugin-jsx-a11y", "cypress-axe", "jest-axe"]
584
+ has_a11y_tools = any(
585
+ dep in package_data.get("devDependencies", {}) or
586
+ dep in package_data.get("dependencies", {})
587
+ for dep in a11y_deps
588
+ )
589
+
590
+ if not has_a11y_tools:
591
+ issues.append("Ferramentas de acessibilidade não configuradas")
592
+ score -= 3
593
+
594
+ except Exception as e:
595
+ issues.append(f"Erro ao ler package.json: {str(e)}")
596
+ score -= 3
597
+
598
+ # Verificar uso de ARIA no código
599
+ src_path = os.path.join(project_path, "src")
600
+ if os.path.exists(src_path):
601
+ aria_files = []
602
+ total_files = 0
603
+
604
+ for root, dirs, files in os.walk(src_path):
605
+ for file in files:
606
+ if file.endswith(('.tsx', '.jsx')):
607
+ total_files += 1
608
+ file_path = os.path.join(root, file)
609
+ try:
610
+ with open(file_path, 'r', encoding='utf-8') as f:
611
+ content = f.read()
612
+ if 'aria-' in content or 'role=' in content:
613
+ aria_files.append(file)
614
+ except:
615
+ continue
616
+
617
+ if len(aria_files) == 0:
618
+ issues.append("Nenhum atributo ARIA encontrado")
619
+ score -= 4
620
+ elif len(aria_files) < total_files * 0.5:
621
+ issues.append(f"Poucos arquivos com atributos ARIA: {len(aria_files)}/{total_files}")
622
+ score -= 2
623
+
624
+ # Verificar elementos semânticos
625
+ semantic_files = []
626
+ for root, dirs, files in os.walk(src_path):
627
+ for file in files:
628
+ if file.endswith(('.tsx', '.jsx')):
629
+ file_path = os.path.join(root, file)
630
+ try:
631
+ with open(file_path, 'r', encoding='utf-8') as f:
632
+ content = f.read()
633
+ semantic_tags = ['<header', '<nav', '<main', '<section', '<article', '<aside', '<footer']
634
+ if any(tag in content for tag in semantic_tags):
635
+ semantic_files.append(file)
636
+ except:
637
+ continue
638
+
639
+ if len(semantic_files) < total_files * 0.3:
640
+ issues.append("Pouco uso de HTML semântico")
641
+ score -= 1
642
+
643
+ return max(0, score), issues
644
+
645
+ async def validate_security(project_path: str, strict_mode: bool) -> Tuple[int, List[str]]:
646
+ """Valida segurança"""
647
+
648
+ issues = []
649
+ score = 10
650
+
651
+ # Verificar package.json para dependências de segurança
652
+ package_path = os.path.join(project_path, "package.json")
653
+ if os.path.exists(package_path):
654
+ try:
655
+ with open(package_path, 'r') as f:
656
+ package_data = json.load(f)
657
+
658
+ # Verificar dependências de segurança
659
+ security_deps = ["helmet", "dompurify", "eslint-plugin-security", "@typescript-eslint/eslint-plugin"]
660
+ has_security_tools = any(
661
+ dep in package_data.get("devDependencies", {}) or
662
+ dep in package_data.get("dependencies", {})
663
+ for dep in security_deps
664
+ )
665
+
666
+ if not has_security_tools:
667
+ issues.append("Ferramentas de segurança não configuradas")
668
+ score -= 3
669
+
670
+ except Exception as e:
671
+ issues.append(f"Erro ao ler package.json: {str(e)}")
672
+ score -= 3
673
+
674
+ # Verificar práticas de segurança no código
675
+ src_path = os.path.join(project_path, "src")
676
+ if os.path.exists(src_path):
677
+ security_issues = []
678
+
679
+ for root, dirs, files in os.walk(src_path):
680
+ for file in files:
681
+ if file.endswith(('.ts', '.tsx', '.js', '.jsx')):
682
+ file_path = os.path.join(root, file)
683
+ try:
684
+ with open(file_path, 'r', encoding='utf-8') as f:
685
+ content = f.read()
686
+
687
+ # Verificar uso perigoso de innerHTML
688
+ if 'innerHTML' in content and 'sanitize' not in content:
689
+ security_issues.append(f"Uso perigoso de innerHTML em {file}")
690
+
691
+ # Verificar eval() usage
692
+ if 'eval(' in content:
693
+ security_issues.append(f"Uso perigoso de eval() em {file}")
694
+
695
+ # Verificar document.write
696
+ if 'document.write' in content:
697
+ security_issues.append(f"Uso perigoso de document.write em {file}")
698
+
699
+ # Verificar se há validação de inputs
700
+ if 'onChange' in content or 'onInput' in content:
701
+ if 'validate' not in content and 'sanitize' not in content:
702
+ security_issues.append(f"Input sem validação em {file}")
703
+
704
+ except:
705
+ continue
706
+
707
+ issues.extend(security_issues[:5]) # Limitar a 5 issues de segurança
708
+ score -= min(len(security_issues), 5)
709
+
710
+ return max(0, score), issues
711
+
712
+ async def generate_recommendations(validation_results: Dict[str, Any], issues: List[str]) -> List[str]:
713
+ """Gera recomendações baseado nos resultados"""
714
+
715
+ recommendations = []
716
+
717
+ # Recomendações baseadas nos scores
718
+ for category, result in validation_results.items():
719
+ score = result.get("score", 0)
720
+ max_score = result.get("max_score", 20)
721
+ percentage = (score / max_score) * 100 if max_score > 0 else 0
722
+
723
+ if percentage < 50:
724
+ if category == "structure":
725
+ recommendations.append("📁 Reorganize a estrutura do projeto seguindo as melhores práticas")
726
+ elif category == "components":
727
+ recommendations.append("🧩 Crie componentes reutilizáveis com testes adequados")
728
+ elif category == "tests":
729
+ recommendations.append("🧪 Aumente a cobertura de testes para >80%")
730
+ elif category == "performance":
731
+ recommendations.append("⚡ Implemente otimizações de performance")
732
+ elif category == "accessibility":
733
+ recommendations.append("♿ Melhore a acessibilidade seguindo WCAG 2.1 AA")
734
+ elif category == "security":
735
+ recommendations.append("🔐 Adicione validações de segurança")
736
+ elif percentage < 75:
737
+ if category == "components":
738
+ recommendations.append("🔧 Melhore a qualidade e reusabilidade dos componentes")
739
+ elif category == "tests":
740
+ recommendations.append("📈 Melhore a qualidade e cobertura dos testes")
741
+ elif category == "performance":
742
+ recommendations.append("🚀 Adicione mais otimizações de performance")
743
+
744
+ # Recomendações baseadas em issues específicas
745
+ if any("diretório" in issue.lower() for issue in issues):
746
+ recommendations.append("📂 Verifique e crie os diretórios obrigatórios da estrutura")
747
+
748
+ if any("configuração" in issue.lower() for issue in issues):
749
+ recommendations.append("⚙️ Configure os arquivos de configuração necessários")
750
+
751
+ if any("test" in issue.lower() for issue in issues):
752
+ recommendations.append("🧪 Implemente testes unitários e de integração")
753
+
754
+ if any("accessibility" in issue.lower() or "aria" in issue.lower() for issue in issues):
755
+ recommendations.append("♿ Adicione atributos ARIA e melhore a acessibilidade")
756
+
757
+ if any("performance" in issue.lower() or "lazy" in issue.lower() for issue in issues):
758
+ recommendations.append("⚡ Implemente lazy loading e otimizações de performance")
759
+
760
+ # Remover duplicatas
761
+ recommendations = list(dict.fromkeys(recommendations))
762
+
763
+ return recommendations
764
+
765
+ # Exportar função principal
766
+ __all__ = ['validate_frontend_quality']