@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.
Files changed (803) hide show
  1. package/dist/content/rules/GEMINI.md +79 -27
  2. package/dist/content/rules/RULES.md +6 -0
  3. package/dist/content/skills/specialist-acessibilidade/MCP_INTEGRATION.md +698 -0
  4. package/dist/content/skills/specialist-acessibilidade/README.md +292 -0
  5. package/dist/content/skills/specialist-acessibilidade/SKILL.md +202 -0
  6. package/dist/content/skills/specialist-acessibilidade/mcp_functions/init_accessibility_audit.py +675 -0
  7. package/dist/content/skills/specialist-acessibilidade/mcp_functions/validate_wcag_compliance.py +587 -0
  8. package/dist/content/skills/specialist-acessibilidade/resources/checklists/accessibility-validation.md +457 -0
  9. package/dist/content/skills/specialist-acessibilidade/resources/examples/accessibility-examples.md +863 -0
  10. package/dist/content/skills/specialist-acessibilidade/resources/reference/wcag-guide.md +359 -0
  11. package/dist/content/skills/specialist-acessibilidade/resources/templates/checklist-acessibilidade.md +435 -0
  12. package/dist/content/skills/specialist-acessibilidade/resources/templates/relatorio-acessibilidade.md +490 -0
  13. package/dist/content/skills/specialist-analise-testes/MCP_INTEGRATION.md +569 -0
  14. package/dist/content/skills/specialist-analise-testes/README.md +42 -0
  15. package/dist/content/skills/specialist-analise-testes/SKILL.md +258 -0
  16. package/dist/content/skills/specialist-analise-testes/mcp_functions/README.md +794 -0
  17. package/dist/content/skills/specialist-analise-testes/resources/checklists/testing-validation.md +305 -0
  18. package/dist/content/skills/specialist-analise-testes/resources/examples/testing-examples.md +395 -0
  19. package/dist/content/skills/specialist-analise-testes/resources/reference/testing-guide.md +1024 -0
  20. package/dist/content/skills/specialist-arquitetura-avancada/MCP_INTEGRATION.md +440 -0
  21. package/dist/content/skills/specialist-arquitetura-avancada/README.md +298 -0
  22. package/dist/content/skills/specialist-arquitetura-avancada/SKILL.md +295 -0
  23. package/dist/content/skills/specialist-arquitetura-avancada/mcp_functions/README.md +573 -0
  24. package/dist/content/skills/specialist-arquitetura-avancada/resources/checklists/architecture-validation.md +385 -0
  25. package/dist/content/skills/specialist-arquitetura-avancada/resources/examples/architecture-examples.md +743 -0
  26. package/dist/content/skills/specialist-arquitetura-avancada/resources/reference/architecture-guide.md +680 -0
  27. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/bounded-context.md +333 -0
  28. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/cqrs-implementation.md +495 -0
  29. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/event-sourcing.md +571 -0
  30. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/microservices-strategy.md +647 -0
  31. package/dist/content/skills/specialist-arquitetura-software/MCP_INTEGRATION.md +483 -0
  32. package/dist/content/skills/specialist-arquitetura-software/README.md +306 -0
  33. package/dist/content/skills/specialist-arquitetura-software/SKILL.md +194 -0
  34. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/init_architecture.py +137 -0
  35. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/process_architecture.py +279 -0
  36. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/validate_architecture.py +302 -0
  37. package/dist/content/skills/specialist-arquitetura-software/resources/checklists/architecture-validation.md +180 -0
  38. package/dist/content/skills/specialist-arquitetura-software/resources/examples/architecture-examples.md +239 -0
  39. package/dist/content/skills/specialist-arquitetura-software/resources/reference/architecture-guide.md +489 -0
  40. package/dist/content/skills/specialist-arquitetura-software/resources/templates/adr.md +61 -0
  41. package/dist/content/skills/specialist-arquitetura-software/resources/templates/arquitetura.md +192 -0
  42. package/dist/content/skills/specialist-arquitetura-software/resources/templates/slo-sli.md +153 -0
  43. package/dist/content/skills/specialist-banco-dados/MCP_INTEGRATION.md +390 -0
  44. package/dist/content/skills/specialist-banco-dados/README.md +323 -0
  45. package/dist/content/skills/specialist-banco-dados/SKILL.md +221 -0
  46. package/dist/content/skills/specialist-banco-dados/mcp_functions/init_database.py +720 -0
  47. package/dist/content/skills/specialist-banco-dados/mcp_functions/process_database.py +386 -0
  48. package/dist/content/skills/specialist-banco-dados/mcp_functions/validate_database.py +551 -0
  49. package/dist/content/skills/specialist-banco-dados/resources/checklists/database-validation.md +434 -0
  50. package/dist/content/skills/specialist-banco-dados/resources/examples/database-examples.md +857 -0
  51. package/dist/content/skills/specialist-banco-dados/resources/reference/database-guide.md +708 -0
  52. package/dist/content/skills/specialist-banco-dados/resources/templates/constraints.md +935 -0
  53. package/dist/content/skills/specialist-banco-dados/resources/templates/design-banco.md +509 -0
  54. package/dist/content/skills/specialist-banco-dados/resources/templates/indices.md +553 -0
  55. package/dist/content/skills/specialist-banco-dados/resources/templates/migracoes.md +777 -0
  56. package/dist/content/skills/specialist-contrato-api/MCP_INTEGRATION.md +152 -0
  57. package/dist/content/skills/specialist-contrato-api/README.md +183 -0
  58. package/dist/content/skills/specialist-contrato-api/SKILL.md +317 -0
  59. package/dist/content/skills/specialist-contrato-api/mcp_functions/README.md +17 -0
  60. package/dist/content/skills/specialist-contrato-api/resources/checklists/api-validation.md +44 -0
  61. package/dist/content/skills/specialist-contrato-api/resources/examples/api-examples.md +137 -0
  62. package/dist/content/skills/specialist-contrato-api/resources/reference/api-guide.md +96 -0
  63. package/dist/content/skills/specialist-contrato-api/resources/templates/contrato-api.md +165 -0
  64. package/dist/content/skills/specialist-dados-analytics-ia/MCP_INTEGRATION.md +398 -0
  65. package/dist/content/skills/specialist-dados-analytics-ia/README.md +224 -0
  66. package/dist/content/skills/specialist-dados-analytics-ia/SKILL.md +160 -0
  67. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/generate_insights_dashboard.py +669 -0
  68. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/init_analytics_pipeline.py +626 -0
  69. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/validate_analytics_quality.py +772 -0
  70. package/dist/content/skills/specialist-dados-analytics-ia/resources/checklists/analytics-validation.md +519 -0
  71. package/dist/content/skills/specialist-dados-analytics-ia/resources/examples/analytics-examples.md +646 -0
  72. package/dist/content/skills/specialist-dados-analytics-ia/resources/reference/analytics-guide.md +1111 -0
  73. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/feature.md +419 -0
  74. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/requisitos.md +384 -0
  75. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/slo-sli.md +381 -0
  76. package/dist/content/skills/specialist-debugging-troubleshooting/MCP_INTEGRATION.md +340 -0
  77. package/dist/content/skills/specialist-debugging-troubleshooting/README.md +218 -0
  78. package/dist/content/skills/specialist-debugging-troubleshooting/SKILL.md +194 -0
  79. package/dist/content/skills/specialist-debugging-troubleshooting/resources/checklists/debugging-validation.md +319 -0
  80. package/dist/content/skills/specialist-debugging-troubleshooting/resources/examples/debugging-examples.md +480 -0
  81. package/dist/content/skills/specialist-debugging-troubleshooting/resources/prompts/analise-bugs.md +527 -0
  82. package/dist/content/skills/specialist-debugging-troubleshooting/resources/reference/debugging-guide.md +392 -0
  83. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/bug-report.md +192 -0
  84. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/post-mortem.md +241 -0
  85. package/dist/content/skills/specialist-debugging-troubleshooting/scripts/README.md +64 -0
  86. package/dist/content/skills/specialist-desenvolvimento-backend/MCP_INTEGRATION.md +98 -0
  87. package/dist/content/skills/specialist-desenvolvimento-backend/README.md +167 -0
  88. package/dist/content/skills/specialist-desenvolvimento-backend/SKILL.md +288 -0
  89. package/dist/content/skills/specialist-desenvolvimento-backend/mcp_functions/README.md +17 -0
  90. package/dist/content/skills/specialist-desenvolvimento-backend/resources/checklists/backend-validation.md +44 -0
  91. package/dist/content/skills/specialist-desenvolvimento-backend/resources/examples/backend-examples.md +109 -0
  92. package/dist/content/skills/specialist-desenvolvimento-backend/resources/reference/backend-guide.md +86 -0
  93. package/dist/content/skills/specialist-desenvolvimento-frontend/MCP_INTEGRATION.md +914 -0
  94. package/dist/content/skills/specialist-desenvolvimento-frontend/README.md +261 -0
  95. package/dist/content/skills/specialist-desenvolvimento-frontend/SKILL.md +220 -0
  96. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/init_frontend.py +861 -0
  97. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/process_frontend.py +1003 -0
  98. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/validate_frontend.py +766 -0
  99. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/checklists/frontend-validation.md +365 -0
  100. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/examples/frontend-examples.md +1125 -0
  101. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/reference/frontend-guide.md +1055 -0
  102. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/component-story.md +530 -0
  103. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/historia-frontend.md +243 -0
  104. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/ui-guidelines.md +725 -0
  105. package/dist/content/skills/specialist-desenvolvimento-mobile/MCP_INTEGRATION.md +87 -0
  106. package/dist/content/skills/specialist-desenvolvimento-mobile/README.md +149 -0
  107. package/dist/content/skills/specialist-desenvolvimento-mobile/SKILL.md +360 -0
  108. package/dist/content/skills/specialist-desenvolvimento-mobile/mcp_functions/README.md +17 -0
  109. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/checklists/mobile-validation.md +330 -0
  110. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/examples/mobile-examples.md +966 -0
  111. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/android-guide.md +546 -0
  112. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/flutter-guide.md +500 -0
  113. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/ios-guide.md +518 -0
  114. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/mobile-guide.md +76 -0
  115. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/react-native-guide.md +659 -0
  116. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/historia-mobile.md +284 -0
  117. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/mobile-checklist.md +239 -0
  118. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/platform-selection.md +302 -0
  119. package/dist/content/skills/specialist-devops-infra/MCP_INTEGRATION.md +471 -0
  120. package/dist/content/skills/specialist-devops-infra/README.md +234 -0
  121. package/dist/content/skills/specialist-devops-infra/SKILL.md +162 -0
  122. package/dist/content/skills/specialist-devops-infra/mcp_functions/generate_ci_cd_pipeline.py +870 -0
  123. package/dist/content/skills/specialist-devops-infra/mcp_functions/init_infrastructure_structure.py +704 -0
  124. package/dist/content/skills/specialist-devops-infra/mcp_functions/validate_infrastructure_quality.py +745 -0
  125. package/dist/content/skills/specialist-devops-infra/resources/checklists/devops-validation.md +427 -0
  126. package/dist/content/skills/specialist-devops-infra/resources/examples/devops-examples.md +652 -0
  127. package/dist/content/skills/specialist-devops-infra/resources/reference/devops-guide.md +1244 -0
  128. package/dist/content/skills/specialist-devops-infra/resources/templates/ci-cd-pipeline.yml +40 -0
  129. package/dist/content/skills/specialist-documentacao-tecnica/MCP_INTEGRATION.md +797 -0
  130. package/dist/content/skills/specialist-documentacao-tecnica/README.md +304 -0
  131. package/dist/content/skills/specialist-documentacao-tecnica/SKILL.md +202 -0
  132. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/init_documentation_structure.py +733 -0
  133. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/process_documentation_for_publishing.py +888 -0
  134. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/validate_documentation_quality.py +775 -0
  135. package/dist/content/skills/specialist-documentacao-tecnica/resources/checklists/documentation-validation.md +296 -0
  136. package/dist/content/skills/specialist-documentacao-tecnica/resources/examples/documentation-examples.md +515 -0
  137. package/dist/content/skills/specialist-documentacao-tecnica/resources/reference/documentation-guide.md +798 -0
  138. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/api-docs.md +619 -0
  139. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/design-doc.md +250 -0
  140. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/guia-tecnico.md +383 -0
  141. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/readme-template.md +462 -0
  142. package/dist/content/skills/specialist-engenharia-requisitos-ia/MCP_INTEGRATION.md +457 -0
  143. package/dist/content/skills/specialist-engenharia-requisitos-ia/README.md +295 -0
  144. package/dist/content/skills/specialist-engenharia-requisitos-ia/SKILL.md +214 -0
  145. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/init_requirements.py +152 -0
  146. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/process_requirements.py +445 -0
  147. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/validate_requirements.py +475 -0
  148. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/checklists/requirements-validation.md +258 -0
  149. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/examples/requirements-examples.md +316 -0
  150. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/reference/requirements-guide.md +651 -0
  151. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/criterios-aceite.md +484 -0
  152. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/matriz-rastreabilidade.md +246 -0
  153. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/requisitos.md +244 -0
  154. package/dist/content/skills/specialist-exploracao-codebase/MCP_INTEGRATION.md +155 -0
  155. package/dist/content/skills/specialist-exploracao-codebase/README.md +320 -0
  156. package/dist/content/skills/specialist-exploracao-codebase/SKILL.md +194 -0
  157. package/dist/content/skills/specialist-exploracao-codebase/mcp_functions/README.md +39 -0
  158. package/dist/content/skills/specialist-exploracao-codebase/resources/checklists/exploration-validation.md +51 -0
  159. package/dist/content/skills/specialist-exploracao-codebase/resources/examples/exploration-examples.md +106 -0
  160. package/dist/content/skills/specialist-exploracao-codebase/resources/reference/exploration-guide.md +111 -0
  161. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/codebase-map.md +129 -0
  162. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/refactoring-plan.md +96 -0
  163. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/technical-debt-report.md +69 -0
  164. package/dist/content/skills/specialist-gestao-produto/MCP_INTEGRATION.md +436 -0
  165. package/dist/content/skills/specialist-gestao-produto/README.md +202 -0
  166. package/dist/content/skills/specialist-gestao-produto/SKILL.md +174 -0
  167. package/dist/content/skills/specialist-gestao-produto/resources/checklists/prd-validation.md +165 -0
  168. package/dist/content/skills/specialist-gestao-produto/resources/examples/prd-examples.md +231 -0
  169. package/dist/content/skills/specialist-gestao-produto/resources/reference/product-guide.md +416 -0
  170. package/dist/content/skills/specialist-gestao-produto/resources/templates/PRD.md +212 -0
  171. package/dist/content/skills/specialist-gestao-produto/scripts/init_prd.py +170 -0
  172. package/dist/content/skills/specialist-gestao-produto/scripts/process_prd.py +388 -0
  173. package/dist/content/skills/specialist-gestao-produto/scripts/validate_prd.py +406 -0
  174. package/dist/content/skills/specialist-migracao-modernizacao/MCP_INTEGRATION.md +17 -0
  175. package/dist/content/skills/specialist-migracao-modernizacao/README.md +46 -0
  176. package/dist/content/skills/specialist-migracao-modernizacao/SKILL.md +485 -0
  177. package/dist/content/skills/specialist-migracao-modernizacao/mcp_functions/README.md +10 -0
  178. package/dist/content/skills/specialist-migracao-modernizacao/resources/checklists/migration-validation.md +23 -0
  179. package/dist/content/skills/specialist-migracao-modernizacao/resources/examples/migration-examples.md +30 -0
  180. package/dist/content/skills/specialist-migracao-modernizacao/resources/reference/migration-guide.md +27 -0
  181. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/migration-assessment.md +391 -0
  182. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/modernization-roadmap.md +479 -0
  183. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/risk-analysis.md +527 -0
  184. package/dist/content/skills/specialist-mobile-design-avancado/MCP_INTEGRATION.md +17 -0
  185. package/dist/content/skills/specialist-mobile-design-avancado/README.md +46 -0
  186. package/dist/content/skills/specialist-mobile-design-avancado/SKILL.md +567 -0
  187. package/dist/content/skills/specialist-mobile-design-avancado/mcp_functions/README.md +10 -0
  188. package/dist/content/skills/specialist-mobile-design-avancado/resources/checklists/design-validation.md +23 -0
  189. package/dist/content/skills/specialist-mobile-design-avancado/resources/examples/design-examples.md +46 -0
  190. package/dist/content/skills/specialist-mobile-design-avancado/resources/reference/design-guide.md +23 -0
  191. package/dist/content/skills/specialist-modelagem-dominio/MCP_INTEGRATION.md +336 -0
  192. package/dist/content/skills/specialist-modelagem-dominio/README.md +314 -0
  193. package/dist/content/skills/specialist-modelagem-dominio/SKILL.md +241 -0
  194. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/init_domain.py +479 -0
  195. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/process_domain.py +526 -0
  196. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/validate_domain.py +569 -0
  197. package/dist/content/skills/specialist-modelagem-dominio/resources/checklists/domain-validation.md +341 -0
  198. package/dist/content/skills/specialist-modelagem-dominio/resources/examples/domain-examples.md +505 -0
  199. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-guide.md +601 -0
  200. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-modeling-complete-guide.md +1126 -0
  201. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/arquitetura-c4.md +477 -0
  202. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/casos-uso.md +395 -0
  203. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/entidades-relacionamentos.md +368 -0
  204. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/modelo-dominio.md +311 -0
  205. package/dist/content/skills/specialist-observabilidade/SKILL.md +462 -0
  206. package/dist/content/skills/specialist-performance-escalabilidade/SKILL.md +329 -0
  207. package/dist/content/skills/specialist-plano-execucao-ia/MCP_INTEGRATION.md +371 -0
  208. package/dist/content/skills/specialist-plano-execucao-ia/README.md +194 -0
  209. package/dist/content/skills/specialist-plano-execucao-ia/SKILL.md +271 -0
  210. package/dist/content/skills/specialist-plano-execucao-ia/mcp_functions/README.md +38 -0
  211. package/dist/content/skills/specialist-plano-execucao-ia/resources/checklists/planning-validation.md +144 -0
  212. package/dist/content/skills/specialist-plano-execucao-ia/resources/examples/planning-examples.md +203 -0
  213. package/dist/content/skills/specialist-plano-execucao-ia/resources/reference/planning-guide.md +316 -0
  214. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/backlog.md +146 -0
  215. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-backend.md +157 -0
  216. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-frontend.md +116 -0
  217. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-usuario.md +66 -0
  218. package/dist/content/skills/specialist-prototipagem-stitch/MCP_INTEGRATION.md +533 -0
  219. package/dist/content/skills/specialist-prototipagem-stitch/README.md +321 -0
  220. package/dist/content/skills/specialist-prototipagem-stitch/SKILL.md +194 -0
  221. package/dist/content/skills/specialist-prototipagem-stitch/mcp_functions/README.md +239 -0
  222. package/dist/content/skills/specialist-prototipagem-stitch/resources/checklists/stitch-validation.md +357 -0
  223. package/dist/content/skills/specialist-prototipagem-stitch/resources/examples/stitch-examples.md +372 -0
  224. package/dist/content/skills/specialist-prototipagem-stitch/resources/reference/stitch-guide.md +517 -0
  225. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prompt-stitch.md +429 -0
  226. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prototipo-stitch.md +317 -0
  227. package/dist/content/skills/specialist-seguranca-informacao/MCP_INTEGRATION.md +466 -0
  228. package/dist/content/skills/specialist-seguranca-informacao/README.md +245 -0
  229. package/dist/content/skills/specialist-seguranca-informacao/SKILL.md +343 -0
  230. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/init_security.py +405 -0
  231. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/process_security.py +611 -0
  232. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/validate_security.py +468 -0
  233. package/dist/content/skills/specialist-seguranca-informacao/resources/checklists/security-validation.md +368 -0
  234. package/dist/content/skills/specialist-seguranca-informacao/resources/examples/security-examples.md +358 -0
  235. package/dist/content/skills/specialist-seguranca-informacao/resources/reference/security-guide.md +757 -0
  236. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/checklist-seguranca.md +383 -0
  237. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/slo-sli.md +244 -0
  238. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/threat-modeling.md +161 -0
  239. package/dist/content/skills/specialist-ux-design/MCP_INTEGRATION.md +294 -0
  240. package/dist/content/skills/specialist-ux-design/README.md +304 -0
  241. package/dist/content/skills/specialist-ux-design/SKILL.md +212 -0
  242. package/dist/content/skills/specialist-ux-design/mcp_functions/init_ux.py +126 -0
  243. package/dist/content/skills/specialist-ux-design/mcp_functions/process_ux.py +408 -0
  244. package/dist/content/skills/specialist-ux-design/mcp_functions/validate_ux.py +379 -0
  245. package/dist/content/skills/specialist-ux-design/resources/checklists/ux-validation.md +77 -0
  246. package/dist/content/skills/specialist-ux-design/resources/examples/ux-examples.md +161 -0
  247. package/dist/content/skills/specialist-ux-design/resources/reference/ux-guide.md +184 -0
  248. package/dist/content/skills/specialist-ux-design/resources/templates/design-doc.md +160 -0
  249. package/dist/content/skills/specialist-ux-design/resources/templates/jornada-usuario.md +126 -0
  250. package/dist/content/skills/specialist-ux-design/resources/templates/wireframes.md +155 -0
  251. package/dist/core/adr/ADRGenerator.d.ts +28 -0
  252. package/dist/core/adr/ADRGenerator.d.ts.map +1 -0
  253. package/dist/core/adr/ADRGenerator.js +63 -0
  254. package/dist/core/adr/ADRGenerator.js.map +1 -0
  255. package/dist/core/adr/index.d.ts +2 -0
  256. package/dist/core/adr/index.d.ts.map +1 -0
  257. package/dist/core/adr/index.js +2 -0
  258. package/dist/core/adr/index.js.map +1 -0
  259. package/dist/core/architecture/FitnessFunctions.d.ts +67 -0
  260. package/dist/core/architecture/FitnessFunctions.d.ts.map +1 -0
  261. package/dist/core/architecture/FitnessFunctions.js +292 -0
  262. package/dist/core/architecture/FitnessFunctions.js.map +1 -0
  263. package/dist/core/architecture/index.d.ts +3 -0
  264. package/dist/core/architecture/index.d.ts.map +1 -0
  265. package/dist/core/architecture/index.js +3 -0
  266. package/dist/core/architecture/index.js.map +1 -0
  267. package/dist/core/architecture/types.d.ts +42 -0
  268. package/dist/core/architecture/types.d.ts.map +1 -0
  269. package/dist/core/architecture/types.js +5 -0
  270. package/dist/core/architecture/types.js.map +1 -0
  271. package/dist/core/atam/ATAMAnalyzer.d.ts +19 -0
  272. package/dist/core/atam/ATAMAnalyzer.d.ts.map +1 -0
  273. package/dist/core/atam/ATAMAnalyzer.js +206 -0
  274. package/dist/core/atam/ATAMAnalyzer.js.map +1 -0
  275. package/dist/core/atam/ATAMReporter.d.ts +16 -0
  276. package/dist/core/atam/ATAMReporter.d.ts.map +1 -0
  277. package/dist/core/atam/ATAMReporter.js +175 -0
  278. package/dist/core/atam/ATAMReporter.js.map +1 -0
  279. package/dist/core/atam/QualityScenarios.d.ts +16 -0
  280. package/dist/core/atam/QualityScenarios.d.ts.map +1 -0
  281. package/dist/core/atam/QualityScenarios.js +149 -0
  282. package/dist/core/atam/QualityScenarios.js.map +1 -0
  283. package/dist/core/atam/RiskRegistry.d.ts +21 -0
  284. package/dist/core/atam/RiskRegistry.d.ts.map +1 -0
  285. package/dist/core/atam/RiskRegistry.js +83 -0
  286. package/dist/core/atam/RiskRegistry.js.map +1 -0
  287. package/dist/core/atam/index.d.ts +6 -0
  288. package/dist/core/atam/index.d.ts.map +1 -0
  289. package/dist/core/atam/index.js +6 -0
  290. package/dist/core/atam/index.js.map +1 -0
  291. package/dist/core/atam/types.d.ts +86 -0
  292. package/dist/core/atam/types.d.ts.map +1 -0
  293. package/dist/core/atam/types.js +5 -0
  294. package/dist/core/atam/types.js.map +1 -0
  295. package/dist/core/authority/AuthorityManager.d.ts +19 -0
  296. package/dist/core/authority/AuthorityManager.d.ts.map +1 -0
  297. package/dist/core/authority/AuthorityManager.js +66 -0
  298. package/dist/core/authority/AuthorityManager.js.map +1 -0
  299. package/dist/core/authority/index.d.ts +2 -0
  300. package/dist/core/authority/index.d.ts.map +1 -0
  301. package/dist/core/authority/index.js +2 -0
  302. package/dist/core/authority/index.js.map +1 -0
  303. package/dist/core/autofix/AutoFixEngine.d.ts +17 -0
  304. package/dist/core/autofix/AutoFixEngine.d.ts.map +1 -0
  305. package/dist/core/autofix/AutoFixEngine.js +46 -0
  306. package/dist/core/autofix/AutoFixEngine.js.map +1 -0
  307. package/dist/core/autofix/index.d.ts +2 -0
  308. package/dist/core/autofix/index.d.ts.map +1 -0
  309. package/dist/core/autofix/index.js +2 -0
  310. package/dist/core/autofix/index.js.map +1 -0
  311. package/dist/core/automation/AutoExecutor.d.ts +20 -0
  312. package/dist/core/automation/AutoExecutor.d.ts.map +1 -0
  313. package/dist/core/automation/AutoExecutor.js +38 -0
  314. package/dist/core/automation/AutoExecutor.js.map +1 -0
  315. package/dist/core/automation/index.d.ts +2 -0
  316. package/dist/core/automation/index.d.ts.map +1 -0
  317. package/dist/core/automation/index.js +2 -0
  318. package/dist/core/automation/index.js.map +1 -0
  319. package/dist/core/checkpoint/CheckpointManager.d.ts +43 -0
  320. package/dist/core/checkpoint/CheckpointManager.d.ts.map +1 -0
  321. package/dist/core/checkpoint/CheckpointManager.js +158 -0
  322. package/dist/core/checkpoint/CheckpointManager.js.map +1 -0
  323. package/dist/core/checkpoint/RollbackEngine.d.ts +31 -0
  324. package/dist/core/checkpoint/RollbackEngine.d.ts.map +1 -0
  325. package/dist/core/checkpoint/RollbackEngine.js +176 -0
  326. package/dist/core/checkpoint/RollbackEngine.js.map +1 -0
  327. package/dist/core/checkpoint/index.d.ts +4 -0
  328. package/dist/core/checkpoint/index.d.ts.map +1 -0
  329. package/dist/core/checkpoint/index.js +4 -0
  330. package/dist/core/checkpoint/index.js.map +1 -0
  331. package/dist/core/checkpoint/types.d.ts +33 -0
  332. package/dist/core/checkpoint/types.d.ts.map +1 -0
  333. package/dist/core/checkpoint/types.js +2 -0
  334. package/dist/core/checkpoint/types.js.map +1 -0
  335. package/dist/core/consistency/ConsistencyAnalyzer.d.ts +12 -0
  336. package/dist/core/consistency/ConsistencyAnalyzer.d.ts.map +1 -0
  337. package/dist/core/consistency/ConsistencyAnalyzer.js +79 -0
  338. package/dist/core/consistency/ConsistencyAnalyzer.js.map +1 -0
  339. package/dist/core/consistency/index.d.ts +3 -0
  340. package/dist/core/consistency/index.d.ts.map +1 -0
  341. package/dist/core/consistency/index.js +3 -0
  342. package/dist/core/consistency/index.js.map +1 -0
  343. package/dist/core/consistency/types.d.ts +43 -0
  344. package/dist/core/consistency/types.d.ts.map +1 -0
  345. package/dist/core/consistency/types.js +5 -0
  346. package/dist/core/consistency/types.js.map +1 -0
  347. package/dist/core/context/ContextDetector.d.ts +14 -0
  348. package/dist/core/context/ContextDetector.d.ts.map +1 -0
  349. package/dist/core/context/ContextDetector.js +58 -0
  350. package/dist/core/context/ContextDetector.js.map +1 -0
  351. package/dist/core/context/index.d.ts +3 -0
  352. package/dist/core/context/index.d.ts.map +1 -0
  353. package/dist/core/context/index.js +3 -0
  354. package/dist/core/context/index.js.map +1 -0
  355. package/dist/core/context/types.d.ts +41 -0
  356. package/dist/core/context/types.d.ts.map +1 -0
  357. package/dist/core/context/types.js +5 -0
  358. package/dist/core/context/types.js.map +1 -0
  359. package/dist/core/decision/AlternativeGenerator.d.ts +32 -0
  360. package/dist/core/decision/AlternativeGenerator.d.ts.map +1 -0
  361. package/dist/core/decision/AlternativeGenerator.js +155 -0
  362. package/dist/core/decision/AlternativeGenerator.js.map +1 -0
  363. package/dist/core/decision/ConfidenceCalculator.d.ts +42 -0
  364. package/dist/core/decision/ConfidenceCalculator.d.ts.map +1 -0
  365. package/dist/core/decision/ConfidenceCalculator.js +114 -0
  366. package/dist/core/decision/ConfidenceCalculator.js.map +1 -0
  367. package/dist/core/decision/DecisionEngine.d.ts +42 -0
  368. package/dist/core/decision/DecisionEngine.d.ts.map +1 -0
  369. package/dist/core/decision/DecisionEngine.js +144 -0
  370. package/dist/core/decision/DecisionEngine.js.map +1 -0
  371. package/dist/core/decision/DecisionMatrix.d.ts +29 -0
  372. package/dist/core/decision/DecisionMatrix.d.ts.map +1 -0
  373. package/dist/core/decision/DecisionMatrix.js +66 -0
  374. package/dist/core/decision/DecisionMatrix.js.map +1 -0
  375. package/dist/core/decision/index.d.ts +6 -0
  376. package/dist/core/decision/index.d.ts.map +1 -0
  377. package/dist/core/decision/index.js +6 -0
  378. package/dist/core/decision/index.js.map +1 -0
  379. package/dist/core/decision/types.d.ts +40 -0
  380. package/dist/core/decision/types.d.ts.map +1 -0
  381. package/dist/core/decision/types.js +5 -0
  382. package/dist/core/decision/types.js.map +1 -0
  383. package/dist/core/discovery/CodebaseDiscovery.d.ts +19 -0
  384. package/dist/core/discovery/CodebaseDiscovery.d.ts.map +1 -0
  385. package/dist/core/discovery/CodebaseDiscovery.js +83 -0
  386. package/dist/core/discovery/CodebaseDiscovery.js.map +1 -0
  387. package/dist/core/discovery/index.d.ts +2 -0
  388. package/dist/core/discovery/index.d.ts.map +1 -0
  389. package/dist/core/discovery/index.js +2 -0
  390. package/dist/core/discovery/index.js.map +1 -0
  391. package/dist/core/feedback/FeedbackLoop.d.ts +21 -0
  392. package/dist/core/feedback/FeedbackLoop.d.ts.map +1 -0
  393. package/dist/core/feedback/FeedbackLoop.js +45 -0
  394. package/dist/core/feedback/FeedbackLoop.js.map +1 -0
  395. package/dist/core/feedback/index.d.ts +2 -0
  396. package/dist/core/feedback/index.d.ts.map +1 -0
  397. package/dist/core/feedback/index.js +2 -0
  398. package/dist/core/feedback/index.js.map +1 -0
  399. package/dist/core/growth/GrowthProjector.d.ts +12 -0
  400. package/dist/core/growth/GrowthProjector.d.ts.map +1 -0
  401. package/dist/core/growth/GrowthProjector.js +93 -0
  402. package/dist/core/growth/GrowthProjector.js.map +1 -0
  403. package/dist/core/growth/index.d.ts +3 -0
  404. package/dist/core/growth/index.d.ts.map +1 -0
  405. package/dist/core/growth/index.js +3 -0
  406. package/dist/core/growth/index.js.map +1 -0
  407. package/dist/core/growth/types.d.ts +40 -0
  408. package/dist/core/growth/types.d.ts.map +1 -0
  409. package/dist/core/growth/types.js +5 -0
  410. package/dist/core/growth/types.js.map +1 -0
  411. package/dist/core/impact/ImpactAnalyzer.d.ts +22 -0
  412. package/dist/core/impact/ImpactAnalyzer.d.ts.map +1 -0
  413. package/dist/core/impact/ImpactAnalyzer.js +43 -0
  414. package/dist/core/impact/ImpactAnalyzer.js.map +1 -0
  415. package/dist/core/impact/index.d.ts +2 -0
  416. package/dist/core/impact/index.d.ts.map +1 -0
  417. package/dist/core/impact/index.js +2 -0
  418. package/dist/core/impact/index.js.map +1 -0
  419. package/dist/core/knowledge/ADRManager.d.ts +22 -0
  420. package/dist/core/knowledge/ADRManager.d.ts.map +1 -0
  421. package/dist/core/knowledge/ADRManager.js +82 -0
  422. package/dist/core/knowledge/ADRManager.js.map +1 -0
  423. package/dist/core/knowledge/ContextLoader.d.ts +18 -0
  424. package/dist/core/knowledge/ContextLoader.d.ts.map +1 -0
  425. package/dist/core/knowledge/ContextLoader.js +48 -0
  426. package/dist/core/knowledge/ContextLoader.js.map +1 -0
  427. package/dist/core/knowledge/KnowledgeBase.d.ts +35 -0
  428. package/dist/core/knowledge/KnowledgeBase.d.ts.map +1 -0
  429. package/dist/core/knowledge/KnowledgeBase.js +143 -0
  430. package/dist/core/knowledge/KnowledgeBase.js.map +1 -0
  431. package/dist/core/knowledge/PatternRegistry.d.ts +22 -0
  432. package/dist/core/knowledge/PatternRegistry.d.ts.map +1 -0
  433. package/dist/core/knowledge/PatternRegistry.js +56 -0
  434. package/dist/core/knowledge/PatternRegistry.js.map +1 -0
  435. package/dist/core/knowledge/index.d.ts +6 -0
  436. package/dist/core/knowledge/index.d.ts.map +1 -0
  437. package/dist/core/knowledge/index.js +6 -0
  438. package/dist/core/knowledge/index.js.map +1 -0
  439. package/dist/core/knowledge/types.d.ts +60 -0
  440. package/dist/core/knowledge/types.d.ts.map +1 -0
  441. package/dist/core/knowledge/types.js +2 -0
  442. package/dist/core/knowledge/types.js.map +1 -0
  443. package/dist/core/metrics/MetricsCollector.d.ts +21 -0
  444. package/dist/core/metrics/MetricsCollector.d.ts.map +1 -0
  445. package/dist/core/metrics/MetricsCollector.js +20 -0
  446. package/dist/core/metrics/MetricsCollector.js.map +1 -0
  447. package/dist/core/metrics/index.d.ts +2 -0
  448. package/dist/core/metrics/index.d.ts.map +1 -0
  449. package/dist/core/metrics/index.js +2 -0
  450. package/dist/core/metrics/index.js.map +1 -0
  451. package/dist/core/notification/NotificationManager.d.ts +20 -0
  452. package/dist/core/notification/NotificationManager.d.ts.map +1 -0
  453. package/dist/core/notification/NotificationManager.js +16 -0
  454. package/dist/core/notification/NotificationManager.js.map +1 -0
  455. package/dist/core/notification/index.d.ts +2 -0
  456. package/dist/core/notification/index.d.ts.map +1 -0
  457. package/dist/core/notification/index.js +2 -0
  458. package/dist/core/notification/index.js.map +1 -0
  459. package/dist/core/risk/RiskEvaluator.d.ts +11 -0
  460. package/dist/core/risk/RiskEvaluator.d.ts.map +1 -0
  461. package/dist/core/risk/RiskEvaluator.js +83 -0
  462. package/dist/core/risk/RiskEvaluator.js.map +1 -0
  463. package/dist/core/risk/index.d.ts +3 -0
  464. package/dist/core/risk/index.d.ts.map +1 -0
  465. package/dist/core/risk/index.js +3 -0
  466. package/dist/core/risk/index.js.map +1 -0
  467. package/dist/core/risk/types.d.ts +19 -0
  468. package/dist/core/risk/types.d.ts.map +1 -0
  469. package/dist/core/risk/types.js +2 -0
  470. package/dist/core/risk/types.js.map +1 -0
  471. package/dist/core/roadmap/RoadmapManager.d.ts +14 -0
  472. package/dist/core/roadmap/RoadmapManager.d.ts.map +1 -0
  473. package/dist/core/roadmap/RoadmapManager.js +81 -0
  474. package/dist/core/roadmap/RoadmapManager.js.map +1 -0
  475. package/dist/core/roadmap/index.d.ts +3 -0
  476. package/dist/core/roadmap/index.d.ts.map +1 -0
  477. package/dist/core/roadmap/index.js +3 -0
  478. package/dist/core/roadmap/index.js.map +1 -0
  479. package/dist/core/roadmap/types.d.ts +64 -0
  480. package/dist/core/roadmap/types.d.ts.map +1 -0
  481. package/dist/core/roadmap/types.js +5 -0
  482. package/dist/core/roadmap/types.js.map +1 -0
  483. package/dist/core/strangler/StranglerOrchestrator.d.ts +14 -0
  484. package/dist/core/strangler/StranglerOrchestrator.d.ts.map +1 -0
  485. package/dist/core/strangler/StranglerOrchestrator.js +87 -0
  486. package/dist/core/strangler/StranglerOrchestrator.js.map +1 -0
  487. package/dist/core/strangler/index.d.ts +3 -0
  488. package/dist/core/strangler/index.d.ts.map +1 -0
  489. package/dist/core/strangler/index.js +3 -0
  490. package/dist/core/strangler/index.js.map +1 -0
  491. package/dist/core/strangler/types.d.ts +70 -0
  492. package/dist/core/strangler/types.d.ts.map +1 -0
  493. package/dist/core/strangler/types.js +5 -0
  494. package/dist/core/strangler/types.js.map +1 -0
  495. package/dist/core/testing/TestRunner.d.ts +17 -0
  496. package/dist/core/testing/TestRunner.d.ts.map +1 -0
  497. package/dist/core/testing/TestRunner.js +22 -0
  498. package/dist/core/testing/TestRunner.js.map +1 -0
  499. package/dist/core/testing/index.d.ts +2 -0
  500. package/dist/core/testing/index.d.ts.map +1 -0
  501. package/dist/core/testing/index.js +2 -0
  502. package/dist/core/testing/index.js.map +1 -0
  503. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts +24 -0
  504. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts.map +1 -0
  505. package/dist/core/tradeoff/TradeoffAnalyzer.js +51 -0
  506. package/dist/core/tradeoff/TradeoffAnalyzer.js.map +1 -0
  507. package/dist/core/tradeoff/index.d.ts +2 -0
  508. package/dist/core/tradeoff/index.d.ts.map +1 -0
  509. package/dist/core/tradeoff/index.js +2 -0
  510. package/dist/core/tradeoff/index.js.map +1 -0
  511. package/dist/core/validation/DependencyValidator.d.ts +28 -0
  512. package/dist/core/validation/DependencyValidator.d.ts.map +1 -0
  513. package/dist/core/validation/DependencyValidator.js +188 -0
  514. package/dist/core/validation/DependencyValidator.js.map +1 -0
  515. package/dist/core/validation/SecurityValidator.d.ts +44 -0
  516. package/dist/core/validation/SecurityValidator.d.ts.map +1 -0
  517. package/dist/core/validation/SecurityValidator.js +248 -0
  518. package/dist/core/validation/SecurityValidator.js.map +1 -0
  519. package/dist/core/validation/ValidationPipeline.d.ts +62 -0
  520. package/dist/core/validation/ValidationPipeline.d.ts.map +1 -0
  521. package/dist/core/validation/ValidationPipeline.js +216 -0
  522. package/dist/core/validation/ValidationPipeline.js.map +1 -0
  523. package/dist/core/validation/index.d.ts +4 -0
  524. package/dist/core/validation/index.d.ts.map +1 -0
  525. package/dist/core/validation/index.js +4 -0
  526. package/dist/core/validation/index.js.map +1 -0
  527. package/dist/core/validation/layers/ArchitectureValidator.d.ts +21 -0
  528. package/dist/core/validation/layers/ArchitectureValidator.d.ts.map +1 -0
  529. package/dist/core/validation/layers/ArchitectureValidator.js +226 -0
  530. package/dist/core/validation/layers/ArchitectureValidator.js.map +1 -0
  531. package/dist/core/validation/layers/QualityValidator.d.ts +23 -0
  532. package/dist/core/validation/layers/QualityValidator.d.ts.map +1 -0
  533. package/dist/core/validation/layers/QualityValidator.js +259 -0
  534. package/dist/core/validation/layers/QualityValidator.js.map +1 -0
  535. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts +12 -0
  536. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts.map +1 -0
  537. package/dist/core/validation/layers/SecurityValidatorWrapper.js +54 -0
  538. package/dist/core/validation/layers/SecurityValidatorWrapper.js.map +1 -0
  539. package/dist/core/validation/layers/SemanticValidator.d.ts +21 -0
  540. package/dist/core/validation/layers/SemanticValidator.d.ts.map +1 -0
  541. package/dist/core/validation/layers/SemanticValidator.js +182 -0
  542. package/dist/core/validation/layers/SemanticValidator.js.map +1 -0
  543. package/dist/core/validation/layers/SyntacticValidator.d.ts +17 -0
  544. package/dist/core/validation/layers/SyntacticValidator.d.ts.map +1 -0
  545. package/dist/core/validation/layers/SyntacticValidator.js +194 -0
  546. package/dist/core/validation/layers/SyntacticValidator.js.map +1 -0
  547. package/dist/core/validation/types.d.ts +90 -0
  548. package/dist/core/validation/types.d.ts.map +1 -0
  549. package/dist/core/validation/types.js +24 -0
  550. package/dist/core/validation/types.js.map +1 -0
  551. package/dist/frontend-first/contract-generator.d.ts +47 -0
  552. package/dist/frontend-first/contract-generator.d.ts.map +1 -0
  553. package/dist/frontend-first/contract-generator.js +312 -0
  554. package/dist/frontend-first/contract-generator.js.map +1 -0
  555. package/dist/frontend-first/mock-generator.d.ts +23 -0
  556. package/dist/frontend-first/mock-generator.d.ts.map +1 -0
  557. package/dist/frontend-first/mock-generator.js +186 -0
  558. package/dist/frontend-first/mock-generator.js.map +1 -0
  559. package/dist/optimization/batch-prompts.d.ts +27 -0
  560. package/dist/optimization/batch-prompts.d.ts.map +1 -0
  561. package/dist/optimization/batch-prompts.js +178 -0
  562. package/dist/optimization/batch-prompts.js.map +1 -0
  563. package/dist/optimization/context-cache.d.ts +45 -0
  564. package/dist/optimization/context-cache.d.ts.map +1 -0
  565. package/dist/optimization/context-cache.js +149 -0
  566. package/dist/optimization/context-cache.js.map +1 -0
  567. package/dist/optimization/smart-validation.d.ts +43 -0
  568. package/dist/optimization/smart-validation.d.ts.map +1 -0
  569. package/dist/optimization/smart-validation.js +137 -0
  570. package/dist/optimization/smart-validation.js.map +1 -0
  571. package/dist/stdio.js +184 -0
  572. package/dist/stdio.js.map +1 -1
  573. package/dist/tasks/task-manager.d.ts +30 -0
  574. package/dist/tasks/task-manager.d.ts.map +1 -0
  575. package/dist/tasks/task-manager.js +290 -0
  576. package/dist/tasks/task-manager.js.map +1 -0
  577. package/dist/tools/atualizar-tarefa.d.ts +17 -0
  578. package/dist/tools/atualizar-tarefa.d.ts.map +1 -0
  579. package/dist/tools/atualizar-tarefa.js +200 -0
  580. package/dist/tools/atualizar-tarefa.js.map +1 -0
  581. package/dist/tools/configurar-modo.d.ts +10 -0
  582. package/dist/tools/configurar-modo.d.ts.map +1 -0
  583. package/dist/tools/configurar-modo.js +121 -0
  584. package/dist/tools/configurar-modo.js.map +1 -0
  585. package/dist/tools/contexto.d.ts.map +1 -1
  586. package/dist/tools/contexto.js +35 -4
  587. package/dist/tools/contexto.js.map +1 -1
  588. package/dist/tools/criar-tarefa.d.ts +17 -0
  589. package/dist/tools/criar-tarefa.d.ts.map +1 -0
  590. package/dist/tools/criar-tarefa.js +132 -0
  591. package/dist/tools/criar-tarefa.js.map +1 -0
  592. package/dist/tools/fase1/checkpoint.tools.d.ts +150 -0
  593. package/dist/tools/fase1/checkpoint.tools.d.ts.map +1 -0
  594. package/dist/tools/fase1/checkpoint.tools.js +165 -0
  595. package/dist/tools/fase1/checkpoint.tools.js.map +1 -0
  596. package/dist/tools/fase1/knowledge.tools.d.ts +265 -0
  597. package/dist/tools/fase1/knowledge.tools.d.ts.map +1 -0
  598. package/dist/tools/fase1/knowledge.tools.js +209 -0
  599. package/dist/tools/fase1/knowledge.tools.js.map +1 -0
  600. package/dist/tools/fase1/misc.tools.d.ts +113 -0
  601. package/dist/tools/fase1/misc.tools.d.ts.map +1 -0
  602. package/dist/tools/fase1/misc.tools.js +99 -0
  603. package/dist/tools/fase1/misc.tools.js.map +1 -0
  604. package/dist/tools/fase1/validation.tools.d.ts +103 -0
  605. package/dist/tools/fase1/validation.tools.d.ts.map +1 -0
  606. package/dist/tools/fase1/validation.tools.js +174 -0
  607. package/dist/tools/fase1/validation.tools.js.map +1 -0
  608. package/dist/tools/gerar-contrato-api.d.ts +15 -0
  609. package/dist/tools/gerar-contrato-api.d.ts.map +1 -0
  610. package/dist/tools/gerar-contrato-api.js +216 -0
  611. package/dist/tools/gerar-contrato-api.js.map +1 -0
  612. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  613. package/dist/tools/iniciar-projeto.js +27 -1
  614. package/dist/tools/iniciar-projeto.js.map +1 -1
  615. package/dist/tools/listar-tarefas.d.ts +16 -0
  616. package/dist/tools/listar-tarefas.d.ts.map +1 -0
  617. package/dist/tools/listar-tarefas.js +215 -0
  618. package/dist/tools/listar-tarefas.js.map +1 -0
  619. package/dist/tools/phase2/architecture.tools.d.ts +37 -0
  620. package/dist/tools/phase2/architecture.tools.d.ts.map +1 -0
  621. package/dist/tools/phase2/architecture.tools.js +51 -0
  622. package/dist/tools/phase2/architecture.tools.js.map +1 -0
  623. package/dist/tools/phase2/decision.tools.d.ts +61 -0
  624. package/dist/tools/phase2/decision.tools.d.ts.map +1 -0
  625. package/dist/tools/phase2/decision.tools.js +69 -0
  626. package/dist/tools/phase2/decision.tools.js.map +1 -0
  627. package/dist/tools/phase2/index.d.ts +8 -0
  628. package/dist/tools/phase2/index.d.ts.map +1 -0
  629. package/dist/tools/phase2/index.js +16 -0
  630. package/dist/tools/phase2/index.js.map +1 -0
  631. package/dist/tools/phase2/validation.tools.d.ts +40 -0
  632. package/dist/tools/phase2/validation.tools.d.ts.map +1 -0
  633. package/dist/tools/phase2/validation.tools.js +43 -0
  634. package/dist/tools/phase2/validation.tools.js.map +1 -0
  635. package/dist/tools/phase3/atam.tools.d.ts +26 -0
  636. package/dist/tools/phase3/atam.tools.d.ts.map +1 -0
  637. package/dist/tools/phase3/atam.tools.js +48 -0
  638. package/dist/tools/phase3/atam.tools.js.map +1 -0
  639. package/dist/tools/phase3/consistency.tools.d.ts +15 -0
  640. package/dist/tools/phase3/consistency.tools.d.ts.map +1 -0
  641. package/dist/tools/phase3/consistency.tools.js +20 -0
  642. package/dist/tools/phase3/consistency.tools.js.map +1 -0
  643. package/dist/tools/phase3/context.tools.d.ts +25 -0
  644. package/dist/tools/phase3/context.tools.d.ts.map +1 -0
  645. package/dist/tools/phase3/context.tools.js +32 -0
  646. package/dist/tools/phase3/context.tools.js.map +1 -0
  647. package/dist/tools/phase3/growth.tools.d.ts +28 -0
  648. package/dist/tools/phase3/growth.tools.d.ts.map +1 -0
  649. package/dist/tools/phase3/growth.tools.js +32 -0
  650. package/dist/tools/phase3/growth.tools.js.map +1 -0
  651. package/dist/tools/phase3/index.d.ts +10 -0
  652. package/dist/tools/phase3/index.d.ts.map +1 -0
  653. package/dist/tools/phase3/index.js +10 -0
  654. package/dist/tools/phase3/index.js.map +1 -0
  655. package/dist/tools/phase3/roadmap.tools.d.ts +41 -0
  656. package/dist/tools/phase3/roadmap.tools.d.ts.map +1 -0
  657. package/dist/tools/phase3/roadmap.tools.js +44 -0
  658. package/dist/tools/phase3/roadmap.tools.js.map +1 -0
  659. package/dist/tools/phase3/strangler.tools.d.ts +37 -0
  660. package/dist/tools/phase3/strangler.tools.d.ts.map +1 -0
  661. package/dist/tools/phase3/strangler.tools.js +44 -0
  662. package/dist/tools/phase3/strangler.tools.js.map +1 -0
  663. package/dist/tools/proximo.d.ts.map +1 -1
  664. package/dist/tools/proximo.js +45 -8
  665. package/dist/tools/proximo.js.map +1 -1
  666. package/dist/tools/status.d.ts.map +1 -1
  667. package/dist/tools/status.js +28 -5
  668. package/dist/tools/status.js.map +1 -1
  669. package/dist/tools/validar-gate.d.ts.map +1 -1
  670. package/dist/tools/validar-gate.js +14 -0
  671. package/dist/tools/validar-gate.js.map +1 -1
  672. package/dist/types/config.d.ts +46 -0
  673. package/dist/types/config.d.ts.map +1 -0
  674. package/dist/types/config.js +162 -0
  675. package/dist/types/config.js.map +1 -0
  676. package/dist/types/index.d.ts +38 -0
  677. package/dist/types/index.d.ts.map +1 -1
  678. package/dist/types/index.js.map +1 -1
  679. package/dist/types/tasks.d.ts +100 -0
  680. package/dist/types/tasks.d.ts.map +1 -0
  681. package/dist/types/tasks.js +2 -0
  682. package/dist/types/tasks.js.map +1 -0
  683. package/dist/utils/__tests__/prompt-mapper.test.d.ts +2 -0
  684. package/dist/utils/__tests__/prompt-mapper.test.d.ts.map +1 -0
  685. package/dist/utils/__tests__/prompt-mapper.test.js +184 -0
  686. package/dist/utils/__tests__/prompt-mapper.test.js.map +1 -0
  687. package/dist/utils/history.d.ts +10 -0
  688. package/dist/utils/history.d.ts.map +1 -1
  689. package/dist/utils/history.js +12 -1
  690. package/dist/utils/history.js.map +1 -1
  691. package/dist/utils/prompt-mapper.d.ts +46 -0
  692. package/dist/utils/prompt-mapper.d.ts.map +1 -1
  693. package/dist/utils/prompt-mapper.js +100 -0
  694. package/dist/utils/prompt-mapper.js.map +1 -1
  695. package/package.json +5 -5
  696. package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +0 -250
  697. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +0 -278
  698. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +0 -261
  699. package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +0 -258
  700. package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +0 -119
  701. package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +0 -147
  702. package/dist/content/guides/Checklist Mestre de Entrega.md +0 -68
  703. package/dist/content/guides/Gates de Qualidade.md +0 -209
  704. package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +0 -355
  705. package/dist/content/guides/Guia de Chaos Engineering.md +0 -267
  706. package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +0 -352
  707. package/dist/content/guides/Guia de Migrations Zero-Downtime.md +0 -311
  708. package/dist/content/guides/Guia de Multi-tenancy.md +0 -368
  709. package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +0 -195
  710. package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +0 -162
  711. package/dist/content/guides/Guia de SLOs e Error Budgets.md +0 -315
  712. package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +0 -93
  713. package/dist/content/guides/Rules base.md +0 -90
  714. package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +0 -364
  715. package/dist/content/prompts/README.md +0 -203
  716. package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +0 -257
  717. package/dist/content/prompts/apis/design-api-rest.md +0 -303
  718. package/dist/content/prompts/apis/idempotencia.md +0 -254
  719. package/dist/content/prompts/apis/versionamento.md +0 -313
  720. package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +0 -190
  721. package/dist/content/prompts/arquitetura/clean-architecture.md +0 -151
  722. package/dist/content/prompts/arquitetura/multi-tenancy.md +0 -235
  723. package/dist/content/prompts/database/migrations-zero-downtime.md +0 -192
  724. package/dist/content/prompts/database/otimizacao-queries.md +0 -296
  725. package/dist/content/prompts/desenvolvimento/code-review.md +0 -301
  726. package/dist/content/prompts/desenvolvimento/gerar-servico.md +0 -271
  727. package/dist/content/prompts/devops/docker-compose.md +0 -336
  728. package/dist/content/prompts/devops/feature-flags.md +0 -374
  729. package/dist/content/prompts/devops/kubernetes-deploy.md +0 -460
  730. package/dist/content/prompts/devops/pipeline-cicd.md +0 -358
  731. package/dist/content/prompts/devops/terraform-iac.md +0 -502
  732. package/dist/content/prompts/escalabilidade/analise-performance.md +0 -240
  733. package/dist/content/prompts/escalabilidade/analise-performance.txt +0 -94
  734. package/dist/content/prompts/escalabilidade/caching.md +0 -255
  735. package/dist/content/prompts/observabilidade/chaos-testing.md +0 -237
  736. package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +0 -263
  737. package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +0 -134
  738. package/dist/content/prompts/observabilidade/slos.md +0 -215
  739. package/dist/content/prompts/produto/discovery-inicial.md +0 -203
  740. package/dist/content/prompts/produto/discovery-inicial.txt +0 -33
  741. package/dist/content/prompts/requisitos/refinar-requisitos.md +0 -232
  742. package/dist/content/prompts/requisitos/refinar-requisitos.txt +0 -40
  743. package/dist/content/prompts/seguranca/analise-seguranca.md +0 -243
  744. package/dist/content/prompts/seguranca/pentest-checklist.md +0 -333
  745. package/dist/content/prompts/seguranca/rate-limiting.md +0 -356
  746. package/dist/content/prompts/seguranca/revisao-lgpd.md +0 -227
  747. package/dist/content/prompts/seguranca/threat-modeling.md +0 -224
  748. package/dist/content/prompts/testes/contract-testing.md +0 -340
  749. package/dist/content/prompts/testes/gerar-testes-unitarios.md +0 -474
  750. package/dist/content/prompts/testes/testes-e2e.md +0 -460
  751. package/dist/content/prompts/testes/testes-integracao.md +0 -418
  752. package/dist/content/prompts/testes/testes-performance.md +0 -458
  753. package/dist/content/prompts/ux/gerar-ui-stitch.md +0 -151
  754. package/dist/content/specialists/Especialista em Acessibilidade.md +0 -266
  755. package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +0 -434
  756. package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +0 -358
  757. package/dist/content/specialists/Especialista em Arquitetura de Software.md +0 -177
  758. package/dist/content/specialists/Especialista em Banco de Dados.md +0 -260
  759. package/dist/content/specialists/Especialista em Contrato de API.md +0 -172
  760. package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +0 -246
  761. package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +0 -191
  762. package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +0 -477
  763. package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +0 -241
  764. package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +0 -417
  765. package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +0 -294
  766. package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +0 -227
  767. package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +0 -299
  768. package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +0 -179
  769. package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +0 -179
  770. package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +0 -410
  771. package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +0 -248
  772. package/dist/content/specialists/Especialista em Observabilidade.md +0 -415
  773. package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +0 -373
  774. package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +0 -341
  775. package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +0 -419
  776. package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +0 -508
  777. package/dist/content/specialists/Especialista em UX Design.md +0 -453
  778. package/dist/content/specialists/INDEX.md +0 -43
  779. package/dist/content/templates/PRD.md +0 -165
  780. package/dist/content/templates/README.md +0 -65
  781. package/dist/content/templates/adr.md +0 -103
  782. package/dist/content/templates/arquitetura.md +0 -279
  783. package/dist/content/templates/backlog.md +0 -185
  784. package/dist/content/templates/checklist-seguranca.md +0 -180
  785. package/dist/content/templates/contexto.md +0 -120
  786. package/dist/content/templates/criterios-aceite.md +0 -99
  787. package/dist/content/templates/design-banco.md +0 -270
  788. package/dist/content/templates/design-doc.md +0 -240
  789. package/dist/content/templates/feature.md +0 -88
  790. package/dist/content/templates/historia-backend.md +0 -84
  791. package/dist/content/templates/historia-frontend.md +0 -75
  792. package/dist/content/templates/historia-usuario.md +0 -125
  793. package/dist/content/templates/mapa-navegacao.md +0 -133
  794. package/dist/content/templates/matriz-rastreabilidade.md +0 -121
  795. package/dist/content/templates/modelo-dominio.md +0 -219
  796. package/dist/content/templates/plano-testes.md +0 -199
  797. package/dist/content/templates/prototipo-stitch.md +0 -138
  798. package/dist/content/templates/requisitos.md +0 -162
  799. package/dist/content/templates/slo-sli.md +0 -197
  800. /package/dist/content/{guides/Guia de Debugging com IA.md → skills/specialist-debugging-troubleshooting/resources/reference/debugging-ai-guide.md} +0 -0
  801. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-bounded-contexts.md +0 -0
  802. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-cqrs.md +0 -0
  803. /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']