@maestro-ai/mcp-server 1.2.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/README.md +26 -31
  2. package/dist/content/rules/GEMINI.md +79 -27
  3. package/dist/content/rules/RULES.md +6 -0
  4. package/dist/content/skills/specialist-acessibilidade/MCP_INTEGRATION.md +698 -0
  5. package/dist/content/skills/specialist-acessibilidade/README.md +292 -0
  6. package/dist/content/skills/specialist-acessibilidade/SKILL.md +202 -0
  7. package/dist/content/skills/specialist-acessibilidade/mcp_functions/init_accessibility_audit.py +675 -0
  8. package/dist/content/skills/specialist-acessibilidade/mcp_functions/validate_wcag_compliance.py +587 -0
  9. package/dist/content/skills/specialist-acessibilidade/resources/checklists/accessibility-validation.md +457 -0
  10. package/dist/content/skills/specialist-acessibilidade/resources/examples/accessibility-examples.md +863 -0
  11. package/dist/content/skills/specialist-acessibilidade/resources/reference/wcag-guide.md +359 -0
  12. package/dist/content/skills/specialist-acessibilidade/resources/templates/checklist-acessibilidade.md +435 -0
  13. package/dist/content/skills/specialist-acessibilidade/resources/templates/relatorio-acessibilidade.md +490 -0
  14. package/dist/content/skills/specialist-analise-testes/MCP_INTEGRATION.md +569 -0
  15. package/dist/content/skills/specialist-analise-testes/README.md +42 -0
  16. package/dist/content/skills/specialist-analise-testes/SKILL.md +258 -0
  17. package/dist/content/skills/specialist-analise-testes/mcp_functions/README.md +794 -0
  18. package/dist/content/skills/specialist-analise-testes/resources/checklists/testing-validation.md +305 -0
  19. package/dist/content/skills/specialist-analise-testes/resources/examples/testing-examples.md +395 -0
  20. package/dist/content/skills/specialist-analise-testes/resources/reference/testing-guide.md +1024 -0
  21. package/dist/content/skills/specialist-arquitetura-avancada/MCP_INTEGRATION.md +440 -0
  22. package/dist/content/skills/specialist-arquitetura-avancada/README.md +298 -0
  23. package/dist/content/skills/specialist-arquitetura-avancada/SKILL.md +295 -0
  24. package/dist/content/skills/specialist-arquitetura-avancada/mcp_functions/README.md +573 -0
  25. package/dist/content/skills/specialist-arquitetura-avancada/resources/checklists/architecture-validation.md +385 -0
  26. package/dist/content/skills/specialist-arquitetura-avancada/resources/examples/architecture-examples.md +743 -0
  27. package/dist/content/skills/specialist-arquitetura-avancada/resources/reference/architecture-guide.md +680 -0
  28. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/bounded-context.md +333 -0
  29. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/cqrs-implementation.md +495 -0
  30. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/event-sourcing.md +571 -0
  31. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/microservices-strategy.md +647 -0
  32. package/dist/content/skills/specialist-arquitetura-software/MCP_INTEGRATION.md +483 -0
  33. package/dist/content/skills/specialist-arquitetura-software/README.md +306 -0
  34. package/dist/content/skills/specialist-arquitetura-software/SKILL.md +194 -0
  35. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/init_architecture.py +137 -0
  36. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/process_architecture.py +279 -0
  37. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/validate_architecture.py +302 -0
  38. package/dist/content/skills/specialist-arquitetura-software/resources/checklists/architecture-validation.md +180 -0
  39. package/dist/content/skills/specialist-arquitetura-software/resources/examples/architecture-examples.md +239 -0
  40. package/dist/content/skills/specialist-arquitetura-software/resources/reference/architecture-guide.md +489 -0
  41. package/dist/content/skills/specialist-arquitetura-software/resources/templates/adr.md +61 -0
  42. package/dist/content/skills/specialist-arquitetura-software/resources/templates/arquitetura.md +192 -0
  43. package/dist/content/skills/specialist-arquitetura-software/resources/templates/slo-sli.md +153 -0
  44. package/dist/content/skills/specialist-banco-dados/MCP_INTEGRATION.md +390 -0
  45. package/dist/content/skills/specialist-banco-dados/README.md +323 -0
  46. package/dist/content/skills/specialist-banco-dados/SKILL.md +221 -0
  47. package/dist/content/skills/specialist-banco-dados/mcp_functions/init_database.py +720 -0
  48. package/dist/content/skills/specialist-banco-dados/mcp_functions/process_database.py +386 -0
  49. package/dist/content/skills/specialist-banco-dados/mcp_functions/validate_database.py +551 -0
  50. package/dist/content/skills/specialist-banco-dados/resources/checklists/database-validation.md +434 -0
  51. package/dist/content/skills/specialist-banco-dados/resources/examples/database-examples.md +857 -0
  52. package/dist/content/skills/specialist-banco-dados/resources/reference/database-guide.md +708 -0
  53. package/dist/content/skills/specialist-banco-dados/resources/templates/constraints.md +935 -0
  54. package/dist/content/skills/specialist-banco-dados/resources/templates/design-banco.md +509 -0
  55. package/dist/content/skills/specialist-banco-dados/resources/templates/indices.md +553 -0
  56. package/dist/content/skills/specialist-banco-dados/resources/templates/migracoes.md +777 -0
  57. package/dist/content/skills/specialist-contrato-api/MCP_INTEGRATION.md +152 -0
  58. package/dist/content/skills/specialist-contrato-api/README.md +183 -0
  59. package/dist/content/skills/specialist-contrato-api/SKILL.md +317 -0
  60. package/dist/content/skills/specialist-contrato-api/mcp_functions/README.md +17 -0
  61. package/dist/content/skills/specialist-contrato-api/resources/checklists/api-validation.md +44 -0
  62. package/dist/content/skills/specialist-contrato-api/resources/examples/api-examples.md +137 -0
  63. package/dist/content/skills/specialist-contrato-api/resources/reference/api-guide.md +96 -0
  64. package/dist/content/skills/specialist-contrato-api/resources/templates/contrato-api.md +165 -0
  65. package/dist/content/skills/specialist-dados-analytics-ia/MCP_INTEGRATION.md +398 -0
  66. package/dist/content/skills/specialist-dados-analytics-ia/README.md +224 -0
  67. package/dist/content/skills/specialist-dados-analytics-ia/SKILL.md +160 -0
  68. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/generate_insights_dashboard.py +669 -0
  69. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/init_analytics_pipeline.py +626 -0
  70. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/validate_analytics_quality.py +772 -0
  71. package/dist/content/skills/specialist-dados-analytics-ia/resources/checklists/analytics-validation.md +519 -0
  72. package/dist/content/skills/specialist-dados-analytics-ia/resources/examples/analytics-examples.md +646 -0
  73. package/dist/content/skills/specialist-dados-analytics-ia/resources/reference/analytics-guide.md +1111 -0
  74. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/feature.md +419 -0
  75. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/requisitos.md +384 -0
  76. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/slo-sli.md +381 -0
  77. package/dist/content/skills/specialist-debugging-troubleshooting/MCP_INTEGRATION.md +340 -0
  78. package/dist/content/skills/specialist-debugging-troubleshooting/README.md +218 -0
  79. package/dist/content/skills/specialist-debugging-troubleshooting/SKILL.md +194 -0
  80. package/dist/content/skills/specialist-debugging-troubleshooting/resources/checklists/debugging-validation.md +319 -0
  81. package/dist/content/skills/specialist-debugging-troubleshooting/resources/examples/debugging-examples.md +480 -0
  82. package/dist/content/skills/specialist-debugging-troubleshooting/resources/prompts/analise-bugs.md +527 -0
  83. package/dist/content/skills/specialist-debugging-troubleshooting/resources/reference/debugging-guide.md +392 -0
  84. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/bug-report.md +192 -0
  85. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/post-mortem.md +241 -0
  86. package/dist/content/skills/specialist-debugging-troubleshooting/scripts/README.md +64 -0
  87. package/dist/content/skills/specialist-desenvolvimento-backend/MCP_INTEGRATION.md +98 -0
  88. package/dist/content/skills/specialist-desenvolvimento-backend/README.md +167 -0
  89. package/dist/content/skills/specialist-desenvolvimento-backend/SKILL.md +288 -0
  90. package/dist/content/skills/specialist-desenvolvimento-backend/mcp_functions/README.md +17 -0
  91. package/dist/content/skills/specialist-desenvolvimento-backend/resources/checklists/backend-validation.md +44 -0
  92. package/dist/content/skills/specialist-desenvolvimento-backend/resources/examples/backend-examples.md +109 -0
  93. package/dist/content/skills/specialist-desenvolvimento-backend/resources/reference/backend-guide.md +86 -0
  94. package/dist/content/skills/specialist-desenvolvimento-frontend/MCP_INTEGRATION.md +914 -0
  95. package/dist/content/skills/specialist-desenvolvimento-frontend/README.md +261 -0
  96. package/dist/content/skills/specialist-desenvolvimento-frontend/SKILL.md +220 -0
  97. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/init_frontend.py +861 -0
  98. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/process_frontend.py +1003 -0
  99. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/validate_frontend.py +766 -0
  100. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/checklists/frontend-validation.md +365 -0
  101. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/examples/frontend-examples.md +1125 -0
  102. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/reference/frontend-guide.md +1055 -0
  103. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/component-story.md +530 -0
  104. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/historia-frontend.md +243 -0
  105. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/ui-guidelines.md +725 -0
  106. package/dist/content/skills/specialist-desenvolvimento-mobile/MCP_INTEGRATION.md +87 -0
  107. package/dist/content/skills/specialist-desenvolvimento-mobile/README.md +149 -0
  108. package/dist/content/skills/specialist-desenvolvimento-mobile/SKILL.md +360 -0
  109. package/dist/content/skills/specialist-desenvolvimento-mobile/mcp_functions/README.md +17 -0
  110. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/checklists/mobile-validation.md +330 -0
  111. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/examples/mobile-examples.md +966 -0
  112. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/android-guide.md +546 -0
  113. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/flutter-guide.md +500 -0
  114. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/ios-guide.md +518 -0
  115. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/mobile-guide.md +76 -0
  116. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/react-native-guide.md +659 -0
  117. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/historia-mobile.md +284 -0
  118. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/mobile-checklist.md +239 -0
  119. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/platform-selection.md +302 -0
  120. package/dist/content/skills/specialist-devops-infra/MCP_INTEGRATION.md +471 -0
  121. package/dist/content/skills/specialist-devops-infra/README.md +234 -0
  122. package/dist/content/skills/specialist-devops-infra/SKILL.md +162 -0
  123. package/dist/content/skills/specialist-devops-infra/mcp_functions/generate_ci_cd_pipeline.py +870 -0
  124. package/dist/content/skills/specialist-devops-infra/mcp_functions/init_infrastructure_structure.py +704 -0
  125. package/dist/content/skills/specialist-devops-infra/mcp_functions/validate_infrastructure_quality.py +745 -0
  126. package/dist/content/skills/specialist-devops-infra/resources/checklists/devops-validation.md +427 -0
  127. package/dist/content/skills/specialist-devops-infra/resources/examples/devops-examples.md +652 -0
  128. package/dist/content/skills/specialist-devops-infra/resources/reference/devops-guide.md +1244 -0
  129. package/dist/content/skills/specialist-devops-infra/resources/templates/ci-cd-pipeline.yml +40 -0
  130. package/dist/content/skills/specialist-documentacao-tecnica/MCP_INTEGRATION.md +797 -0
  131. package/dist/content/skills/specialist-documentacao-tecnica/README.md +304 -0
  132. package/dist/content/skills/specialist-documentacao-tecnica/SKILL.md +202 -0
  133. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/init_documentation_structure.py +733 -0
  134. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/process_documentation_for_publishing.py +888 -0
  135. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/validate_documentation_quality.py +775 -0
  136. package/dist/content/skills/specialist-documentacao-tecnica/resources/checklists/documentation-validation.md +296 -0
  137. package/dist/content/skills/specialist-documentacao-tecnica/resources/examples/documentation-examples.md +515 -0
  138. package/dist/content/skills/specialist-documentacao-tecnica/resources/reference/documentation-guide.md +798 -0
  139. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/api-docs.md +619 -0
  140. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/design-doc.md +250 -0
  141. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/guia-tecnico.md +383 -0
  142. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/readme-template.md +462 -0
  143. package/dist/content/skills/specialist-engenharia-requisitos-ia/MCP_INTEGRATION.md +457 -0
  144. package/dist/content/skills/specialist-engenharia-requisitos-ia/README.md +295 -0
  145. package/dist/content/skills/specialist-engenharia-requisitos-ia/SKILL.md +214 -0
  146. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/init_requirements.py +152 -0
  147. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/process_requirements.py +445 -0
  148. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/validate_requirements.py +475 -0
  149. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/checklists/requirements-validation.md +258 -0
  150. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/examples/requirements-examples.md +316 -0
  151. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/reference/requirements-guide.md +651 -0
  152. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/criterios-aceite.md +484 -0
  153. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/matriz-rastreabilidade.md +246 -0
  154. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/requisitos.md +244 -0
  155. package/dist/content/skills/specialist-exploracao-codebase/MCP_INTEGRATION.md +155 -0
  156. package/dist/content/skills/specialist-exploracao-codebase/README.md +320 -0
  157. package/dist/content/skills/specialist-exploracao-codebase/SKILL.md +194 -0
  158. package/dist/content/skills/specialist-exploracao-codebase/mcp_functions/README.md +39 -0
  159. package/dist/content/skills/specialist-exploracao-codebase/resources/checklists/exploration-validation.md +51 -0
  160. package/dist/content/skills/specialist-exploracao-codebase/resources/examples/exploration-examples.md +106 -0
  161. package/dist/content/skills/specialist-exploracao-codebase/resources/reference/exploration-guide.md +111 -0
  162. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/codebase-map.md +129 -0
  163. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/refactoring-plan.md +96 -0
  164. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/technical-debt-report.md +69 -0
  165. package/dist/content/skills/specialist-gestao-produto/MCP_INTEGRATION.md +436 -0
  166. package/dist/content/skills/specialist-gestao-produto/README.md +202 -0
  167. package/dist/content/skills/specialist-gestao-produto/SKILL.md +174 -0
  168. package/dist/content/skills/specialist-gestao-produto/resources/checklists/prd-validation.md +165 -0
  169. package/dist/content/skills/specialist-gestao-produto/resources/examples/prd-examples.md +231 -0
  170. package/dist/content/skills/specialist-gestao-produto/resources/reference/product-guide.md +416 -0
  171. package/dist/content/skills/specialist-gestao-produto/resources/templates/PRD.md +212 -0
  172. package/dist/content/skills/specialist-gestao-produto/scripts/init_prd.py +170 -0
  173. package/dist/content/skills/specialist-gestao-produto/scripts/process_prd.py +388 -0
  174. package/dist/content/skills/specialist-gestao-produto/scripts/validate_prd.py +406 -0
  175. package/dist/content/skills/specialist-migracao-modernizacao/MCP_INTEGRATION.md +17 -0
  176. package/dist/content/skills/specialist-migracao-modernizacao/README.md +46 -0
  177. package/dist/content/skills/specialist-migracao-modernizacao/SKILL.md +485 -0
  178. package/dist/content/skills/specialist-migracao-modernizacao/mcp_functions/README.md +10 -0
  179. package/dist/content/skills/specialist-migracao-modernizacao/resources/checklists/migration-validation.md +23 -0
  180. package/dist/content/skills/specialist-migracao-modernizacao/resources/examples/migration-examples.md +30 -0
  181. package/dist/content/skills/specialist-migracao-modernizacao/resources/reference/migration-guide.md +27 -0
  182. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/migration-assessment.md +391 -0
  183. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/modernization-roadmap.md +479 -0
  184. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/risk-analysis.md +527 -0
  185. package/dist/content/skills/specialist-mobile-design-avancado/MCP_INTEGRATION.md +17 -0
  186. package/dist/content/skills/specialist-mobile-design-avancado/README.md +46 -0
  187. package/dist/content/skills/specialist-mobile-design-avancado/SKILL.md +567 -0
  188. package/dist/content/skills/specialist-mobile-design-avancado/mcp_functions/README.md +10 -0
  189. package/dist/content/skills/specialist-mobile-design-avancado/resources/checklists/design-validation.md +23 -0
  190. package/dist/content/skills/specialist-mobile-design-avancado/resources/examples/design-examples.md +46 -0
  191. package/dist/content/skills/specialist-mobile-design-avancado/resources/reference/design-guide.md +23 -0
  192. package/dist/content/skills/specialist-modelagem-dominio/MCP_INTEGRATION.md +336 -0
  193. package/dist/content/skills/specialist-modelagem-dominio/README.md +314 -0
  194. package/dist/content/skills/specialist-modelagem-dominio/SKILL.md +241 -0
  195. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/init_domain.py +479 -0
  196. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/process_domain.py +526 -0
  197. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/validate_domain.py +569 -0
  198. package/dist/content/skills/specialist-modelagem-dominio/resources/checklists/domain-validation.md +341 -0
  199. package/dist/content/skills/specialist-modelagem-dominio/resources/examples/domain-examples.md +505 -0
  200. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-guide.md +601 -0
  201. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-modeling-complete-guide.md +1126 -0
  202. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/arquitetura-c4.md +477 -0
  203. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/casos-uso.md +395 -0
  204. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/entidades-relacionamentos.md +368 -0
  205. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/modelo-dominio.md +311 -0
  206. package/dist/content/skills/specialist-observabilidade/SKILL.md +462 -0
  207. package/dist/content/skills/specialist-performance-escalabilidade/SKILL.md +329 -0
  208. package/dist/content/skills/specialist-plano-execucao-ia/MCP_INTEGRATION.md +371 -0
  209. package/dist/content/skills/specialist-plano-execucao-ia/README.md +194 -0
  210. package/dist/content/skills/specialist-plano-execucao-ia/SKILL.md +271 -0
  211. package/dist/content/skills/specialist-plano-execucao-ia/mcp_functions/README.md +38 -0
  212. package/dist/content/skills/specialist-plano-execucao-ia/resources/checklists/planning-validation.md +144 -0
  213. package/dist/content/skills/specialist-plano-execucao-ia/resources/examples/planning-examples.md +203 -0
  214. package/dist/content/skills/specialist-plano-execucao-ia/resources/reference/planning-guide.md +316 -0
  215. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/backlog.md +146 -0
  216. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-backend.md +157 -0
  217. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-frontend.md +116 -0
  218. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-usuario.md +66 -0
  219. package/dist/content/skills/specialist-prototipagem-stitch/MCP_INTEGRATION.md +533 -0
  220. package/dist/content/skills/specialist-prototipagem-stitch/README.md +321 -0
  221. package/dist/content/skills/specialist-prototipagem-stitch/SKILL.md +194 -0
  222. package/dist/content/skills/specialist-prototipagem-stitch/mcp_functions/README.md +239 -0
  223. package/dist/content/skills/specialist-prototipagem-stitch/resources/checklists/stitch-validation.md +357 -0
  224. package/dist/content/skills/specialist-prototipagem-stitch/resources/examples/stitch-examples.md +372 -0
  225. package/dist/content/skills/specialist-prototipagem-stitch/resources/reference/stitch-guide.md +517 -0
  226. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prompt-stitch.md +429 -0
  227. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prototipo-stitch.md +317 -0
  228. package/dist/content/skills/specialist-seguranca-informacao/MCP_INTEGRATION.md +466 -0
  229. package/dist/content/skills/specialist-seguranca-informacao/README.md +245 -0
  230. package/dist/content/skills/specialist-seguranca-informacao/SKILL.md +343 -0
  231. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/init_security.py +405 -0
  232. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/process_security.py +611 -0
  233. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/validate_security.py +468 -0
  234. package/dist/content/skills/specialist-seguranca-informacao/resources/checklists/security-validation.md +368 -0
  235. package/dist/content/skills/specialist-seguranca-informacao/resources/examples/security-examples.md +358 -0
  236. package/dist/content/skills/specialist-seguranca-informacao/resources/reference/security-guide.md +757 -0
  237. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/checklist-seguranca.md +383 -0
  238. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/slo-sli.md +244 -0
  239. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/threat-modeling.md +161 -0
  240. package/dist/content/skills/specialist-ux-design/MCP_INTEGRATION.md +294 -0
  241. package/dist/content/skills/specialist-ux-design/README.md +304 -0
  242. package/dist/content/skills/specialist-ux-design/SKILL.md +212 -0
  243. package/dist/content/skills/specialist-ux-design/mcp_functions/init_ux.py +126 -0
  244. package/dist/content/skills/specialist-ux-design/mcp_functions/process_ux.py +408 -0
  245. package/dist/content/skills/specialist-ux-design/mcp_functions/validate_ux.py +379 -0
  246. package/dist/content/skills/specialist-ux-design/resources/checklists/ux-validation.md +77 -0
  247. package/dist/content/skills/specialist-ux-design/resources/examples/ux-examples.md +161 -0
  248. package/dist/content/skills/specialist-ux-design/resources/reference/ux-guide.md +184 -0
  249. package/dist/content/skills/specialist-ux-design/resources/templates/design-doc.md +160 -0
  250. package/dist/content/skills/specialist-ux-design/resources/templates/jornada-usuario.md +126 -0
  251. package/dist/content/skills/specialist-ux-design/resources/templates/wireframes.md +155 -0
  252. package/dist/core/adr/ADRGenerator.d.ts +28 -0
  253. package/dist/core/adr/ADRGenerator.d.ts.map +1 -0
  254. package/dist/core/adr/ADRGenerator.js +63 -0
  255. package/dist/core/adr/ADRGenerator.js.map +1 -0
  256. package/dist/core/adr/index.d.ts +2 -0
  257. package/dist/core/adr/index.d.ts.map +1 -0
  258. package/dist/core/adr/index.js +2 -0
  259. package/dist/core/adr/index.js.map +1 -0
  260. package/dist/core/architecture/FitnessFunctions.d.ts +67 -0
  261. package/dist/core/architecture/FitnessFunctions.d.ts.map +1 -0
  262. package/dist/core/architecture/FitnessFunctions.js +292 -0
  263. package/dist/core/architecture/FitnessFunctions.js.map +1 -0
  264. package/dist/core/architecture/index.d.ts +3 -0
  265. package/dist/core/architecture/index.d.ts.map +1 -0
  266. package/dist/core/architecture/index.js +3 -0
  267. package/dist/core/architecture/index.js.map +1 -0
  268. package/dist/core/architecture/types.d.ts +42 -0
  269. package/dist/core/architecture/types.d.ts.map +1 -0
  270. package/dist/core/architecture/types.js +5 -0
  271. package/dist/core/architecture/types.js.map +1 -0
  272. package/dist/core/atam/ATAMAnalyzer.d.ts +19 -0
  273. package/dist/core/atam/ATAMAnalyzer.d.ts.map +1 -0
  274. package/dist/core/atam/ATAMAnalyzer.js +206 -0
  275. package/dist/core/atam/ATAMAnalyzer.js.map +1 -0
  276. package/dist/core/atam/ATAMReporter.d.ts +16 -0
  277. package/dist/core/atam/ATAMReporter.d.ts.map +1 -0
  278. package/dist/core/atam/ATAMReporter.js +175 -0
  279. package/dist/core/atam/ATAMReporter.js.map +1 -0
  280. package/dist/core/atam/QualityScenarios.d.ts +16 -0
  281. package/dist/core/atam/QualityScenarios.d.ts.map +1 -0
  282. package/dist/core/atam/QualityScenarios.js +149 -0
  283. package/dist/core/atam/QualityScenarios.js.map +1 -0
  284. package/dist/core/atam/RiskRegistry.d.ts +21 -0
  285. package/dist/core/atam/RiskRegistry.d.ts.map +1 -0
  286. package/dist/core/atam/RiskRegistry.js +83 -0
  287. package/dist/core/atam/RiskRegistry.js.map +1 -0
  288. package/dist/core/atam/index.d.ts +6 -0
  289. package/dist/core/atam/index.d.ts.map +1 -0
  290. package/dist/core/atam/index.js +6 -0
  291. package/dist/core/atam/index.js.map +1 -0
  292. package/dist/core/atam/types.d.ts +86 -0
  293. package/dist/core/atam/types.d.ts.map +1 -0
  294. package/dist/core/atam/types.js +5 -0
  295. package/dist/core/atam/types.js.map +1 -0
  296. package/dist/core/authority/AuthorityManager.d.ts +19 -0
  297. package/dist/core/authority/AuthorityManager.d.ts.map +1 -0
  298. package/dist/core/authority/AuthorityManager.js +66 -0
  299. package/dist/core/authority/AuthorityManager.js.map +1 -0
  300. package/dist/core/authority/index.d.ts +2 -0
  301. package/dist/core/authority/index.d.ts.map +1 -0
  302. package/dist/core/authority/index.js +2 -0
  303. package/dist/core/authority/index.js.map +1 -0
  304. package/dist/core/autofix/AutoFixEngine.d.ts +17 -0
  305. package/dist/core/autofix/AutoFixEngine.d.ts.map +1 -0
  306. package/dist/core/autofix/AutoFixEngine.js +46 -0
  307. package/dist/core/autofix/AutoFixEngine.js.map +1 -0
  308. package/dist/core/autofix/index.d.ts +2 -0
  309. package/dist/core/autofix/index.d.ts.map +1 -0
  310. package/dist/core/autofix/index.js +2 -0
  311. package/dist/core/autofix/index.js.map +1 -0
  312. package/dist/core/automation/AutoExecutor.d.ts +20 -0
  313. package/dist/core/automation/AutoExecutor.d.ts.map +1 -0
  314. package/dist/core/automation/AutoExecutor.js +38 -0
  315. package/dist/core/automation/AutoExecutor.js.map +1 -0
  316. package/dist/core/automation/index.d.ts +2 -0
  317. package/dist/core/automation/index.d.ts.map +1 -0
  318. package/dist/core/automation/index.js +2 -0
  319. package/dist/core/automation/index.js.map +1 -0
  320. package/dist/core/checkpoint/CheckpointManager.d.ts +43 -0
  321. package/dist/core/checkpoint/CheckpointManager.d.ts.map +1 -0
  322. package/dist/core/checkpoint/CheckpointManager.js +158 -0
  323. package/dist/core/checkpoint/CheckpointManager.js.map +1 -0
  324. package/dist/core/checkpoint/RollbackEngine.d.ts +31 -0
  325. package/dist/core/checkpoint/RollbackEngine.d.ts.map +1 -0
  326. package/dist/core/checkpoint/RollbackEngine.js +176 -0
  327. package/dist/core/checkpoint/RollbackEngine.js.map +1 -0
  328. package/dist/core/checkpoint/index.d.ts +4 -0
  329. package/dist/core/checkpoint/index.d.ts.map +1 -0
  330. package/dist/core/checkpoint/index.js +4 -0
  331. package/dist/core/checkpoint/index.js.map +1 -0
  332. package/dist/core/checkpoint/types.d.ts +33 -0
  333. package/dist/core/checkpoint/types.d.ts.map +1 -0
  334. package/dist/core/checkpoint/types.js +2 -0
  335. package/dist/core/checkpoint/types.js.map +1 -0
  336. package/dist/core/consistency/ConsistencyAnalyzer.d.ts +12 -0
  337. package/dist/core/consistency/ConsistencyAnalyzer.d.ts.map +1 -0
  338. package/dist/core/consistency/ConsistencyAnalyzer.js +79 -0
  339. package/dist/core/consistency/ConsistencyAnalyzer.js.map +1 -0
  340. package/dist/core/consistency/index.d.ts +3 -0
  341. package/dist/core/consistency/index.d.ts.map +1 -0
  342. package/dist/core/consistency/index.js +3 -0
  343. package/dist/core/consistency/index.js.map +1 -0
  344. package/dist/core/consistency/types.d.ts +43 -0
  345. package/dist/core/consistency/types.d.ts.map +1 -0
  346. package/dist/core/consistency/types.js +5 -0
  347. package/dist/core/consistency/types.js.map +1 -0
  348. package/dist/core/context/ContextDetector.d.ts +14 -0
  349. package/dist/core/context/ContextDetector.d.ts.map +1 -0
  350. package/dist/core/context/ContextDetector.js +58 -0
  351. package/dist/core/context/ContextDetector.js.map +1 -0
  352. package/dist/core/context/index.d.ts +3 -0
  353. package/dist/core/context/index.d.ts.map +1 -0
  354. package/dist/core/context/index.js +3 -0
  355. package/dist/core/context/index.js.map +1 -0
  356. package/dist/core/context/types.d.ts +41 -0
  357. package/dist/core/context/types.d.ts.map +1 -0
  358. package/dist/core/context/types.js +5 -0
  359. package/dist/core/context/types.js.map +1 -0
  360. package/dist/core/decision/AlternativeGenerator.d.ts +32 -0
  361. package/dist/core/decision/AlternativeGenerator.d.ts.map +1 -0
  362. package/dist/core/decision/AlternativeGenerator.js +155 -0
  363. package/dist/core/decision/AlternativeGenerator.js.map +1 -0
  364. package/dist/core/decision/ConfidenceCalculator.d.ts +42 -0
  365. package/dist/core/decision/ConfidenceCalculator.d.ts.map +1 -0
  366. package/dist/core/decision/ConfidenceCalculator.js +114 -0
  367. package/dist/core/decision/ConfidenceCalculator.js.map +1 -0
  368. package/dist/core/decision/DecisionEngine.d.ts +42 -0
  369. package/dist/core/decision/DecisionEngine.d.ts.map +1 -0
  370. package/dist/core/decision/DecisionEngine.js +144 -0
  371. package/dist/core/decision/DecisionEngine.js.map +1 -0
  372. package/dist/core/decision/DecisionMatrix.d.ts +29 -0
  373. package/dist/core/decision/DecisionMatrix.d.ts.map +1 -0
  374. package/dist/core/decision/DecisionMatrix.js +66 -0
  375. package/dist/core/decision/DecisionMatrix.js.map +1 -0
  376. package/dist/core/decision/index.d.ts +6 -0
  377. package/dist/core/decision/index.d.ts.map +1 -0
  378. package/dist/core/decision/index.js +6 -0
  379. package/dist/core/decision/index.js.map +1 -0
  380. package/dist/core/decision/types.d.ts +40 -0
  381. package/dist/core/decision/types.d.ts.map +1 -0
  382. package/dist/core/decision/types.js +5 -0
  383. package/dist/core/decision/types.js.map +1 -0
  384. package/dist/core/discovery/CodebaseDiscovery.d.ts +19 -0
  385. package/dist/core/discovery/CodebaseDiscovery.d.ts.map +1 -0
  386. package/dist/core/discovery/CodebaseDiscovery.js +83 -0
  387. package/dist/core/discovery/CodebaseDiscovery.js.map +1 -0
  388. package/dist/core/discovery/index.d.ts +2 -0
  389. package/dist/core/discovery/index.d.ts.map +1 -0
  390. package/dist/core/discovery/index.js +2 -0
  391. package/dist/core/discovery/index.js.map +1 -0
  392. package/dist/core/feedback/FeedbackLoop.d.ts +21 -0
  393. package/dist/core/feedback/FeedbackLoop.d.ts.map +1 -0
  394. package/dist/core/feedback/FeedbackLoop.js +45 -0
  395. package/dist/core/feedback/FeedbackLoop.js.map +1 -0
  396. package/dist/core/feedback/index.d.ts +2 -0
  397. package/dist/core/feedback/index.d.ts.map +1 -0
  398. package/dist/core/feedback/index.js +2 -0
  399. package/dist/core/feedback/index.js.map +1 -0
  400. package/dist/core/growth/GrowthProjector.d.ts +12 -0
  401. package/dist/core/growth/GrowthProjector.d.ts.map +1 -0
  402. package/dist/core/growth/GrowthProjector.js +93 -0
  403. package/dist/core/growth/GrowthProjector.js.map +1 -0
  404. package/dist/core/growth/index.d.ts +3 -0
  405. package/dist/core/growth/index.d.ts.map +1 -0
  406. package/dist/core/growth/index.js +3 -0
  407. package/dist/core/growth/index.js.map +1 -0
  408. package/dist/core/growth/types.d.ts +40 -0
  409. package/dist/core/growth/types.d.ts.map +1 -0
  410. package/dist/core/growth/types.js +5 -0
  411. package/dist/core/growth/types.js.map +1 -0
  412. package/dist/core/impact/ImpactAnalyzer.d.ts +22 -0
  413. package/dist/core/impact/ImpactAnalyzer.d.ts.map +1 -0
  414. package/dist/core/impact/ImpactAnalyzer.js +43 -0
  415. package/dist/core/impact/ImpactAnalyzer.js.map +1 -0
  416. package/dist/core/impact/index.d.ts +2 -0
  417. package/dist/core/impact/index.d.ts.map +1 -0
  418. package/dist/core/impact/index.js +2 -0
  419. package/dist/core/impact/index.js.map +1 -0
  420. package/dist/core/knowledge/ADRManager.d.ts +22 -0
  421. package/dist/core/knowledge/ADRManager.d.ts.map +1 -0
  422. package/dist/core/knowledge/ADRManager.js +82 -0
  423. package/dist/core/knowledge/ADRManager.js.map +1 -0
  424. package/dist/core/knowledge/ContextLoader.d.ts +18 -0
  425. package/dist/core/knowledge/ContextLoader.d.ts.map +1 -0
  426. package/dist/core/knowledge/ContextLoader.js +48 -0
  427. package/dist/core/knowledge/ContextLoader.js.map +1 -0
  428. package/dist/core/knowledge/KnowledgeBase.d.ts +35 -0
  429. package/dist/core/knowledge/KnowledgeBase.d.ts.map +1 -0
  430. package/dist/core/knowledge/KnowledgeBase.js +143 -0
  431. package/dist/core/knowledge/KnowledgeBase.js.map +1 -0
  432. package/dist/core/knowledge/PatternRegistry.d.ts +22 -0
  433. package/dist/core/knowledge/PatternRegistry.d.ts.map +1 -0
  434. package/dist/core/knowledge/PatternRegistry.js +56 -0
  435. package/dist/core/knowledge/PatternRegistry.js.map +1 -0
  436. package/dist/core/knowledge/index.d.ts +6 -0
  437. package/dist/core/knowledge/index.d.ts.map +1 -0
  438. package/dist/core/knowledge/index.js +6 -0
  439. package/dist/core/knowledge/index.js.map +1 -0
  440. package/dist/core/knowledge/types.d.ts +60 -0
  441. package/dist/core/knowledge/types.d.ts.map +1 -0
  442. package/dist/core/knowledge/types.js +2 -0
  443. package/dist/core/knowledge/types.js.map +1 -0
  444. package/dist/core/metrics/MetricsCollector.d.ts +21 -0
  445. package/dist/core/metrics/MetricsCollector.d.ts.map +1 -0
  446. package/dist/core/metrics/MetricsCollector.js +20 -0
  447. package/dist/core/metrics/MetricsCollector.js.map +1 -0
  448. package/dist/core/metrics/index.d.ts +2 -0
  449. package/dist/core/metrics/index.d.ts.map +1 -0
  450. package/dist/core/metrics/index.js +2 -0
  451. package/dist/core/metrics/index.js.map +1 -0
  452. package/dist/core/notification/NotificationManager.d.ts +20 -0
  453. package/dist/core/notification/NotificationManager.d.ts.map +1 -0
  454. package/dist/core/notification/NotificationManager.js +16 -0
  455. package/dist/core/notification/NotificationManager.js.map +1 -0
  456. package/dist/core/notification/index.d.ts +2 -0
  457. package/dist/core/notification/index.d.ts.map +1 -0
  458. package/dist/core/notification/index.js +2 -0
  459. package/dist/core/notification/index.js.map +1 -0
  460. package/dist/core/risk/RiskEvaluator.d.ts +11 -0
  461. package/dist/core/risk/RiskEvaluator.d.ts.map +1 -0
  462. package/dist/core/risk/RiskEvaluator.js +83 -0
  463. package/dist/core/risk/RiskEvaluator.js.map +1 -0
  464. package/dist/core/risk/index.d.ts +3 -0
  465. package/dist/core/risk/index.d.ts.map +1 -0
  466. package/dist/core/risk/index.js +3 -0
  467. package/dist/core/risk/index.js.map +1 -0
  468. package/dist/core/risk/types.d.ts +19 -0
  469. package/dist/core/risk/types.d.ts.map +1 -0
  470. package/dist/core/risk/types.js +2 -0
  471. package/dist/core/risk/types.js.map +1 -0
  472. package/dist/core/roadmap/RoadmapManager.d.ts +14 -0
  473. package/dist/core/roadmap/RoadmapManager.d.ts.map +1 -0
  474. package/dist/core/roadmap/RoadmapManager.js +81 -0
  475. package/dist/core/roadmap/RoadmapManager.js.map +1 -0
  476. package/dist/core/roadmap/index.d.ts +3 -0
  477. package/dist/core/roadmap/index.d.ts.map +1 -0
  478. package/dist/core/roadmap/index.js +3 -0
  479. package/dist/core/roadmap/index.js.map +1 -0
  480. package/dist/core/roadmap/types.d.ts +64 -0
  481. package/dist/core/roadmap/types.d.ts.map +1 -0
  482. package/dist/core/roadmap/types.js +5 -0
  483. package/dist/core/roadmap/types.js.map +1 -0
  484. package/dist/core/strangler/StranglerOrchestrator.d.ts +14 -0
  485. package/dist/core/strangler/StranglerOrchestrator.d.ts.map +1 -0
  486. package/dist/core/strangler/StranglerOrchestrator.js +87 -0
  487. package/dist/core/strangler/StranglerOrchestrator.js.map +1 -0
  488. package/dist/core/strangler/index.d.ts +3 -0
  489. package/dist/core/strangler/index.d.ts.map +1 -0
  490. package/dist/core/strangler/index.js +3 -0
  491. package/dist/core/strangler/index.js.map +1 -0
  492. package/dist/core/strangler/types.d.ts +70 -0
  493. package/dist/core/strangler/types.d.ts.map +1 -0
  494. package/dist/core/strangler/types.js +5 -0
  495. package/dist/core/strangler/types.js.map +1 -0
  496. package/dist/core/testing/TestRunner.d.ts +17 -0
  497. package/dist/core/testing/TestRunner.d.ts.map +1 -0
  498. package/dist/core/testing/TestRunner.js +22 -0
  499. package/dist/core/testing/TestRunner.js.map +1 -0
  500. package/dist/core/testing/index.d.ts +2 -0
  501. package/dist/core/testing/index.d.ts.map +1 -0
  502. package/dist/core/testing/index.js +2 -0
  503. package/dist/core/testing/index.js.map +1 -0
  504. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts +24 -0
  505. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts.map +1 -0
  506. package/dist/core/tradeoff/TradeoffAnalyzer.js +51 -0
  507. package/dist/core/tradeoff/TradeoffAnalyzer.js.map +1 -0
  508. package/dist/core/tradeoff/index.d.ts +2 -0
  509. package/dist/core/tradeoff/index.d.ts.map +1 -0
  510. package/dist/core/tradeoff/index.js +2 -0
  511. package/dist/core/tradeoff/index.js.map +1 -0
  512. package/dist/core/validation/DependencyValidator.d.ts +28 -0
  513. package/dist/core/validation/DependencyValidator.d.ts.map +1 -0
  514. package/dist/core/validation/DependencyValidator.js +188 -0
  515. package/dist/core/validation/DependencyValidator.js.map +1 -0
  516. package/dist/core/validation/SecurityValidator.d.ts +44 -0
  517. package/dist/core/validation/SecurityValidator.d.ts.map +1 -0
  518. package/dist/core/validation/SecurityValidator.js +248 -0
  519. package/dist/core/validation/SecurityValidator.js.map +1 -0
  520. package/dist/core/validation/ValidationPipeline.d.ts +62 -0
  521. package/dist/core/validation/ValidationPipeline.d.ts.map +1 -0
  522. package/dist/core/validation/ValidationPipeline.js +216 -0
  523. package/dist/core/validation/ValidationPipeline.js.map +1 -0
  524. package/dist/core/validation/index.d.ts +4 -0
  525. package/dist/core/validation/index.d.ts.map +1 -0
  526. package/dist/core/validation/index.js +4 -0
  527. package/dist/core/validation/index.js.map +1 -0
  528. package/dist/core/validation/layers/ArchitectureValidator.d.ts +21 -0
  529. package/dist/core/validation/layers/ArchitectureValidator.d.ts.map +1 -0
  530. package/dist/core/validation/layers/ArchitectureValidator.js +226 -0
  531. package/dist/core/validation/layers/ArchitectureValidator.js.map +1 -0
  532. package/dist/core/validation/layers/QualityValidator.d.ts +23 -0
  533. package/dist/core/validation/layers/QualityValidator.d.ts.map +1 -0
  534. package/dist/core/validation/layers/QualityValidator.js +259 -0
  535. package/dist/core/validation/layers/QualityValidator.js.map +1 -0
  536. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts +12 -0
  537. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts.map +1 -0
  538. package/dist/core/validation/layers/SecurityValidatorWrapper.js +54 -0
  539. package/dist/core/validation/layers/SecurityValidatorWrapper.js.map +1 -0
  540. package/dist/core/validation/layers/SemanticValidator.d.ts +21 -0
  541. package/dist/core/validation/layers/SemanticValidator.d.ts.map +1 -0
  542. package/dist/core/validation/layers/SemanticValidator.js +182 -0
  543. package/dist/core/validation/layers/SemanticValidator.js.map +1 -0
  544. package/dist/core/validation/layers/SyntacticValidator.d.ts +17 -0
  545. package/dist/core/validation/layers/SyntacticValidator.d.ts.map +1 -0
  546. package/dist/core/validation/layers/SyntacticValidator.js +194 -0
  547. package/dist/core/validation/layers/SyntacticValidator.js.map +1 -0
  548. package/dist/core/validation/types.d.ts +90 -0
  549. package/dist/core/validation/types.d.ts.map +1 -0
  550. package/dist/core/validation/types.js +24 -0
  551. package/dist/core/validation/types.js.map +1 -0
  552. package/dist/frontend-first/contract-generator.d.ts +47 -0
  553. package/dist/frontend-first/contract-generator.d.ts.map +1 -0
  554. package/dist/frontend-first/contract-generator.js +312 -0
  555. package/dist/frontend-first/contract-generator.js.map +1 -0
  556. package/dist/frontend-first/mock-generator.d.ts +23 -0
  557. package/dist/frontend-first/mock-generator.d.ts.map +1 -0
  558. package/dist/frontend-first/mock-generator.js +186 -0
  559. package/dist/frontend-first/mock-generator.js.map +1 -0
  560. package/dist/index.js +2 -2
  561. package/dist/index.js.map +1 -1
  562. package/dist/optimization/batch-prompts.d.ts +27 -0
  563. package/dist/optimization/batch-prompts.d.ts.map +1 -0
  564. package/dist/optimization/batch-prompts.js +178 -0
  565. package/dist/optimization/batch-prompts.js.map +1 -0
  566. package/dist/optimization/context-cache.d.ts +45 -0
  567. package/dist/optimization/context-cache.d.ts.map +1 -0
  568. package/dist/optimization/context-cache.js +149 -0
  569. package/dist/optimization/context-cache.js.map +1 -0
  570. package/dist/optimization/smart-validation.d.ts +43 -0
  571. package/dist/optimization/smart-validation.d.ts.map +1 -0
  572. package/dist/optimization/smart-validation.js +137 -0
  573. package/dist/optimization/smart-validation.js.map +1 -0
  574. package/dist/state/storage.d.ts +1 -1
  575. package/dist/state/storage.d.ts.map +1 -1
  576. package/dist/state/storage.js +2 -1
  577. package/dist/state/storage.js.map +1 -1
  578. package/dist/stdio.js +186 -0
  579. package/dist/stdio.js.map +1 -1
  580. package/dist/tasks/task-manager.d.ts +30 -0
  581. package/dist/tasks/task-manager.d.ts.map +1 -0
  582. package/dist/tasks/task-manager.js +290 -0
  583. package/dist/tasks/task-manager.js.map +1 -0
  584. package/dist/tools/atualizar-tarefa.d.ts +17 -0
  585. package/dist/tools/atualizar-tarefa.d.ts.map +1 -0
  586. package/dist/tools/atualizar-tarefa.js +200 -0
  587. package/dist/tools/atualizar-tarefa.js.map +1 -0
  588. package/dist/tools/configurar-modo.d.ts +10 -0
  589. package/dist/tools/configurar-modo.d.ts.map +1 -0
  590. package/dist/tools/configurar-modo.js +121 -0
  591. package/dist/tools/configurar-modo.js.map +1 -0
  592. package/dist/tools/contexto.d.ts.map +1 -1
  593. package/dist/tools/contexto.js +35 -4
  594. package/dist/tools/contexto.js.map +1 -1
  595. package/dist/tools/criar-tarefa.d.ts +17 -0
  596. package/dist/tools/criar-tarefa.d.ts.map +1 -0
  597. package/dist/tools/criar-tarefa.js +132 -0
  598. package/dist/tools/criar-tarefa.js.map +1 -0
  599. package/dist/tools/discovery.d.ts +121 -0
  600. package/dist/tools/discovery.d.ts.map +1 -0
  601. package/dist/tools/discovery.js +344 -0
  602. package/dist/tools/discovery.js.map +1 -0
  603. package/dist/tools/fase1/checkpoint.tools.d.ts +150 -0
  604. package/dist/tools/fase1/checkpoint.tools.d.ts.map +1 -0
  605. package/dist/tools/fase1/checkpoint.tools.js +165 -0
  606. package/dist/tools/fase1/checkpoint.tools.js.map +1 -0
  607. package/dist/tools/fase1/knowledge.tools.d.ts +265 -0
  608. package/dist/tools/fase1/knowledge.tools.d.ts.map +1 -0
  609. package/dist/tools/fase1/knowledge.tools.js +209 -0
  610. package/dist/tools/fase1/knowledge.tools.js.map +1 -0
  611. package/dist/tools/fase1/misc.tools.d.ts +113 -0
  612. package/dist/tools/fase1/misc.tools.d.ts.map +1 -0
  613. package/dist/tools/fase1/misc.tools.js +99 -0
  614. package/dist/tools/fase1/misc.tools.js.map +1 -0
  615. package/dist/tools/fase1/validation.tools.d.ts +103 -0
  616. package/dist/tools/fase1/validation.tools.d.ts.map +1 -0
  617. package/dist/tools/fase1/validation.tools.js +174 -0
  618. package/dist/tools/fase1/validation.tools.js.map +1 -0
  619. package/dist/tools/fluxos-alternativos.js +4 -4
  620. package/dist/tools/fluxos-alternativos.js.map +1 -1
  621. package/dist/tools/gerar-contrato-api.d.ts +15 -0
  622. package/dist/tools/gerar-contrato-api.d.ts.map +1 -0
  623. package/dist/tools/gerar-contrato-api.js +216 -0
  624. package/dist/tools/gerar-contrato-api.js.map +1 -0
  625. package/dist/tools/index.d.ts.map +1 -1
  626. package/dist/tools/index.js +14 -0
  627. package/dist/tools/index.js.map +1 -1
  628. package/dist/tools/iniciar-projeto.d.ts +12 -0
  629. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  630. package/dist/tools/iniciar-projeto.js +92 -29
  631. package/dist/tools/iniciar-projeto.js.map +1 -1
  632. package/dist/tools/listar-tarefas.d.ts +16 -0
  633. package/dist/tools/listar-tarefas.d.ts.map +1 -0
  634. package/dist/tools/listar-tarefas.js +215 -0
  635. package/dist/tools/listar-tarefas.js.map +1 -0
  636. package/dist/tools/phase2/architecture.tools.d.ts +37 -0
  637. package/dist/tools/phase2/architecture.tools.d.ts.map +1 -0
  638. package/dist/tools/phase2/architecture.tools.js +51 -0
  639. package/dist/tools/phase2/architecture.tools.js.map +1 -0
  640. package/dist/tools/phase2/decision.tools.d.ts +61 -0
  641. package/dist/tools/phase2/decision.tools.d.ts.map +1 -0
  642. package/dist/tools/phase2/decision.tools.js +69 -0
  643. package/dist/tools/phase2/decision.tools.js.map +1 -0
  644. package/dist/tools/phase2/index.d.ts +8 -0
  645. package/dist/tools/phase2/index.d.ts.map +1 -0
  646. package/dist/tools/phase2/index.js +16 -0
  647. package/dist/tools/phase2/index.js.map +1 -0
  648. package/dist/tools/phase2/validation.tools.d.ts +40 -0
  649. package/dist/tools/phase2/validation.tools.d.ts.map +1 -0
  650. package/dist/tools/phase2/validation.tools.js +43 -0
  651. package/dist/tools/phase2/validation.tools.js.map +1 -0
  652. package/dist/tools/phase3/atam.tools.d.ts +26 -0
  653. package/dist/tools/phase3/atam.tools.d.ts.map +1 -0
  654. package/dist/tools/phase3/atam.tools.js +48 -0
  655. package/dist/tools/phase3/atam.tools.js.map +1 -0
  656. package/dist/tools/phase3/consistency.tools.d.ts +15 -0
  657. package/dist/tools/phase3/consistency.tools.d.ts.map +1 -0
  658. package/dist/tools/phase3/consistency.tools.js +20 -0
  659. package/dist/tools/phase3/consistency.tools.js.map +1 -0
  660. package/dist/tools/phase3/context.tools.d.ts +25 -0
  661. package/dist/tools/phase3/context.tools.d.ts.map +1 -0
  662. package/dist/tools/phase3/context.tools.js +32 -0
  663. package/dist/tools/phase3/context.tools.js.map +1 -0
  664. package/dist/tools/phase3/growth.tools.d.ts +28 -0
  665. package/dist/tools/phase3/growth.tools.d.ts.map +1 -0
  666. package/dist/tools/phase3/growth.tools.js +32 -0
  667. package/dist/tools/phase3/growth.tools.js.map +1 -0
  668. package/dist/tools/phase3/index.d.ts +10 -0
  669. package/dist/tools/phase3/index.d.ts.map +1 -0
  670. package/dist/tools/phase3/index.js +10 -0
  671. package/dist/tools/phase3/index.js.map +1 -0
  672. package/dist/tools/phase3/roadmap.tools.d.ts +41 -0
  673. package/dist/tools/phase3/roadmap.tools.d.ts.map +1 -0
  674. package/dist/tools/phase3/roadmap.tools.js +44 -0
  675. package/dist/tools/phase3/roadmap.tools.js.map +1 -0
  676. package/dist/tools/phase3/strangler.tools.d.ts +37 -0
  677. package/dist/tools/phase3/strangler.tools.d.ts.map +1 -0
  678. package/dist/tools/phase3/strangler.tools.js +44 -0
  679. package/dist/tools/phase3/strangler.tools.js.map +1 -0
  680. package/dist/tools/proximo.d.ts.map +1 -1
  681. package/dist/tools/proximo.js +44 -11
  682. package/dist/tools/proximo.js.map +1 -1
  683. package/dist/tools/status.d.ts.map +1 -1
  684. package/dist/tools/status.js +18 -5
  685. package/dist/tools/status.js.map +1 -1
  686. package/dist/tools/validar-gate.d.ts.map +1 -1
  687. package/dist/tools/validar-gate.js +17 -0
  688. package/dist/tools/validar-gate.js.map +1 -1
  689. package/dist/types/config.d.ts +46 -0
  690. package/dist/types/config.d.ts.map +1 -0
  691. package/dist/types/config.js +162 -0
  692. package/dist/types/config.js.map +1 -0
  693. package/dist/types/index.d.ts +39 -0
  694. package/dist/types/index.d.ts.map +1 -1
  695. package/dist/types/index.js.map +1 -1
  696. package/dist/types/tasks.d.ts +100 -0
  697. package/dist/types/tasks.d.ts.map +1 -0
  698. package/dist/types/tasks.js +2 -0
  699. package/dist/types/tasks.js.map +1 -0
  700. package/dist/utils/__tests__/prompt-mapper.test.d.ts +2 -0
  701. package/dist/utils/__tests__/prompt-mapper.test.d.ts.map +1 -0
  702. package/dist/utils/__tests__/prompt-mapper.test.js +184 -0
  703. package/dist/utils/__tests__/prompt-mapper.test.js.map +1 -0
  704. package/dist/utils/history.d.ts +10 -0
  705. package/dist/utils/history.d.ts.map +1 -1
  706. package/dist/utils/history.js +12 -1
  707. package/dist/utils/history.js.map +1 -1
  708. package/dist/utils/ide-paths.d.ts +61 -0
  709. package/dist/utils/ide-paths.d.ts.map +1 -0
  710. package/dist/utils/ide-paths.js +110 -0
  711. package/dist/utils/ide-paths.js.map +1 -0
  712. package/dist/utils/prompt-mapper.d.ts +48 -0
  713. package/dist/utils/prompt-mapper.d.ts.map +1 -1
  714. package/dist/utils/prompt-mapper.js +104 -0
  715. package/dist/utils/prompt-mapper.js.map +1 -1
  716. package/package.json +5 -5
  717. package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +0 -250
  718. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +0 -278
  719. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +0 -261
  720. package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +0 -258
  721. package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +0 -119
  722. package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +0 -147
  723. package/dist/content/guides/Checklist Mestre de Entrega.md +0 -68
  724. package/dist/content/guides/Gates de Qualidade.md +0 -209
  725. package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +0 -355
  726. package/dist/content/guides/Guia de Chaos Engineering.md +0 -267
  727. package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +0 -352
  728. package/dist/content/guides/Guia de Migrations Zero-Downtime.md +0 -311
  729. package/dist/content/guides/Guia de Multi-tenancy.md +0 -368
  730. package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +0 -195
  731. package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +0 -162
  732. package/dist/content/guides/Guia de SLOs e Error Budgets.md +0 -315
  733. package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +0 -93
  734. package/dist/content/guides/Rules base.md +0 -90
  735. package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +0 -364
  736. package/dist/content/prompts/README.md +0 -203
  737. package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +0 -257
  738. package/dist/content/prompts/apis/design-api-rest.md +0 -303
  739. package/dist/content/prompts/apis/idempotencia.md +0 -254
  740. package/dist/content/prompts/apis/versionamento.md +0 -313
  741. package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +0 -190
  742. package/dist/content/prompts/arquitetura/clean-architecture.md +0 -151
  743. package/dist/content/prompts/arquitetura/multi-tenancy.md +0 -235
  744. package/dist/content/prompts/database/migrations-zero-downtime.md +0 -192
  745. package/dist/content/prompts/database/otimizacao-queries.md +0 -296
  746. package/dist/content/prompts/desenvolvimento/code-review.md +0 -301
  747. package/dist/content/prompts/desenvolvimento/gerar-servico.md +0 -271
  748. package/dist/content/prompts/devops/docker-compose.md +0 -336
  749. package/dist/content/prompts/devops/feature-flags.md +0 -374
  750. package/dist/content/prompts/devops/kubernetes-deploy.md +0 -460
  751. package/dist/content/prompts/devops/pipeline-cicd.md +0 -358
  752. package/dist/content/prompts/devops/terraform-iac.md +0 -502
  753. package/dist/content/prompts/escalabilidade/analise-performance.md +0 -240
  754. package/dist/content/prompts/escalabilidade/analise-performance.txt +0 -94
  755. package/dist/content/prompts/escalabilidade/caching.md +0 -255
  756. package/dist/content/prompts/observabilidade/chaos-testing.md +0 -237
  757. package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +0 -263
  758. package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +0 -134
  759. package/dist/content/prompts/observabilidade/slos.md +0 -215
  760. package/dist/content/prompts/produto/discovery-inicial.md +0 -203
  761. package/dist/content/prompts/produto/discovery-inicial.txt +0 -33
  762. package/dist/content/prompts/requisitos/refinar-requisitos.md +0 -232
  763. package/dist/content/prompts/requisitos/refinar-requisitos.txt +0 -40
  764. package/dist/content/prompts/seguranca/analise-seguranca.md +0 -243
  765. package/dist/content/prompts/seguranca/pentest-checklist.md +0 -333
  766. package/dist/content/prompts/seguranca/rate-limiting.md +0 -356
  767. package/dist/content/prompts/seguranca/revisao-lgpd.md +0 -227
  768. package/dist/content/prompts/seguranca/threat-modeling.md +0 -224
  769. package/dist/content/prompts/testes/contract-testing.md +0 -340
  770. package/dist/content/prompts/testes/gerar-testes-unitarios.md +0 -474
  771. package/dist/content/prompts/testes/testes-e2e.md +0 -460
  772. package/dist/content/prompts/testes/testes-integracao.md +0 -418
  773. package/dist/content/prompts/testes/testes-performance.md +0 -458
  774. package/dist/content/prompts/ux/gerar-ui-stitch.md +0 -151
  775. package/dist/content/specialists/Especialista em Acessibilidade.md +0 -266
  776. package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +0 -434
  777. package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +0 -358
  778. package/dist/content/specialists/Especialista em Arquitetura de Software.md +0 -177
  779. package/dist/content/specialists/Especialista em Banco de Dados.md +0 -260
  780. package/dist/content/specialists/Especialista em Contrato de API.md +0 -172
  781. package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +0 -246
  782. package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +0 -191
  783. package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +0 -477
  784. package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +0 -241
  785. package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +0 -417
  786. package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +0 -294
  787. package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +0 -227
  788. package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +0 -299
  789. package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +0 -179
  790. package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +0 -179
  791. package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +0 -410
  792. package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +0 -248
  793. package/dist/content/specialists/Especialista em Observabilidade.md +0 -415
  794. package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +0 -373
  795. package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +0 -341
  796. package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +0 -419
  797. package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +0 -508
  798. package/dist/content/specialists/Especialista em UX Design.md +0 -453
  799. package/dist/content/specialists/INDEX.md +0 -43
  800. package/dist/content/templates/PRD.md +0 -165
  801. package/dist/content/templates/README.md +0 -65
  802. package/dist/content/templates/adr.md +0 -103
  803. package/dist/content/templates/arquitetura.md +0 -279
  804. package/dist/content/templates/backlog.md +0 -185
  805. package/dist/content/templates/checklist-seguranca.md +0 -180
  806. package/dist/content/templates/contexto.md +0 -120
  807. package/dist/content/templates/criterios-aceite.md +0 -99
  808. package/dist/content/templates/design-banco.md +0 -270
  809. package/dist/content/templates/design-doc.md +0 -240
  810. package/dist/content/templates/feature.md +0 -88
  811. package/dist/content/templates/historia-backend.md +0 -84
  812. package/dist/content/templates/historia-frontend.md +0 -75
  813. package/dist/content/templates/historia-usuario.md +0 -125
  814. package/dist/content/templates/mapa-navegacao.md +0 -133
  815. package/dist/content/templates/matriz-rastreabilidade.md +0 -121
  816. package/dist/content/templates/modelo-dominio.md +0 -219
  817. package/dist/content/templates/plano-testes.md +0 -199
  818. package/dist/content/templates/prototipo-stitch.md +0 -138
  819. package/dist/content/templates/requisitos.md +0 -162
  820. package/dist/content/templates/slo-sli.md +0 -197
  821. /package/dist/content/{guides/Guia de Debugging com IA.md → skills/specialist-debugging-troubleshooting/resources/reference/debugging-ai-guide.md} +0 -0
  822. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-bounded-contexts.md +0 -0
  823. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-cqrs.md +0 -0
  824. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/modelo-dominio.md +0 -0
@@ -0,0 +1,1024 @@
1
+ # Guia Técnico de Estratégia de Testes
2
+
3
+ ## Visão Geral
4
+
5
+ Guia completo para implementação de estratégias modernas de testes, cobrindo desde planejamento inicial até automação avançada e monitoramento contínuo.
6
+
7
+ ---
8
+
9
+ ## Capítulo 1: Fundamentos de Estratégia de Testes
10
+
11
+ ### 1.1 Princípios da Pirâmide de Testes
12
+
13
+ #### Conceito
14
+ A pirâmide de testes é um modelo que distribui os tipos de teste baseado em velocidade, custo e confiabilidade:
15
+
16
+ ```
17
+ /\ E2E Tests (10%)
18
+ / \ Lentos, caros, frágeis
19
+ /----\ Testam fluxos completos
20
+ / \ Experiência do usuário
21
+ /--------\
22
+ / \ Integration Tests (20%)
23
+ /------------\ Média velocidade, custo moderado
24
+ / \ Testam interações entre componentes
25
+ /----------------\ APIs, bancos, serviços
26
+ /------------------\
27
+ / \ Unit Tests (70%)
28
+ / \ Rápidos, baratos, confiáveis
29
+ /------------------------\ Testam unidades isoladas
30
+ ```
31
+
32
+ #### Justificativa dos Percentuais
33
+
34
+ **70% Unitários:**
35
+ - Executam em milissegundos
36
+ - Isolados, sem dependências externas
37
+ - Identificam bugs rapidamente
38
+ - Facilitam refatoração segura
39
+ - Baixo custo de manutenção
40
+
41
+ **20% Integração:**
42
+ - Validam interações entre componentes
43
+ - Detectam problemas de comunicação
44
+ - Testam contratos de APIs
45
+ - Configurações de bancos e serviços
46
+ - Médio custo/benefício
47
+
48
+ **10% E2E:**
49
+ - Validam fluxos completos do usuário
50
+ - Testam integração real do sistema
51
+ - Caros e lentos de executar
52
+ - Frágeis e difíceis de debugar
53
+ - Alto valor para validação final
54
+
55
+ ### 1.2 Fatores que Influenciam a Distribuição
56
+
57
+ | Fator | Impacto na Pirâmide | Exemplo de Ajuste |
58
+ |-------|-------------------|-------------------|
59
+ | **Complexidade do Sistema** | ↑ Integração, ↓ E2E | Microserviços: 60/30/10 |
60
+ | **Risco de Negócio** | ↑ E2E, ↑ Unitários | Financeiro: 80/15/5 |
61
+ | **Time-to-Market** | ↑ Unitários, ↓ E2E | Startup: 85/10/5 |
62
+ | **Regulamentação** | ↑ Integração, ↑ E2E | Saúde: 70/25/5 |
63
+ | **Maturidade da Equipe** | ↑ Todos os tipos | Senior: 60/30/10 |
64
+
65
+ ---
66
+
67
+ ## Capítulo 2: Seleção de Ferramentas
68
+
69
+ ### 2.1 Framework de Decisão
70
+
71
+ #### Critérios de Avaliação
72
+
73
+ | Critério | Peso | Descrição |
74
+ |----------|------|-----------|
75
+ | **Performance** | 25% | Velocidade de execução e resource usage |
76
+ | **Ecossistema** | 20% | Plugins, integrações, comunidade |
77
+ | **Curva de Aprendizado** | 15% | Facilidade para a equipe |
78
+ | **Manutenibilidade** | 20% | Facilidade de manter e evoluir |
79
+ | **Custo** | 10% | Licenciamento e infraestrutura |
80
+ | **Integração CI/CD** | 10% | Compatibilidade com pipeline |
81
+
82
+ #### Matriz de Decisão por Stack
83
+
84
+ ### JavaScript/TypeScript
85
+
86
+ ```javascript
87
+ // Recomendação para React/Node.js
88
+ const testingStack = {
89
+ unit: {
90
+ framework: "Jest",
91
+ reasons: [
92
+ "Zero configuration required",
93
+ "Built-in mocking and coverage",
94
+ "Great TypeScript support",
95
+ "Large ecosystem and community"
96
+ ],
97
+ alternatives: ["Vitest", "Mocha + Chai"],
98
+ setup: `
99
+ npm install --save-dev jest @types/jest ts-jest
100
+ npx ts-jest config:init
101
+ `
102
+ },
103
+
104
+ integration: {
105
+ framework: "Jest + Supertest",
106
+ reasons: [
107
+ "Consistent with unit tests",
108
+ "HTTP assertion library",
109
+ "Easy API testing"
110
+ ],
111
+ alternatives: ["Mocha + Supertest", "Axios Mock Adapter"],
112
+ setup: `
113
+ npm install --save-dev supertest @types/supertest
114
+ `
115
+ },
116
+
117
+ e2e: {
118
+ framework: "Playwright",
119
+ reasons: [
120
+ "Cross-browser support",
121
+ "Auto-waits and retries",
122
+ "Great debugging tools",
123
+ "Parallel execution"
124
+ ],
125
+ alternatives: ["Cypress", "Selenium"],
126
+ setup: `
127
+ npm install --save-dev @playwright/test
128
+ npx playwright install
129
+ `
130
+ },
131
+
132
+ performance: {
133
+ framework: "k6",
134
+ reasons: [
135
+ "Developer-friendly scripting",
136
+ "Great metrics and reporting",
137
+ "Cloud execution support",
138
+ "Load testing as code"
139
+ ],
140
+ alternatives: ["Artillery", "JMeter"],
141
+ setup: `
142
+ npm install -g k6
143
+ `
144
+ }
145
+ };
146
+ ```
147
+
148
+ ### Python
149
+
150
+ ```python
151
+ # Recomendação para Django/FastAPI
152
+ testing_stack = {
153
+ "unit": {
154
+ "framework": "pytest",
155
+ "reasons": [
156
+ "Powerful fixtures system",
157
+ "Great plugin ecosystem",
158
+ "Detailed assertion messages",
159
+ "Easy parametrization"
160
+ ],
161
+ "alternatives": ["unittest", "nose2"],
162
+ "setup": """
163
+ pip install pytest pytest-cov pytest-mock
164
+ """
165
+ },
166
+
167
+ "integration": {
168
+ "framework": "pytest + testcontainers",
169
+ "reasons": [
170
+ "Real database testing",
171
+ "Docker containers isolation",
172
+ "Consistent with pytest",
173
+ "Production-like environment"
174
+ ],
175
+ "alternatives": ["pytest + factory_boy", "Django test framework"],
176
+ "setup": """
177
+ pip install testcontainers pytest-docker
178
+ """
179
+ },
180
+
181
+ "e2e": {
182
+ "framework": "Playwright Python",
183
+ "reasons": [
184
+ "Same API as JavaScript version",
185
+ "Great Python integration",
186
+ "Async/await support",
187
+ "Cross-language consistency"
188
+ ],
189
+ "alternatives": ["Selenium + pytest", "Robot Framework"],
190
+ "setup": """
191
+ pip install pytest-playwright
192
+ playwright install
193
+ """
194
+ }
195
+ }
196
+ ```
197
+
198
+ ### Java/Spring
199
+
200
+ ```java
201
+ // Recomendação para Spring Boot
202
+ @Component
203
+ public class TestingStack {
204
+
205
+ // Unitários
206
+ @Bean
207
+ public TestingFramework unitFramework() {
208
+ return TestingFramework.builder()
209
+ .name("JUnit 5")
210
+ .reasons(Arrays.asList(
211
+ "Modern testing features",
212
+ "Great IDE support",
213
+ "Parameterized tests",
214
+ "Extension model"
215
+ ))
216
+ .alternatives(Arrays.asList("TestNG", "JUnit 4"))
217
+ .build();
218
+ }
219
+
220
+ // Mocking
221
+ @Bean
222
+ public MockingFramework mockingFramework() {
223
+ return MockingFramework.builder()
224
+ .name("Mockito")
225
+ .reasons(Arrays.asList(
226
+ "Clean and simple API",
227
+ "Great verification features",
228
+ "Annotation support",
229
+ "Spring Boot Test integration"
230
+ ))
231
+ .build();
232
+ }
233
+
234
+ // Integração
235
+ @Bean
236
+ public IntegrationTestingFramework integrationFramework() {
237
+ return IntegrationTestingFramework.builder()
238
+ .name("Spring Boot Test")
239
+ .reasons(Arrays.asList(
240
+ "@SpringBootTest annotation",
241
+ "Testcontainers integration",
242
+ "Auto-configuration",
243
+ "Slice testing support"
244
+ ))
245
+ .build();
246
+ }
247
+ }
248
+ ```
249
+
250
+ ---
251
+
252
+ ## Capítulo 3: Arquitetura de Testes
253
+
254
+ ### 3.1 Estrutura de Diretórios
255
+
256
+ ```
257
+ tests/
258
+ ├── unit/ # Testes unitários isolados
259
+ │ ├── services/
260
+ │ │ ├── user.service.spec.ts
261
+ │ │ └── order.service.spec.ts
262
+ │ ├── repositories/
263
+ │ │ ├── user.repository.spec.ts
264
+ │ │ └── product.repository.spec.ts
265
+ │ └── utils/
266
+ │ ├── validation.spec.ts
267
+ │ └── formatting.spec.ts
268
+ ├── integration/ # Testes de integração
269
+ │ ├── api/
270
+ │ │ ├── user.api.spec.ts
271
+ │ │ └── order.api.spec.ts
272
+ │ ├── database/
273
+ │ │ ├── user.repository.integration.spec.ts
274
+ │ │ └── migration.integration.spec.ts
275
+ │ └── external/
276
+ │ ├── payment.integration.spec.ts
277
+ │ └── notification.integration.spec.ts
278
+ ├── e2e/ # Testes end-to-end
279
+ │ ├── user-flows/
280
+ │ │ ├── login.spec.ts
281
+ │ │ ├── registration.spec.ts
282
+ │ │ └── profile.spec.ts
283
+ │ ├── business-flows/
284
+ │ │ ├── purchase.spec.ts
285
+ │ │ ├── checkout.spec.ts
286
+ │ │ └── refund.spec.ts
287
+ │ └── admin-flows/
288
+ │ ├── user-management.spec.ts
289
+ │ └── reports.spec.ts
290
+ ├── performance/ # Testes de performance
291
+ │ ├── load/
292
+ │ │ ├── api-load.js
293
+ │ │ └── database-load.js
294
+ │ ├── stress/
295
+ │ │ ├── peak-load.js
296
+ │ │ └── sustained-load.js
297
+ │ └── spike/
298
+ │ └── traffic-spike.js
299
+ ├── security/ # Testes de segurança
300
+ │ ├── authentication.spec.ts
301
+ │ ├── authorization.spec.ts
302
+ │ ├── input-validation.spec.ts
303
+ │ └── owasp-tests.spec.ts
304
+ ├── fixtures/ # Dados de teste
305
+ │ ├── users.json
306
+ │ ├── products.json
307
+ │ └── orders.json
308
+ ├── helpers/ # Utilitários de teste
309
+ │ ├── database.helper.ts
310
+ │ ├── auth.helper.ts
311
+ │ └── api.helper.ts
312
+ └── config/ # Configurações
313
+ ├── jest.config.js
314
+ ├── playwright.config.ts
315
+ └── test-setup.ts
316
+ ```
317
+
318
+ ### 3.2 Patterns de Teste
319
+
320
+ #### Pattern 1: Test Data Builder
321
+
322
+ ```typescript
323
+ // test/builders/user.builder.ts
324
+ export class UserBuilder {
325
+ private user: Partial<User> = {};
326
+
327
+ static aUser(): UserBuilder {
328
+ return new UserBuilder();
329
+ }
330
+
331
+ withId(id: string): UserBuilder {
332
+ this.user.id = id;
333
+ return this;
334
+ }
335
+
336
+ withEmail(email: string): UserBuilder {
337
+ this.user.email = email;
338
+ return this;
339
+ }
340
+
341
+ withName(name: string): UserBuilder {
342
+ this.user.name = name;
343
+ return this;
344
+ }
345
+
346
+ asAdmin(): UserBuilder {
347
+ this.user.role = 'ADMIN';
348
+ return this;
349
+ }
350
+
351
+ build(): User {
352
+ return {
353
+ id: this.user.id || 'user_123',
354
+ email: this.user.email || 'test@example.com',
355
+ name: this.user.name || 'Test User',
356
+ role: this.user.role || 'USER',
357
+ createdAt: new Date(),
358
+ updatedAt: new Date()
359
+ };
360
+ }
361
+ }
362
+
363
+ // Uso nos testes
364
+ const user = UserBuilder.aUser()
365
+ .withEmail('admin@test.com')
366
+ .asAdmin()
367
+ .build();
368
+ ```
369
+
370
+ #### Pattern 2: Page Object Model (E2E)
371
+
372
+ ```typescript
373
+ // tests/e2e/pages/login.page.ts
374
+ export class LoginPage {
375
+ constructor(private page: Page) {}
376
+
377
+ async goto(): Promise<void> {
378
+ await this.page.goto('/login');
379
+ }
380
+
381
+ async login(email: string, password: string): Promise<void> {
382
+ await this.page.fill('[data-testid=email-input]', email);
383
+ await this.page.fill('[data-testid=password-input]', password);
384
+ await this.page.click('[data-testid=login-button]');
385
+ }
386
+
387
+ async getErrorMessage(): Promise<string> {
388
+ return await this.page.textContent('[data-testid=error-message]');
389
+ }
390
+
391
+ async isLoggedIn(): Promise<boolean> {
392
+ return await this.page.isVisible('[data-testid=user-menu]');
393
+ }
394
+ }
395
+
396
+ // Uso nos testes
397
+ test('should login successfully', async ({ page }) => {
398
+ const loginPage = new LoginPage(page);
399
+
400
+ await loginPage.goto();
401
+ await loginPage.login('user@test.com', 'password');
402
+
403
+ expect(await loginPage.isLoggedIn()).toBe(true);
404
+ });
405
+ ```
406
+
407
+ #### Pattern 3: Test Containers
408
+
409
+ ```python
410
+ # tests/conftest.py
411
+ import pytest
412
+ from testcontainers.postgres import PostgresContainer
413
+ from testcontainers.redis import RedisContainer
414
+
415
+ @pytest.fixture(scope="session")
416
+ def postgres_container():
417
+ with PostgresContainer("postgres:13") as postgres:
418
+ yield postgres
419
+
420
+ @pytest.fixture(scope="session")
421
+ def redis_container():
422
+ with RedisContainer("redis:6") as redis:
423
+ yield redis
424
+
425
+ @pytest.fixture(scope="function")
426
+ def test_db(postgres_container):
427
+ engine = create_engine(postgres_container.get_connection_url())
428
+ Base.metadata.create_all(engine)
429
+ yield engine
430
+ Base.metadata.drop_all(engine)
431
+ ```
432
+
433
+ ---
434
+
435
+ ## Capítulo 4: Automação e Pipeline
436
+
437
+ ### 4.1 Estrutura de Pipeline CI/CD
438
+
439
+ ```yaml
440
+ # .github/workflows/testing.yml
441
+ name: Testing Pipeline
442
+
443
+ on:
444
+ push:
445
+ branches: [main, develop]
446
+ pull_request:
447
+ branches: [main]
448
+
449
+ jobs:
450
+ unit-tests:
451
+ runs-on: ubuntu-latest
452
+ strategy:
453
+ matrix:
454
+ node-version: [16.x, 18.x]
455
+
456
+ steps:
457
+ - uses: actions/checkout@v3
458
+
459
+ - name: Setup Node.js
460
+ uses: actions/setup-node@v3
461
+ with:
462
+ node-version: ${{ matrix.node-version }}
463
+ cache: 'npm'
464
+
465
+ - name: Install dependencies
466
+ run: npm ci
467
+
468
+ - name: Run unit tests
469
+ run: |
470
+ npm run test:unit -- --coverage --watchAll=false
471
+ npm run test:coverage:report
472
+
473
+ - name: Upload coverage
474
+ uses: codecov/codecov-action@v3
475
+ with:
476
+ file: ./coverage/lcov.info
477
+
478
+ integration-tests:
479
+ runs-on: ubuntu-latest
480
+ services:
481
+ postgres:
482
+ image: postgres:13
483
+ env:
484
+ POSTGRES_PASSWORD: test
485
+ POSTGRES_DB: testdb
486
+ options: >-
487
+ --health-cmd pg_isready
488
+ --health-interval 10s
489
+ --health-timeout 5s
490
+ --health-retries 5
491
+
492
+ redis:
493
+ image: redis:6
494
+ options: >-
495
+ --health-cmd "redis-cli ping"
496
+ --health-interval 10s
497
+ --health-timeout 5s
498
+ --health-retries 5
499
+
500
+ steps:
501
+ - uses: actions/checkout@v3
502
+
503
+ - name: Setup Node.js
504
+ uses: actions/setup-node@v3
505
+ with:
506
+ node-version: 18.x
507
+ cache: 'npm'
508
+
509
+ - name: Install dependencies
510
+ run: npm ci
511
+
512
+ - name: Run integration tests
513
+ run: npm run test:integration
514
+ env:
515
+ DATABASE_URL: postgresql://postgres:test@localhost:5432/testdb
516
+ REDIS_URL: redis://localhost:6379
517
+
518
+ e2e-tests:
519
+ runs-on: ubuntu-latest
520
+ steps:
521
+ - uses: actions/checkout@v3
522
+
523
+ - name: Setup Node.js
524
+ uses: actions/setup-node@v3
525
+ with:
526
+ node-version: 18.x
527
+ cache: 'npm'
528
+
529
+ - name: Install dependencies
530
+ run: npm ci
531
+
532
+ - name: Install Playwright
533
+ run: npx playwright install --with-deps
534
+
535
+ - name: Build application
536
+ run: npm run build
537
+
538
+ - name: Start application
539
+ run: npm run start:test &
540
+ wait-on http://localhost:3000
541
+
542
+ - name: Run E2E tests
543
+ run: npx playwright test
544
+
545
+ - name: Upload test results
546
+ uses: actions/upload-artifact@v3
547
+ if: always()
548
+ with:
549
+ name: playwright-report
550
+ path: playwright-report/
551
+
552
+ performance-tests:
553
+ runs-on: ubuntu-latest
554
+ if: github.ref == 'refs/heads/main'
555
+ steps:
556
+ - uses: actions/checkout@v3
557
+
558
+ - name: Setup k6
559
+ run: |
560
+ sudo gpg -k
561
+ sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
562
+ echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
563
+ sudo apt-get update
564
+ sudo apt-get install k6
565
+
566
+ - name: Run performance tests
567
+ run: k6 run tests/performance/api-load.js
568
+
569
+ - name: Upload performance results
570
+ uses: actions/upload-artifact@v3
571
+ with:
572
+ name: performance-results
573
+ path: performance-results.json
574
+
575
+ security-tests:
576
+ runs-on: ubuntu-latest
577
+ steps:
578
+ - uses: actions/checkout@v3
579
+
580
+ - name: Run security audit
581
+ run: npm audit --audit-level high
582
+
583
+ - name: Run SAST scan
584
+ uses: github/super-linter@v4
585
+ env:
586
+ DEFAULT_BRANCH: main
587
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
588
+ VALIDATE_JAVASCRIPT_ES: true
589
+ VALIDATE_TYPESCRIPT_ES: true
590
+
591
+ - name: Run dependency check
592
+ run: npx audit-ci --moderate
593
+ ```
594
+
595
+ ### 4.2 Quality Gates Automatizados
596
+
597
+ ```typescript
598
+ // scripts/quality-gates.ts
599
+ interface QualityMetrics {
600
+ coverage: number;
601
+ passRate: number;
602
+ performance: number;
603
+ security: number;
604
+ }
605
+
606
+ interface QualityGate {
607
+ name: string;
608
+ threshold: number;
609
+ weight: number;
610
+ metrics: keyof QualityMetrics;
611
+ }
612
+
613
+ const qualityGates: QualityGate[] = [
614
+ {
615
+ name: 'Code Coverage',
616
+ threshold: 80,
617
+ weight: 0.3,
618
+ metrics: 'coverage'
619
+ },
620
+ {
621
+ name: 'Test Pass Rate',
622
+ threshold: 95,
623
+ weight: 0.2,
624
+ metrics: 'passRate'
625
+ },
626
+ {
627
+ name: 'Performance Score',
628
+ threshold: 90,
629
+ weight: 0.3,
630
+ metrics: 'performance'
631
+ },
632
+ {
633
+ name: 'Security Score',
634
+ threshold: 85,
635
+ weight: 0.2,
636
+ metrics: 'security'
637
+ }
638
+ ];
639
+
640
+ export function calculateQualityScore(metrics: QualityMetrics): number {
641
+ let totalScore = 0;
642
+ let totalWeight = 0;
643
+
644
+ for (const gate of qualityGates) {
645
+ const metricValue = metrics[gate.metrics];
646
+ const gateScore = Math.min(metricValue / gate.threshold * 100, 100);
647
+
648
+ totalScore += gateScore * gate.weight;
649
+ totalWeight += gate.weight;
650
+ }
651
+
652
+ return totalScore / totalWeight;
653
+ }
654
+
655
+ export function validateQualityGates(metrics: QualityMetrics): {
656
+ passed: boolean;
657
+ score: number;
658
+ failedGates: string[];
659
+ } {
660
+ const score = calculateQualityScore(metrics);
661
+ const failedGates: string[] = [];
662
+
663
+ for (const gate of qualityGates) {
664
+ if (metrics[gate.metrics] < gate.threshold) {
665
+ failedGates.push(gate.name);
666
+ }
667
+ }
668
+
669
+ return {
670
+ passed: failedGates.length === 0 && score >= 75,
671
+ score,
672
+ failedGates
673
+ };
674
+ }
675
+ ```
676
+
677
+ ---
678
+
679
+ ## Capítulo 5: Monitoramento e Métricas
680
+
681
+ ### 5.1 Dashboard de Qualidade
682
+
683
+ ```typescript
684
+ // monitoring/quality-dashboard.ts
685
+ export interface QualityMetrics {
686
+ timestamp: Date;
687
+ coverage: {
688
+ overall: number;
689
+ statements: number;
690
+ branches: number;
691
+ functions: number;
692
+ lines: number;
693
+ };
694
+ tests: {
695
+ total: number;
696
+ passed: number;
697
+ failed: number;
698
+ skipped: number;
699
+ passRate: number;
700
+ duration: number;
701
+ };
702
+ performance: {
703
+ avgResponseTime: number;
704
+ p95ResponseTime: number;
705
+ p99ResponseTime: number;
706
+ throughput: number;
707
+ errorRate: number;
708
+ };
709
+ security: {
710
+ vulnerabilities: {
711
+ critical: number;
712
+ high: number;
713
+ medium: number;
714
+ low: number;
715
+ };
716
+ codeQuality: number;
717
+ };
718
+ }
719
+
720
+ export class QualityMonitor {
721
+ private metrics: QualityMetrics[] = [];
722
+
723
+ addMetrics(metrics: QualityMetrics): void {
724
+ this.metrics.push(metrics);
725
+ this.saveToDatabase(metrics);
726
+ this.updateDashboard(metrics);
727
+ }
728
+
729
+ getTrends(days: number): QualityMetrics[] {
730
+ const cutoff = new Date();
731
+ cutoff.setDate(cutoff.getDate() - days);
732
+
733
+ return this.metrics.filter(m => m.timestamp >= cutoff);
734
+ }
735
+
736
+ generateReport(): string {
737
+ const latest = this.metrics[this.metrics.length - 1];
738
+ const trends = this.getTrends(7);
739
+
740
+ return `
741
+ # Quality Report - ${latest.timestamp.toISOString()}
742
+
743
+ ## Overall Score: ${this.calculateScore(latest)}/100
744
+
745
+ ### Coverage
746
+ - Overall: ${latest.coverage.overall}%
747
+ - Statements: ${latest.coverage.statements}%
748
+ - Branches: ${latest.coverage.branches}%
749
+
750
+ ### Tests
751
+ - Total: ${latest.tests.total}
752
+ - Pass Rate: ${latest.tests.passRate}%
753
+ - Duration: ${latest.tests.duration}ms
754
+
755
+ ### Performance
756
+ - Avg Response: ${latest.performance.avgResponseTime}ms
757
+ - P95 Response: ${latest.performance.p95ResponseTime}ms
758
+ - Error Rate: ${latest.performance.errorRate}%
759
+
760
+ ### Security
761
+ - Critical Vulnerabilities: ${latest.security.vulnerabilities.critical}
762
+ - Code Quality: ${latest.security.codeQuality}
763
+
764
+ ## 7-Day Trends
765
+ ${this.generateTrendSection(trends)}
766
+ `;
767
+ }
768
+
769
+ private calculateScore(metrics: QualityMetrics): number {
770
+ const coverageScore = metrics.coverage.overall;
771
+ const testScore = metrics.tests.passRate;
772
+ const performanceScore = Math.max(0, 100 - (metrics.performance.p95ResponseTime / 10));
773
+ const securityScore = Math.max(0, 100 - (latest.security.vulnerabilities.critical * 20));
774
+
775
+ return (coverageScore + testScore + performanceScore + securityScore) / 4;
776
+ }
777
+ }
778
+ ```
779
+
780
+ ### 5.2 Alertas e Notificações
781
+
782
+ ```typescript
783
+ // monitoring/alerts.ts
784
+ export interface AlertRule {
785
+ name: string;
786
+ condition: (metrics: QualityMetrics) => boolean;
787
+ severity: 'low' | 'medium' | 'high' | 'critical';
788
+ message: (metrics: QualityMetrics) => string;
789
+ channels: ('slack' | 'email' | 'teams')[];
790
+ }
791
+
792
+ export const alertRules: AlertRule[] = [
793
+ {
794
+ name: 'Low Coverage',
795
+ condition: (m) => m.coverage.overall < 75,
796
+ severity: 'high',
797
+ message: (m) => `Code coverage dropped to ${m.coverage.overall}% (target: 80%)`,
798
+ channels: ['slack', 'email']
799
+ },
800
+ {
801
+ name: 'High Failure Rate',
802
+ condition: (m) => m.tests.passRate < 90,
803
+ severity: 'critical',
804
+ message: (m) => `Test pass rate is ${m.tests.passRate}% (${m.tests.failed} tests failing)`,
805
+ channels: ['slack', 'email', 'teams']
806
+ },
807
+ {
808
+ name: 'Performance Degradation',
809
+ condition: (m) => m.performance.p95ResponseTime > 500,
810
+ severity: 'medium',
811
+ message: (m) => `P95 response time is ${m.performance.p95ResponseTime}ms (target: <200ms)`,
812
+ channels: ['slack']
813
+ },
814
+ {
815
+ name: 'Security Vulnerability',
816
+ condition: (m) => m.security.vulnerabilities.critical > 0,
817
+ severity: 'critical',
818
+ message: (m) => `${m.security.vulnerabilities.critical} critical security vulnerabilities found`,
819
+ channels: ['slack', 'email', 'teams']
820
+ }
821
+ ];
822
+
823
+ export class AlertManager {
824
+ async checkAlerts(metrics: QualityMetrics): Promise<void> {
825
+ for (const rule of alertRules) {
826
+ if (rule.condition(metrics)) {
827
+ await this.sendAlert(rule, metrics);
828
+ }
829
+ }
830
+ }
831
+
832
+ private async sendAlert(rule: AlertRule, metrics: QualityMetrics): Promise<void> {
833
+ const message = rule.message(metrics);
834
+
835
+ for (const channel of rule.channels) {
836
+ switch (channel) {
837
+ case 'slack':
838
+ await this.sendSlackAlert(rule.severity, message);
839
+ break;
840
+ case 'email':
841
+ await this.sendEmailAlert(rule.severity, message);
842
+ break;
843
+ case 'teams':
844
+ await this.sendTeamsAlert(rule.severity, message);
845
+ break;
846
+ }
847
+ }
848
+ }
849
+
850
+ private async sendSlackAlert(severity: string, message: string): Promise<void> {
851
+ const webhook = process.env.SLACK_WEBHOOK_URL;
852
+ const color = this.getSeverityColor(severity);
853
+
854
+ await fetch(webhook, {
855
+ method: 'POST',
856
+ headers: { 'Content-Type': 'application/json' },
857
+ body: JSON.stringify({
858
+ attachments: [{
859
+ color,
860
+ text: message,
861
+ fields: [{
862
+ title: 'Severity',
863
+ value: severity.toUpperCase(),
864
+ short: true
865
+ }, {
866
+ title: 'Time',
867
+ value: new Date().toISOString(),
868
+ short: true
869
+ }]
870
+ }]
871
+ })
872
+ });
873
+ }
874
+
875
+ private getSeverityColor(severity: string): string {
876
+ const colors = {
877
+ low: 'good',
878
+ medium: 'warning',
879
+ high: 'danger',
880
+ critical: '#ff0000'
881
+ };
882
+ return colors[severity] || 'good';
883
+ }
884
+ }
885
+ ```
886
+
887
+ ---
888
+
889
+ ## Capítulo 6: Boas Práticas e Padrões
890
+
891
+ ### 6.1 Princípios FIRST
892
+
893
+ - **Fast:** Testes devem executar rapidamente
894
+ - **Independent:** Testes não devem depender uns dos outros
895
+ - **Repeatable:** Testes devem produzir os mesmos resultados
896
+ - **Self-Validating:** Testes devem ter pass/fail claro
897
+ - **Timely:** Testes devem ser escritos no momento certo
898
+
899
+ ### 6.2 Anti-Patterns Comuns
900
+
901
+ | Anti-Pattern | Problema | Solução |
902
+ |--------------|----------|---------|
903
+ | **Testes que dependem de ordem** | Frágeis e não determinísticos | Isolar testes, usar setup/teardown |
904
+ | **Testes muito longos** | Difíceis de debugar | Dividir em testes menores |
905
+ | **Mock excessivo** | Testes não validam comportamento real | Usar testes de integração |
906
+ | **Testes de implementação** | Quebram com refatoração | Testar comportamento, não código |
907
+ | **Dados de teste hardcoded** | Manutenção difícil | Usar factories e builders |
908
+
909
+ ### 6.3 Code Review Checklist
910
+
911
+ #### Para Testes Unitários
912
+ - [ ] Testa apenas uma unidade de código
913
+ - [ ] Usa mocks/stubs apropriadamente
914
+ - [ ] Nomes descritivos (deveria, quando, então)
915
+ - [ ] AAA pattern claro
916
+ - [ ] Edge cases cobertos
917
+ - [ ] Sem dependências externas
918
+
919
+ #### Para Testes de Integração
920
+ - [ ] Ambiente isolado (containers)
921
+ - [ ] Dados de teste consistentes
922
+ - [ ] Limpeza após execução
923
+ - [ ] Contratos validados
924
+ - [ ] Performance aceitável
925
+
926
+ #### Para Testes E2E
927
+ - [ ] Fluxos de usuário reais
928
+ - [ ] Seletores robustos (data-testid)
929
+ - [ ] Esperas explícitas
930
+ - [ ] Screenshots em falhas
931
+ - [ ] Paralelização configurada
932
+
933
+ ---
934
+
935
+ ## Capítulo 7: Troubleshooting e Debugging
936
+
937
+ ### 7.1 Problemas Comuns
938
+
939
+ #### Testes Flaky
940
+
941
+ **Causas:**
942
+ - Race conditions
943
+ - Timing issues
944
+ - Dependências externas
945
+ - Recursos não limpos
946
+
947
+ **Soluções:**
948
+ ```typescript
949
+ // Usar waits explícitos
950
+ await expect(page.locator('[data-testid=result]')).toBeVisible({
951
+ timeout: 5000
952
+ });
953
+
954
+ // Retry com backoff
955
+ const retry = async (fn, times = 3) => {
956
+ for (let i = 0; i < times; i++) {
957
+ try {
958
+ return await fn();
959
+ } catch (error) {
960
+ if (i === times - 1) throw error;
961
+ await new Promise(resolve => setTimeout(resolve, 1000 * Math.pow(2, i)));
962
+ }
963
+ }
964
+ };
965
+ ```
966
+
967
+ #### Performance Lenta
968
+
969
+ **Otimizações:**
970
+ ```typescript
971
+ // Parallel test execution
972
+ jest.config.js = {
973
+ maxWorkers: 4,
974
+ testTimeout: 10000
975
+ };
976
+
977
+ // Cache de dependências
978
+ beforeAll(async () => {
979
+ await setupTestDatabase();
980
+ });
981
+
982
+ // Lazy loading de dados
983
+ const getTestData = lazy(() => import('./test-data'));
984
+ ```
985
+
986
+ #### Memory Leaks
987
+
988
+ **Prevenção:**
989
+ ```typescript
990
+ afterEach(() => {
991
+ // Limpar mocks
992
+ jest.clearAllMocks();
993
+
994
+ // Fechar conexões
995
+ if (database) {
996
+ await database.close();
997
+ }
998
+
999
+ // Limpar DOM
1000
+ document.body.innerHTML = '';
1001
+ });
1002
+ ```
1003
+
1004
+ ---
1005
+
1006
+ ## Conclusão
1007
+
1008
+ Implementar uma estratégia de testes eficaz é um investimento contínuo que paga dividendos em qualidade, confiança e velocidade de entrega. Os princípios e padrões apresentados neste guia fornecem uma base sólida para construir uma cultura de qualidade sustentável.
1009
+
1010
+ ### Próximos Passos
1011
+
1012
+ 1. **Avaliar maturidade atual** da estratégia de testes
1013
+ 2. **Definir roadmap** de melhorias baseado nos gaps
1014
+ 3. **Implementar incrementalmente** começando pelos críticos
1015
+ 4. **Medir e monitorar** progresso continuamente
1016
+ 5. **Ajustar e evoluir** baseado em aprendizados
1017
+
1018
+ ### Recursos Adicionais
1019
+
1020
+ - [Testing Pyramid Blog Post](https://martinfowler.com/articles/practical-test-pyramid.html)
1021
+ - [Google Testing Blog](https://testing.googleblog.com/)
1022
+ - [Software Testing Fundamentals](https://www.guru99.com/software-testing-introduction.html)
1023
+
1024
+ Lembre-se: **Testes não são um custo, são um investimento na qualidade e sustentabilidade do seu software.**