@maestro-ai/mcp-server 1.1.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 (821) hide show
  1. package/dist/adapters/skill-adapter.d.ts +57 -0
  2. package/dist/adapters/skill-adapter.d.ts.map +1 -0
  3. package/dist/adapters/skill-adapter.js +272 -0
  4. package/dist/adapters/skill-adapter.js.map +1 -0
  5. package/dist/content/rules/GEMINI.md +79 -27
  6. package/dist/content/rules/RULES.md +6 -0
  7. package/dist/content/skills/specialist-acessibilidade/MCP_INTEGRATION.md +698 -0
  8. package/dist/content/skills/specialist-acessibilidade/README.md +292 -0
  9. package/dist/content/skills/specialist-acessibilidade/SKILL.md +202 -0
  10. package/dist/content/skills/specialist-acessibilidade/mcp_functions/init_accessibility_audit.py +675 -0
  11. package/dist/content/skills/specialist-acessibilidade/mcp_functions/validate_wcag_compliance.py +587 -0
  12. package/dist/content/skills/specialist-acessibilidade/resources/checklists/accessibility-validation.md +457 -0
  13. package/dist/content/skills/specialist-acessibilidade/resources/examples/accessibility-examples.md +863 -0
  14. package/dist/content/skills/specialist-acessibilidade/resources/reference/wcag-guide.md +359 -0
  15. package/dist/content/skills/specialist-acessibilidade/resources/templates/checklist-acessibilidade.md +435 -0
  16. package/dist/content/skills/specialist-acessibilidade/resources/templates/relatorio-acessibilidade.md +490 -0
  17. package/dist/content/skills/specialist-analise-testes/MCP_INTEGRATION.md +569 -0
  18. package/dist/content/skills/specialist-analise-testes/README.md +42 -0
  19. package/dist/content/skills/specialist-analise-testes/SKILL.md +258 -0
  20. package/dist/content/skills/specialist-analise-testes/mcp_functions/README.md +794 -0
  21. package/dist/content/skills/specialist-analise-testes/resources/checklists/testing-validation.md +305 -0
  22. package/dist/content/skills/specialist-analise-testes/resources/examples/testing-examples.md +395 -0
  23. package/dist/content/skills/specialist-analise-testes/resources/reference/testing-guide.md +1024 -0
  24. package/dist/content/skills/specialist-arquitetura-avancada/MCP_INTEGRATION.md +440 -0
  25. package/dist/content/skills/specialist-arquitetura-avancada/README.md +298 -0
  26. package/dist/content/skills/specialist-arquitetura-avancada/SKILL.md +295 -0
  27. package/dist/content/skills/specialist-arquitetura-avancada/mcp_functions/README.md +573 -0
  28. package/dist/content/skills/specialist-arquitetura-avancada/resources/checklists/architecture-validation.md +385 -0
  29. package/dist/content/skills/specialist-arquitetura-avancada/resources/examples/architecture-examples.md +743 -0
  30. package/dist/content/skills/specialist-arquitetura-avancada/resources/reference/architecture-guide.md +680 -0
  31. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/bounded-context.md +333 -0
  32. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/cqrs-implementation.md +495 -0
  33. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/event-sourcing.md +571 -0
  34. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/microservices-strategy.md +647 -0
  35. package/dist/content/skills/specialist-arquitetura-software/MCP_INTEGRATION.md +483 -0
  36. package/dist/content/skills/specialist-arquitetura-software/README.md +306 -0
  37. package/dist/content/skills/specialist-arquitetura-software/SKILL.md +194 -0
  38. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/init_architecture.py +137 -0
  39. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/process_architecture.py +279 -0
  40. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/validate_architecture.py +302 -0
  41. package/dist/content/skills/specialist-arquitetura-software/resources/checklists/architecture-validation.md +180 -0
  42. package/dist/content/skills/specialist-arquitetura-software/resources/examples/architecture-examples.md +239 -0
  43. package/dist/content/skills/specialist-arquitetura-software/resources/reference/architecture-guide.md +489 -0
  44. package/dist/content/skills/specialist-arquitetura-software/resources/templates/adr.md +61 -0
  45. package/dist/content/skills/specialist-arquitetura-software/resources/templates/arquitetura.md +192 -0
  46. package/dist/content/skills/specialist-arquitetura-software/resources/templates/slo-sli.md +153 -0
  47. package/dist/content/skills/specialist-banco-dados/MCP_INTEGRATION.md +390 -0
  48. package/dist/content/skills/specialist-banco-dados/README.md +323 -0
  49. package/dist/content/skills/specialist-banco-dados/SKILL.md +221 -0
  50. package/dist/content/skills/specialist-banco-dados/mcp_functions/init_database.py +720 -0
  51. package/dist/content/skills/specialist-banco-dados/mcp_functions/process_database.py +386 -0
  52. package/dist/content/skills/specialist-banco-dados/mcp_functions/validate_database.py +551 -0
  53. package/dist/content/skills/specialist-banco-dados/resources/checklists/database-validation.md +434 -0
  54. package/dist/content/skills/specialist-banco-dados/resources/examples/database-examples.md +857 -0
  55. package/dist/content/skills/specialist-banco-dados/resources/reference/database-guide.md +708 -0
  56. package/dist/content/skills/specialist-banco-dados/resources/templates/constraints.md +935 -0
  57. package/dist/content/skills/specialist-banco-dados/resources/templates/design-banco.md +509 -0
  58. package/dist/content/skills/specialist-banco-dados/resources/templates/indices.md +553 -0
  59. package/dist/content/skills/specialist-banco-dados/resources/templates/migracoes.md +777 -0
  60. package/dist/content/skills/specialist-contrato-api/MCP_INTEGRATION.md +152 -0
  61. package/dist/content/skills/specialist-contrato-api/README.md +183 -0
  62. package/dist/content/skills/specialist-contrato-api/SKILL.md +317 -0
  63. package/dist/content/skills/specialist-contrato-api/mcp_functions/README.md +17 -0
  64. package/dist/content/skills/specialist-contrato-api/resources/checklists/api-validation.md +44 -0
  65. package/dist/content/skills/specialist-contrato-api/resources/examples/api-examples.md +137 -0
  66. package/dist/content/skills/specialist-contrato-api/resources/reference/api-guide.md +96 -0
  67. package/dist/content/skills/specialist-contrato-api/resources/templates/contrato-api.md +165 -0
  68. package/dist/content/skills/specialist-dados-analytics-ia/MCP_INTEGRATION.md +398 -0
  69. package/dist/content/skills/specialist-dados-analytics-ia/README.md +224 -0
  70. package/dist/content/skills/specialist-dados-analytics-ia/SKILL.md +160 -0
  71. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/generate_insights_dashboard.py +669 -0
  72. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/init_analytics_pipeline.py +626 -0
  73. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/validate_analytics_quality.py +772 -0
  74. package/dist/content/skills/specialist-dados-analytics-ia/resources/checklists/analytics-validation.md +519 -0
  75. package/dist/content/skills/specialist-dados-analytics-ia/resources/examples/analytics-examples.md +646 -0
  76. package/dist/content/skills/specialist-dados-analytics-ia/resources/reference/analytics-guide.md +1111 -0
  77. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/feature.md +419 -0
  78. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/requisitos.md +384 -0
  79. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/slo-sli.md +381 -0
  80. package/dist/content/skills/specialist-debugging-troubleshooting/MCP_INTEGRATION.md +340 -0
  81. package/dist/content/skills/specialist-debugging-troubleshooting/README.md +218 -0
  82. package/dist/content/skills/specialist-debugging-troubleshooting/SKILL.md +194 -0
  83. package/dist/content/skills/specialist-debugging-troubleshooting/resources/checklists/debugging-validation.md +319 -0
  84. package/dist/content/skills/specialist-debugging-troubleshooting/resources/examples/debugging-examples.md +480 -0
  85. package/dist/content/skills/specialist-debugging-troubleshooting/resources/prompts/analise-bugs.md +527 -0
  86. package/dist/content/skills/specialist-debugging-troubleshooting/resources/reference/debugging-guide.md +392 -0
  87. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/bug-report.md +192 -0
  88. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/post-mortem.md +241 -0
  89. package/dist/content/skills/specialist-debugging-troubleshooting/scripts/README.md +64 -0
  90. package/dist/content/skills/specialist-desenvolvimento-backend/MCP_INTEGRATION.md +98 -0
  91. package/dist/content/skills/specialist-desenvolvimento-backend/README.md +167 -0
  92. package/dist/content/skills/specialist-desenvolvimento-backend/SKILL.md +288 -0
  93. package/dist/content/skills/specialist-desenvolvimento-backend/mcp_functions/README.md +17 -0
  94. package/dist/content/skills/specialist-desenvolvimento-backend/resources/checklists/backend-validation.md +44 -0
  95. package/dist/content/skills/specialist-desenvolvimento-backend/resources/examples/backend-examples.md +109 -0
  96. package/dist/content/skills/specialist-desenvolvimento-backend/resources/reference/backend-guide.md +86 -0
  97. package/dist/content/skills/specialist-desenvolvimento-frontend/MCP_INTEGRATION.md +914 -0
  98. package/dist/content/skills/specialist-desenvolvimento-frontend/README.md +261 -0
  99. package/dist/content/skills/specialist-desenvolvimento-frontend/SKILL.md +220 -0
  100. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/init_frontend.py +861 -0
  101. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/process_frontend.py +1003 -0
  102. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/validate_frontend.py +766 -0
  103. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/checklists/frontend-validation.md +365 -0
  104. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/examples/frontend-examples.md +1125 -0
  105. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/reference/frontend-guide.md +1055 -0
  106. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/component-story.md +530 -0
  107. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/historia-frontend.md +243 -0
  108. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/ui-guidelines.md +725 -0
  109. package/dist/content/skills/specialist-desenvolvimento-mobile/MCP_INTEGRATION.md +87 -0
  110. package/dist/content/skills/specialist-desenvolvimento-mobile/README.md +149 -0
  111. package/dist/content/skills/specialist-desenvolvimento-mobile/SKILL.md +360 -0
  112. package/dist/content/skills/specialist-desenvolvimento-mobile/mcp_functions/README.md +17 -0
  113. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/checklists/mobile-validation.md +330 -0
  114. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/examples/mobile-examples.md +966 -0
  115. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/android-guide.md +546 -0
  116. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/flutter-guide.md +500 -0
  117. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/ios-guide.md +518 -0
  118. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/mobile-guide.md +76 -0
  119. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/react-native-guide.md +659 -0
  120. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/historia-mobile.md +284 -0
  121. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/mobile-checklist.md +239 -0
  122. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/platform-selection.md +302 -0
  123. package/dist/content/skills/specialist-devops-infra/MCP_INTEGRATION.md +471 -0
  124. package/dist/content/skills/specialist-devops-infra/README.md +234 -0
  125. package/dist/content/skills/specialist-devops-infra/SKILL.md +162 -0
  126. package/dist/content/skills/specialist-devops-infra/mcp_functions/generate_ci_cd_pipeline.py +870 -0
  127. package/dist/content/skills/specialist-devops-infra/mcp_functions/init_infrastructure_structure.py +704 -0
  128. package/dist/content/skills/specialist-devops-infra/mcp_functions/validate_infrastructure_quality.py +745 -0
  129. package/dist/content/skills/specialist-devops-infra/resources/checklists/devops-validation.md +427 -0
  130. package/dist/content/skills/specialist-devops-infra/resources/examples/devops-examples.md +652 -0
  131. package/dist/content/skills/specialist-devops-infra/resources/reference/devops-guide.md +1244 -0
  132. package/dist/content/skills/specialist-devops-infra/resources/templates/ci-cd-pipeline.yml +40 -0
  133. package/dist/content/skills/specialist-documentacao-tecnica/MCP_INTEGRATION.md +797 -0
  134. package/dist/content/skills/specialist-documentacao-tecnica/README.md +304 -0
  135. package/dist/content/skills/specialist-documentacao-tecnica/SKILL.md +202 -0
  136. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/init_documentation_structure.py +733 -0
  137. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/process_documentation_for_publishing.py +888 -0
  138. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/validate_documentation_quality.py +775 -0
  139. package/dist/content/skills/specialist-documentacao-tecnica/resources/checklists/documentation-validation.md +296 -0
  140. package/dist/content/skills/specialist-documentacao-tecnica/resources/examples/documentation-examples.md +515 -0
  141. package/dist/content/skills/specialist-documentacao-tecnica/resources/reference/documentation-guide.md +798 -0
  142. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/api-docs.md +619 -0
  143. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/design-doc.md +250 -0
  144. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/guia-tecnico.md +383 -0
  145. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/readme-template.md +462 -0
  146. package/dist/content/skills/specialist-engenharia-requisitos-ia/MCP_INTEGRATION.md +457 -0
  147. package/dist/content/skills/specialist-engenharia-requisitos-ia/README.md +295 -0
  148. package/dist/content/skills/specialist-engenharia-requisitos-ia/SKILL.md +214 -0
  149. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/init_requirements.py +152 -0
  150. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/process_requirements.py +445 -0
  151. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/validate_requirements.py +475 -0
  152. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/checklists/requirements-validation.md +258 -0
  153. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/examples/requirements-examples.md +316 -0
  154. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/reference/requirements-guide.md +651 -0
  155. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/criterios-aceite.md +484 -0
  156. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/matriz-rastreabilidade.md +246 -0
  157. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/requisitos.md +244 -0
  158. package/dist/content/skills/specialist-exploracao-codebase/MCP_INTEGRATION.md +155 -0
  159. package/dist/content/skills/specialist-exploracao-codebase/README.md +320 -0
  160. package/dist/content/skills/specialist-exploracao-codebase/SKILL.md +194 -0
  161. package/dist/content/skills/specialist-exploracao-codebase/mcp_functions/README.md +39 -0
  162. package/dist/content/skills/specialist-exploracao-codebase/resources/checklists/exploration-validation.md +51 -0
  163. package/dist/content/skills/specialist-exploracao-codebase/resources/examples/exploration-examples.md +106 -0
  164. package/dist/content/skills/specialist-exploracao-codebase/resources/reference/exploration-guide.md +111 -0
  165. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/codebase-map.md +129 -0
  166. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/refactoring-plan.md +96 -0
  167. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/technical-debt-report.md +69 -0
  168. package/dist/content/skills/specialist-gestao-produto/MCP_INTEGRATION.md +436 -0
  169. package/dist/content/skills/specialist-gestao-produto/README.md +202 -0
  170. package/dist/content/skills/specialist-gestao-produto/SKILL.md +174 -0
  171. package/dist/content/skills/specialist-gestao-produto/resources/checklists/prd-validation.md +165 -0
  172. package/dist/content/skills/specialist-gestao-produto/resources/examples/prd-examples.md +231 -0
  173. package/dist/content/skills/specialist-gestao-produto/resources/reference/product-guide.md +416 -0
  174. package/dist/content/skills/specialist-gestao-produto/resources/templates/PRD.md +212 -0
  175. package/dist/content/skills/specialist-gestao-produto/scripts/init_prd.py +170 -0
  176. package/dist/content/skills/specialist-gestao-produto/scripts/process_prd.py +388 -0
  177. package/dist/content/skills/specialist-gestao-produto/scripts/validate_prd.py +406 -0
  178. package/dist/content/skills/specialist-migracao-modernizacao/MCP_INTEGRATION.md +17 -0
  179. package/dist/content/skills/specialist-migracao-modernizacao/README.md +46 -0
  180. package/dist/content/skills/specialist-migracao-modernizacao/SKILL.md +485 -0
  181. package/dist/content/skills/specialist-migracao-modernizacao/mcp_functions/README.md +10 -0
  182. package/dist/content/skills/specialist-migracao-modernizacao/resources/checklists/migration-validation.md +23 -0
  183. package/dist/content/skills/specialist-migracao-modernizacao/resources/examples/migration-examples.md +30 -0
  184. package/dist/content/skills/specialist-migracao-modernizacao/resources/reference/migration-guide.md +27 -0
  185. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/migration-assessment.md +391 -0
  186. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/modernization-roadmap.md +479 -0
  187. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/risk-analysis.md +527 -0
  188. package/dist/content/skills/specialist-mobile-design-avancado/MCP_INTEGRATION.md +17 -0
  189. package/dist/content/skills/specialist-mobile-design-avancado/README.md +46 -0
  190. package/dist/content/skills/specialist-mobile-design-avancado/SKILL.md +567 -0
  191. package/dist/content/skills/specialist-mobile-design-avancado/mcp_functions/README.md +10 -0
  192. package/dist/content/skills/specialist-mobile-design-avancado/resources/checklists/design-validation.md +23 -0
  193. package/dist/content/skills/specialist-mobile-design-avancado/resources/examples/design-examples.md +46 -0
  194. package/dist/content/skills/specialist-mobile-design-avancado/resources/reference/design-guide.md +23 -0
  195. package/dist/content/skills/specialist-modelagem-dominio/MCP_INTEGRATION.md +336 -0
  196. package/dist/content/skills/specialist-modelagem-dominio/README.md +314 -0
  197. package/dist/content/skills/specialist-modelagem-dominio/SKILL.md +241 -0
  198. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/init_domain.py +479 -0
  199. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/process_domain.py +526 -0
  200. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/validate_domain.py +569 -0
  201. package/dist/content/skills/specialist-modelagem-dominio/resources/checklists/domain-validation.md +341 -0
  202. package/dist/content/skills/specialist-modelagem-dominio/resources/examples/domain-examples.md +505 -0
  203. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-guide.md +601 -0
  204. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-modeling-complete-guide.md +1126 -0
  205. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/arquitetura-c4.md +477 -0
  206. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/casos-uso.md +395 -0
  207. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/entidades-relacionamentos.md +368 -0
  208. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/modelo-dominio.md +311 -0
  209. package/dist/content/skills/specialist-observabilidade/SKILL.md +462 -0
  210. package/dist/content/skills/specialist-performance-escalabilidade/SKILL.md +329 -0
  211. package/dist/content/skills/specialist-plano-execucao-ia/MCP_INTEGRATION.md +371 -0
  212. package/dist/content/skills/specialist-plano-execucao-ia/README.md +194 -0
  213. package/dist/content/skills/specialist-plano-execucao-ia/SKILL.md +271 -0
  214. package/dist/content/skills/specialist-plano-execucao-ia/mcp_functions/README.md +38 -0
  215. package/dist/content/skills/specialist-plano-execucao-ia/resources/checklists/planning-validation.md +144 -0
  216. package/dist/content/skills/specialist-plano-execucao-ia/resources/examples/planning-examples.md +203 -0
  217. package/dist/content/skills/specialist-plano-execucao-ia/resources/reference/planning-guide.md +316 -0
  218. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/backlog.md +146 -0
  219. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-backend.md +157 -0
  220. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-frontend.md +116 -0
  221. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-usuario.md +66 -0
  222. package/dist/content/skills/specialist-prototipagem-stitch/MCP_INTEGRATION.md +533 -0
  223. package/dist/content/skills/specialist-prototipagem-stitch/README.md +321 -0
  224. package/dist/content/skills/specialist-prototipagem-stitch/SKILL.md +194 -0
  225. package/dist/content/skills/specialist-prototipagem-stitch/mcp_functions/README.md +239 -0
  226. package/dist/content/skills/specialist-prototipagem-stitch/resources/checklists/stitch-validation.md +357 -0
  227. package/dist/content/skills/specialist-prototipagem-stitch/resources/examples/stitch-examples.md +372 -0
  228. package/dist/content/skills/specialist-prototipagem-stitch/resources/reference/stitch-guide.md +517 -0
  229. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prompt-stitch.md +429 -0
  230. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prototipo-stitch.md +317 -0
  231. package/dist/content/skills/specialist-seguranca-informacao/MCP_INTEGRATION.md +466 -0
  232. package/dist/content/skills/specialist-seguranca-informacao/README.md +245 -0
  233. package/dist/content/skills/specialist-seguranca-informacao/SKILL.md +343 -0
  234. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/init_security.py +405 -0
  235. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/process_security.py +611 -0
  236. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/validate_security.py +468 -0
  237. package/dist/content/skills/specialist-seguranca-informacao/resources/checklists/security-validation.md +368 -0
  238. package/dist/content/skills/specialist-seguranca-informacao/resources/examples/security-examples.md +358 -0
  239. package/dist/content/skills/specialist-seguranca-informacao/resources/reference/security-guide.md +757 -0
  240. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/checklist-seguranca.md +383 -0
  241. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/slo-sli.md +244 -0
  242. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/threat-modeling.md +161 -0
  243. package/dist/content/skills/specialist-ux-design/MCP_INTEGRATION.md +294 -0
  244. package/dist/content/skills/specialist-ux-design/README.md +304 -0
  245. package/dist/content/skills/specialist-ux-design/SKILL.md +212 -0
  246. package/dist/content/skills/specialist-ux-design/mcp_functions/init_ux.py +126 -0
  247. package/dist/content/skills/specialist-ux-design/mcp_functions/process_ux.py +408 -0
  248. package/dist/content/skills/specialist-ux-design/mcp_functions/validate_ux.py +379 -0
  249. package/dist/content/skills/specialist-ux-design/resources/checklists/ux-validation.md +77 -0
  250. package/dist/content/skills/specialist-ux-design/resources/examples/ux-examples.md +161 -0
  251. package/dist/content/skills/specialist-ux-design/resources/reference/ux-guide.md +184 -0
  252. package/dist/content/skills/specialist-ux-design/resources/templates/design-doc.md +160 -0
  253. package/dist/content/skills/specialist-ux-design/resources/templates/jornada-usuario.md +126 -0
  254. package/dist/content/skills/specialist-ux-design/resources/templates/wireframes.md +155 -0
  255. package/dist/core/adr/ADRGenerator.d.ts +28 -0
  256. package/dist/core/adr/ADRGenerator.d.ts.map +1 -0
  257. package/dist/core/adr/ADRGenerator.js +63 -0
  258. package/dist/core/adr/ADRGenerator.js.map +1 -0
  259. package/dist/core/adr/index.d.ts +2 -0
  260. package/dist/core/adr/index.d.ts.map +1 -0
  261. package/dist/core/adr/index.js +2 -0
  262. package/dist/core/adr/index.js.map +1 -0
  263. package/dist/core/architecture/FitnessFunctions.d.ts +67 -0
  264. package/dist/core/architecture/FitnessFunctions.d.ts.map +1 -0
  265. package/dist/core/architecture/FitnessFunctions.js +292 -0
  266. package/dist/core/architecture/FitnessFunctions.js.map +1 -0
  267. package/dist/core/architecture/index.d.ts +3 -0
  268. package/dist/core/architecture/index.d.ts.map +1 -0
  269. package/dist/core/architecture/index.js +3 -0
  270. package/dist/core/architecture/index.js.map +1 -0
  271. package/dist/core/architecture/types.d.ts +42 -0
  272. package/dist/core/architecture/types.d.ts.map +1 -0
  273. package/dist/core/architecture/types.js +5 -0
  274. package/dist/core/architecture/types.js.map +1 -0
  275. package/dist/core/atam/ATAMAnalyzer.d.ts +19 -0
  276. package/dist/core/atam/ATAMAnalyzer.d.ts.map +1 -0
  277. package/dist/core/atam/ATAMAnalyzer.js +206 -0
  278. package/dist/core/atam/ATAMAnalyzer.js.map +1 -0
  279. package/dist/core/atam/ATAMReporter.d.ts +16 -0
  280. package/dist/core/atam/ATAMReporter.d.ts.map +1 -0
  281. package/dist/core/atam/ATAMReporter.js +175 -0
  282. package/dist/core/atam/ATAMReporter.js.map +1 -0
  283. package/dist/core/atam/QualityScenarios.d.ts +16 -0
  284. package/dist/core/atam/QualityScenarios.d.ts.map +1 -0
  285. package/dist/core/atam/QualityScenarios.js +149 -0
  286. package/dist/core/atam/QualityScenarios.js.map +1 -0
  287. package/dist/core/atam/RiskRegistry.d.ts +21 -0
  288. package/dist/core/atam/RiskRegistry.d.ts.map +1 -0
  289. package/dist/core/atam/RiskRegistry.js +83 -0
  290. package/dist/core/atam/RiskRegistry.js.map +1 -0
  291. package/dist/core/atam/index.d.ts +6 -0
  292. package/dist/core/atam/index.d.ts.map +1 -0
  293. package/dist/core/atam/index.js +6 -0
  294. package/dist/core/atam/index.js.map +1 -0
  295. package/dist/core/atam/types.d.ts +86 -0
  296. package/dist/core/atam/types.d.ts.map +1 -0
  297. package/dist/core/atam/types.js +5 -0
  298. package/dist/core/atam/types.js.map +1 -0
  299. package/dist/core/authority/AuthorityManager.d.ts +19 -0
  300. package/dist/core/authority/AuthorityManager.d.ts.map +1 -0
  301. package/dist/core/authority/AuthorityManager.js +66 -0
  302. package/dist/core/authority/AuthorityManager.js.map +1 -0
  303. package/dist/core/authority/index.d.ts +2 -0
  304. package/dist/core/authority/index.d.ts.map +1 -0
  305. package/dist/core/authority/index.js +2 -0
  306. package/dist/core/authority/index.js.map +1 -0
  307. package/dist/core/autofix/AutoFixEngine.d.ts +17 -0
  308. package/dist/core/autofix/AutoFixEngine.d.ts.map +1 -0
  309. package/dist/core/autofix/AutoFixEngine.js +46 -0
  310. package/dist/core/autofix/AutoFixEngine.js.map +1 -0
  311. package/dist/core/autofix/index.d.ts +2 -0
  312. package/dist/core/autofix/index.d.ts.map +1 -0
  313. package/dist/core/autofix/index.js +2 -0
  314. package/dist/core/autofix/index.js.map +1 -0
  315. package/dist/core/automation/AutoExecutor.d.ts +20 -0
  316. package/dist/core/automation/AutoExecutor.d.ts.map +1 -0
  317. package/dist/core/automation/AutoExecutor.js +38 -0
  318. package/dist/core/automation/AutoExecutor.js.map +1 -0
  319. package/dist/core/automation/index.d.ts +2 -0
  320. package/dist/core/automation/index.d.ts.map +1 -0
  321. package/dist/core/automation/index.js +2 -0
  322. package/dist/core/automation/index.js.map +1 -0
  323. package/dist/core/checkpoint/CheckpointManager.d.ts +43 -0
  324. package/dist/core/checkpoint/CheckpointManager.d.ts.map +1 -0
  325. package/dist/core/checkpoint/CheckpointManager.js +158 -0
  326. package/dist/core/checkpoint/CheckpointManager.js.map +1 -0
  327. package/dist/core/checkpoint/RollbackEngine.d.ts +31 -0
  328. package/dist/core/checkpoint/RollbackEngine.d.ts.map +1 -0
  329. package/dist/core/checkpoint/RollbackEngine.js +176 -0
  330. package/dist/core/checkpoint/RollbackEngine.js.map +1 -0
  331. package/dist/core/checkpoint/index.d.ts +4 -0
  332. package/dist/core/checkpoint/index.d.ts.map +1 -0
  333. package/dist/core/checkpoint/index.js +4 -0
  334. package/dist/core/checkpoint/index.js.map +1 -0
  335. package/dist/core/checkpoint/types.d.ts +33 -0
  336. package/dist/core/checkpoint/types.d.ts.map +1 -0
  337. package/dist/core/checkpoint/types.js +2 -0
  338. package/dist/core/checkpoint/types.js.map +1 -0
  339. package/dist/core/consistency/ConsistencyAnalyzer.d.ts +12 -0
  340. package/dist/core/consistency/ConsistencyAnalyzer.d.ts.map +1 -0
  341. package/dist/core/consistency/ConsistencyAnalyzer.js +79 -0
  342. package/dist/core/consistency/ConsistencyAnalyzer.js.map +1 -0
  343. package/dist/core/consistency/index.d.ts +3 -0
  344. package/dist/core/consistency/index.d.ts.map +1 -0
  345. package/dist/core/consistency/index.js +3 -0
  346. package/dist/core/consistency/index.js.map +1 -0
  347. package/dist/core/consistency/types.d.ts +43 -0
  348. package/dist/core/consistency/types.d.ts.map +1 -0
  349. package/dist/core/consistency/types.js +5 -0
  350. package/dist/core/consistency/types.js.map +1 -0
  351. package/dist/core/context/ContextDetector.d.ts +14 -0
  352. package/dist/core/context/ContextDetector.d.ts.map +1 -0
  353. package/dist/core/context/ContextDetector.js +58 -0
  354. package/dist/core/context/ContextDetector.js.map +1 -0
  355. package/dist/core/context/index.d.ts +3 -0
  356. package/dist/core/context/index.d.ts.map +1 -0
  357. package/dist/core/context/index.js +3 -0
  358. package/dist/core/context/index.js.map +1 -0
  359. package/dist/core/context/types.d.ts +41 -0
  360. package/dist/core/context/types.d.ts.map +1 -0
  361. package/dist/core/context/types.js +5 -0
  362. package/dist/core/context/types.js.map +1 -0
  363. package/dist/core/decision/AlternativeGenerator.d.ts +32 -0
  364. package/dist/core/decision/AlternativeGenerator.d.ts.map +1 -0
  365. package/dist/core/decision/AlternativeGenerator.js +155 -0
  366. package/dist/core/decision/AlternativeGenerator.js.map +1 -0
  367. package/dist/core/decision/ConfidenceCalculator.d.ts +42 -0
  368. package/dist/core/decision/ConfidenceCalculator.d.ts.map +1 -0
  369. package/dist/core/decision/ConfidenceCalculator.js +114 -0
  370. package/dist/core/decision/ConfidenceCalculator.js.map +1 -0
  371. package/dist/core/decision/DecisionEngine.d.ts +42 -0
  372. package/dist/core/decision/DecisionEngine.d.ts.map +1 -0
  373. package/dist/core/decision/DecisionEngine.js +144 -0
  374. package/dist/core/decision/DecisionEngine.js.map +1 -0
  375. package/dist/core/decision/DecisionMatrix.d.ts +29 -0
  376. package/dist/core/decision/DecisionMatrix.d.ts.map +1 -0
  377. package/dist/core/decision/DecisionMatrix.js +66 -0
  378. package/dist/core/decision/DecisionMatrix.js.map +1 -0
  379. package/dist/core/decision/index.d.ts +6 -0
  380. package/dist/core/decision/index.d.ts.map +1 -0
  381. package/dist/core/decision/index.js +6 -0
  382. package/dist/core/decision/index.js.map +1 -0
  383. package/dist/core/decision/types.d.ts +40 -0
  384. package/dist/core/decision/types.d.ts.map +1 -0
  385. package/dist/core/decision/types.js +5 -0
  386. package/dist/core/decision/types.js.map +1 -0
  387. package/dist/core/discovery/CodebaseDiscovery.d.ts +19 -0
  388. package/dist/core/discovery/CodebaseDiscovery.d.ts.map +1 -0
  389. package/dist/core/discovery/CodebaseDiscovery.js +83 -0
  390. package/dist/core/discovery/CodebaseDiscovery.js.map +1 -0
  391. package/dist/core/discovery/index.d.ts +2 -0
  392. package/dist/core/discovery/index.d.ts.map +1 -0
  393. package/dist/core/discovery/index.js +2 -0
  394. package/dist/core/discovery/index.js.map +1 -0
  395. package/dist/core/feedback/FeedbackLoop.d.ts +21 -0
  396. package/dist/core/feedback/FeedbackLoop.d.ts.map +1 -0
  397. package/dist/core/feedback/FeedbackLoop.js +45 -0
  398. package/dist/core/feedback/FeedbackLoop.js.map +1 -0
  399. package/dist/core/feedback/index.d.ts +2 -0
  400. package/dist/core/feedback/index.d.ts.map +1 -0
  401. package/dist/core/feedback/index.js +2 -0
  402. package/dist/core/feedback/index.js.map +1 -0
  403. package/dist/core/growth/GrowthProjector.d.ts +12 -0
  404. package/dist/core/growth/GrowthProjector.d.ts.map +1 -0
  405. package/dist/core/growth/GrowthProjector.js +93 -0
  406. package/dist/core/growth/GrowthProjector.js.map +1 -0
  407. package/dist/core/growth/index.d.ts +3 -0
  408. package/dist/core/growth/index.d.ts.map +1 -0
  409. package/dist/core/growth/index.js +3 -0
  410. package/dist/core/growth/index.js.map +1 -0
  411. package/dist/core/growth/types.d.ts +40 -0
  412. package/dist/core/growth/types.d.ts.map +1 -0
  413. package/dist/core/growth/types.js +5 -0
  414. package/dist/core/growth/types.js.map +1 -0
  415. package/dist/core/impact/ImpactAnalyzer.d.ts +22 -0
  416. package/dist/core/impact/ImpactAnalyzer.d.ts.map +1 -0
  417. package/dist/core/impact/ImpactAnalyzer.js +43 -0
  418. package/dist/core/impact/ImpactAnalyzer.js.map +1 -0
  419. package/dist/core/impact/index.d.ts +2 -0
  420. package/dist/core/impact/index.d.ts.map +1 -0
  421. package/dist/core/impact/index.js +2 -0
  422. package/dist/core/impact/index.js.map +1 -0
  423. package/dist/core/knowledge/ADRManager.d.ts +22 -0
  424. package/dist/core/knowledge/ADRManager.d.ts.map +1 -0
  425. package/dist/core/knowledge/ADRManager.js +82 -0
  426. package/dist/core/knowledge/ADRManager.js.map +1 -0
  427. package/dist/core/knowledge/ContextLoader.d.ts +18 -0
  428. package/dist/core/knowledge/ContextLoader.d.ts.map +1 -0
  429. package/dist/core/knowledge/ContextLoader.js +48 -0
  430. package/dist/core/knowledge/ContextLoader.js.map +1 -0
  431. package/dist/core/knowledge/KnowledgeBase.d.ts +35 -0
  432. package/dist/core/knowledge/KnowledgeBase.d.ts.map +1 -0
  433. package/dist/core/knowledge/KnowledgeBase.js +143 -0
  434. package/dist/core/knowledge/KnowledgeBase.js.map +1 -0
  435. package/dist/core/knowledge/PatternRegistry.d.ts +22 -0
  436. package/dist/core/knowledge/PatternRegistry.d.ts.map +1 -0
  437. package/dist/core/knowledge/PatternRegistry.js +56 -0
  438. package/dist/core/knowledge/PatternRegistry.js.map +1 -0
  439. package/dist/core/knowledge/index.d.ts +6 -0
  440. package/dist/core/knowledge/index.d.ts.map +1 -0
  441. package/dist/core/knowledge/index.js +6 -0
  442. package/dist/core/knowledge/index.js.map +1 -0
  443. package/dist/core/knowledge/types.d.ts +60 -0
  444. package/dist/core/knowledge/types.d.ts.map +1 -0
  445. package/dist/core/knowledge/types.js +2 -0
  446. package/dist/core/knowledge/types.js.map +1 -0
  447. package/dist/core/metrics/MetricsCollector.d.ts +21 -0
  448. package/dist/core/metrics/MetricsCollector.d.ts.map +1 -0
  449. package/dist/core/metrics/MetricsCollector.js +20 -0
  450. package/dist/core/metrics/MetricsCollector.js.map +1 -0
  451. package/dist/core/metrics/index.d.ts +2 -0
  452. package/dist/core/metrics/index.d.ts.map +1 -0
  453. package/dist/core/metrics/index.js +2 -0
  454. package/dist/core/metrics/index.js.map +1 -0
  455. package/dist/core/notification/NotificationManager.d.ts +20 -0
  456. package/dist/core/notification/NotificationManager.d.ts.map +1 -0
  457. package/dist/core/notification/NotificationManager.js +16 -0
  458. package/dist/core/notification/NotificationManager.js.map +1 -0
  459. package/dist/core/notification/index.d.ts +2 -0
  460. package/dist/core/notification/index.d.ts.map +1 -0
  461. package/dist/core/notification/index.js +2 -0
  462. package/dist/core/notification/index.js.map +1 -0
  463. package/dist/core/risk/RiskEvaluator.d.ts +11 -0
  464. package/dist/core/risk/RiskEvaluator.d.ts.map +1 -0
  465. package/dist/core/risk/RiskEvaluator.js +83 -0
  466. package/dist/core/risk/RiskEvaluator.js.map +1 -0
  467. package/dist/core/risk/index.d.ts +3 -0
  468. package/dist/core/risk/index.d.ts.map +1 -0
  469. package/dist/core/risk/index.js +3 -0
  470. package/dist/core/risk/index.js.map +1 -0
  471. package/dist/core/risk/types.d.ts +19 -0
  472. package/dist/core/risk/types.d.ts.map +1 -0
  473. package/dist/core/risk/types.js +2 -0
  474. package/dist/core/risk/types.js.map +1 -0
  475. package/dist/core/roadmap/RoadmapManager.d.ts +14 -0
  476. package/dist/core/roadmap/RoadmapManager.d.ts.map +1 -0
  477. package/dist/core/roadmap/RoadmapManager.js +81 -0
  478. package/dist/core/roadmap/RoadmapManager.js.map +1 -0
  479. package/dist/core/roadmap/index.d.ts +3 -0
  480. package/dist/core/roadmap/index.d.ts.map +1 -0
  481. package/dist/core/roadmap/index.js +3 -0
  482. package/dist/core/roadmap/index.js.map +1 -0
  483. package/dist/core/roadmap/types.d.ts +64 -0
  484. package/dist/core/roadmap/types.d.ts.map +1 -0
  485. package/dist/core/roadmap/types.js +5 -0
  486. package/dist/core/roadmap/types.js.map +1 -0
  487. package/dist/core/strangler/StranglerOrchestrator.d.ts +14 -0
  488. package/dist/core/strangler/StranglerOrchestrator.d.ts.map +1 -0
  489. package/dist/core/strangler/StranglerOrchestrator.js +87 -0
  490. package/dist/core/strangler/StranglerOrchestrator.js.map +1 -0
  491. package/dist/core/strangler/index.d.ts +3 -0
  492. package/dist/core/strangler/index.d.ts.map +1 -0
  493. package/dist/core/strangler/index.js +3 -0
  494. package/dist/core/strangler/index.js.map +1 -0
  495. package/dist/core/strangler/types.d.ts +70 -0
  496. package/dist/core/strangler/types.d.ts.map +1 -0
  497. package/dist/core/strangler/types.js +5 -0
  498. package/dist/core/strangler/types.js.map +1 -0
  499. package/dist/core/testing/TestRunner.d.ts +17 -0
  500. package/dist/core/testing/TestRunner.d.ts.map +1 -0
  501. package/dist/core/testing/TestRunner.js +22 -0
  502. package/dist/core/testing/TestRunner.js.map +1 -0
  503. package/dist/core/testing/index.d.ts +2 -0
  504. package/dist/core/testing/index.d.ts.map +1 -0
  505. package/dist/core/testing/index.js +2 -0
  506. package/dist/core/testing/index.js.map +1 -0
  507. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts +24 -0
  508. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts.map +1 -0
  509. package/dist/core/tradeoff/TradeoffAnalyzer.js +51 -0
  510. package/dist/core/tradeoff/TradeoffAnalyzer.js.map +1 -0
  511. package/dist/core/tradeoff/index.d.ts +2 -0
  512. package/dist/core/tradeoff/index.d.ts.map +1 -0
  513. package/dist/core/tradeoff/index.js +2 -0
  514. package/dist/core/tradeoff/index.js.map +1 -0
  515. package/dist/core/validation/DependencyValidator.d.ts +28 -0
  516. package/dist/core/validation/DependencyValidator.d.ts.map +1 -0
  517. package/dist/core/validation/DependencyValidator.js +188 -0
  518. package/dist/core/validation/DependencyValidator.js.map +1 -0
  519. package/dist/core/validation/SecurityValidator.d.ts +44 -0
  520. package/dist/core/validation/SecurityValidator.d.ts.map +1 -0
  521. package/dist/core/validation/SecurityValidator.js +248 -0
  522. package/dist/core/validation/SecurityValidator.js.map +1 -0
  523. package/dist/core/validation/ValidationPipeline.d.ts +62 -0
  524. package/dist/core/validation/ValidationPipeline.d.ts.map +1 -0
  525. package/dist/core/validation/ValidationPipeline.js +216 -0
  526. package/dist/core/validation/ValidationPipeline.js.map +1 -0
  527. package/dist/core/validation/index.d.ts +4 -0
  528. package/dist/core/validation/index.d.ts.map +1 -0
  529. package/dist/core/validation/index.js +4 -0
  530. package/dist/core/validation/index.js.map +1 -0
  531. package/dist/core/validation/layers/ArchitectureValidator.d.ts +21 -0
  532. package/dist/core/validation/layers/ArchitectureValidator.d.ts.map +1 -0
  533. package/dist/core/validation/layers/ArchitectureValidator.js +226 -0
  534. package/dist/core/validation/layers/ArchitectureValidator.js.map +1 -0
  535. package/dist/core/validation/layers/QualityValidator.d.ts +23 -0
  536. package/dist/core/validation/layers/QualityValidator.d.ts.map +1 -0
  537. package/dist/core/validation/layers/QualityValidator.js +259 -0
  538. package/dist/core/validation/layers/QualityValidator.js.map +1 -0
  539. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts +12 -0
  540. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts.map +1 -0
  541. package/dist/core/validation/layers/SecurityValidatorWrapper.js +54 -0
  542. package/dist/core/validation/layers/SecurityValidatorWrapper.js.map +1 -0
  543. package/dist/core/validation/layers/SemanticValidator.d.ts +21 -0
  544. package/dist/core/validation/layers/SemanticValidator.d.ts.map +1 -0
  545. package/dist/core/validation/layers/SemanticValidator.js +182 -0
  546. package/dist/core/validation/layers/SemanticValidator.js.map +1 -0
  547. package/dist/core/validation/layers/SyntacticValidator.d.ts +17 -0
  548. package/dist/core/validation/layers/SyntacticValidator.d.ts.map +1 -0
  549. package/dist/core/validation/layers/SyntacticValidator.js +194 -0
  550. package/dist/core/validation/layers/SyntacticValidator.js.map +1 -0
  551. package/dist/core/validation/types.d.ts +90 -0
  552. package/dist/core/validation/types.d.ts.map +1 -0
  553. package/dist/core/validation/types.js +24 -0
  554. package/dist/core/validation/types.js.map +1 -0
  555. package/dist/frontend-first/contract-generator.d.ts +47 -0
  556. package/dist/frontend-first/contract-generator.d.ts.map +1 -0
  557. package/dist/frontend-first/contract-generator.js +312 -0
  558. package/dist/frontend-first/contract-generator.js.map +1 -0
  559. package/dist/frontend-first/mock-generator.d.ts +23 -0
  560. package/dist/frontend-first/mock-generator.d.ts.map +1 -0
  561. package/dist/frontend-first/mock-generator.js +186 -0
  562. package/dist/frontend-first/mock-generator.js.map +1 -0
  563. package/dist/index.js +4 -4
  564. package/dist/index.js.map +1 -1
  565. package/dist/optimization/batch-prompts.d.ts +27 -0
  566. package/dist/optimization/batch-prompts.d.ts.map +1 -0
  567. package/dist/optimization/batch-prompts.js +178 -0
  568. package/dist/optimization/batch-prompts.js.map +1 -0
  569. package/dist/optimization/context-cache.d.ts +45 -0
  570. package/dist/optimization/context-cache.d.ts.map +1 -0
  571. package/dist/optimization/context-cache.js +149 -0
  572. package/dist/optimization/context-cache.js.map +1 -0
  573. package/dist/optimization/smart-validation.d.ts +43 -0
  574. package/dist/optimization/smart-validation.d.ts.map +1 -0
  575. package/dist/optimization/smart-validation.js +137 -0
  576. package/dist/optimization/smart-validation.js.map +1 -0
  577. package/dist/resources/index.d.ts.map +1 -1
  578. package/dist/resources/index.js +9 -9
  579. package/dist/resources/index.js.map +1 -1
  580. package/dist/stdio.js +189 -1
  581. package/dist/stdio.js.map +1 -1
  582. package/dist/tasks/task-manager.d.ts +30 -0
  583. package/dist/tasks/task-manager.d.ts.map +1 -0
  584. package/dist/tasks/task-manager.js +290 -0
  585. package/dist/tasks/task-manager.js.map +1 -0
  586. package/dist/tools/atualizar-tarefa.d.ts +17 -0
  587. package/dist/tools/atualizar-tarefa.d.ts.map +1 -0
  588. package/dist/tools/atualizar-tarefa.js +200 -0
  589. package/dist/tools/atualizar-tarefa.js.map +1 -0
  590. package/dist/tools/configurar-modo.d.ts +10 -0
  591. package/dist/tools/configurar-modo.d.ts.map +1 -0
  592. package/dist/tools/configurar-modo.js +121 -0
  593. package/dist/tools/configurar-modo.js.map +1 -0
  594. package/dist/tools/contexto.d.ts.map +1 -1
  595. package/dist/tools/contexto.js +35 -4
  596. package/dist/tools/contexto.js.map +1 -1
  597. package/dist/tools/criar-tarefa.d.ts +17 -0
  598. package/dist/tools/criar-tarefa.d.ts.map +1 -0
  599. package/dist/tools/criar-tarefa.js +132 -0
  600. package/dist/tools/criar-tarefa.js.map +1 -0
  601. package/dist/tools/fase1/checkpoint.tools.d.ts +150 -0
  602. package/dist/tools/fase1/checkpoint.tools.d.ts.map +1 -0
  603. package/dist/tools/fase1/checkpoint.tools.js +165 -0
  604. package/dist/tools/fase1/checkpoint.tools.js.map +1 -0
  605. package/dist/tools/fase1/knowledge.tools.d.ts +265 -0
  606. package/dist/tools/fase1/knowledge.tools.d.ts.map +1 -0
  607. package/dist/tools/fase1/knowledge.tools.js +209 -0
  608. package/dist/tools/fase1/knowledge.tools.js.map +1 -0
  609. package/dist/tools/fase1/misc.tools.d.ts +113 -0
  610. package/dist/tools/fase1/misc.tools.d.ts.map +1 -0
  611. package/dist/tools/fase1/misc.tools.js +99 -0
  612. package/dist/tools/fase1/misc.tools.js.map +1 -0
  613. package/dist/tools/fase1/validation.tools.d.ts +103 -0
  614. package/dist/tools/fase1/validation.tools.d.ts.map +1 -0
  615. package/dist/tools/fase1/validation.tools.js +174 -0
  616. package/dist/tools/fase1/validation.tools.js.map +1 -0
  617. package/dist/tools/gerar-contrato-api.d.ts +15 -0
  618. package/dist/tools/gerar-contrato-api.d.ts.map +1 -0
  619. package/dist/tools/gerar-contrato-api.js +216 -0
  620. package/dist/tools/gerar-contrato-api.js.map +1 -0
  621. package/dist/tools/iniciar-projeto.d.ts +12 -0
  622. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  623. package/dist/tools/iniciar-projeto.js +51 -17
  624. package/dist/tools/iniciar-projeto.js.map +1 -1
  625. package/dist/tools/listar-tarefas.d.ts +16 -0
  626. package/dist/tools/listar-tarefas.d.ts.map +1 -0
  627. package/dist/tools/listar-tarefas.js +215 -0
  628. package/dist/tools/listar-tarefas.js.map +1 -0
  629. package/dist/tools/phase2/architecture.tools.d.ts +37 -0
  630. package/dist/tools/phase2/architecture.tools.d.ts.map +1 -0
  631. package/dist/tools/phase2/architecture.tools.js +51 -0
  632. package/dist/tools/phase2/architecture.tools.js.map +1 -0
  633. package/dist/tools/phase2/decision.tools.d.ts +61 -0
  634. package/dist/tools/phase2/decision.tools.d.ts.map +1 -0
  635. package/dist/tools/phase2/decision.tools.js +69 -0
  636. package/dist/tools/phase2/decision.tools.js.map +1 -0
  637. package/dist/tools/phase2/index.d.ts +8 -0
  638. package/dist/tools/phase2/index.d.ts.map +1 -0
  639. package/dist/tools/phase2/index.js +16 -0
  640. package/dist/tools/phase2/index.js.map +1 -0
  641. package/dist/tools/phase2/validation.tools.d.ts +40 -0
  642. package/dist/tools/phase2/validation.tools.d.ts.map +1 -0
  643. package/dist/tools/phase2/validation.tools.js +43 -0
  644. package/dist/tools/phase2/validation.tools.js.map +1 -0
  645. package/dist/tools/phase3/atam.tools.d.ts +26 -0
  646. package/dist/tools/phase3/atam.tools.d.ts.map +1 -0
  647. package/dist/tools/phase3/atam.tools.js +48 -0
  648. package/dist/tools/phase3/atam.tools.js.map +1 -0
  649. package/dist/tools/phase3/consistency.tools.d.ts +15 -0
  650. package/dist/tools/phase3/consistency.tools.d.ts.map +1 -0
  651. package/dist/tools/phase3/consistency.tools.js +20 -0
  652. package/dist/tools/phase3/consistency.tools.js.map +1 -0
  653. package/dist/tools/phase3/context.tools.d.ts +25 -0
  654. package/dist/tools/phase3/context.tools.d.ts.map +1 -0
  655. package/dist/tools/phase3/context.tools.js +32 -0
  656. package/dist/tools/phase3/context.tools.js.map +1 -0
  657. package/dist/tools/phase3/growth.tools.d.ts +28 -0
  658. package/dist/tools/phase3/growth.tools.d.ts.map +1 -0
  659. package/dist/tools/phase3/growth.tools.js +32 -0
  660. package/dist/tools/phase3/growth.tools.js.map +1 -0
  661. package/dist/tools/phase3/index.d.ts +10 -0
  662. package/dist/tools/phase3/index.d.ts.map +1 -0
  663. package/dist/tools/phase3/index.js +10 -0
  664. package/dist/tools/phase3/index.js.map +1 -0
  665. package/dist/tools/phase3/roadmap.tools.d.ts +41 -0
  666. package/dist/tools/phase3/roadmap.tools.d.ts.map +1 -0
  667. package/dist/tools/phase3/roadmap.tools.js +44 -0
  668. package/dist/tools/phase3/roadmap.tools.js.map +1 -0
  669. package/dist/tools/phase3/strangler.tools.d.ts +37 -0
  670. package/dist/tools/phase3/strangler.tools.d.ts.map +1 -0
  671. package/dist/tools/phase3/strangler.tools.js +44 -0
  672. package/dist/tools/phase3/strangler.tools.js.map +1 -0
  673. package/dist/tools/proximo.d.ts.map +1 -1
  674. package/dist/tools/proximo.js +45 -8
  675. package/dist/tools/proximo.js.map +1 -1
  676. package/dist/tools/status.d.ts.map +1 -1
  677. package/dist/tools/status.js +28 -5
  678. package/dist/tools/status.js.map +1 -1
  679. package/dist/tools/validar-gate.d.ts.map +1 -1
  680. package/dist/tools/validar-gate.js +14 -0
  681. package/dist/tools/validar-gate.js.map +1 -1
  682. package/dist/types/config.d.ts +46 -0
  683. package/dist/types/config.d.ts.map +1 -0
  684. package/dist/types/config.js +162 -0
  685. package/dist/types/config.js.map +1 -0
  686. package/dist/types/index.d.ts +38 -0
  687. package/dist/types/index.d.ts.map +1 -1
  688. package/dist/types/index.js.map +1 -1
  689. package/dist/types/tasks.d.ts +100 -0
  690. package/dist/types/tasks.d.ts.map +1 -0
  691. package/dist/types/tasks.js +2 -0
  692. package/dist/types/tasks.js.map +1 -0
  693. package/dist/utils/__tests__/prompt-mapper.test.d.ts +2 -0
  694. package/dist/utils/__tests__/prompt-mapper.test.d.ts.map +1 -0
  695. package/dist/utils/__tests__/prompt-mapper.test.js +184 -0
  696. package/dist/utils/__tests__/prompt-mapper.test.js.map +1 -0
  697. package/dist/utils/content-injector.d.ts +1 -0
  698. package/dist/utils/content-injector.d.ts.map +1 -1
  699. package/dist/utils/content-injector.js +122 -2
  700. package/dist/utils/content-injector.js.map +1 -1
  701. package/dist/utils/files.d.ts +16 -16
  702. package/dist/utils/files.d.ts.map +1 -1
  703. package/dist/utils/files.js +59 -115
  704. package/dist/utils/files.js.map +1 -1
  705. package/dist/utils/history.d.ts +10 -0
  706. package/dist/utils/history.d.ts.map +1 -1
  707. package/dist/utils/history.js +12 -1
  708. package/dist/utils/history.js.map +1 -1
  709. package/dist/utils/prompt-mapper.d.ts +46 -0
  710. package/dist/utils/prompt-mapper.d.ts.map +1 -1
  711. package/dist/utils/prompt-mapper.js +100 -0
  712. package/dist/utils/prompt-mapper.js.map +1 -1
  713. package/package.json +5 -5
  714. package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +0 -250
  715. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +0 -278
  716. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +0 -261
  717. package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +0 -258
  718. package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +0 -119
  719. package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +0 -147
  720. package/dist/content/guides/Checklist Mestre de Entrega.md +0 -68
  721. package/dist/content/guides/Gates de Qualidade.md +0 -209
  722. package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +0 -355
  723. package/dist/content/guides/Guia de Chaos Engineering.md +0 -267
  724. package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +0 -352
  725. package/dist/content/guides/Guia de Migrations Zero-Downtime.md +0 -311
  726. package/dist/content/guides/Guia de Multi-tenancy.md +0 -368
  727. package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +0 -195
  728. package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +0 -162
  729. package/dist/content/guides/Guia de SLOs e Error Budgets.md +0 -315
  730. package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +0 -93
  731. package/dist/content/guides/Rules base.md +0 -90
  732. package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +0 -364
  733. package/dist/content/prompts/README.md +0 -203
  734. package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +0 -257
  735. package/dist/content/prompts/apis/design-api-rest.md +0 -303
  736. package/dist/content/prompts/apis/idempotencia.md +0 -254
  737. package/dist/content/prompts/apis/versionamento.md +0 -313
  738. package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +0 -190
  739. package/dist/content/prompts/arquitetura/clean-architecture.md +0 -151
  740. package/dist/content/prompts/arquitetura/multi-tenancy.md +0 -235
  741. package/dist/content/prompts/database/migrations-zero-downtime.md +0 -192
  742. package/dist/content/prompts/database/otimizacao-queries.md +0 -296
  743. package/dist/content/prompts/desenvolvimento/code-review.md +0 -301
  744. package/dist/content/prompts/desenvolvimento/gerar-servico.md +0 -271
  745. package/dist/content/prompts/devops/docker-compose.md +0 -336
  746. package/dist/content/prompts/devops/feature-flags.md +0 -374
  747. package/dist/content/prompts/devops/kubernetes-deploy.md +0 -460
  748. package/dist/content/prompts/devops/pipeline-cicd.md +0 -358
  749. package/dist/content/prompts/devops/terraform-iac.md +0 -502
  750. package/dist/content/prompts/escalabilidade/analise-performance.md +0 -240
  751. package/dist/content/prompts/escalabilidade/analise-performance.txt +0 -94
  752. package/dist/content/prompts/escalabilidade/caching.md +0 -255
  753. package/dist/content/prompts/observabilidade/chaos-testing.md +0 -237
  754. package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +0 -263
  755. package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +0 -134
  756. package/dist/content/prompts/observabilidade/slos.md +0 -215
  757. package/dist/content/prompts/produto/discovery-inicial.md +0 -203
  758. package/dist/content/prompts/produto/discovery-inicial.txt +0 -33
  759. package/dist/content/prompts/requisitos/refinar-requisitos.md +0 -232
  760. package/dist/content/prompts/requisitos/refinar-requisitos.txt +0 -40
  761. package/dist/content/prompts/seguranca/analise-seguranca.md +0 -243
  762. package/dist/content/prompts/seguranca/pentest-checklist.md +0 -333
  763. package/dist/content/prompts/seguranca/rate-limiting.md +0 -356
  764. package/dist/content/prompts/seguranca/revisao-lgpd.md +0 -227
  765. package/dist/content/prompts/seguranca/threat-modeling.md +0 -224
  766. package/dist/content/prompts/testes/contract-testing.md +0 -340
  767. package/dist/content/prompts/testes/gerar-testes-unitarios.md +0 -474
  768. package/dist/content/prompts/testes/testes-e2e.md +0 -460
  769. package/dist/content/prompts/testes/testes-integracao.md +0 -418
  770. package/dist/content/prompts/testes/testes-performance.md +0 -458
  771. package/dist/content/prompts/ux/gerar-ui-stitch.md +0 -151
  772. package/dist/content/specialists/Especialista em Acessibilidade.md +0 -266
  773. package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +0 -434
  774. package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +0 -358
  775. package/dist/content/specialists/Especialista em Arquitetura de Software.md +0 -177
  776. package/dist/content/specialists/Especialista em Banco de Dados.md +0 -260
  777. package/dist/content/specialists/Especialista em Contrato de API.md +0 -172
  778. package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +0 -246
  779. package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +0 -191
  780. package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +0 -477
  781. package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +0 -241
  782. package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +0 -417
  783. package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +0 -294
  784. package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +0 -227
  785. package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +0 -299
  786. package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +0 -179
  787. package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +0 -179
  788. package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +0 -410
  789. package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +0 -248
  790. package/dist/content/specialists/Especialista em Observabilidade.md +0 -415
  791. package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +0 -373
  792. package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +0 -341
  793. package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +0 -419
  794. package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +0 -508
  795. package/dist/content/specialists/Especialista em UX Design.md +0 -453
  796. package/dist/content/specialists/INDEX.md +0 -43
  797. package/dist/content/templates/PRD.md +0 -165
  798. package/dist/content/templates/README.md +0 -65
  799. package/dist/content/templates/adr.md +0 -103
  800. package/dist/content/templates/arquitetura.md +0 -279
  801. package/dist/content/templates/backlog.md +0 -185
  802. package/dist/content/templates/checklist-seguranca.md +0 -180
  803. package/dist/content/templates/contexto.md +0 -120
  804. package/dist/content/templates/criterios-aceite.md +0 -99
  805. package/dist/content/templates/design-banco.md +0 -270
  806. package/dist/content/templates/design-doc.md +0 -240
  807. package/dist/content/templates/feature.md +0 -88
  808. package/dist/content/templates/historia-backend.md +0 -84
  809. package/dist/content/templates/historia-frontend.md +0 -75
  810. package/dist/content/templates/historia-usuario.md +0 -125
  811. package/dist/content/templates/mapa-navegacao.md +0 -133
  812. package/dist/content/templates/matriz-rastreabilidade.md +0 -121
  813. package/dist/content/templates/modelo-dominio.md +0 -219
  814. package/dist/content/templates/plano-testes.md +0 -199
  815. package/dist/content/templates/prototipo-stitch.md +0 -138
  816. package/dist/content/templates/requisitos.md +0 -162
  817. package/dist/content/templates/slo-sli.md +0 -197
  818. /package/dist/content/{guides/Guia de Debugging com IA.md → skills/specialist-debugging-troubleshooting/resources/reference/debugging-ai-guide.md} +0 -0
  819. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-bounded-contexts.md +0 -0
  820. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-cqrs.md +0 -0
  821. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/modelo-dominio.md +0 -0
@@ -0,0 +1,1003 @@
1
+ """
2
+ Função MCP de Referência: process_frontend_to_next_phase()
3
+
4
+ ESTE ARQUIVO É APENAS REFERÊNCIA PARA IMPLEMENTAÇÃO NO MCP
5
+ NÃO EXECUTÁVEL LOCALMENTE
6
+
7
+ Implementação real deve ser feita no servidor MCP externo.
8
+ """
9
+
10
+ import os
11
+ import json
12
+ from typing import Dict, List, Any, Optional
13
+ from pathlib import Path
14
+
15
+ async def process_frontend_to_next_phase(params: Dict[str, Any]) -> Dict[str, Any]:
16
+ """
17
+ Processa artefatos frontend para próxima fase (Deploy)
18
+
19
+ Args:
20
+ params: Dicionário com parâmetros de processamento
21
+ - project_path: str - Caminho do projeto
22
+ - current_phase: str - Fase atual
23
+ - next_phase: str - Próxima fase
24
+ - artifacts: list - Lista de artefatos gerados
25
+ - validation_score: int - Score de validação
26
+ - auto_advance: bool - Avanço automático
27
+
28
+ Returns:
29
+ Dict com resultado do processamento
30
+ - success: bool - Status da operação
31
+ - processed_artifacts: list - Artefatos processados
32
+ - context_generated: dict - Contexto gerado
33
+ - next_phase_ready: bool - Se próxima fase está pronta
34
+ - deployment_config: dict - Configuração de deploy
35
+ - errors: list - Lista de erros
36
+ """
37
+
38
+ try:
39
+ project_path = params.get("project_path")
40
+ current_phase = params.get("current_phase", "frontend")
41
+ next_phase = params.get("next_phase", "deploy")
42
+ validation_score = params.get("validation_score", 0)
43
+ auto_advance = params.get("auto_advance", False)
44
+ artifacts = params.get("artifacts", [])
45
+
46
+ if not project_path:
47
+ return {
48
+ "success": False,
49
+ "processed_artifacts": [],
50
+ "context_generated": {},
51
+ "next_phase_ready": False,
52
+ "deployment_config": {},
53
+ "errors": ["project_path é obrigatório"]
54
+ }
55
+
56
+ # Verificar se pode avançar
57
+ if validation_score < 75 and not auto_advance:
58
+ return {
59
+ "success": False,
60
+ "processed_artifacts": [],
61
+ "context_generated": {},
62
+ "next_phase_ready": False,
63
+ "deployment_config": {},
64
+ "errors": [f"Score de validação ({validation_score}) abaixo do threshold (75)"]
65
+ }
66
+
67
+ processed_artifacts = []
68
+
69
+ # 1. Gerar documentação para deploy
70
+ deploy_docs = await generate_deploy_documentation(project_path, validation_score)
71
+ processed_artifacts.append(deploy_docs)
72
+
73
+ # 2. Criar configuração de deploy
74
+ deploy_config = await create_deployment_config(project_path, next_phase, validation_score)
75
+ processed_artifacts.append(deploy_config)
76
+
77
+ # 3. Gerar contexto para próxima fase
78
+ context = await generate_context_for_next_phase(
79
+ project_path, current_phase, next_phase, validation_score, artifacts
80
+ )
81
+
82
+ # 4. Preparar assets para produção
83
+ assets = await prepare_production_assets(project_path)
84
+ processed_artifacts.extend(assets)
85
+
86
+ # 5. Gerar scripts de deploy
87
+ deploy_scripts = await generate_deploy_scripts(project_path, next_phase)
88
+ processed_artifacts.extend(deploy_scripts)
89
+
90
+ # 6. Criar configuração de CI/CD
91
+ cicd_config = await generate_cicd_config(project_path, next_phase)
92
+ processed_artifacts.append(cicd_config)
93
+
94
+ # 7. Gerar relatório de qualidade
95
+ quality_report = await generate_quality_report(project_path, validation_score)
96
+ processed_artifacts.append(quality_report)
97
+
98
+ return {
99
+ "success": True,
100
+ "processed_artifacts": processed_artifacts,
101
+ "context_generated": context,
102
+ "next_phase_ready": True,
103
+ "deployment_config": deploy_config,
104
+ "errors": []
105
+ }
106
+
107
+ except Exception as e:
108
+ return {
109
+ "success": False,
110
+ "processed_artifacts": [],
111
+ "context_generated": {},
112
+ "next_phase_ready": False,
113
+ "deployment_config": {},
114
+ "errors": [f"Erro no processamento: {str(e)}"]
115
+ }
116
+
117
+ async def generate_deploy_documentation(project_path: str, validation_score: int) -> Dict[str, Any]:
118
+ """Gera documentação para deploy"""
119
+
120
+ deploy_info = {
121
+ "type": "deploy_documentation",
122
+ "content": {
123
+ "build_commands": [
124
+ "npm run build",
125
+ "npm run test",
126
+ "npm run lint"
127
+ ],
128
+ "environment_variables": [
129
+ "NODE_ENV=production",
130
+ "API_URL=https://api.example.com",
131
+ "SENTRY_DSN=${SENTRY_DSN}",
132
+ "ANALYTICS_ID=${ANALYTICS_ID}"
133
+ ],
134
+ "health_checks": [
135
+ "/health",
136
+ "/api/health",
137
+ "/api/version"
138
+ ],
139
+ "rollback_commands": [
140
+ "git revert HEAD",
141
+ "npm run deploy:rollback",
142
+ "kubectl rollout undo deployment/frontend"
143
+ ],
144
+ "validation_score": validation_score,
145
+ "deployment_notes": [
146
+ f"Score de validação frontend: {validation_score}/100",
147
+ "Build otimizado para produção",
148
+ "Assets minificados e com cache",
149
+ "Testes executados com sucesso" if validation_score >= 75 else "Atenção: Score abaixo do ideal"
150
+ ]
151
+ }
152
+ }
153
+
154
+ # Salvar documentação em arquivo
155
+ deploy_docs_path = os.path.join(project_path, "docs", "11-deploy", "deployment-guide.md")
156
+ os.makedirs(os.path.dirname(deploy_docs_path), exist_ok=True)
157
+
158
+ docs_content = f"""# 🚀 Guia de Deploy - Frontend
159
+
160
+ ## 📊 Status de Qualidade
161
+ **Score de Validação:** {validation_score}/100
162
+ **Status:** {"✅ Aprovado" if validation_score >= 75 else "⚠️ Atenção"}
163
+
164
+ ## 🔧 Comandos de Build
165
+
166
+ ### Build para Produção
167
+ ```bash
168
+ npm run build
169
+ ```
170
+
171
+ ### Testes
172
+ ```bash
173
+ npm run test
174
+ npm run test:coverage
175
+ ```
176
+
177
+ ### Lint
178
+ ```bash
179
+ npm run lint
180
+ npm run lint:fix
181
+ ```
182
+
183
+ ## 🌍 Variáveis de Ambiente
184
+
185
+ ### Obrigatórias
186
+ - `NODE_ENV=production`
187
+ - `API_URL=https://api.example.com`
188
+ - `SENTRY_DSN` - Para error tracking
189
+
190
+ ### Opcionais
191
+ - `ANALYTICS_ID` - Para analytics
192
+ - `FEATURE_FLAGS` - Para feature flags
193
+
194
+ ## 🔍 Health Checks
195
+
196
+ ### Endpoints de Verificação
197
+ - `/health` - Health check básico
198
+ - `/api/health` - Health check da API
199
+ - `/api/version` - Versão da aplicação
200
+
201
+ ## 🔄 Rollback
202
+
203
+ ### Comandos de Rollback
204
+ ```bash
205
+ # Reverter último commit
206
+ git revert HEAD
207
+
208
+ # Rollback do deploy
209
+ npm run deploy:rollback
210
+
211
+ # Rollback no Kubernetes
212
+ kubectl rollout undo deployment/frontend
213
+ ```
214
+
215
+ ## 📝 Notas de Deploy
216
+
217
+ {chr(10).join(f"- {note}" for note in deploy_info["content"]["deployment_notes"])}
218
+
219
+ ---
220
+
221
+ **Gerado em:** {validation_score}
222
+ **Próxima revisão:** Pós-deploy
223
+ """
224
+
225
+ with open(deploy_docs_path, 'w', encoding='utf-8') as f:
226
+ f.write(docs_content)
227
+
228
+ deploy_info["file_path"] = deploy_docs_path
229
+ return deploy_info
230
+
231
+ async def create_deployment_config(project_path: str, next_phase: str, validation_score: int) -> Dict[str, Any]:
232
+ """Cria configuração de deploy"""
233
+
234
+ # Ler package.json para obter informações
235
+ package_path = os.path.join(project_path, "package.json")
236
+ app_name = "frontend-app"
237
+ build_tool = "vite"
238
+
239
+ if os.path.exists(package_path):
240
+ try:
241
+ with open(package_path, 'r') as f:
242
+ package_data = json.load(f)
243
+ app_name = package_data.get("name", "frontend-app")
244
+
245
+ # Verificar build tool
246
+ scripts = package_data.get("scripts", {})
247
+ if "webpack" in scripts.get("build", ""):
248
+ build_tool = "webpack"
249
+ except:
250
+ pass
251
+
252
+ config = {
253
+ "type": "deployment_config",
254
+ "phase": next_phase,
255
+ "config": {
256
+ "app_name": app_name,
257
+ "build_tool": build_tool,
258
+ "output_dir": "dist",
259
+ "assets_dir": "assets",
260
+ "environment": "production",
261
+ "cdn_enabled": True,
262
+ "cache_strategy": "cache_first",
263
+ "validation_score": validation_score,
264
+ "docker": {
265
+ "enabled": True,
266
+ "base_image": "nginx:alpine",
267
+ "port": 80
268
+ },
269
+ "kubernetes": {
270
+ "enabled": True,
271
+ "replicas": 3,
272
+ "resources": {
273
+ "requests": {
274
+ "cpu": "100m",
275
+ "memory": "128Mi"
276
+ },
277
+ "limits": {
278
+ "cpu": "500m",
279
+ "memory": "512Mi"
280
+ }
281
+ }
282
+ },
283
+ "monitoring": {
284
+ "enabled": True,
285
+ "health_check": "/health",
286
+ "metrics_endpoint": "/metrics"
287
+ }
288
+ }
289
+ }
290
+
291
+ # Gerar Dockerfile
292
+ dockerfile_content = f"""FROM node:18-alpine AS builder
293
+
294
+ WORKDIR /app
295
+ COPY package*.json ./
296
+ RUN npm ci --only=production
297
+
298
+ COPY . .
299
+ RUN npm run build
300
+
301
+ FROM nginx:alpine
302
+ COPY --from=builder /app/dist /usr/share/nginx/html
303
+ COPY nginx.conf /etc/nginx/nginx.conf
304
+
305
+ EXPOSE 80
306
+ CMD ["nginx", "-g", "daemon off;"]
307
+ """
308
+
309
+ dockerfile_path = os.path.join(project_path, "Dockerfile")
310
+ with open(dockerfile_path, 'w', encoding='utf-8') as f:
311
+ f.write(dockerfile_content)
312
+
313
+ config["dockerfile_path"] = dockerfile_path
314
+
315
+ # Gerar nginx.conf
316
+ nginx_config = """events {
317
+ worker_connections 1024;
318
+ }
319
+
320
+ http {
321
+ include /etc/nginx/mime.types;
322
+ default_type application/octet-stream;
323
+
324
+ # Gzip compression
325
+ gzip on;
326
+ gzip_vary on;
327
+ gzip_min_length 1024;
328
+ gzip_types text/plain text/css text/xml text/javascript application/javascript application/xml+rss application/json;
329
+
330
+ # Cache static assets
331
+ location ~* \\.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
332
+ expires 1y;
333
+ add_header Cache-Control "public, immutable";
334
+ }
335
+
336
+ # Security headers
337
+ add_header X-Frame-Options "SAMEORIGIN" always;
338
+ add_header X-Content-Type-Options "nosniff" always;
339
+ add_header X-XSS-Protection "1; mode=block" always;
340
+ add_header Referrer-Policy "strict-origin-when-cross-origin" always;
341
+
342
+ server {
343
+ listen 80;
344
+ server_name localhost;
345
+ root /usr/share/nginx/html;
346
+ index index.html;
347
+
348
+ # Try files and fallback to index.html for SPA
349
+ location / {
350
+ try_files $uri $uri/ /index.html;
351
+ }
352
+
353
+ # Health check
354
+ location /health {
355
+ access_log off;
356
+ return 200 "healthy\\n";
357
+ add_header Content-Type text/plain;
358
+ }
359
+ }
360
+ }"""
361
+
362
+ nginx_path = os.path.join(project_path, "nginx.conf")
363
+ with open(nginx_path, 'w', encoding='utf-8') as f:
364
+ f.write(nginx_config)
365
+
366
+ config["nginx_config_path"] = nginx_path
367
+
368
+ return config
369
+
370
+ async def generate_context_for_next_phase(
371
+ project_path: str,
372
+ current_phase: str,
373
+ next_phase: str,
374
+ validation_score: int,
375
+ artifacts: List[str]
376
+ ) -> Dict[str, Any]:
377
+ """Gera contexto para próxima fase"""
378
+
379
+ # Analisar artefatos gerados
380
+ artifacts_info = await analyze_artifacts(project_path, artifacts)
381
+
382
+ context = {
383
+ "current_phase": current_phase,
384
+ "next_phase": next_phase,
385
+ "validation_score": validation_score,
386
+ "artifacts_generated": artifacts_info["types"],
387
+ "artifacts_count": artifacts_info["count"],
388
+ "quality_metrics": {
389
+ "test_coverage": await estimate_test_coverage(project_path),
390
+ "performance_score": await estimate_performance_score(project_path),
391
+ "accessibility_compliance": await estimate_accessibility_compliance(project_path),
392
+ "security_score": await estimate_security_score(project_path)
393
+ },
394
+ "deployment_ready": validation_score >= 75,
395
+ "recommendations": await generate_phase_recommendations(validation_score, artifacts_info),
396
+ "dependencies": {
397
+ "api_endpoints": await extract_api_dependencies(project_path),
398
+ "external_services": await extract_external_dependencies(project_path),
399
+ "environment_variables": await extract_env_variables(project_path)
400
+ },
401
+ "metadata": {
402
+ "generated_at": "2026-01-29T17:00:00Z",
403
+ "project_path": project_path,
404
+ "phase_transition": f"{current_phase} -> {next_phase}"
405
+ }
406
+ }
407
+
408
+ # Salvar contexto em arquivo
409
+ context_path = os.path.join(project_path, "docs", "11-deploy", "context.json")
410
+ os.makedirs(os.path.dirname(context_path), exist_ok=True)
411
+
412
+ with open(context_path, 'w', encoding='utf-8') as f:
413
+ json.dump(context, f, indent=2)
414
+
415
+ context["context_file_path"] = context_path
416
+ return context
417
+
418
+ async def analyze_artifacts(project_path: str, artifacts: List[str]) -> Dict[str, Any]:
419
+ """Analisa artefatos gerados"""
420
+
421
+ artifacts_info = {
422
+ "types": [],
423
+ "count": 0,
424
+ "details": {}
425
+ }
426
+
427
+ # Analisar diretórios src/
428
+ src_path = os.path.join(project_path, "src")
429
+ if os.path.exists(src_path):
430
+ for item in os.listdir(src_path):
431
+ item_path = os.path.join(src_path, item)
432
+ if os.path.isdir(item_path):
433
+ artifacts_info["types"].append(item)
434
+ artifacts_info["details"][item] = {
435
+ "type": "directory",
436
+ "path": item_path,
437
+ "file_count": len([f for f in os.listdir(item_path) if os.path.isfile(os.path.join(item_path, f))])
438
+ }
439
+
440
+ # Contar arquivos principais
441
+ file_types = {
442
+ "components": 0,
443
+ "pages": 0,
444
+ "hooks": 0,
445
+ "tests": 0,
446
+ "types": 0
447
+ }
448
+
449
+ for root, dirs, files in os.walk(src_path):
450
+ for file in files:
451
+ if file.endswith(('.tsx', '.jsx', '.ts', '.js')):
452
+ if "components" in root:
453
+ file_types["components"] += 1
454
+ elif "pages" in root:
455
+ file_types["pages"] += 1
456
+ elif "hooks" in root:
457
+ file_types["hooks"] += 1
458
+ elif "test" in file or file.endswith(('.test.tsx', '.test.ts', '.spec.tsx', '.spec.ts')):
459
+ file_types["tests"] += 1
460
+ elif "types" in root:
461
+ file_types["types"] += 1
462
+
463
+ artifacts_info["file_types"] = file_types
464
+ artifacts_info["count"] = sum(file_types.values())
465
+
466
+ return artifacts_info
467
+
468
+ async def estimate_test_coverage(project_path: str) -> str:
469
+ """Estima cobertura de testes"""
470
+
471
+ test_files = 0
472
+ source_files = 0
473
+
474
+ src_path = os.path.join(project_path, "src")
475
+ if os.path.exists(src_path):
476
+ for root, dirs, files in os.walk(src_path):
477
+ for file in files:
478
+ if file.endswith(('.tsx', '.jsx', '.ts', '.js')):
479
+ if "test" in file or file.endswith(('.test.tsx', '.test.ts', '.spec.tsx', '.spec.ts')):
480
+ test_files += 1
481
+ elif not file.endswith(('.d.ts', '.config.ts', '.config.js')):
482
+ source_files += 1
483
+
484
+ if source_files == 0:
485
+ return "0%"
486
+
487
+ coverage = min((test_files / source_files) * 100, 95) # Máximo 95%
488
+ return f"{coverage:.0f}%"
489
+
490
+ async def estimate_performance_score(project_path: str) -> str:
491
+ """Estima score de performance"""
492
+
493
+ score = 70 # Base score
494
+
495
+ # Verificar otimizações
496
+ src_path = os.path.join(project_path, "src")
497
+ if os.path.exists(src_path):
498
+ optimizations = 0
499
+
500
+ for root, dirs, files in os.walk(src_path):
501
+ for file in files:
502
+ if file.endswith(('.tsx', '.jsx', '.ts', '.js')):
503
+ file_path = os.path.join(root, file)
504
+ try:
505
+ with open(file_path, 'r', encoding='utf-8') as f:
506
+ content = f.read()
507
+
508
+ if 'lazy(' in content or 'import(' in content:
509
+ optimizations += 1
510
+ if 'React.memo' in content or 'memo(' in content:
511
+ optimizations += 1
512
+ if 'useMemo' in content or 'useCallback' in content:
513
+ optimizations += 1
514
+ except:
515
+ continue
516
+
517
+ score += min(optimizations * 2, 25) # Máximo +25
518
+
519
+ # Verificar configuração de build
520
+ package_path = os.path.join(project_path, "package.json")
521
+ if os.path.exists(package_path):
522
+ try:
523
+ with open(package_path, 'r') as f:
524
+ package_data = json.load(f)
525
+
526
+ scripts = package_data.get("scripts", {})
527
+ if "analyze" in scripts:
528
+ score += 5
529
+
530
+ dev_deps = package_data.get("devDependencies", {})
531
+ if any(dep in dev_deps for dep in ["webpack-bundle-analyzer", "@next/bundle-analyzer"]):
532
+ score += 5
533
+ except:
534
+ pass
535
+
536
+ return f"{min(score, 100)}%"
537
+
538
+ async def estimate_accessibility_compliance(project_path: str) -> str:
539
+ """Estima compliance de acessibilidade"""
540
+
541
+ score = 60 # Base score
542
+
543
+ src_path = os.path.join(project_path, "src")
544
+ if os.path.exists(src_path):
545
+ aria_files = 0
546
+ total_files = 0
547
+
548
+ for root, dirs, files in os.walk(src_path):
549
+ for file in files:
550
+ if file.endswith(('.tsx', '.jsx')):
551
+ total_files += 1
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 'aria-' in content or 'role=' in content:
557
+ aria_files += 1
558
+ except:
559
+ continue
560
+
561
+ if total_files > 0:
562
+ aria_percentage = (aria_files / total_files) * 100
563
+ score += min(aria_percentage * 0.3, 30) # Máximo +30
564
+
565
+ # Verificar ferramentas de acessibilidade
566
+ package_path = os.path.join(project_path, "package.json")
567
+ if os.path.exists(package_path):
568
+ try:
569
+ with open(package_path, 'r') as f:
570
+ package_data = json.load(f)
571
+
572
+ dev_deps = package_data.get("devDependencies", {})
573
+ if any(dep in dev_deps for dep in ["@axe-core/react", "eslint-plugin-jsx-a11y"]):
574
+ score += 10
575
+ except:
576
+ pass
577
+
578
+ return f"{min(score, 100)}%"
579
+
580
+ async def estimate_security_score(project_path: str) -> str:
581
+ """Estima score de segurança"""
582
+
583
+ score = 70 # Base score
584
+
585
+ # Verificar ferramentas de segurança
586
+ package_path = os.path.join(project_path, "package.json")
587
+ if os.path.exists(package_path):
588
+ try:
589
+ with open(package_path, 'r') as f:
590
+ package_data = json.load(f)
591
+
592
+ dev_deps = package_data.get("devDependencies", {})
593
+ security_tools = ["eslint-plugin-security", "@typescript-eslint/eslint-plugin"]
594
+ security_count = sum(1 for tool in security_tools if tool in dev_deps)
595
+ score += security_count * 5
596
+ except:
597
+ pass
598
+
599
+ # Verificar práticas no código
600
+ src_path = os.path.join(project_path, "src")
601
+ if os.path.exists(src_path):
602
+ security_issues = 0
603
+
604
+ for root, dirs, files in os.walk(src_path):
605
+ for file in files:
606
+ if file.endswith(('.tsx', '.jsx', '.ts', '.js')):
607
+ file_path = os.path.join(root, file)
608
+ try:
609
+ with open(file_path, 'r', encoding='utf-8') as f:
610
+ content = f.read()
611
+
612
+ if 'innerHTML' in content and 'sanitize' not in content:
613
+ security_issues += 1
614
+ if 'eval(' in content:
615
+ security_issues += 1
616
+ if 'document.write' in content:
617
+ security_issues += 1
618
+ except:
619
+ continue
620
+
621
+ score -= min(security_issues * 2, 20) # Penalidade máxima -20
622
+
623
+ return f"{max(min(score, 100), 0)}%"
624
+
625
+ async def extract_api_dependencies(project_path: str) -> List[str]:
626
+ """Extrai dependências de API"""
627
+
628
+ endpoints = set()
629
+
630
+ src_path = os.path.join(project_path, "src")
631
+ if os.path.exists(src_path):
632
+ for root, dirs, files in os.walk(src_path):
633
+ for file in files:
634
+ if file.endswith(('.tsx', '.jsx', '.ts', '.js')):
635
+ file_path = os.path.join(root, file)
636
+ try:
637
+ with open(file_path, 'r', encoding='utf-8') as f:
638
+ content = f.read()
639
+
640
+ # Procurar por endpoints
641
+ import re
642
+ api_patterns = [
643
+ r'["\'](/api/[^"\']+)["\']',
644
+ r'fetch\(["\']([^"\']+)["\']',
645
+ r'axios\.[get|post|put|delete]+\(["\']([^"\']+)["\']'
646
+ ]
647
+
648
+ for pattern in api_patterns:
649
+ matches = re.findall(pattern, content)
650
+ for match in matches:
651
+ if match.startswith('/api/'):
652
+ endpoints.add(match)
653
+ except:
654
+ continue
655
+
656
+ return sorted(list(endpoints))
657
+
658
+ async def extract_external_dependencies(project_path: str) -> List[str]:
659
+ """Extrai dependências externas"""
660
+
661
+ services = set()
662
+
663
+ src_path = os.path.join(project_path, "src")
664
+ if os.path.exists(src_path):
665
+ for root, dirs, files in os.walk(src_path):
666
+ for file in files:
667
+ if file.endswith(('.tsx', '.jsx', '.ts', '.js')):
668
+ file_path = os.path.join(root, file)
669
+ try:
670
+ with open(file_path, 'r', encoding='utf-8') as f:
671
+ content = f.read()
672
+
673
+ # Procurar por serviços externos
674
+ import re
675
+ external_patterns = [
676
+ r'https?://[a-zA-Z0-9.-]+/[a-zA-Z0-9./-]+',
677
+ r'[a-zA-Z0-9.-]+\.com/[a-zA-Z0-9./-]+'
678
+ ]
679
+
680
+ for pattern in external_patterns:
681
+ matches = re.findall(pattern, content)
682
+ for match in matches:
683
+ if 'localhost' not in match and '127.0.0.1' not in match:
684
+ services.add(match)
685
+ except:
686
+ continue
687
+
688
+ return sorted(list(services))
689
+
690
+ async def extract_env_variables(project_path: str) -> List[str]:
691
+ """Extrai variáveis de ambiente"""
692
+
693
+ env_vars = set()
694
+
695
+ src_path = os.path.join(project_path, "src")
696
+ if os.path.exists(src_path):
697
+ for root, dirs, files in os.walk(src_path):
698
+ for file in files:
699
+ if file.endswith(('.tsx', '.jsx', '.ts', '.js')):
700
+ file_path = os.path.join(root, file)
701
+ try:
702
+ with open(file_path, 'r', encoding='utf-8') as f:
703
+ content = f.read()
704
+
705
+ # Procurar por variáveis de ambiente
706
+ import re
707
+ env_patterns = [
708
+ r'process\.env\.([A-Z_]+)',
709
+ r'import\.meta\.env\.([A-Z_]+)',
710
+ r'["\']([A-Z_]+)["\'].*environment'
711
+ ]
712
+
713
+ for pattern in env_patterns:
714
+ matches = re.findall(pattern, content)
715
+ for match in matches:
716
+ env_vars.add(match)
717
+ except:
718
+ continue
719
+
720
+ return sorted(list(env_vars))
721
+
722
+ async def generate_phase_recommendations(validation_score: int, artifacts_info: Dict[str, Any]) -> List[str]:
723
+ """Gera recomendações para a próxima fase"""
724
+
725
+ recommendations = []
726
+
727
+ if validation_score < 75:
728
+ recommendations.append("⚠️ Melhore a qualidade do código antes do deploy")
729
+ recommendations.append("🧪 Aumente a cobertura de testes")
730
+
731
+ if artifacts_info.get("file_types", {}).get("tests", 0) < 5:
732
+ recommendations.append("📋 Adicione mais testes automatizados")
733
+
734
+ if validation_score >= 75:
735
+ recommendations.append("✅ Projeto pronto para deploy")
736
+ recommendations.append("🚀 Configure o pipeline de CI/CD")
737
+ recommendations.append("📊 Monitore a aplicação em produção")
738
+
739
+ recommendations.extend([
740
+ "🔧 Configure variáveis de ambiente de produção",
741
+ "📝 Documente o processo de deploy",
742
+ "🔍 Configure monitoramento e alertas"
743
+ ])
744
+
745
+ return recommendations
746
+
747
+ async def prepare_production_assets(project_path: str) -> List[Dict[str, Any]]:
748
+ """Prepara assets para produção"""
749
+
750
+ assets = []
751
+
752
+ # Otimização de imagens
753
+ image_optimizer = {
754
+ "type": "asset_optimization",
755
+ "asset_type": "images",
756
+ "config": {
757
+ "format": "webp",
758
+ "quality": 80,
759
+ "lazy_loading": True,
760
+ "responsive_images": True,
761
+ "srcset_generation": True
762
+ }
763
+ }
764
+ assets.append(image_optimizer)
765
+
766
+ # Minificação de código
767
+ minifier = {
768
+ "type": "asset_optimization",
769
+ "asset_type": "code",
770
+ "config": {
771
+ "minify": True,
772
+ "sourcemaps": False,
773
+ "treeshaking": True,
774
+ "dead_code_elimination": True,
775
+ "css_minification": True
776
+ }
777
+ }
778
+ assets.append(minifier)
779
+
780
+ # Otimização de bundle
781
+ bundle_optimizer = {
782
+ "type": "asset_optimization",
783
+ "asset_type": "bundle",
784
+ "config": {
785
+ "code_splitting": True,
786
+ "chunk_optimization": True,
787
+ "compression": "gzip",
788
+ "browser_cache": True,
789
+ "cdn_optimization": True
790
+ }
791
+ }
792
+ assets.append(bundle_optimizer)
793
+
794
+ return assets
795
+
796
+ async def generate_deploy_scripts(project_path: str, next_phase: str) -> List[Dict[str, Any]]:
797
+ """Gera scripts de deploy"""
798
+
799
+ scripts = []
800
+
801
+ # Script de deploy
802
+ deploy_script = {
803
+ "type": "deploy_script",
804
+ "name": "deploy.sh",
805
+ "content": """#!/bin/bash
806
+ set -e
807
+
808
+ echo "🚀 Iniciando deploy do frontend..."
809
+
810
+ # Build
811
+ echo "📦 Buildando aplicação..."
812
+ npm run build
813
+
814
+ # Testes
815
+ echo "🧪 Executando testes..."
816
+ npm run test
817
+
818
+ # Deploy para staging
819
+ if [ "$1" = "staging" ]; then
820
+ echo "🌍 Deploy para staging..."
821
+ # Comandos para staging
822
+ echo "✅ Deploy para staging concluído"
823
+ fi
824
+
825
+ # Deploy para produção
826
+ if [ "$1" = "production" ]; then
827
+ echo "🌍 Deploy para produção..."
828
+ # Comandos para produção
829
+ echo "✅ Deploy para produção concluído"
830
+ fi
831
+
832
+ echo "🎉 Deploy concluído com sucesso!"
833
+ """
834
+ }
835
+ scripts.append(deploy_script)
836
+
837
+ # Script de rollback
838
+ rollback_script = {
839
+ "type": "deploy_script",
840
+ "name": "rollback.sh",
841
+ "content": """#!/bin/bash
842
+ set -e
843
+
844
+ echo "🔄 Iniciando rollback..."
845
+
846
+ # Reverter último commit
847
+ git revert HEAD --no-edit
848
+
849
+ # Build novamente
850
+ npm run build
851
+
852
+ # Deploy
853
+ echo "🌍 Fazendo deploy da versão anterior..."
854
+ # Comandos de deploy
855
+
856
+ echo "✅ Rollback concluído com sucesso!"
857
+ """
858
+ }
859
+ scripts.append(rollback_script)
860
+
861
+ return scripts
862
+
863
+ async def generate_cicd_config(project_path: str, next_phase: str) -> Dict[str, Any]:
864
+ """Gera configuração de CI/CD"""
865
+
866
+ cicd_config = {
867
+ "type": "cicd_config",
868
+ "platform": "github_actions",
869
+ "config": {
870
+ "workflow_file": ".github/workflows/deploy.yml",
871
+ "triggers": ["push", "pull_request"],
872
+ "jobs": {
873
+ "test": {
874
+ "runs_on": "ubuntu-latest",
875
+ "steps": [
876
+ "checkout",
877
+ "setup_node",
878
+ "install_dependencies",
879
+ "run_tests",
880
+ "run_lint",
881
+ "build"
882
+ ]
883
+ },
884
+ "deploy": {
885
+ "needs": "test",
886
+ "runs_on": "ubuntu-latest",
887
+ "steps": [
888
+ "checkout",
889
+ "setup_node",
890
+ "install_dependencies",
891
+ "build",
892
+ "deploy_to_staging",
893
+ "run_e2e_tests",
894
+ "deploy_to_production"
895
+ ]
896
+ }
897
+ }
898
+ }
899
+ }
900
+
901
+ # Gerar workflow file
902
+ workflow_content = """name: Frontend CI/CD
903
+
904
+ on:
905
+ push:
906
+ branches: [main, develop]
907
+ pull_request:
908
+ branches: [main]
909
+
910
+ jobs:
911
+ test:
912
+ runs-on: ubuntu-latest
913
+ steps:
914
+ - uses: actions/checkout@v3
915
+ - uses: actions/setup-node@v3
916
+ with:
917
+ node-version: '18'
918
+ cache: 'npm'
919
+
920
+ - run: npm ci
921
+ - run: npm run lint
922
+ - run: npm run test
923
+ - run: npm run build
924
+
925
+ - name: Upload coverage
926
+ uses: codecov/codecov-action@v3
927
+
928
+ deploy-staging:
929
+ needs: test
930
+ runs-on: ubuntu-latest
931
+ if: github.ref == 'refs/heads/develop'
932
+ steps:
933
+ - uses: actions/checkout@v3
934
+ - uses: actions/setup-node@v3
935
+ with:
936
+ node-version: '18'
937
+ cache: 'npm'
938
+
939
+ - run: npm ci
940
+ - run: npm run build
941
+
942
+ - name: Deploy to staging
943
+ run: |
944
+ # Deploy commands here
945
+ echo "Deploying to staging..."
946
+
947
+ deploy-production:
948
+ needs: test
949
+ runs-on: ubuntu-latest
950
+ if: github.ref == 'refs/heads/main'
951
+ steps:
952
+ - uses: actions/checkout@v3
953
+ - uses: actions/setup-node@v3
954
+ with:
955
+ node-version: '18'
956
+ cache: 'npm'
957
+
958
+ - run: npm ci
959
+ - run: npm run build
960
+
961
+ - name: Deploy to production
962
+ run: |
963
+ # Deploy commands here
964
+ echo "Deploying to production..."
965
+ """
966
+
967
+ workflow_path = os.path.join(project_path, ".github", "workflows", "deploy.yml")
968
+ os.makedirs(os.path.dirname(workflow_path), exist_ok=True)
969
+
970
+ with open(workflow_path, 'w', encoding='utf-8') as f:
971
+ f.write(workflow_content)
972
+
973
+ cicd_config["workflow_file_path"] = workflow_path
974
+ return cicd_config
975
+
976
+ async def generate_quality_report(project_path: str, validation_score: int) -> Dict[str, Any]:
977
+ """Gera relatório de qualidade"""
978
+
979
+ report = {
980
+ "type": "quality_report",
981
+ "validation_score": validation_score,
982
+ "metrics": {
983
+ "test_coverage": await estimate_test_coverage(project_path),
984
+ "performance_score": await estimate_performance_score(project_path),
985
+ "accessibility_compliance": await estimate_accessibility_compliance(project_path),
986
+ "security_score": await estimate_security_score(project_path)
987
+ },
988
+ "recommendations": await generate_phase_recommendations(validation_score, {}),
989
+ "generated_at": "2026-01-29T17:00:00Z"
990
+ }
991
+
992
+ # Salvar relatório
993
+ report_path = os.path.join(project_path, "docs", "11-deploy", "quality-report.json")
994
+ os.makedirs(os.path.dirname(report_path), exist_ok=True)
995
+
996
+ with open(report_path, 'w', encoding='utf-8') as f:
997
+ json.dump(report, f, indent=2)
998
+
999
+ report["report_file_path"] = report_path
1000
+ return report
1001
+
1002
+ # Exportar função principal
1003
+ __all__ = ['process_frontend_to_next_phase']