@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,1126 @@
1
+ # Guia de Modelagem de Domínio
2
+
3
+ **Versão:** 1.0
4
+ **Data:** [DATA]
5
+ **Status:** [RASCUNHO/REVISÃO/APROVADO]
6
+
7
+ ---
8
+
9
+ ## 🎯 **Objetivo**
10
+
11
+ Este guia fornece um framework completo para modelagem de domínio usando Domain-Driven Design (DDD), permitindo criar modelos de negócio robustos, regras de negócio claras e arquitetura escalável.
12
+
13
+ ---
14
+
15
+ ## 📋 **Contexto**
16
+
17
+ **Especialista Responsável:** Modelagem e Arquitetura de Domínio com IA
18
+ **Fase:** 4 - Modelo de Domínio
19
+ **Artefatos Anteriores:** Requisitos, Design Doc
20
+ **Próximos Artefatos:** Modelo de Domínio, Arquitetura
21
+
22
+ ---
23
+
24
+ ## 🔄 **Metodologia DDD**
25
+
26
+ ### **Princípios Fundamentais**
27
+ - **Ubiquitous Language:** Linguagem ubíqua do negócio
28
+ - **Bounded Contexts:** Contextos delimitados
29
+ - **Aggregates:** Raízes de consistência
30
+ - **Entities:** Objetos com identidade
31
+ - **Value Objects:** Objetos sem identidade
32
+ - **Domain Events:** Eventos de domínio
33
+
34
+ ### **Fluxo de Trabalho**
35
+ ```
36
+ 1. Exploração do Domínio (1-2 dias)
37
+ 2. Identificação de Entidades (1 dia)
38
+ 3. Definição de Contextos (1 dia)
39
+ 4. Modelagem de Agregregados (2 dias)
40
+ 5. Especificação de Serviços (2 dias)
41
+ 6. Validação com Stakeholders (1 dia)
42
+ ```
43
+
44
+ ---
45
+
46
+ ## 📚 **Estrutura do Guia**
47
+
48
+ ### **1. Exploração do Domínio**
49
+
50
+ #### **Workshop de Descoberta**
51
+ ```markdown
52
+ ## Workshop de Descoberta de Domínio
53
+
54
+ ### Participantes
55
+ - **Domain Experts:** [Lista de especialistas do negócio]
56
+ - **Product Manager:** [Nome]
57
+ - **UX Designer:** [Nome]
58
+ - **Tech Lead:** [Nome]
59
+ - **Developers:** [Lista de desenvolvedores]
60
+
61
+ ### Agenda
62
+ #### Dia 1: Exploração
63
+ - **9:00-10:00:** Introdução e objetivos
64
+ - **10:00-11:00:** Brainstorm de conceitos
65
+ - **11:00-12:00:** Mapeamento de entidades
66
+ - **14:00-15:00:** Identificação de relacionamentos
67
+ - **15:00-16:00:** Definição de linguagem ubíqua
68
+
69
+ #### Dia 2: Refinamento
70
+ - **9:00-10:00:** Revisão do mapeamento
71
+ - **10:00-11:00:** Definição de bounded contexts
72
+ - **11:00-12:00:** Identificação de aggregates
73
+ - **14:00-15:00:** Modelagem de eventos
74
+ - **15:00-16:00:** Consolidação e próximos passos
75
+ ```
76
+
77
+ #### **Técnicas de Exploração**
78
+ ```markdown
79
+ ### Event Storming
80
+ **Objetivo:** Descobrir eventos de domínio
81
+
82
+ **Setup:**
83
+ - Sala com whiteboards
84
+ - Post-its coloridos
85
+ - Marcadores diferentes para cada tipo
86
+
87
+ **Processo:**
88
+ 1. **Eventos de Negócio:** "Quando [ator] [ação], então [resultado]"
89
+ 2. **Comandos do Usuário:** "Como [usuário], quero [ação]"
90
+ 3. **Eventos de Sistema:** "Quando [condição], então [ação]"
91
+ 4. **Leitura:** Ler eventos em voz alta
92
+ 5. **Agrupamento:** Agrupar eventos similares
93
+
94
+ ### Domain Storytelling
95
+ **Objetivo:** Criar narrativas do domínio
96
+
97
+ **Estrutura:**
98
+ - **Personas:** Quem são os atores no domínio?
99
+ - **Atividades:** O que eles fazem?
100
+ - **Regras:** Quais são as regras do negócio?
101
+ - **Objetivos:** Quais são os objetivos deles?
102
+
103
+ ### CRC Cards
104
+ **Objetivo:** Modelar responsabilidades
105
+
106
+ **Componentes:**
107
+ - **C (Class):** Nome da classe/entidade
108
+ - **R (Responsibility):** O que a classe faz?
109
+ - **C (Collaboration):** Com quem ela colabora?
110
+ - **I (Inheritance):** De quem ela herda?
111
+ ```
112
+
113
+ ### **2. Identificação de Entidades**
114
+
115
+ #### **Critérios de Entidade**
116
+ ```markdown
117
+ ## Critérios de Identificação de Entidades
118
+
119
+ ### Características de uma Entidade
120
+ - **Identidade Única:** Possui identificador único
121
+ - **Ciclo de Vida:** Tem estado mutável
122
+ - **Continuidade:** Existe ao longo do tempo
123
+ - **Responsabilidades:** Tem comportamentos próprios
124
+ - **Relacionamentos:** Se relaciona com outras entidades
125
+
126
+ ### Exemplos de Entidades
127
+ - **Cliente:** Pessoa física ou jurídica
128
+ - **Pedido:** Solicitação de compra
129
+ - **Produto:** Item disponível para venda
130
+ - **Pagamento:** Transação financeira
131
+ - **Usuário:** Pessoa com acesso ao sistema
132
+ ```
133
+
134
+ #### **Template de Entidade**
135
+ ```typescript
136
+ // Template para modelagem de entidade
137
+ interface Entity {
138
+ id: string; // Identificador único
139
+ createdAt: Date; // Data de criação
140
+ updatedAt: Date; // Data de atualização
141
+
142
+ // Propriedades específicas
143
+ [propriedade1]: [tipo];
144
+ [propriedade2]: [tipo];
145
+ [propriedade3]: [tipo];
146
+
147
+ // Comportamentos
148
+ [metodo1](): [retorno];
149
+ [metodo2](): [retorno];
150
+
151
+ // Relacionamentos
152
+ [relacionamento1]: [tipo];
153
+ [relacionamento2]: [tipo];
154
+ }
155
+
156
+ // Exemplo: Cliente
157
+ interface Cliente extends Entity {
158
+ nome: string;
159
+ email: string;
160
+ cpf: string;
161
+ dataNascimento: Date;
162
+ endereco: Endereco;
163
+ telefones: Telefone[];
164
+
165
+ // Comportamentos
166
+ atualizarEndereco(endereco: Endereco): void;
167
+ adicionarTelefone(telefone: Telefone): void;
168
+ validarCPF(): boolean;
169
+
170
+ // Relacionamentos
171
+ pedidos: Pedido[];
172
+ pagamentos: Pagamento[];
173
+ }
174
+ ```
175
+
176
+ ### **3. Definição de Contextos Delimitados**
177
+
178
+ #### **Critérios de Bounded Context**
179
+ ```markdown
180
+ ## Critérios de Bounded Context
181
+
182
+ ### Características
183
+ - **Fronteira Clara:** Limites bem definidos
184
+ - **Linguagem Ubíqua:** Terminologia do negócio
185
+ - **Autonomia:** Auto-suficiente
186
+ - **Consistência:** Internamente consistente
187
+ - **Tamanho Adequado:** Nem muito grande nem muito pequeno
188
+
189
+ ### Padrões de Nomenclatura
190
+ - **Context:** [NomeDoContexto]Context
191
+ - **Entidades:** PascalCase
192
+ - **Value Objects:** PascalCase
193
+ - **Enums:** PascalCase
194
+ - **Serviços:** PascalCase + "Service"
195
+ - **Repositórios:** PascalCase + "Repository"
196
+ ```
197
+
198
+ #### **Exemplos de Contextos**
199
+ ```markdown
200
+ ### Contexto: Vendas
201
+ **Descrição:** Gerenciamento de vendas e pedidos
202
+ **Entidades:** Cliente, Pedido, Produto, Pagamento
203
+ **Serviços:** PedidoService, ProdutoService
204
+ **Eventos:** PedidoCriado, PedidoCancelado, PagamentoProcessado
205
+
206
+ ### Contexto: Catálogo
207
+ **Descrição:** Gestão de produtos e estoque
208
+ **Entidades:** Produto, Categoria, Fornecedor, Estoque
209
+ **Serviços:** ProdutoService, EstoqueService
210
+ **Eventos:** ProdutoAdicionado, EstoqueBaixo, PreçoAlterado
211
+
212
+ ### Contexto: Usuários
213
+ **Descrição:** Gestão de contas e permissões
214
+ **Entidades:** Usuário, Perfil, Permissão
215
+ **Serviços:** UserService, AutenticacaoService
216
+ **Eventos:** UsuarioCriado, PerfilAtualizado, PermissaoConcedida
217
+ ```
218
+
219
+ #### **Estrutura do Contexto**
220
+ ```typescript
221
+ // Estrutura de um Bounded Context
222
+ interface BoundedContext {
223
+ // Entidades raiz
224
+ [entidade1]: [tipo];
225
+ [entidade2]: [tipo];
226
+
227
+ // Agregates raiz
228
+ [aggregate1]: [tipo];
229
+ [aggregate2]: [tipo];
230
+
231
+ // Serviços do domínio
232
+ [servico1]: [tipo];
233
+ [servico2]: [tipo];
234
+
235
+ // Eventos do domínio
236
+ [evento1]: [tipo];
237
+ [evento2]: [tipo];
238
+
239
+ // Interfaces de repositórios
240
+ [repositorio1]: [tipo];
241
+ [repositorio2]: [tipo];
242
+ }
243
+
244
+ // Exemplo: VendasContext
245
+ interface VendasContext {
246
+ // Entidades
247
+ Cliente: Cliente;
248
+ Pedido: Pedido;
249
+ Produto: Produto;
250
+ Pagamento: Pagamento;
251
+
252
+ // Aggregates
253
+ Carrinho: Carrinho;
254
+ OrdemCompra: OrdemCompra;
255
+
256
+ // Serviços
257
+ PedidoService: PedidoService;
258
+ ProdutoService: ProdutoService;
259
+ PagamentoService: PagamentoService;
260
+
261
+ // Eventos
262
+ PedidoCriado: PedidoCriado;
263
+ PedidoCancelado: PedidoCancelado;
264
+ PagamentoAprovado: PagamentoAprovado;
265
+
266
+ // Repositórios
267
+ PedidoRepository: PedidoRepository;
268
+ ProdutoRepository: ProdutoRepository;
269
+ ClienteRepository: ClienteRepository;
270
+ }
271
+ ```
272
+
273
+ ### **4. Modelagem de Agregregates**
274
+
275
+ #### **Critérios de Aggregate**
276
+ ```markdown
277
+ ## Critérios de Aggregate
278
+
279
+ ### Características
280
+ - **Raiz de Consistência:** Garante regras de negócio
281
+ - **Transações:** Suporta transações atômicas
282
+ - **Event Sourcing:** Gera eventos de domínio
283
+ - **Identidade Global:** Possui ID global único
284
+ - **Imutabilidade:** Histórico imutável
285
+
286
+ ### Padrões de Agregregados
287
+ ```markdown
288
+ ### Aggregate Root
289
+ - **ID Global:** Identificador único do aggregate
290
+ - **Version:** Versão para otimização concorrente
291
+ - **Timestamp:** Timestamp da última atualização
292
+
293
+ ### Entity References
294
+ - **ID Local:** Referências locais a entidades
295
+ - **ID Global:** Referências a outros aggregates
296
+ - **Value Objects:** Objetos imutáveis
297
+
298
+ ### Event Generation
299
+ - **Domain Events:** Eventos públicos do domínio
300
+ - **Event Store:** Armazenamento de eventos
301
+ - **Snapshot:** Estado atual do aggregate
302
+ ```
303
+
304
+ #### **Template de Aggregate**
305
+ ```typescript
306
+ // Template para modelagem de aggregate
307
+ interface AggregateRoot {
308
+ id: string;
309
+ version: number;
310
+ timestamp: Date;
311
+
312
+ // Métodos de negócio
313
+ [metodo1](parametros: [tipo]): [retorno];
314
+ [metodo2](parametros: [tipo]): [retorno];
315
+
316
+ // Geração de eventos
317
+ private events: DomainEvent[];
318
+
319
+ protected addEvent(event: DomainEvent): void;
320
+ protected getUncommittedEvents(): DomainEvent[];
321
+ protected markEventsAsCommitted(): void;
322
+
323
+ // Validação de invariantes
324
+ protected abstract validateInvariants(): void;
325
+ }
326
+
327
+ // Exemplo: Pedido
328
+ class Pedido extends AggregateRoot {
329
+ private _id: string;
330
+ private _clienteId: string;
331
+ private _itens: ItemPedido[];
332
+ private _status: StatusPedido;
333
+ private _total: number;
334
+ private _timestamp: Date;
335
+
336
+ constructor(id: string, clienteId: string) {
337
+ super();
338
+ this._id = id;
339
+ this._clienteId = clienteId;
340
+ this._itens = [];
341
+ this._status = StatusPedido.CRIADO;
342
+ this._total = 0;
343
+ this._timestamp = new Date();
344
+ this.validateInvariants();
345
+ }
346
+
347
+ // Comportamentos
348
+ adicionarItem(produtoId: string, quantidade: number, preco: number): void {
349
+ const item = new ItemPedido(produtoId, quantidade, preco);
350
+ this._itens.push(item);
351
+ this._total += item.subtotal();
352
+ this.addEvent(new ItemAdicionado(this._id, produtoId, quantidade, preco));
353
+ this.validateInvariants();
354
+ }
355
+
356
+ removerItem(itemId: string): void {
357
+ const item = this._itens.find(item => item.id === itemId);
358
+ if (!item) return;
359
+
360
+ this._itens = this._itens.filter(item => item.id !== itemId);
361
+ this._total -= item.subtotal();
362
+ this.addEvent(new ItemRemovido(this._id, itemId));
363
+ this.validateInvariants();
364
+ }
365
+
366
+ atualizarStatus(status: StatusPedido): void {
367
+ if (this._status === status) return;
368
+
369
+ const statusAnterior = this._status;
370
+ this._status = status;
371
+ this._timestamp = new Date();
372
+
373
+ this.addEvent(new StatusPedidoAlterado(this._id, statusAnterior, status));
374
+ this.validateInvariants();
375
+ }
376
+
377
+ // Validação de invariantes
378
+ protected validateInvariants(): void {
379
+ if (this._itens.length === 0 && this._status === StatusPedido.CONFIRMADO) {
380
+ throw new Error('Pedido confirmado não pode estar vazio');
381
+ }
382
+
383
+ if (this._total < 0) {
384
+ throw new Error('Total do pedido não pode ser negativo');
385
+ }
386
+
387
+ if (this._clienteId === '') {
388
+ throw new Error('Pedido deve ter um cliente');
389
+ }
390
+ }
391
+
392
+ // Getters
393
+ get id(): string { return this._id; }
394
+ get clienteId(): string { return this._id; }
395
+ get itens(): ItemPedido[] { return [...this._itens]; }
396
+ get status(): StatusPedido { return this._status; }
397
+ get total(): number { return this._total; }
398
+ get timestamp(): Date { return this._timestamp; }
399
+ }
400
+ ```
401
+
402
+ ### **5. Value Objects**
403
+
404
+ #### **Critérios de Value Object**
405
+ ```markdown
406
+ ## Critérios de Value Object
407
+
408
+ ### Características
409
+ - **Imutabilidade:** Não pode ser modificado após criação
410
+ - **Validação:** Validação no construtor
411
+ - **Igualdade:** Baseado em valores, não identidade
412
+ - **Sem Side Effects:** Não causa efeitos colaterais
413
+ - **Composição:** Pode ser composto de outros VOs
414
+
415
+ ### Exemplos de Value Objects
416
+ ```markdown
417
+ ### Exemplos Comuns
418
+ - **Endereço:** Rua, número, cidade, estado, CEP
419
+ - **Dinheiro:** Valor monetário com moeda
420
+ - **CPF:** Número de CPF formatado
421
+ - **Email:** Endereço de email validado
422
+ - **Telefone:** Número de telefone formatado
423
+ - **Período:** Data inicial e final
424
+ ```
425
+
426
+ #### **Template de Value Object**
427
+ ```typescript
428
+ // Template para Value Object
429
+ class ValueObject {
430
+ // Propriedades imutáveis
431
+ readonly [propriedade1]: [tipo];
432
+ readonly [propriedade2]: [tipo];
433
+
434
+ // Construtor com validação
435
+ constructor(valor1: [tipo], valor2: [tipo]) {
436
+ this.validar(valor1, valor2);
437
+ this[propriedade1] = valor1;
438
+ this[propriedade2] = valor2;
439
+ }
440
+
441
+ // Validação no construtor
442
+ private validar(valor1: [tipo], valor2: [tipo]): void {
443
+ if ([condição de validação]) {
444
+ throw new Error('[mensagem de erro]');
445
+ }
446
+ }
447
+
448
+ // Métodos de negócio (se aplicável)
449
+ [metodo](): [retorno] {
450
+ // Lógica de negócio
451
+ }
452
+
453
+ // Igualdade baseada em valores
454
+ equals(other: [tipo]): boolean {
455
+ if (other === null) return false;
456
+ return (
457
+ this[propriedade1] === other[propriedade1] &&
458
+ this[propriedade2] === other[propriedade2]
459
+ );
460
+ }
461
+
462
+ // Representação em string
463
+ toString(): string {
464
+ return `${this[propriedade1]} ${this[propriedade2]}`;
465
+ }
466
+ }
467
+
468
+ // Exemplo: Endereco
469
+ class Endereco extends ValueObject {
470
+ readonly rua: string;
471
+ readonly numero: string;
472
+ readonly cidade: string;
473
+ readonly estado: string;
474
+ readonly cep: string;
475
+
476
+ constructor(rua: string, numero: string, cidade: string, estado: string, cep: string) {
477
+ this.validarFormato(cep);
478
+ this.rua = rua.trim();
479
+ this.numero = numero.trim();
480
+ this.cidade = cidade.trim();
481
+ this.estado = estado.trim();
482
+ this.cep = cep.trim();
483
+ }
484
+
485
+ private validarFormato(cep: string): void {
486
+ const cepRegex = /^\d{5}-\d{3}$/;
487
+ if (!cepRegex.test(cep)) {
488
+ throw new Error('CEP inválido');
489
+ }
490
+ }
491
+
492
+ // Métodos de negócio
493
+ get enderecoCompleto(): string {
494
+ return `${this.rua}, ${this.numero} - ${this.cidade}/${this.estado}, CEP: ${this.cep}`;
495
+ }
496
+
497
+ equals(outro: Endereco): boolean {
498
+ return (
499
+ this.rua === outro.rua &&
500
+ this.numero === outro.numero &&
501
+ this.cidade === outro.cidade &&
502
+ this.estado === outro.estado &&
503
+ this.cep === outro.cep
504
+ );
505
+ }
506
+ }
507
+ ```
508
+
509
+ ### **6. Domain Events**
510
+
511
+ #### **Características de Domain Events**
512
+ ```markdown
513
+ ## Características de Domain Events
514
+
515
+ ### Propriedades
516
+ - **Imutáveis:** Não podem ser modificados
517
+ - **Timestamp:** Quando ocorreram
518
+ - **Source ID:** ID da entidade que gerou
519
+ - **Tipo:** Tipo do evento
520
+ - **Dados:** Payload do evento
521
+ - **Versão:** Versão do evento
522
+
523
+ ### Padrões de Nomenclatura
524
+ - **Nome:** [Entidade][Ação]Past
525
+ - **Exemplos:** PedidoCriado, ClienteAtualizado, ProdutoRemovido
526
+ - **Convenção:** Use tempo passado simples
527
+
528
+ ### Fluxo de Eventos
529
+ ```markdown
530
+ ### Geração de Eventos
531
+ 1. **Disparo:** Entidade gera evento
532
+ 2. **Armazenamento:** Evento é armazenado
533
+ 3. **Publicação:** Evento é publicado
534
+ 4 - **Local:** Dentro do contexto
535
+ - **Externo:** Para outros contextos
536
+ 5 - **Assíncrono:** Para processamento imediato
537
+ 5 - **Persistência:** Para armazenamento permanente
538
+ ```
539
+
540
+ #### **Template de Domain Event**
541
+ ```typescript
542
+ // Template para Domain Event
543
+ interface DomainEvent {
544
+ readonly id: string;
545
+ readonly timestamp: Date;
546
+ readonly aggregateId: string;
547
+ readonly eventType: string;
548
+ readonly version: number;
549
+
550
+ // Dados do evento
551
+ readonly [dado1]: [tipo];
552
+ readonly [dado2]: [tipo];
553
+
554
+ constructor(
555
+ aggregateId: string,
556
+ [dado1]: [tipo],
557
+ [dado2]: [tipo]
558
+ ) {
559
+ this.id = generateId();
560
+ this.timestamp = new Date();
561
+ this.aggregateId = aggregateId;
562
+ this.eventType = this.constructor.name;
563
+ this.version = 1;
564
+ this[dado1] = [dado1];
565
+ this[dado2] = [dado2];
566
+ }
567
+
568
+ private generateId(): string {
569
+ return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
570
+ }
571
+ }
572
+
573
+ // Exemplo: PedidoCriado
574
+ class PedidoCriado extends DomainEvent {
575
+ readonly clienteId: string;
576
+ readonly itens: ItemPedido[];
577
+ readonly total: number;
578
+
579
+ constructor(
580
+ aggregateId: string,
581
+ clienteId: string,
582
+ itens: ItemPedido[],
583
+ total: number
584
+ ) {
585
+ super(aggregateId, clienteId, itens, total);
586
+ }
587
+ }
588
+
589
+ // Exemplo: ItemAdicionado
590
+ class ItemAdicionado extends DomainEvent {
591
+ readonly pedidoId: string;
592
+ readonly produtoId: string;
593
+ readonly quantidade: number;
594
+ readonly preco: number;
595
+
596
+ constructor(
597
+ aggregateId: string,
598
+ pedidoId: string,
599
+ produtoId: string,
600
+ quantidade: number,
601
+ preco: number
602
+ ) {
603
+ super(aggregateId, pedidoId, produtoId, quantidade, preco);
604
+ }
605
+ }
606
+ ```
607
+
608
+ ---
609
+
610
+ ## 🎯 **Exemplos Práticos**
611
+
612
+ ### **Exemplo 1: Sistema de E-commerce**
613
+ ```markdown
614
+ # Modelo de Domínio: E-commerce
615
+
616
+ ## Contextos Identificados
617
+ ### 1. Vendas
618
+ - **Descrição:** Gestão de vendas e pedidos
619
+ - **Entidades:** Cliente, Pedido, Produto, Pagamento
620
+ - **Aggregates:** Carrinho, OrdemCompra
621
+ - **Serviços:** PedidoService, ProdutoService
622
+
623
+ ### 2. Catálogo
624
+ - **Descrição:** Gestão de produtos e estoque
625
+ - **Entidades:** Produto, Categoria, Fornecedor, Estoque
626
+ - **Aggregates:** Catálogo
627
+ - **Serviços:** ProdutoService, EstoqueService
628
+
629
+ ### 3. Usuários
630
+ - **Descrição:** Gestão de contas e permissões
631
+ - **Entidades:** Usuário, Perfil, Permissão
632
+ - **Aggregates:** Conta
633
+ - **Serviços:** UserService, AutenticacaoService
634
+
635
+ ## Entidades Principais
636
+ ### Cliente
637
+ ```typescript
638
+ interface Cliente extends Entity {
639
+ id: string;
640
+ nome: string;
641
+ email: string;
642
+ cpf: string;
643
+ dataNascimento: Date;
644
+ endereco: Endereco;
645
+ telefones: Telefone[];
646
+
647
+ // Comportamentos
648
+ atualizarEndereco(endereco: Endereco): void;
649
+ adicionarTelefone(telefone: Telefone): void;
650
+ validarCPF(): boolean;
651
+ }
652
+ ```
653
+
654
+ ### Pedido
655
+ ```typescript
656
+ interface Pedido extends AggregateRoot {
657
+ id: string;
658
+ clienteId: string;
659
+ itens: ItemPedido[];
660
+ status: StatusPedido;
661
+ total: number;
662
+ dataCriacao: Date;
663
+ dataAtualizacao: Date;
664
+
665
+ // Comportamentos
666
+ adicionarItem(produtoId: string, quantidade: number, preco: number): void;
667
+ removerItem(itemId: string): void;
668
+ atualizarStatus(status: StatusPedido): void;
669
+ calcularTotal(): void;
670
+ }
671
+ ```
672
+
673
+ ### Produto
674
+ ```typescript
675
+ interface Produto extends Entity {
676
+ id: string;
677
+ nome: string;
678
+ descricao: string;
679
+ preco: Dinheiro;
680
+ categoria: Categoria;
681
+ estoque: Estoque;
682
+ fornecedor: Fornecedor;
683
+ ativo: boolean;
684
+ dataCriacao: Date;
685
+ dataAtualizacao: Date;
686
+
687
+ // Comportamentos
688
+ atualizarPreco(preco: Dinheiro): void;
689
+ verificarDisponibilidade(): boolean;
690
+ aplicarDesconto(percentual: number): Dinheiro;
691
+ }
692
+ ```
693
+
694
+ ## Agregrates Principais
695
+ ### Carrinho
696
+ ```typescript
697
+ class Carrinho extends AggregateRoot {
698
+ private _id: string;
699
+ private _clienteId: string;
700
+ private _itens: ItemCarrinho[];
701
+ private _status: StatusCarrinho;
702
+ private _timestamp: Date;
703
+
704
+ adicionarProduto(produtoId: string, quantidade: number): void;
705
+ removerProduto(produtoId: string): void;
706
+ limpar(): void;
707
+ calcularTotal(): Dinheiro;
708
+ finalizar(): Pedido;
709
+ }
710
+ ```
711
+
712
+ ### OrdemCompra
713
+ ```typescript
714
+ class OrdemCompra extends AggregateRoot {
715
+ private _id: string;
716
+ private _carrinhoId: string;
717
+ private _enderecoEntrega: Endereco;
718
+ private _metodoPagamento: MetodoPagamento;
719
+ private _status: StatusOrdem;
720
+ private _timestamp: Date;
721
+
722
+ finalizar(): Pedido;
723
+ atualizarEndereco(endereco: Endereco): void;
724
+ selecionarMetodoPagamento(metodo: MetodoPagamento): void;
725
+ processarPagamento(): void;
726
+ }
727
+ ```
728
+
729
+ ## Serviços de Domínio
730
+ ### PedidoService
731
+ ```typescript
732
+ interface PedidoService {
733
+ criarPedido(clienteId: string, itens: ItemCarrinho[]): Promise<Pedido>;
734
+ atualizarPedido(pedidoId: string, dados: Partial<Pedido>): Promise<Pedido>;
735
+ cancelarPedido(pedidoId: string): Promise<void>;
736
+ buscarPedido(pedidoId: string): Promise<Pedido>;
737
+ listarPedidos(clienteId: string): Promise<Pedido[]>;
738
+ }
739
+ ```
740
+
741
+ ### ProdutoService
742
+ ```typescript
743
+ interface ProdutoService {
744
+ criarProduto(dados: CriarProdutoDTO): Promise<Produto>;
745
+ atualizarProduto(id: string, dados: Partial<Produto>): Promise<Produto>;
746
+ removerProduto(id: string): Promise<void>;
747
+ buscarProduto(id: string): Promise<Produto>;
748
+ listarProdutos(categoria?: string): Promise<Produto[]>;
749
+ buscarPorNome(nome: string): Promise<Produto[]>;
750
+ }
751
+ ```
752
+
753
+ ## Eventos de Domínio
754
+ ### PedidoCriado
755
+ ```typescript
756
+ class PedidoCriado extends DomainEvent {
757
+ readonly clienteId: string;
758
+ readonly itens: ItemPedido[];
759
+ readonly total: number;
760
+
761
+ constructor(
762
+ aggregateId: string,
763
+ clienteId: string,
764
+ itens: ItemPedido[],
765
+ total: number
766
+ ) {
767
+ super(aggregateId, clienteId, itens, total);
768
+ }
769
+ }
770
+ ```
771
+
772
+ ### PedidoCancelado
773
+ ```typescript
774
+ class PedidoCancelado extends DomainEvent {
775
+ readonly motivo: string;
776
+ readonly timestampCancelamento: Date;
777
+
778
+ constructor(
779
+ aggregateId: string,
780
+ motivo: string,
781
+ timestampCancelamento: Date
782
+ ) {
783
+ super(aggregateId, motivo, timestampCancelamento);
784
+ }
785
+ }
786
+ ```
787
+
788
+ ### PagamentoAprovado
789
+ ```typescript
790
+ class PagamentoAprovado extends DomainEvent {
791
+ readonly metodoPagamento: MetodoPagamento;
792
+ readonly valor: Dinheiro;
793
+ readonly dataAprovacao: Date;
794
+
795
+ constructor(
796
+ aggregateId: string,
797
+ metodoPagamento: MetodoPagamento,
798
+ valor: Dinheiro,
799
+ dataAprovacao: Date
800
+ ) {
801
+ super(aggregateId, metodoPagamento, valor, dataAprovacao);
802
+ }
803
+ }
804
+ ```
805
+ ```
806
+
807
+ ### **Exemplo 2: Sistema de Gestão de Conteúdo**
808
+ ```markdown
809
+ # Modelo de Domínio: Gestão de Conteúdo
810
+
811
+ ## Contextos Identificados
812
+ ### 1. Publicação
813
+ - **Descrição:** Criação e gestão de conteúdo
814
+ - **Entidades:** Artigo, Autor, Categoria, Tag
815
+ - **Aggregates:** Publicacao, Edição
816
+ - **Serviços:** ArtigoService, AutorService
817
+
818
+ ### 2. Assinatura
819
+ - **Descrição:** Assinatura digital de documentos
820
+ - **Entidades:** Documento, Assinatura, Validade
821
+ - **Aggregates:** ProcessoAssinatura
822
+ - **Serviços:** DocumentoService, AssinaturaService
823
+
824
+ ### 3 Comentários
825
+ - **Descrição:** Sistema de comentários e feedback
826
+ - **Entidades:** Comentário, Usuário, Moderador
827
+ - **Aggregates:** Conversa
828
+ - **Serviços:** ComentarioService, ModeracaoService
829
+
830
+ ## Entidades Principais
831
+ ### Artigo
832
+ ```typescript
833
+ interface Artigo extends Entity {
834
+ id: string;
835
+ titulo: string;
836
+ conteudo: string;
837
+ autorId: string;
838
+ categoriaId: string;
839
+ tags: string[];
840
+ status: StatusArtigo;
841
+ dataPublicacao: Date;
842
+ dataAtualizacao: Date;
843
+ visualizacoes: number;
844
+ curtidas: number;
845
+
846
+ // Comportamentos
847
+ atualizarConteudo(conteudo: string): void;
848
+ adicionarTag(tag: string): void;
849
+ removerTag(tag: string): void;
850
+ publicar(): void;
851
+ arquivar(): void;
852
+ }
853
+ ```
854
+
855
+ ### Autor
856
+ ```typescript
857
+ interface Autor extends Entity {
858
+ id: string;
859
+ nome: string;
860
+ bio: string;
861
+ email: string;
862
+ avatar: string;
863
+ redesSociais: RedeSocial[];
864
+ artigos: string[];
865
+ seguidores: string[];
866
+ especialidades: string[];
867
+
868
+ // Comportamentos
869
+ atualizarBio(bio: string): void;
870
+ adicionarRedeSocial(redeSocial: RedeSocial): void;
871
+ adicionarSeguidor(seguidor: string): void;
872
+ publicarArtigo(artigoId: string): void;
873
+ }
874
+ ```
875
+
876
+ ### Categoria
877
+ ```typescript
878
+ interface Categoria extends Entity {
879
+ id: string;
880
+ nome: string;
881
+ descricao: string;
882
+ slug: string;
883
+ cor: string;
884
+ icone: string;
885
+ artigoIds: string[];
886
+ ativa: boolean;
887
+ ordem: number;
888
+
889
+ // Comportamentos
890
+ adicionarArtigo(artigoId: string): void;
891
+ removerArtigo(artigoId: string): void;
892
+ atualizarOrdem(ordem: number): void;
893
+ }
894
+ ```
895
+
896
+ ## Agregrates Principais
897
+ ### Publicacao
898
+ ```typescript
899
+ class Publicacao extends AggregateRoot {
900
+ private _id: string;
901
+ private _autorId: string;
902
+ private _titulo: string;
903
+ _conteudo: string;
904
+ _categoriaId: string;
905
+ _tags: string[];
906
+ _status: StatusPublicacao;
907
+ _dataPublicacao: Date;
908
+
909
+ // Comportamentos
910
+ publicar(): void;
911
+ arquivar(): void;
912
+ atualizarConteudo(conteudo: string): void;
913
+ adicionarTag(tag: string): void;
914
+ removerTag(tag: string): void;
915
+ validarRegras(): boolean;
916
+ }
917
+ ```
918
+
919
+ ### Edição
920
+ ```typescript
921
+ class Edicao extends AggregateRoot {
922
+ private _id: string;
923
+ _artigoId: string;
924
+ _autorId: string;
925
+ _conteudoAnterior: string;
926
+ _conteudoNovo: string;
927
+ _dataEdicao: Date;
928
+ _revisoes: Revisao[];
929
+
930
+ // Comportamentos
931
+ aplicarEdicao(): void;
932
+ adicionarRevisao(revisao: Revisao): void;
933
+ rejeitarEdicao(): void;
934
+ aprovarEdicao(): void;
935
+ publicar(): void;
936
+ }
937
+ ```
938
+
939
+ ## Serviços de Domínio
940
+ ### ArtigoService
941
+ ```typescript
942
+ interface ArtigoService {
943
+ criarArtigo(dados: CriarArtigoDTO): Promise<Artigo>;
944
+ atualizarArtigo(id: string, dados: Partial<Artigo>): Promise<Artigo>;
945
+ removerArtigo(id: string): Promise<void>;
946
+ buscarArtigo(id: string): Promise<Artigo>;
947
+ listarArtigos(categoriaId?: string): Promise<Artigo[]>;
948
+ buscarPorTitulo(titulo: string): Promise<Artigo[]>;
949
+ buscarPorAutor(autorId: string): Promise<Artigo[]>;
950
+ }
951
+ ```
952
+
953
+ ### AutorService
954
+ ```typescript
955
+ interface AutorService {
956
+ criarAutor(dados: CriarAutorDTO): Promise<Autor>;
957
+ atualizarAutor(id: string, dados: Partial<Autor>): Promise<Autor>;
958
+ buscarAutor(id: string): Promise<Autor>;
959
+ listarAutores(): Promise<Autor[]>;
960
+ buscarPorNome(nome: string): Promise<Autor[]>;
961
+ }
962
+ ```
963
+
964
+ ## Eventos de Domínio
965
+ ### ArtigoPublicado
966
+ ```typescript
967
+ class ArtigoPublicado extends DomainEvent {
968
+ readonly artigoId: string;
969
+ readonly autorId: string;
970
+ readonly categoriaId: string;
971
+ readonly tags: string[];
972
+ readonly dataPublicacao: Date;
973
+
974
+ constructor(
975
+ aggregateId: string,
976
+ artigoId: string,
977
+ autorId: string,
978
+ categoriaId: string,
979
+ tags: string[],
980
+ dataPublicacao: Date
981
+ ) {
982
+ super(aggregateId, artigoId, autorId, categoriaId, tags, dataPublicacao);
983
+ }
984
+ }
985
+ ```
986
+
987
+ ### ConteudoAtualizado
988
+ ```typescript
989
+ class ConteudoAtualizado extends DomainEvent {
990
+ readonly artigoId: string;
991
+ conteudoAnterior: string;
992
+ conteudoNovo: string;
993
+ readonly autorId: string;
994
+ readonly dataAtualizacao: Date;
995
+
996
+ constructor(
997
+ aggregateId: string,
998
+ artigoId: string,
999
+ conteudoAnterior: string,
1000
+ conteudoNovo: string,
1001
+ autorId: string,
1002
+ dataAtualizacao: Date
1003
+ ) {
1004
+ super(aggregateId, artigoId, {
1005
+ conteudoAnterior,
1006
+ conteudoNovo,
1007
+ autorId,
1008
+ dataAtualizacao
1009
+ });
1010
+ }
1011
+ }
1012
+ ```
1013
+ ```
1014
+
1015
+ ---
1016
+
1017
+ ## ✅ **Checklist de Validação**
1018
+
1019
+ ### **Antes da Modelagem**
1020
+ - [ ] **Exploração completa** do domínio realizada
1021
+ - [ ] **Stakeholders** identificados e envolvidos
1022
+ - **Linguagem ubíqua** definida
1023
+ - **Contextos delimitados** identificados
1024
+ - [ ] **Entidades** principais mapeadas
1025
+
1026
+ ### **Durante a Modelagem**
1027
+ - [ ] **Entidades** seguem critérios definidos
1028
+ - [ ] **Value Objects** são imutáveis
1029
+ - [ ] **Aggregates** garantem consistência
1030
+ - [ ] **Eventos** são imutáveis
1031
+ - [ ] **Relacionamentos** corretamente modelados
1032
+
1033
+ ### **Após a Modelagem**
1034
+ - [ ] **Invariantes** validados em todos aggregates
1035
+ - [ ] **Serviços** definidos para cada contexto
1036
+ - [] **Eventos** gerados nos pontos certos
1037
+ - [ ] **Repositórios** interfaces criadas
1038
+ - [ ] **Validação** com stakeholders realizada
1039
+
1040
+ ### **Qualidade do Modelo**
1041
+ - [ ] **Clareza:** Modelo fácil de entender
1042
+ - [ ] **Completude:** Todas regras implementadas
1043
+ - [] **Consistência:** Sem contradições internas
1044
+ - [ ] **Extensibilidade:** Fácil de evoluir
1045
+ - [ ] **Performance:** Otimizado para uso
1046
+
1047
+ ---
1048
+
1049
+ ## 🚀 **Dicas e Melhores Práticas**
1050
+
1051
+ ### **Para Modelagem de Domínio**
1052
+ - **Comece pequeno:** Modele um contexto por vez
1053
+ - **Use workshops:** Envolva especialistas do negócio
1054
+ - **Fale a linguagem:** Use termos do negócio
1055
+ - **Valide cedo:** Teste invariantes regularmente
1056
+ - **Itere frequentemente:** Refine com base no feedback
1057
+
1058
+ ### **Para Arquitetura**
1059
+ - **Context mapping:** Mapeie contextos para código
1060
+ - **Injeção de dependências:** Use DI containers
1061
+ - **Event sourcing:** Implemente quando apropriado
1062
+ - **CQRS:** Separa leitura de escrita se necessário
1063
+ - **Testes unitários:** Teste regras e invariantes
1064
+
1065
+ ### **Para Colaboração**
1066
+ - **Documente tudo:** Mantenha histórico de decisões
1067
+ - **Use diagramas:** Visualize relacionamentos
1068
+ - **Revisão por pares:** Revise modelos regularmente
1069
+ - **Compartilhe conhecimento:** Eduque outros sobre DDD
1070
+ - **Celebre sucessos:** Reconheça boas modelagens
1071
+
1072
+ ### **Para Manutenção**
1073
+ - **Versione o modelo:** Controle mudanças estruturais
1074
+ - **Monitore uso:** Analise padrões de uso
1075
+ - **Refatore quando necessário:** Melhore com o tempo
1076
+ - **Evolua com o negócio:** Adapte a mudanças no negócio
1077
+ - **Mantenha documentação:** Mantenha diagramas atualizados
1078
+
1079
+ ---
1080
+
1081
+ ## 📞 **Ferramentas e Recursos**
1082
+
1083
+ ### **Ferramentas Essenciais**
1084
+ - **Draw.io:** [Link para diagramas]
1085
+ - **Lucidchart:** [Link para diagramas]
1086
+ - **Astah:** [Link para diagramas]
1087
+ - **PlantUML:** [Link para diagramas]
1088
+ - **Miro:** [Link para diagramas]
1089
+
1090
+ ### **Bibliotecas e Frameworks**
1091
+ - **TypeScript:** [Link para documentação]
1092
+ - **Node.js:** [Link para documentação]
1093
+ - **Java:** [Link para documentação]
1094
+ - **Python:** [Link para documentação]
1095
+ - **.NET:** [Link para documentação]
1096
+
1097
+ ### **Comunidade e Suporte**
1098
+ - **DDD Community:** [Fóruns e grupos]
1099
+ - **Stack Overflow:** [Busca de ajuda técnica]
1100
+ - **Livros Recomendados:** [Lista de livros]
1101
+ - **Tutoriais:** [Links para vídeos/guias]
1102
+ - **Blogues:** [Links para blogs sobre DDD]
1103
+
1104
+ ---
1105
+
1106
+ ## 🔄 **Atualizações e Manutenção**
1107
+
1108
+ ### **Versão 1.0** (Data: [DATA])
1109
+ - Versão inicial do guia
1110
+ - Framework básico de DDD
1111
+ - Exemplos e templates iniciais
1112
+ - Processo de workshop
1113
+
1114
+ ### **Próximas Versões**
1115
+ - **v1.1:** Adicionar exemplos avançados
1116
+ - **v1.2:** Incluir seção de Event Sourcing
1117
+ - **v1.3:** Adicionar CQRS e Event Store
1118
+ - **v2.0:** Framework completo de validação
1119
+
1120
+ ---
1121
+
1122
+ **Versão:** 1.0
1123
+ **Data:** [DATA]
1124
+ **Próxima Atualização:** [DATA + 3 meses]
1125
+ **Mantenedor:** Equipe de Arquitetura Maestro
1126
+ **Contato:** [email@empresa.com]