@maestro-ai/mcp-server 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (803) hide show
  1. package/dist/content/rules/GEMINI.md +79 -27
  2. package/dist/content/rules/RULES.md +6 -0
  3. package/dist/content/skills/specialist-acessibilidade/MCP_INTEGRATION.md +698 -0
  4. package/dist/content/skills/specialist-acessibilidade/README.md +292 -0
  5. package/dist/content/skills/specialist-acessibilidade/SKILL.md +202 -0
  6. package/dist/content/skills/specialist-acessibilidade/mcp_functions/init_accessibility_audit.py +675 -0
  7. package/dist/content/skills/specialist-acessibilidade/mcp_functions/validate_wcag_compliance.py +587 -0
  8. package/dist/content/skills/specialist-acessibilidade/resources/checklists/accessibility-validation.md +457 -0
  9. package/dist/content/skills/specialist-acessibilidade/resources/examples/accessibility-examples.md +863 -0
  10. package/dist/content/skills/specialist-acessibilidade/resources/reference/wcag-guide.md +359 -0
  11. package/dist/content/skills/specialist-acessibilidade/resources/templates/checklist-acessibilidade.md +435 -0
  12. package/dist/content/skills/specialist-acessibilidade/resources/templates/relatorio-acessibilidade.md +490 -0
  13. package/dist/content/skills/specialist-analise-testes/MCP_INTEGRATION.md +569 -0
  14. package/dist/content/skills/specialist-analise-testes/README.md +42 -0
  15. package/dist/content/skills/specialist-analise-testes/SKILL.md +258 -0
  16. package/dist/content/skills/specialist-analise-testes/mcp_functions/README.md +794 -0
  17. package/dist/content/skills/specialist-analise-testes/resources/checklists/testing-validation.md +305 -0
  18. package/dist/content/skills/specialist-analise-testes/resources/examples/testing-examples.md +395 -0
  19. package/dist/content/skills/specialist-analise-testes/resources/reference/testing-guide.md +1024 -0
  20. package/dist/content/skills/specialist-arquitetura-avancada/MCP_INTEGRATION.md +440 -0
  21. package/dist/content/skills/specialist-arquitetura-avancada/README.md +298 -0
  22. package/dist/content/skills/specialist-arquitetura-avancada/SKILL.md +295 -0
  23. package/dist/content/skills/specialist-arquitetura-avancada/mcp_functions/README.md +573 -0
  24. package/dist/content/skills/specialist-arquitetura-avancada/resources/checklists/architecture-validation.md +385 -0
  25. package/dist/content/skills/specialist-arquitetura-avancada/resources/examples/architecture-examples.md +743 -0
  26. package/dist/content/skills/specialist-arquitetura-avancada/resources/reference/architecture-guide.md +680 -0
  27. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/bounded-context.md +333 -0
  28. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/cqrs-implementation.md +495 -0
  29. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/event-sourcing.md +571 -0
  30. package/dist/content/skills/specialist-arquitetura-avancada/resources/templates/microservices-strategy.md +647 -0
  31. package/dist/content/skills/specialist-arquitetura-software/MCP_INTEGRATION.md +483 -0
  32. package/dist/content/skills/specialist-arquitetura-software/README.md +306 -0
  33. package/dist/content/skills/specialist-arquitetura-software/SKILL.md +194 -0
  34. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/init_architecture.py +137 -0
  35. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/process_architecture.py +279 -0
  36. package/dist/content/skills/specialist-arquitetura-software/mcp_functions/validate_architecture.py +302 -0
  37. package/dist/content/skills/specialist-arquitetura-software/resources/checklists/architecture-validation.md +180 -0
  38. package/dist/content/skills/specialist-arquitetura-software/resources/examples/architecture-examples.md +239 -0
  39. package/dist/content/skills/specialist-arquitetura-software/resources/reference/architecture-guide.md +489 -0
  40. package/dist/content/skills/specialist-arquitetura-software/resources/templates/adr.md +61 -0
  41. package/dist/content/skills/specialist-arquitetura-software/resources/templates/arquitetura.md +192 -0
  42. package/dist/content/skills/specialist-arquitetura-software/resources/templates/slo-sli.md +153 -0
  43. package/dist/content/skills/specialist-banco-dados/MCP_INTEGRATION.md +390 -0
  44. package/dist/content/skills/specialist-banco-dados/README.md +323 -0
  45. package/dist/content/skills/specialist-banco-dados/SKILL.md +221 -0
  46. package/dist/content/skills/specialist-banco-dados/mcp_functions/init_database.py +720 -0
  47. package/dist/content/skills/specialist-banco-dados/mcp_functions/process_database.py +386 -0
  48. package/dist/content/skills/specialist-banco-dados/mcp_functions/validate_database.py +551 -0
  49. package/dist/content/skills/specialist-banco-dados/resources/checklists/database-validation.md +434 -0
  50. package/dist/content/skills/specialist-banco-dados/resources/examples/database-examples.md +857 -0
  51. package/dist/content/skills/specialist-banco-dados/resources/reference/database-guide.md +708 -0
  52. package/dist/content/skills/specialist-banco-dados/resources/templates/constraints.md +935 -0
  53. package/dist/content/skills/specialist-banco-dados/resources/templates/design-banco.md +509 -0
  54. package/dist/content/skills/specialist-banco-dados/resources/templates/indices.md +553 -0
  55. package/dist/content/skills/specialist-banco-dados/resources/templates/migracoes.md +777 -0
  56. package/dist/content/skills/specialist-contrato-api/MCP_INTEGRATION.md +152 -0
  57. package/dist/content/skills/specialist-contrato-api/README.md +183 -0
  58. package/dist/content/skills/specialist-contrato-api/SKILL.md +317 -0
  59. package/dist/content/skills/specialist-contrato-api/mcp_functions/README.md +17 -0
  60. package/dist/content/skills/specialist-contrato-api/resources/checklists/api-validation.md +44 -0
  61. package/dist/content/skills/specialist-contrato-api/resources/examples/api-examples.md +137 -0
  62. package/dist/content/skills/specialist-contrato-api/resources/reference/api-guide.md +96 -0
  63. package/dist/content/skills/specialist-contrato-api/resources/templates/contrato-api.md +165 -0
  64. package/dist/content/skills/specialist-dados-analytics-ia/MCP_INTEGRATION.md +398 -0
  65. package/dist/content/skills/specialist-dados-analytics-ia/README.md +224 -0
  66. package/dist/content/skills/specialist-dados-analytics-ia/SKILL.md +160 -0
  67. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/generate_insights_dashboard.py +669 -0
  68. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/init_analytics_pipeline.py +626 -0
  69. package/dist/content/skills/specialist-dados-analytics-ia/mcp_functions/validate_analytics_quality.py +772 -0
  70. package/dist/content/skills/specialist-dados-analytics-ia/resources/checklists/analytics-validation.md +519 -0
  71. package/dist/content/skills/specialist-dados-analytics-ia/resources/examples/analytics-examples.md +646 -0
  72. package/dist/content/skills/specialist-dados-analytics-ia/resources/reference/analytics-guide.md +1111 -0
  73. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/feature.md +419 -0
  74. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/requisitos.md +384 -0
  75. package/dist/content/skills/specialist-dados-analytics-ia/resources/templates/slo-sli.md +381 -0
  76. package/dist/content/skills/specialist-debugging-troubleshooting/MCP_INTEGRATION.md +340 -0
  77. package/dist/content/skills/specialist-debugging-troubleshooting/README.md +218 -0
  78. package/dist/content/skills/specialist-debugging-troubleshooting/SKILL.md +194 -0
  79. package/dist/content/skills/specialist-debugging-troubleshooting/resources/checklists/debugging-validation.md +319 -0
  80. package/dist/content/skills/specialist-debugging-troubleshooting/resources/examples/debugging-examples.md +480 -0
  81. package/dist/content/skills/specialist-debugging-troubleshooting/resources/prompts/analise-bugs.md +527 -0
  82. package/dist/content/skills/specialist-debugging-troubleshooting/resources/reference/debugging-guide.md +392 -0
  83. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/bug-report.md +192 -0
  84. package/dist/content/skills/specialist-debugging-troubleshooting/resources/templates/post-mortem.md +241 -0
  85. package/dist/content/skills/specialist-debugging-troubleshooting/scripts/README.md +64 -0
  86. package/dist/content/skills/specialist-desenvolvimento-backend/MCP_INTEGRATION.md +98 -0
  87. package/dist/content/skills/specialist-desenvolvimento-backend/README.md +167 -0
  88. package/dist/content/skills/specialist-desenvolvimento-backend/SKILL.md +288 -0
  89. package/dist/content/skills/specialist-desenvolvimento-backend/mcp_functions/README.md +17 -0
  90. package/dist/content/skills/specialist-desenvolvimento-backend/resources/checklists/backend-validation.md +44 -0
  91. package/dist/content/skills/specialist-desenvolvimento-backend/resources/examples/backend-examples.md +109 -0
  92. package/dist/content/skills/specialist-desenvolvimento-backend/resources/reference/backend-guide.md +86 -0
  93. package/dist/content/skills/specialist-desenvolvimento-frontend/MCP_INTEGRATION.md +914 -0
  94. package/dist/content/skills/specialist-desenvolvimento-frontend/README.md +261 -0
  95. package/dist/content/skills/specialist-desenvolvimento-frontend/SKILL.md +220 -0
  96. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/init_frontend.py +861 -0
  97. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/process_frontend.py +1003 -0
  98. package/dist/content/skills/specialist-desenvolvimento-frontend/mcp_functions/validate_frontend.py +766 -0
  99. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/checklists/frontend-validation.md +365 -0
  100. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/examples/frontend-examples.md +1125 -0
  101. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/reference/frontend-guide.md +1055 -0
  102. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/component-story.md +530 -0
  103. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/historia-frontend.md +243 -0
  104. package/dist/content/skills/specialist-desenvolvimento-frontend/resources/templates/ui-guidelines.md +725 -0
  105. package/dist/content/skills/specialist-desenvolvimento-mobile/MCP_INTEGRATION.md +87 -0
  106. package/dist/content/skills/specialist-desenvolvimento-mobile/README.md +149 -0
  107. package/dist/content/skills/specialist-desenvolvimento-mobile/SKILL.md +360 -0
  108. package/dist/content/skills/specialist-desenvolvimento-mobile/mcp_functions/README.md +17 -0
  109. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/checklists/mobile-validation.md +330 -0
  110. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/examples/mobile-examples.md +966 -0
  111. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/android-guide.md +546 -0
  112. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/flutter-guide.md +500 -0
  113. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/ios-guide.md +518 -0
  114. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/mobile-guide.md +76 -0
  115. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/reference/react-native-guide.md +659 -0
  116. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/historia-mobile.md +284 -0
  117. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/mobile-checklist.md +239 -0
  118. package/dist/content/skills/specialist-desenvolvimento-mobile/resources/templates/platform-selection.md +302 -0
  119. package/dist/content/skills/specialist-devops-infra/MCP_INTEGRATION.md +471 -0
  120. package/dist/content/skills/specialist-devops-infra/README.md +234 -0
  121. package/dist/content/skills/specialist-devops-infra/SKILL.md +162 -0
  122. package/dist/content/skills/specialist-devops-infra/mcp_functions/generate_ci_cd_pipeline.py +870 -0
  123. package/dist/content/skills/specialist-devops-infra/mcp_functions/init_infrastructure_structure.py +704 -0
  124. package/dist/content/skills/specialist-devops-infra/mcp_functions/validate_infrastructure_quality.py +745 -0
  125. package/dist/content/skills/specialist-devops-infra/resources/checklists/devops-validation.md +427 -0
  126. package/dist/content/skills/specialist-devops-infra/resources/examples/devops-examples.md +652 -0
  127. package/dist/content/skills/specialist-devops-infra/resources/reference/devops-guide.md +1244 -0
  128. package/dist/content/skills/specialist-devops-infra/resources/templates/ci-cd-pipeline.yml +40 -0
  129. package/dist/content/skills/specialist-documentacao-tecnica/MCP_INTEGRATION.md +797 -0
  130. package/dist/content/skills/specialist-documentacao-tecnica/README.md +304 -0
  131. package/dist/content/skills/specialist-documentacao-tecnica/SKILL.md +202 -0
  132. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/init_documentation_structure.py +733 -0
  133. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/process_documentation_for_publishing.py +888 -0
  134. package/dist/content/skills/specialist-documentacao-tecnica/mcp_functions/validate_documentation_quality.py +775 -0
  135. package/dist/content/skills/specialist-documentacao-tecnica/resources/checklists/documentation-validation.md +296 -0
  136. package/dist/content/skills/specialist-documentacao-tecnica/resources/examples/documentation-examples.md +515 -0
  137. package/dist/content/skills/specialist-documentacao-tecnica/resources/reference/documentation-guide.md +798 -0
  138. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/api-docs.md +619 -0
  139. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/design-doc.md +250 -0
  140. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/guia-tecnico.md +383 -0
  141. package/dist/content/skills/specialist-documentacao-tecnica/resources/templates/readme-template.md +462 -0
  142. package/dist/content/skills/specialist-engenharia-requisitos-ia/MCP_INTEGRATION.md +457 -0
  143. package/dist/content/skills/specialist-engenharia-requisitos-ia/README.md +295 -0
  144. package/dist/content/skills/specialist-engenharia-requisitos-ia/SKILL.md +214 -0
  145. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/init_requirements.py +152 -0
  146. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/process_requirements.py +445 -0
  147. package/dist/content/skills/specialist-engenharia-requisitos-ia/mcp_functions/validate_requirements.py +475 -0
  148. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/checklists/requirements-validation.md +258 -0
  149. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/examples/requirements-examples.md +316 -0
  150. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/reference/requirements-guide.md +651 -0
  151. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/criterios-aceite.md +484 -0
  152. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/matriz-rastreabilidade.md +246 -0
  153. package/dist/content/skills/specialist-engenharia-requisitos-ia/resources/templates/requisitos.md +244 -0
  154. package/dist/content/skills/specialist-exploracao-codebase/MCP_INTEGRATION.md +155 -0
  155. package/dist/content/skills/specialist-exploracao-codebase/README.md +320 -0
  156. package/dist/content/skills/specialist-exploracao-codebase/SKILL.md +194 -0
  157. package/dist/content/skills/specialist-exploracao-codebase/mcp_functions/README.md +39 -0
  158. package/dist/content/skills/specialist-exploracao-codebase/resources/checklists/exploration-validation.md +51 -0
  159. package/dist/content/skills/specialist-exploracao-codebase/resources/examples/exploration-examples.md +106 -0
  160. package/dist/content/skills/specialist-exploracao-codebase/resources/reference/exploration-guide.md +111 -0
  161. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/codebase-map.md +129 -0
  162. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/refactoring-plan.md +96 -0
  163. package/dist/content/skills/specialist-exploracao-codebase/resources/templates/technical-debt-report.md +69 -0
  164. package/dist/content/skills/specialist-gestao-produto/MCP_INTEGRATION.md +436 -0
  165. package/dist/content/skills/specialist-gestao-produto/README.md +202 -0
  166. package/dist/content/skills/specialist-gestao-produto/SKILL.md +174 -0
  167. package/dist/content/skills/specialist-gestao-produto/resources/checklists/prd-validation.md +165 -0
  168. package/dist/content/skills/specialist-gestao-produto/resources/examples/prd-examples.md +231 -0
  169. package/dist/content/skills/specialist-gestao-produto/resources/reference/product-guide.md +416 -0
  170. package/dist/content/skills/specialist-gestao-produto/resources/templates/PRD.md +212 -0
  171. package/dist/content/skills/specialist-gestao-produto/scripts/init_prd.py +170 -0
  172. package/dist/content/skills/specialist-gestao-produto/scripts/process_prd.py +388 -0
  173. package/dist/content/skills/specialist-gestao-produto/scripts/validate_prd.py +406 -0
  174. package/dist/content/skills/specialist-migracao-modernizacao/MCP_INTEGRATION.md +17 -0
  175. package/dist/content/skills/specialist-migracao-modernizacao/README.md +46 -0
  176. package/dist/content/skills/specialist-migracao-modernizacao/SKILL.md +485 -0
  177. package/dist/content/skills/specialist-migracao-modernizacao/mcp_functions/README.md +10 -0
  178. package/dist/content/skills/specialist-migracao-modernizacao/resources/checklists/migration-validation.md +23 -0
  179. package/dist/content/skills/specialist-migracao-modernizacao/resources/examples/migration-examples.md +30 -0
  180. package/dist/content/skills/specialist-migracao-modernizacao/resources/reference/migration-guide.md +27 -0
  181. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/migration-assessment.md +391 -0
  182. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/modernization-roadmap.md +479 -0
  183. package/dist/content/skills/specialist-migracao-modernizacao/resources/templates/risk-analysis.md +527 -0
  184. package/dist/content/skills/specialist-mobile-design-avancado/MCP_INTEGRATION.md +17 -0
  185. package/dist/content/skills/specialist-mobile-design-avancado/README.md +46 -0
  186. package/dist/content/skills/specialist-mobile-design-avancado/SKILL.md +567 -0
  187. package/dist/content/skills/specialist-mobile-design-avancado/mcp_functions/README.md +10 -0
  188. package/dist/content/skills/specialist-mobile-design-avancado/resources/checklists/design-validation.md +23 -0
  189. package/dist/content/skills/specialist-mobile-design-avancado/resources/examples/design-examples.md +46 -0
  190. package/dist/content/skills/specialist-mobile-design-avancado/resources/reference/design-guide.md +23 -0
  191. package/dist/content/skills/specialist-modelagem-dominio/MCP_INTEGRATION.md +336 -0
  192. package/dist/content/skills/specialist-modelagem-dominio/README.md +314 -0
  193. package/dist/content/skills/specialist-modelagem-dominio/SKILL.md +241 -0
  194. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/init_domain.py +479 -0
  195. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/process_domain.py +526 -0
  196. package/dist/content/skills/specialist-modelagem-dominio/mcp_functions/validate_domain.py +569 -0
  197. package/dist/content/skills/specialist-modelagem-dominio/resources/checklists/domain-validation.md +341 -0
  198. package/dist/content/skills/specialist-modelagem-dominio/resources/examples/domain-examples.md +505 -0
  199. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-guide.md +601 -0
  200. package/dist/content/skills/specialist-modelagem-dominio/resources/reference/domain-modeling-complete-guide.md +1126 -0
  201. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/arquitetura-c4.md +477 -0
  202. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/casos-uso.md +395 -0
  203. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/entidades-relacionamentos.md +368 -0
  204. package/dist/content/skills/specialist-modelagem-dominio/resources/templates/modelo-dominio.md +311 -0
  205. package/dist/content/skills/specialist-observabilidade/SKILL.md +462 -0
  206. package/dist/content/skills/specialist-performance-escalabilidade/SKILL.md +329 -0
  207. package/dist/content/skills/specialist-plano-execucao-ia/MCP_INTEGRATION.md +371 -0
  208. package/dist/content/skills/specialist-plano-execucao-ia/README.md +194 -0
  209. package/dist/content/skills/specialist-plano-execucao-ia/SKILL.md +271 -0
  210. package/dist/content/skills/specialist-plano-execucao-ia/mcp_functions/README.md +38 -0
  211. package/dist/content/skills/specialist-plano-execucao-ia/resources/checklists/planning-validation.md +144 -0
  212. package/dist/content/skills/specialist-plano-execucao-ia/resources/examples/planning-examples.md +203 -0
  213. package/dist/content/skills/specialist-plano-execucao-ia/resources/reference/planning-guide.md +316 -0
  214. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/backlog.md +146 -0
  215. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-backend.md +157 -0
  216. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-frontend.md +116 -0
  217. package/dist/content/skills/specialist-plano-execucao-ia/resources/templates/historia-usuario.md +66 -0
  218. package/dist/content/skills/specialist-prototipagem-stitch/MCP_INTEGRATION.md +533 -0
  219. package/dist/content/skills/specialist-prototipagem-stitch/README.md +321 -0
  220. package/dist/content/skills/specialist-prototipagem-stitch/SKILL.md +194 -0
  221. package/dist/content/skills/specialist-prototipagem-stitch/mcp_functions/README.md +239 -0
  222. package/dist/content/skills/specialist-prototipagem-stitch/resources/checklists/stitch-validation.md +357 -0
  223. package/dist/content/skills/specialist-prototipagem-stitch/resources/examples/stitch-examples.md +372 -0
  224. package/dist/content/skills/specialist-prototipagem-stitch/resources/reference/stitch-guide.md +517 -0
  225. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prompt-stitch.md +429 -0
  226. package/dist/content/skills/specialist-prototipagem-stitch/resources/templates/prototipo-stitch.md +317 -0
  227. package/dist/content/skills/specialist-seguranca-informacao/MCP_INTEGRATION.md +466 -0
  228. package/dist/content/skills/specialist-seguranca-informacao/README.md +245 -0
  229. package/dist/content/skills/specialist-seguranca-informacao/SKILL.md +343 -0
  230. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/init_security.py +405 -0
  231. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/process_security.py +611 -0
  232. package/dist/content/skills/specialist-seguranca-informacao/mcp_functions/validate_security.py +468 -0
  233. package/dist/content/skills/specialist-seguranca-informacao/resources/checklists/security-validation.md +368 -0
  234. package/dist/content/skills/specialist-seguranca-informacao/resources/examples/security-examples.md +358 -0
  235. package/dist/content/skills/specialist-seguranca-informacao/resources/reference/security-guide.md +757 -0
  236. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/checklist-seguranca.md +383 -0
  237. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/slo-sli.md +244 -0
  238. package/dist/content/skills/specialist-seguranca-informacao/resources/templates/threat-modeling.md +161 -0
  239. package/dist/content/skills/specialist-ux-design/MCP_INTEGRATION.md +294 -0
  240. package/dist/content/skills/specialist-ux-design/README.md +304 -0
  241. package/dist/content/skills/specialist-ux-design/SKILL.md +212 -0
  242. package/dist/content/skills/specialist-ux-design/mcp_functions/init_ux.py +126 -0
  243. package/dist/content/skills/specialist-ux-design/mcp_functions/process_ux.py +408 -0
  244. package/dist/content/skills/specialist-ux-design/mcp_functions/validate_ux.py +379 -0
  245. package/dist/content/skills/specialist-ux-design/resources/checklists/ux-validation.md +77 -0
  246. package/dist/content/skills/specialist-ux-design/resources/examples/ux-examples.md +161 -0
  247. package/dist/content/skills/specialist-ux-design/resources/reference/ux-guide.md +184 -0
  248. package/dist/content/skills/specialist-ux-design/resources/templates/design-doc.md +160 -0
  249. package/dist/content/skills/specialist-ux-design/resources/templates/jornada-usuario.md +126 -0
  250. package/dist/content/skills/specialist-ux-design/resources/templates/wireframes.md +155 -0
  251. package/dist/core/adr/ADRGenerator.d.ts +28 -0
  252. package/dist/core/adr/ADRGenerator.d.ts.map +1 -0
  253. package/dist/core/adr/ADRGenerator.js +63 -0
  254. package/dist/core/adr/ADRGenerator.js.map +1 -0
  255. package/dist/core/adr/index.d.ts +2 -0
  256. package/dist/core/adr/index.d.ts.map +1 -0
  257. package/dist/core/adr/index.js +2 -0
  258. package/dist/core/adr/index.js.map +1 -0
  259. package/dist/core/architecture/FitnessFunctions.d.ts +67 -0
  260. package/dist/core/architecture/FitnessFunctions.d.ts.map +1 -0
  261. package/dist/core/architecture/FitnessFunctions.js +292 -0
  262. package/dist/core/architecture/FitnessFunctions.js.map +1 -0
  263. package/dist/core/architecture/index.d.ts +3 -0
  264. package/dist/core/architecture/index.d.ts.map +1 -0
  265. package/dist/core/architecture/index.js +3 -0
  266. package/dist/core/architecture/index.js.map +1 -0
  267. package/dist/core/architecture/types.d.ts +42 -0
  268. package/dist/core/architecture/types.d.ts.map +1 -0
  269. package/dist/core/architecture/types.js +5 -0
  270. package/dist/core/architecture/types.js.map +1 -0
  271. package/dist/core/atam/ATAMAnalyzer.d.ts +19 -0
  272. package/dist/core/atam/ATAMAnalyzer.d.ts.map +1 -0
  273. package/dist/core/atam/ATAMAnalyzer.js +206 -0
  274. package/dist/core/atam/ATAMAnalyzer.js.map +1 -0
  275. package/dist/core/atam/ATAMReporter.d.ts +16 -0
  276. package/dist/core/atam/ATAMReporter.d.ts.map +1 -0
  277. package/dist/core/atam/ATAMReporter.js +175 -0
  278. package/dist/core/atam/ATAMReporter.js.map +1 -0
  279. package/dist/core/atam/QualityScenarios.d.ts +16 -0
  280. package/dist/core/atam/QualityScenarios.d.ts.map +1 -0
  281. package/dist/core/atam/QualityScenarios.js +149 -0
  282. package/dist/core/atam/QualityScenarios.js.map +1 -0
  283. package/dist/core/atam/RiskRegistry.d.ts +21 -0
  284. package/dist/core/atam/RiskRegistry.d.ts.map +1 -0
  285. package/dist/core/atam/RiskRegistry.js +83 -0
  286. package/dist/core/atam/RiskRegistry.js.map +1 -0
  287. package/dist/core/atam/index.d.ts +6 -0
  288. package/dist/core/atam/index.d.ts.map +1 -0
  289. package/dist/core/atam/index.js +6 -0
  290. package/dist/core/atam/index.js.map +1 -0
  291. package/dist/core/atam/types.d.ts +86 -0
  292. package/dist/core/atam/types.d.ts.map +1 -0
  293. package/dist/core/atam/types.js +5 -0
  294. package/dist/core/atam/types.js.map +1 -0
  295. package/dist/core/authority/AuthorityManager.d.ts +19 -0
  296. package/dist/core/authority/AuthorityManager.d.ts.map +1 -0
  297. package/dist/core/authority/AuthorityManager.js +66 -0
  298. package/dist/core/authority/AuthorityManager.js.map +1 -0
  299. package/dist/core/authority/index.d.ts +2 -0
  300. package/dist/core/authority/index.d.ts.map +1 -0
  301. package/dist/core/authority/index.js +2 -0
  302. package/dist/core/authority/index.js.map +1 -0
  303. package/dist/core/autofix/AutoFixEngine.d.ts +17 -0
  304. package/dist/core/autofix/AutoFixEngine.d.ts.map +1 -0
  305. package/dist/core/autofix/AutoFixEngine.js +46 -0
  306. package/dist/core/autofix/AutoFixEngine.js.map +1 -0
  307. package/dist/core/autofix/index.d.ts +2 -0
  308. package/dist/core/autofix/index.d.ts.map +1 -0
  309. package/dist/core/autofix/index.js +2 -0
  310. package/dist/core/autofix/index.js.map +1 -0
  311. package/dist/core/automation/AutoExecutor.d.ts +20 -0
  312. package/dist/core/automation/AutoExecutor.d.ts.map +1 -0
  313. package/dist/core/automation/AutoExecutor.js +38 -0
  314. package/dist/core/automation/AutoExecutor.js.map +1 -0
  315. package/dist/core/automation/index.d.ts +2 -0
  316. package/dist/core/automation/index.d.ts.map +1 -0
  317. package/dist/core/automation/index.js +2 -0
  318. package/dist/core/automation/index.js.map +1 -0
  319. package/dist/core/checkpoint/CheckpointManager.d.ts +43 -0
  320. package/dist/core/checkpoint/CheckpointManager.d.ts.map +1 -0
  321. package/dist/core/checkpoint/CheckpointManager.js +158 -0
  322. package/dist/core/checkpoint/CheckpointManager.js.map +1 -0
  323. package/dist/core/checkpoint/RollbackEngine.d.ts +31 -0
  324. package/dist/core/checkpoint/RollbackEngine.d.ts.map +1 -0
  325. package/dist/core/checkpoint/RollbackEngine.js +176 -0
  326. package/dist/core/checkpoint/RollbackEngine.js.map +1 -0
  327. package/dist/core/checkpoint/index.d.ts +4 -0
  328. package/dist/core/checkpoint/index.d.ts.map +1 -0
  329. package/dist/core/checkpoint/index.js +4 -0
  330. package/dist/core/checkpoint/index.js.map +1 -0
  331. package/dist/core/checkpoint/types.d.ts +33 -0
  332. package/dist/core/checkpoint/types.d.ts.map +1 -0
  333. package/dist/core/checkpoint/types.js +2 -0
  334. package/dist/core/checkpoint/types.js.map +1 -0
  335. package/dist/core/consistency/ConsistencyAnalyzer.d.ts +12 -0
  336. package/dist/core/consistency/ConsistencyAnalyzer.d.ts.map +1 -0
  337. package/dist/core/consistency/ConsistencyAnalyzer.js +79 -0
  338. package/dist/core/consistency/ConsistencyAnalyzer.js.map +1 -0
  339. package/dist/core/consistency/index.d.ts +3 -0
  340. package/dist/core/consistency/index.d.ts.map +1 -0
  341. package/dist/core/consistency/index.js +3 -0
  342. package/dist/core/consistency/index.js.map +1 -0
  343. package/dist/core/consistency/types.d.ts +43 -0
  344. package/dist/core/consistency/types.d.ts.map +1 -0
  345. package/dist/core/consistency/types.js +5 -0
  346. package/dist/core/consistency/types.js.map +1 -0
  347. package/dist/core/context/ContextDetector.d.ts +14 -0
  348. package/dist/core/context/ContextDetector.d.ts.map +1 -0
  349. package/dist/core/context/ContextDetector.js +58 -0
  350. package/dist/core/context/ContextDetector.js.map +1 -0
  351. package/dist/core/context/index.d.ts +3 -0
  352. package/dist/core/context/index.d.ts.map +1 -0
  353. package/dist/core/context/index.js +3 -0
  354. package/dist/core/context/index.js.map +1 -0
  355. package/dist/core/context/types.d.ts +41 -0
  356. package/dist/core/context/types.d.ts.map +1 -0
  357. package/dist/core/context/types.js +5 -0
  358. package/dist/core/context/types.js.map +1 -0
  359. package/dist/core/decision/AlternativeGenerator.d.ts +32 -0
  360. package/dist/core/decision/AlternativeGenerator.d.ts.map +1 -0
  361. package/dist/core/decision/AlternativeGenerator.js +155 -0
  362. package/dist/core/decision/AlternativeGenerator.js.map +1 -0
  363. package/dist/core/decision/ConfidenceCalculator.d.ts +42 -0
  364. package/dist/core/decision/ConfidenceCalculator.d.ts.map +1 -0
  365. package/dist/core/decision/ConfidenceCalculator.js +114 -0
  366. package/dist/core/decision/ConfidenceCalculator.js.map +1 -0
  367. package/dist/core/decision/DecisionEngine.d.ts +42 -0
  368. package/dist/core/decision/DecisionEngine.d.ts.map +1 -0
  369. package/dist/core/decision/DecisionEngine.js +144 -0
  370. package/dist/core/decision/DecisionEngine.js.map +1 -0
  371. package/dist/core/decision/DecisionMatrix.d.ts +29 -0
  372. package/dist/core/decision/DecisionMatrix.d.ts.map +1 -0
  373. package/dist/core/decision/DecisionMatrix.js +66 -0
  374. package/dist/core/decision/DecisionMatrix.js.map +1 -0
  375. package/dist/core/decision/index.d.ts +6 -0
  376. package/dist/core/decision/index.d.ts.map +1 -0
  377. package/dist/core/decision/index.js +6 -0
  378. package/dist/core/decision/index.js.map +1 -0
  379. package/dist/core/decision/types.d.ts +40 -0
  380. package/dist/core/decision/types.d.ts.map +1 -0
  381. package/dist/core/decision/types.js +5 -0
  382. package/dist/core/decision/types.js.map +1 -0
  383. package/dist/core/discovery/CodebaseDiscovery.d.ts +19 -0
  384. package/dist/core/discovery/CodebaseDiscovery.d.ts.map +1 -0
  385. package/dist/core/discovery/CodebaseDiscovery.js +83 -0
  386. package/dist/core/discovery/CodebaseDiscovery.js.map +1 -0
  387. package/dist/core/discovery/index.d.ts +2 -0
  388. package/dist/core/discovery/index.d.ts.map +1 -0
  389. package/dist/core/discovery/index.js +2 -0
  390. package/dist/core/discovery/index.js.map +1 -0
  391. package/dist/core/feedback/FeedbackLoop.d.ts +21 -0
  392. package/dist/core/feedback/FeedbackLoop.d.ts.map +1 -0
  393. package/dist/core/feedback/FeedbackLoop.js +45 -0
  394. package/dist/core/feedback/FeedbackLoop.js.map +1 -0
  395. package/dist/core/feedback/index.d.ts +2 -0
  396. package/dist/core/feedback/index.d.ts.map +1 -0
  397. package/dist/core/feedback/index.js +2 -0
  398. package/dist/core/feedback/index.js.map +1 -0
  399. package/dist/core/growth/GrowthProjector.d.ts +12 -0
  400. package/dist/core/growth/GrowthProjector.d.ts.map +1 -0
  401. package/dist/core/growth/GrowthProjector.js +93 -0
  402. package/dist/core/growth/GrowthProjector.js.map +1 -0
  403. package/dist/core/growth/index.d.ts +3 -0
  404. package/dist/core/growth/index.d.ts.map +1 -0
  405. package/dist/core/growth/index.js +3 -0
  406. package/dist/core/growth/index.js.map +1 -0
  407. package/dist/core/growth/types.d.ts +40 -0
  408. package/dist/core/growth/types.d.ts.map +1 -0
  409. package/dist/core/growth/types.js +5 -0
  410. package/dist/core/growth/types.js.map +1 -0
  411. package/dist/core/impact/ImpactAnalyzer.d.ts +22 -0
  412. package/dist/core/impact/ImpactAnalyzer.d.ts.map +1 -0
  413. package/dist/core/impact/ImpactAnalyzer.js +43 -0
  414. package/dist/core/impact/ImpactAnalyzer.js.map +1 -0
  415. package/dist/core/impact/index.d.ts +2 -0
  416. package/dist/core/impact/index.d.ts.map +1 -0
  417. package/dist/core/impact/index.js +2 -0
  418. package/dist/core/impact/index.js.map +1 -0
  419. package/dist/core/knowledge/ADRManager.d.ts +22 -0
  420. package/dist/core/knowledge/ADRManager.d.ts.map +1 -0
  421. package/dist/core/knowledge/ADRManager.js +82 -0
  422. package/dist/core/knowledge/ADRManager.js.map +1 -0
  423. package/dist/core/knowledge/ContextLoader.d.ts +18 -0
  424. package/dist/core/knowledge/ContextLoader.d.ts.map +1 -0
  425. package/dist/core/knowledge/ContextLoader.js +48 -0
  426. package/dist/core/knowledge/ContextLoader.js.map +1 -0
  427. package/dist/core/knowledge/KnowledgeBase.d.ts +35 -0
  428. package/dist/core/knowledge/KnowledgeBase.d.ts.map +1 -0
  429. package/dist/core/knowledge/KnowledgeBase.js +143 -0
  430. package/dist/core/knowledge/KnowledgeBase.js.map +1 -0
  431. package/dist/core/knowledge/PatternRegistry.d.ts +22 -0
  432. package/dist/core/knowledge/PatternRegistry.d.ts.map +1 -0
  433. package/dist/core/knowledge/PatternRegistry.js +56 -0
  434. package/dist/core/knowledge/PatternRegistry.js.map +1 -0
  435. package/dist/core/knowledge/index.d.ts +6 -0
  436. package/dist/core/knowledge/index.d.ts.map +1 -0
  437. package/dist/core/knowledge/index.js +6 -0
  438. package/dist/core/knowledge/index.js.map +1 -0
  439. package/dist/core/knowledge/types.d.ts +60 -0
  440. package/dist/core/knowledge/types.d.ts.map +1 -0
  441. package/dist/core/knowledge/types.js +2 -0
  442. package/dist/core/knowledge/types.js.map +1 -0
  443. package/dist/core/metrics/MetricsCollector.d.ts +21 -0
  444. package/dist/core/metrics/MetricsCollector.d.ts.map +1 -0
  445. package/dist/core/metrics/MetricsCollector.js +20 -0
  446. package/dist/core/metrics/MetricsCollector.js.map +1 -0
  447. package/dist/core/metrics/index.d.ts +2 -0
  448. package/dist/core/metrics/index.d.ts.map +1 -0
  449. package/dist/core/metrics/index.js +2 -0
  450. package/dist/core/metrics/index.js.map +1 -0
  451. package/dist/core/notification/NotificationManager.d.ts +20 -0
  452. package/dist/core/notification/NotificationManager.d.ts.map +1 -0
  453. package/dist/core/notification/NotificationManager.js +16 -0
  454. package/dist/core/notification/NotificationManager.js.map +1 -0
  455. package/dist/core/notification/index.d.ts +2 -0
  456. package/dist/core/notification/index.d.ts.map +1 -0
  457. package/dist/core/notification/index.js +2 -0
  458. package/dist/core/notification/index.js.map +1 -0
  459. package/dist/core/risk/RiskEvaluator.d.ts +11 -0
  460. package/dist/core/risk/RiskEvaluator.d.ts.map +1 -0
  461. package/dist/core/risk/RiskEvaluator.js +83 -0
  462. package/dist/core/risk/RiskEvaluator.js.map +1 -0
  463. package/dist/core/risk/index.d.ts +3 -0
  464. package/dist/core/risk/index.d.ts.map +1 -0
  465. package/dist/core/risk/index.js +3 -0
  466. package/dist/core/risk/index.js.map +1 -0
  467. package/dist/core/risk/types.d.ts +19 -0
  468. package/dist/core/risk/types.d.ts.map +1 -0
  469. package/dist/core/risk/types.js +2 -0
  470. package/dist/core/risk/types.js.map +1 -0
  471. package/dist/core/roadmap/RoadmapManager.d.ts +14 -0
  472. package/dist/core/roadmap/RoadmapManager.d.ts.map +1 -0
  473. package/dist/core/roadmap/RoadmapManager.js +81 -0
  474. package/dist/core/roadmap/RoadmapManager.js.map +1 -0
  475. package/dist/core/roadmap/index.d.ts +3 -0
  476. package/dist/core/roadmap/index.d.ts.map +1 -0
  477. package/dist/core/roadmap/index.js +3 -0
  478. package/dist/core/roadmap/index.js.map +1 -0
  479. package/dist/core/roadmap/types.d.ts +64 -0
  480. package/dist/core/roadmap/types.d.ts.map +1 -0
  481. package/dist/core/roadmap/types.js +5 -0
  482. package/dist/core/roadmap/types.js.map +1 -0
  483. package/dist/core/strangler/StranglerOrchestrator.d.ts +14 -0
  484. package/dist/core/strangler/StranglerOrchestrator.d.ts.map +1 -0
  485. package/dist/core/strangler/StranglerOrchestrator.js +87 -0
  486. package/dist/core/strangler/StranglerOrchestrator.js.map +1 -0
  487. package/dist/core/strangler/index.d.ts +3 -0
  488. package/dist/core/strangler/index.d.ts.map +1 -0
  489. package/dist/core/strangler/index.js +3 -0
  490. package/dist/core/strangler/index.js.map +1 -0
  491. package/dist/core/strangler/types.d.ts +70 -0
  492. package/dist/core/strangler/types.d.ts.map +1 -0
  493. package/dist/core/strangler/types.js +5 -0
  494. package/dist/core/strangler/types.js.map +1 -0
  495. package/dist/core/testing/TestRunner.d.ts +17 -0
  496. package/dist/core/testing/TestRunner.d.ts.map +1 -0
  497. package/dist/core/testing/TestRunner.js +22 -0
  498. package/dist/core/testing/TestRunner.js.map +1 -0
  499. package/dist/core/testing/index.d.ts +2 -0
  500. package/dist/core/testing/index.d.ts.map +1 -0
  501. package/dist/core/testing/index.js +2 -0
  502. package/dist/core/testing/index.js.map +1 -0
  503. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts +24 -0
  504. package/dist/core/tradeoff/TradeoffAnalyzer.d.ts.map +1 -0
  505. package/dist/core/tradeoff/TradeoffAnalyzer.js +51 -0
  506. package/dist/core/tradeoff/TradeoffAnalyzer.js.map +1 -0
  507. package/dist/core/tradeoff/index.d.ts +2 -0
  508. package/dist/core/tradeoff/index.d.ts.map +1 -0
  509. package/dist/core/tradeoff/index.js +2 -0
  510. package/dist/core/tradeoff/index.js.map +1 -0
  511. package/dist/core/validation/DependencyValidator.d.ts +28 -0
  512. package/dist/core/validation/DependencyValidator.d.ts.map +1 -0
  513. package/dist/core/validation/DependencyValidator.js +188 -0
  514. package/dist/core/validation/DependencyValidator.js.map +1 -0
  515. package/dist/core/validation/SecurityValidator.d.ts +44 -0
  516. package/dist/core/validation/SecurityValidator.d.ts.map +1 -0
  517. package/dist/core/validation/SecurityValidator.js +248 -0
  518. package/dist/core/validation/SecurityValidator.js.map +1 -0
  519. package/dist/core/validation/ValidationPipeline.d.ts +62 -0
  520. package/dist/core/validation/ValidationPipeline.d.ts.map +1 -0
  521. package/dist/core/validation/ValidationPipeline.js +216 -0
  522. package/dist/core/validation/ValidationPipeline.js.map +1 -0
  523. package/dist/core/validation/index.d.ts +4 -0
  524. package/dist/core/validation/index.d.ts.map +1 -0
  525. package/dist/core/validation/index.js +4 -0
  526. package/dist/core/validation/index.js.map +1 -0
  527. package/dist/core/validation/layers/ArchitectureValidator.d.ts +21 -0
  528. package/dist/core/validation/layers/ArchitectureValidator.d.ts.map +1 -0
  529. package/dist/core/validation/layers/ArchitectureValidator.js +226 -0
  530. package/dist/core/validation/layers/ArchitectureValidator.js.map +1 -0
  531. package/dist/core/validation/layers/QualityValidator.d.ts +23 -0
  532. package/dist/core/validation/layers/QualityValidator.d.ts.map +1 -0
  533. package/dist/core/validation/layers/QualityValidator.js +259 -0
  534. package/dist/core/validation/layers/QualityValidator.js.map +1 -0
  535. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts +12 -0
  536. package/dist/core/validation/layers/SecurityValidatorWrapper.d.ts.map +1 -0
  537. package/dist/core/validation/layers/SecurityValidatorWrapper.js +54 -0
  538. package/dist/core/validation/layers/SecurityValidatorWrapper.js.map +1 -0
  539. package/dist/core/validation/layers/SemanticValidator.d.ts +21 -0
  540. package/dist/core/validation/layers/SemanticValidator.d.ts.map +1 -0
  541. package/dist/core/validation/layers/SemanticValidator.js +182 -0
  542. package/dist/core/validation/layers/SemanticValidator.js.map +1 -0
  543. package/dist/core/validation/layers/SyntacticValidator.d.ts +17 -0
  544. package/dist/core/validation/layers/SyntacticValidator.d.ts.map +1 -0
  545. package/dist/core/validation/layers/SyntacticValidator.js +194 -0
  546. package/dist/core/validation/layers/SyntacticValidator.js.map +1 -0
  547. package/dist/core/validation/types.d.ts +90 -0
  548. package/dist/core/validation/types.d.ts.map +1 -0
  549. package/dist/core/validation/types.js +24 -0
  550. package/dist/core/validation/types.js.map +1 -0
  551. package/dist/frontend-first/contract-generator.d.ts +47 -0
  552. package/dist/frontend-first/contract-generator.d.ts.map +1 -0
  553. package/dist/frontend-first/contract-generator.js +312 -0
  554. package/dist/frontend-first/contract-generator.js.map +1 -0
  555. package/dist/frontend-first/mock-generator.d.ts +23 -0
  556. package/dist/frontend-first/mock-generator.d.ts.map +1 -0
  557. package/dist/frontend-first/mock-generator.js +186 -0
  558. package/dist/frontend-first/mock-generator.js.map +1 -0
  559. package/dist/optimization/batch-prompts.d.ts +27 -0
  560. package/dist/optimization/batch-prompts.d.ts.map +1 -0
  561. package/dist/optimization/batch-prompts.js +178 -0
  562. package/dist/optimization/batch-prompts.js.map +1 -0
  563. package/dist/optimization/context-cache.d.ts +45 -0
  564. package/dist/optimization/context-cache.d.ts.map +1 -0
  565. package/dist/optimization/context-cache.js +149 -0
  566. package/dist/optimization/context-cache.js.map +1 -0
  567. package/dist/optimization/smart-validation.d.ts +43 -0
  568. package/dist/optimization/smart-validation.d.ts.map +1 -0
  569. package/dist/optimization/smart-validation.js +137 -0
  570. package/dist/optimization/smart-validation.js.map +1 -0
  571. package/dist/stdio.js +184 -0
  572. package/dist/stdio.js.map +1 -1
  573. package/dist/tasks/task-manager.d.ts +30 -0
  574. package/dist/tasks/task-manager.d.ts.map +1 -0
  575. package/dist/tasks/task-manager.js +290 -0
  576. package/dist/tasks/task-manager.js.map +1 -0
  577. package/dist/tools/atualizar-tarefa.d.ts +17 -0
  578. package/dist/tools/atualizar-tarefa.d.ts.map +1 -0
  579. package/dist/tools/atualizar-tarefa.js +200 -0
  580. package/dist/tools/atualizar-tarefa.js.map +1 -0
  581. package/dist/tools/configurar-modo.d.ts +10 -0
  582. package/dist/tools/configurar-modo.d.ts.map +1 -0
  583. package/dist/tools/configurar-modo.js +121 -0
  584. package/dist/tools/configurar-modo.js.map +1 -0
  585. package/dist/tools/contexto.d.ts.map +1 -1
  586. package/dist/tools/contexto.js +35 -4
  587. package/dist/tools/contexto.js.map +1 -1
  588. package/dist/tools/criar-tarefa.d.ts +17 -0
  589. package/dist/tools/criar-tarefa.d.ts.map +1 -0
  590. package/dist/tools/criar-tarefa.js +132 -0
  591. package/dist/tools/criar-tarefa.js.map +1 -0
  592. package/dist/tools/fase1/checkpoint.tools.d.ts +150 -0
  593. package/dist/tools/fase1/checkpoint.tools.d.ts.map +1 -0
  594. package/dist/tools/fase1/checkpoint.tools.js +165 -0
  595. package/dist/tools/fase1/checkpoint.tools.js.map +1 -0
  596. package/dist/tools/fase1/knowledge.tools.d.ts +265 -0
  597. package/dist/tools/fase1/knowledge.tools.d.ts.map +1 -0
  598. package/dist/tools/fase1/knowledge.tools.js +209 -0
  599. package/dist/tools/fase1/knowledge.tools.js.map +1 -0
  600. package/dist/tools/fase1/misc.tools.d.ts +113 -0
  601. package/dist/tools/fase1/misc.tools.d.ts.map +1 -0
  602. package/dist/tools/fase1/misc.tools.js +99 -0
  603. package/dist/tools/fase1/misc.tools.js.map +1 -0
  604. package/dist/tools/fase1/validation.tools.d.ts +103 -0
  605. package/dist/tools/fase1/validation.tools.d.ts.map +1 -0
  606. package/dist/tools/fase1/validation.tools.js +174 -0
  607. package/dist/tools/fase1/validation.tools.js.map +1 -0
  608. package/dist/tools/gerar-contrato-api.d.ts +15 -0
  609. package/dist/tools/gerar-contrato-api.d.ts.map +1 -0
  610. package/dist/tools/gerar-contrato-api.js +216 -0
  611. package/dist/tools/gerar-contrato-api.js.map +1 -0
  612. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  613. package/dist/tools/iniciar-projeto.js +27 -1
  614. package/dist/tools/iniciar-projeto.js.map +1 -1
  615. package/dist/tools/listar-tarefas.d.ts +16 -0
  616. package/dist/tools/listar-tarefas.d.ts.map +1 -0
  617. package/dist/tools/listar-tarefas.js +215 -0
  618. package/dist/tools/listar-tarefas.js.map +1 -0
  619. package/dist/tools/phase2/architecture.tools.d.ts +37 -0
  620. package/dist/tools/phase2/architecture.tools.d.ts.map +1 -0
  621. package/dist/tools/phase2/architecture.tools.js +51 -0
  622. package/dist/tools/phase2/architecture.tools.js.map +1 -0
  623. package/dist/tools/phase2/decision.tools.d.ts +61 -0
  624. package/dist/tools/phase2/decision.tools.d.ts.map +1 -0
  625. package/dist/tools/phase2/decision.tools.js +69 -0
  626. package/dist/tools/phase2/decision.tools.js.map +1 -0
  627. package/dist/tools/phase2/index.d.ts +8 -0
  628. package/dist/tools/phase2/index.d.ts.map +1 -0
  629. package/dist/tools/phase2/index.js +16 -0
  630. package/dist/tools/phase2/index.js.map +1 -0
  631. package/dist/tools/phase2/validation.tools.d.ts +40 -0
  632. package/dist/tools/phase2/validation.tools.d.ts.map +1 -0
  633. package/dist/tools/phase2/validation.tools.js +43 -0
  634. package/dist/tools/phase2/validation.tools.js.map +1 -0
  635. package/dist/tools/phase3/atam.tools.d.ts +26 -0
  636. package/dist/tools/phase3/atam.tools.d.ts.map +1 -0
  637. package/dist/tools/phase3/atam.tools.js +48 -0
  638. package/dist/tools/phase3/atam.tools.js.map +1 -0
  639. package/dist/tools/phase3/consistency.tools.d.ts +15 -0
  640. package/dist/tools/phase3/consistency.tools.d.ts.map +1 -0
  641. package/dist/tools/phase3/consistency.tools.js +20 -0
  642. package/dist/tools/phase3/consistency.tools.js.map +1 -0
  643. package/dist/tools/phase3/context.tools.d.ts +25 -0
  644. package/dist/tools/phase3/context.tools.d.ts.map +1 -0
  645. package/dist/tools/phase3/context.tools.js +32 -0
  646. package/dist/tools/phase3/context.tools.js.map +1 -0
  647. package/dist/tools/phase3/growth.tools.d.ts +28 -0
  648. package/dist/tools/phase3/growth.tools.d.ts.map +1 -0
  649. package/dist/tools/phase3/growth.tools.js +32 -0
  650. package/dist/tools/phase3/growth.tools.js.map +1 -0
  651. package/dist/tools/phase3/index.d.ts +10 -0
  652. package/dist/tools/phase3/index.d.ts.map +1 -0
  653. package/dist/tools/phase3/index.js +10 -0
  654. package/dist/tools/phase3/index.js.map +1 -0
  655. package/dist/tools/phase3/roadmap.tools.d.ts +41 -0
  656. package/dist/tools/phase3/roadmap.tools.d.ts.map +1 -0
  657. package/dist/tools/phase3/roadmap.tools.js +44 -0
  658. package/dist/tools/phase3/roadmap.tools.js.map +1 -0
  659. package/dist/tools/phase3/strangler.tools.d.ts +37 -0
  660. package/dist/tools/phase3/strangler.tools.d.ts.map +1 -0
  661. package/dist/tools/phase3/strangler.tools.js +44 -0
  662. package/dist/tools/phase3/strangler.tools.js.map +1 -0
  663. package/dist/tools/proximo.d.ts.map +1 -1
  664. package/dist/tools/proximo.js +45 -8
  665. package/dist/tools/proximo.js.map +1 -1
  666. package/dist/tools/status.d.ts.map +1 -1
  667. package/dist/tools/status.js +28 -5
  668. package/dist/tools/status.js.map +1 -1
  669. package/dist/tools/validar-gate.d.ts.map +1 -1
  670. package/dist/tools/validar-gate.js +14 -0
  671. package/dist/tools/validar-gate.js.map +1 -1
  672. package/dist/types/config.d.ts +46 -0
  673. package/dist/types/config.d.ts.map +1 -0
  674. package/dist/types/config.js +162 -0
  675. package/dist/types/config.js.map +1 -0
  676. package/dist/types/index.d.ts +38 -0
  677. package/dist/types/index.d.ts.map +1 -1
  678. package/dist/types/index.js.map +1 -1
  679. package/dist/types/tasks.d.ts +100 -0
  680. package/dist/types/tasks.d.ts.map +1 -0
  681. package/dist/types/tasks.js +2 -0
  682. package/dist/types/tasks.js.map +1 -0
  683. package/dist/utils/__tests__/prompt-mapper.test.d.ts +2 -0
  684. package/dist/utils/__tests__/prompt-mapper.test.d.ts.map +1 -0
  685. package/dist/utils/__tests__/prompt-mapper.test.js +184 -0
  686. package/dist/utils/__tests__/prompt-mapper.test.js.map +1 -0
  687. package/dist/utils/history.d.ts +10 -0
  688. package/dist/utils/history.d.ts.map +1 -1
  689. package/dist/utils/history.js +12 -1
  690. package/dist/utils/history.js.map +1 -1
  691. package/dist/utils/prompt-mapper.d.ts +46 -0
  692. package/dist/utils/prompt-mapper.d.ts.map +1 -1
  693. package/dist/utils/prompt-mapper.js +100 -0
  694. package/dist/utils/prompt-mapper.js.map +1 -1
  695. package/package.json +5 -5
  696. package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +0 -250
  697. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +0 -278
  698. package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +0 -261
  699. package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +0 -258
  700. package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +0 -119
  701. package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +0 -147
  702. package/dist/content/guides/Checklist Mestre de Entrega.md +0 -68
  703. package/dist/content/guides/Gates de Qualidade.md +0 -209
  704. package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +0 -355
  705. package/dist/content/guides/Guia de Chaos Engineering.md +0 -267
  706. package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +0 -352
  707. package/dist/content/guides/Guia de Migrations Zero-Downtime.md +0 -311
  708. package/dist/content/guides/Guia de Multi-tenancy.md +0 -368
  709. package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +0 -195
  710. package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +0 -162
  711. package/dist/content/guides/Guia de SLOs e Error Budgets.md +0 -315
  712. package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +0 -93
  713. package/dist/content/guides/Rules base.md +0 -90
  714. package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +0 -364
  715. package/dist/content/prompts/README.md +0 -203
  716. package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +0 -257
  717. package/dist/content/prompts/apis/design-api-rest.md +0 -303
  718. package/dist/content/prompts/apis/idempotencia.md +0 -254
  719. package/dist/content/prompts/apis/versionamento.md +0 -313
  720. package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +0 -190
  721. package/dist/content/prompts/arquitetura/clean-architecture.md +0 -151
  722. package/dist/content/prompts/arquitetura/multi-tenancy.md +0 -235
  723. package/dist/content/prompts/database/migrations-zero-downtime.md +0 -192
  724. package/dist/content/prompts/database/otimizacao-queries.md +0 -296
  725. package/dist/content/prompts/desenvolvimento/code-review.md +0 -301
  726. package/dist/content/prompts/desenvolvimento/gerar-servico.md +0 -271
  727. package/dist/content/prompts/devops/docker-compose.md +0 -336
  728. package/dist/content/prompts/devops/feature-flags.md +0 -374
  729. package/dist/content/prompts/devops/kubernetes-deploy.md +0 -460
  730. package/dist/content/prompts/devops/pipeline-cicd.md +0 -358
  731. package/dist/content/prompts/devops/terraform-iac.md +0 -502
  732. package/dist/content/prompts/escalabilidade/analise-performance.md +0 -240
  733. package/dist/content/prompts/escalabilidade/analise-performance.txt +0 -94
  734. package/dist/content/prompts/escalabilidade/caching.md +0 -255
  735. package/dist/content/prompts/observabilidade/chaos-testing.md +0 -237
  736. package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +0 -263
  737. package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +0 -134
  738. package/dist/content/prompts/observabilidade/slos.md +0 -215
  739. package/dist/content/prompts/produto/discovery-inicial.md +0 -203
  740. package/dist/content/prompts/produto/discovery-inicial.txt +0 -33
  741. package/dist/content/prompts/requisitos/refinar-requisitos.md +0 -232
  742. package/dist/content/prompts/requisitos/refinar-requisitos.txt +0 -40
  743. package/dist/content/prompts/seguranca/analise-seguranca.md +0 -243
  744. package/dist/content/prompts/seguranca/pentest-checklist.md +0 -333
  745. package/dist/content/prompts/seguranca/rate-limiting.md +0 -356
  746. package/dist/content/prompts/seguranca/revisao-lgpd.md +0 -227
  747. package/dist/content/prompts/seguranca/threat-modeling.md +0 -224
  748. package/dist/content/prompts/testes/contract-testing.md +0 -340
  749. package/dist/content/prompts/testes/gerar-testes-unitarios.md +0 -474
  750. package/dist/content/prompts/testes/testes-e2e.md +0 -460
  751. package/dist/content/prompts/testes/testes-integracao.md +0 -418
  752. package/dist/content/prompts/testes/testes-performance.md +0 -458
  753. package/dist/content/prompts/ux/gerar-ui-stitch.md +0 -151
  754. package/dist/content/specialists/Especialista em Acessibilidade.md +0 -266
  755. package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +0 -434
  756. package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +0 -358
  757. package/dist/content/specialists/Especialista em Arquitetura de Software.md +0 -177
  758. package/dist/content/specialists/Especialista em Banco de Dados.md +0 -260
  759. package/dist/content/specialists/Especialista em Contrato de API.md +0 -172
  760. package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +0 -246
  761. package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +0 -191
  762. package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +0 -477
  763. package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +0 -241
  764. package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +0 -417
  765. package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +0 -294
  766. package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +0 -227
  767. package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +0 -299
  768. package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +0 -179
  769. package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +0 -179
  770. package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +0 -410
  771. package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +0 -248
  772. package/dist/content/specialists/Especialista em Observabilidade.md +0 -415
  773. package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +0 -373
  774. package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +0 -341
  775. package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +0 -419
  776. package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +0 -508
  777. package/dist/content/specialists/Especialista em UX Design.md +0 -453
  778. package/dist/content/specialists/INDEX.md +0 -43
  779. package/dist/content/templates/PRD.md +0 -165
  780. package/dist/content/templates/README.md +0 -65
  781. package/dist/content/templates/adr.md +0 -103
  782. package/dist/content/templates/arquitetura.md +0 -279
  783. package/dist/content/templates/backlog.md +0 -185
  784. package/dist/content/templates/checklist-seguranca.md +0 -180
  785. package/dist/content/templates/contexto.md +0 -120
  786. package/dist/content/templates/criterios-aceite.md +0 -99
  787. package/dist/content/templates/design-banco.md +0 -270
  788. package/dist/content/templates/design-doc.md +0 -240
  789. package/dist/content/templates/feature.md +0 -88
  790. package/dist/content/templates/historia-backend.md +0 -84
  791. package/dist/content/templates/historia-frontend.md +0 -75
  792. package/dist/content/templates/historia-usuario.md +0 -125
  793. package/dist/content/templates/mapa-navegacao.md +0 -133
  794. package/dist/content/templates/matriz-rastreabilidade.md +0 -121
  795. package/dist/content/templates/modelo-dominio.md +0 -219
  796. package/dist/content/templates/plano-testes.md +0 -199
  797. package/dist/content/templates/prototipo-stitch.md +0 -138
  798. package/dist/content/templates/requisitos.md +0 -162
  799. package/dist/content/templates/slo-sli.md +0 -197
  800. /package/dist/content/{guides/Guia de Debugging com IA.md → skills/specialist-debugging-troubleshooting/resources/reference/debugging-ai-guide.md} +0 -0
  801. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-bounded-contexts.md +0 -0
  802. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/ddd-cqrs.md +0 -0
  803. /package/dist/content/{prompts/arquitetura → skills/specialist-modelagem-dominio/resources/prompts}/modelo-dominio.md +0 -0
@@ -0,0 +1,857 @@
1
+ # Exemplos Práticos de Design de Banco de Dados
2
+
3
+ ## Sumário
4
+ Este documento contém exemplos práticos de design de banco de dados para diferentes tipos de sistemas, servindo como referência para implementação.
5
+
6
+ ---
7
+
8
+ ## Exemplo 1: Sistema de E-commerce
9
+
10
+ ### Contexto
11
+ Sistema de vendas online com gestão de produtos, pedidos, usuários e pagamentos.
12
+
13
+ ### Escolha do Banco
14
+ - **PostgreSQL 15+** - Por suporte a JSONB, full-text search e pgvector
15
+ - **Neon** - Serverless para escalabilidade
16
+ - **Prisma** - ORM type-safe para Node.js
17
+
18
+ ### Schema Principal
19
+
20
+ #### Users Table
21
+ ```sql
22
+ CREATE TABLE users (
23
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
24
+ email VARCHAR(255) NOT NULL UNIQUE,
25
+ username VARCHAR(50) NOT NULL UNIQUE,
26
+ password_hash VARCHAR(255) NOT NULL,
27
+ first_name VARCHAR(100),
28
+ last_name VARCHAR(100),
29
+ phone VARCHAR(20),
30
+ email_verified_at TIMESTAMP,
31
+ marketing_consent BOOLEAN DEFAULT false,
32
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
33
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
34
+ deleted_at TIMESTAMP NULL -- Soft delete
35
+ );
36
+
37
+ -- Índices
38
+ CREATE INDEX idx_users_email ON users(email);
39
+ CREATE INDEX idx_users_username ON users(username);
40
+ CREATE INDEX idx_users_created_at ON users(created_at);
41
+ CREATE INDEX idx_users_active ON users(email) WHERE deleted_at IS NULL;
42
+ ```
43
+
44
+ #### Products Table
45
+ ```sql
46
+ CREATE TABLE products (
47
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
48
+ name VARCHAR(255) NOT NULL,
49
+ slug VARCHAR(255) NOT NULL UNIQUE,
50
+ description TEXT,
51
+ price DECIMAL(10,2) NOT NULL,
52
+ compare_price DECIMAL(10,2),
53
+ sku VARCHAR(100) NOT NULL UNIQUE,
54
+ barcode VARCHAR(50),
55
+ stock INTEGER NOT NULL DEFAULT 0,
56
+ weight DECIMAL(8,3),
57
+ dimensions JSONB, -- {"length": 10, "width": 5, "height": 2}
58
+ metadata JSONB, -- {"brand": "Nike", "color": "Red"}
59
+ status VARCHAR(20) DEFAULT 'active',
60
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
61
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
62
+ deleted_at TIMESTAMP NULL
63
+ );
64
+
65
+ -- Índices
66
+ CREATE INDEX idx_products_name ON products(name);
67
+ CREATE INDEX idx_products_sku ON products(sku);
68
+ CREATE INDEX idx_products_status ON products(status);
69
+ CREATE INDEX idx_products_price ON products(price);
70
+ CREATE INDEX idx_products_metadata_gin ON products USING GIN(metadata);
71
+ CREATE INDEX idx_products_in_stock ON products(id) WHERE stock > 0;
72
+ ```
73
+
74
+ #### Categories Table
75
+ ```sql
76
+ CREATE TABLE categories (
77
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
78
+ name VARCHAR(100) NOT NULL,
79
+ slug VARCHAR(100) NOT NULL UNIQUE,
80
+ description TEXT,
81
+ parent_id UUID REFERENCES categories(id) ON DELETE CASCADE,
82
+ image_url VARCHAR(500),
83
+ sort_order INTEGER DEFAULT 0,
84
+ is_active BOOLEAN DEFAULT true,
85
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
86
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
87
+ );
88
+
89
+ -- Índices
90
+ CREATE INDEX idx_categories_parent ON categories(parent_id);
91
+ CREATE INDEX idx_categories_active ON categories(is_active);
92
+ CREATE INDEX idx_categories_sort ON categories(sort_order);
93
+ ```
94
+
95
+ #### Orders Table
96
+ ```sql
97
+ CREATE TABLE orders (
98
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
99
+ user_id UUID NOT NULL REFERENCES users(id) ON DELETE RESTRICT,
100
+ order_number VARCHAR(50) NOT NULL UNIQUE,
101
+ status VARCHAR(20) NOT NULL DEFAULT 'pending',
102
+ currency VARCHAR(3) NOT NULL DEFAULT 'BRL',
103
+ subtotal DECIMAL(10,2) NOT NULL,
104
+ tax_amount DECIMAL(10,2) NOT NULL DEFAULT 0,
105
+ shipping_amount DECIMAL(10,2) NOT NULL DEFAULT 0,
106
+ total_amount DECIMAL(10,2) NOT NULL,
107
+ notes TEXT,
108
+ shipping_address JSONB NOT NULL,
109
+ billing_address JSONB NOT NULL,
110
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
111
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
112
+ );
113
+
114
+ -- Índices
115
+ CREATE INDEX idx_orders_user ON orders(user_id);
116
+ CREATE INDEX idx_orders_status ON orders(status);
117
+ CREATE INDEX idx_orders_created_at ON orders(created_at);
118
+ CREATE INDEX idx_orders_number ON orders(order_number);
119
+ ```
120
+
121
+ #### Order Items Table
122
+ ```sql
123
+ CREATE TABLE order_items (
124
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
125
+ order_id UUID NOT NULL REFERENCES orders(id) ON DELETE CASCADE,
126
+ product_id UUID NOT NULL REFERENCES products(id) ON DELETE RESTRICT,
127
+ quantity INTEGER NOT NULL,
128
+ unit_price DECIMAL(10,2) NOT NULL,
129
+ total_price DECIMAL(10,2) NOT NULL,
130
+ product_snapshot JSONB NOT NULL, -- Snapshot do produto no momento
131
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
132
+ );
133
+
134
+ -- Índices
135
+ CREATE INDEX idx_order_items_order ON order_items(order_id);
136
+ CREATE INDEX idx_order_items_product ON order_items(product_id);
137
+ CREATE UNIQUE INDEX idx_order_items_order_product ON order_items(order_id, product_id);
138
+ ```
139
+
140
+ ### Queries Otimizadas
141
+
142
+ #### Busca de Produtos com Filtros
143
+ ```sql
144
+ -- Query principal de busca
145
+ SELECT
146
+ p.*,
147
+ c.name as category_name,
148
+ (SELECT AVG(rating) FROM product_reviews WHERE product_id = p.id) as avg_rating,
149
+ (SELECT COUNT(*) FROM product_reviews WHERE product_id = p.id) as review_count
150
+ FROM products p
151
+ LEFT JOIN categories c ON p.metadata->>'category_id' = c.id::text
152
+ WHERE
153
+ p.status = 'active'
154
+ AND p.stock > 0
155
+ AND (
156
+ LOWER(p.name) LIKE LOWER('%search_term%') OR
157
+ LOWER(p.description) LIKE LOWER('%search_term%') OR
158
+ p.metadata->>'brand' ILIKE '%search_term%'
159
+ )
160
+ AND (
161
+ p.price BETWEEN :min_price AND :max_price
162
+ OR :min_price IS NULL OR :max_price IS NULL
163
+ )
164
+ ORDER BY
165
+ CASE WHEN :sort = 'price_asc' THEN p.price END ASC,
166
+ CASE WHEN :sort = 'price_desc' THEN p.price END DESC,
167
+ CASE WHEN :sort = 'name' THEN p.name END ASC,
168
+ p.created_at DESC
169
+ LIMIT :limit OFFSET :offset;
170
+ ```
171
+
172
+ #### Dashboard de Vendas
173
+ ```sql
174
+ -- Dashboard com CTEs para performance
175
+ WITH daily_sales AS (
176
+ SELECT
177
+ DATE(created_at) as date,
178
+ COUNT(*) as orders_count,
179
+ SUM(total_amount) as total_revenue
180
+ FROM orders
181
+ WHERE status IN ('confirmed', 'shipped', 'delivered')
182
+ AND created_at >= CURRENT_DATE - INTERVAL '30 days'
183
+ GROUP BY DATE(created_at)
184
+ ),
185
+ top_products AS (
186
+ SELECT
187
+ p.name,
188
+ SUM(oi.quantity) as total_sold,
189
+ SUM(oi.total_price) as total_revenue
190
+ FROM order_items oi
191
+ JOIN orders o ON oi.order_id = o.id
192
+ JOIN products p ON oi.product_id = p.id
193
+ WHERE o.status IN ('confirmed', 'shipped', 'delivered')
194
+ AND o.created_at >= CURRENT_DATE - INTERVAL '30 days'
195
+ GROUP BY p.id, p.name
196
+ ORDER BY total_sold DESC
197
+ LIMIT 10
198
+ )
199
+ SELECT
200
+ (SELECT JSON_AGG(json_build_object('date', date, 'orders', orders_count, 'revenue', total_revenue))
201
+ FROM daily_sales) as daily_sales,
202
+ (SELECT JSON_AGG(json_build_object('name', name, 'sold', total_sold, 'revenue', total_revenue))
203
+ FROM top_products) as top_products;
204
+ ```
205
+
206
+ ### Migrações Exemplo
207
+
208
+ #### Migration 001: Create Initial Tables
209
+ ```sql
210
+ -- 001_create_initial_tables.sql
211
+ BEGIN;
212
+
213
+ -- Users
214
+ CREATE TABLE users (
215
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
216
+ email VARCHAR(255) NOT NULL UNIQUE,
217
+ username VARCHAR(50) NOT NULL UNIQUE,
218
+ password_hash VARCHAR(255) NOT NULL,
219
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
220
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
221
+ );
222
+
223
+ -- Products
224
+ CREATE TABLE products (
225
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
226
+ name VARCHAR(255) NOT NULL,
227
+ slug VARCHAR(255) NOT NULL UNIQUE,
228
+ price DECIMAL(10,2) NOT NULL,
229
+ stock INTEGER NOT NULL DEFAULT 0,
230
+ status VARCHAR(20) DEFAULT 'active',
231
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
232
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
233
+ );
234
+
235
+ -- Orders
236
+ CREATE TABLE orders (
237
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
238
+ user_id UUID NOT NULL REFERENCES users(id) ON DELETE RESTRICT,
239
+ order_number VARCHAR(50) NOT NULL UNIQUE,
240
+ status VARCHAR(20) NOT NULL DEFAULT 'pending',
241
+ total_amount DECIMAL(10,2) NOT NULL,
242
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
243
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
244
+ );
245
+
246
+ -- Order Items
247
+ CREATE TABLE order_items (
248
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
249
+ order_id UUID NOT NULL REFERENCES orders(id) ON DELETE CASCADE,
250
+ product_id UUID NOT NULL REFERENCES products(id) ON DELETE RESTRICT,
251
+ quantity INTEGER NOT NULL,
252
+ unit_price DECIMAL(10,2) NOT NULL,
253
+ total_price DECIMAL(10,2) NOT NULL,
254
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
255
+ );
256
+
257
+ -- Índices
258
+ CREATE INDEX idx_users_email ON users(email);
259
+ CREATE INDEX idx_products_name ON products(name);
260
+ CREATE INDEX idx_orders_user ON orders(user_id);
261
+ CREATE INDEX idx_order_items_order ON order_items(order_id);
262
+ CREATE INDEX idx_order_items_product ON order_items(product_id);
263
+
264
+ COMMIT;
265
+ ```
266
+
267
+ #### Migration 002: Add Categories and Product Categories
268
+ ```sql
269
+ -- 002_add_categories.sql
270
+ BEGIN;
271
+
272
+ -- Categories
273
+ CREATE TABLE categories (
274
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
275
+ name VARCHAR(100) NOT NULL,
276
+ slug VARCHAR(100) NOT NULL UNIQUE,
277
+ description TEXT,
278
+ parent_id UUID REFERENCES categories(id) ON DELETE CASCADE,
279
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
280
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
281
+ );
282
+
283
+ -- Product Categories (junction table)
284
+ CREATE TABLE product_categories (
285
+ product_id UUID NOT NULL REFERENCES products(id) ON DELETE CASCADE,
286
+ category_id UUID NOT NULL REFERENCES categories(id) ON DELETE CASCADE,
287
+ PRIMARY KEY (product_id, category_id)
288
+ );
289
+
290
+ -- Índices
291
+ CREATE INDEX idx_categories_parent ON categories(parent_id);
292
+ CREATE INDEX idx_product_categories_product ON product_categories(product_id);
293
+ CREATE INDEX idx_product_categories_category ON product_categories(category_id);
294
+
295
+ COMMIT;
296
+ ```
297
+
298
+ ---
299
+
300
+ ## Exemplo 2: Sistema de Blog
301
+
302
+ ### Contexto
303
+ Sistema de blog com posts, comentários, usuários e tags.
304
+
305
+ ### Escolha do Banco
306
+ - **PostgreSQL** - Suporte a full-text search e JSONB
307
+ - **Self-hosted** - Controle total
308
+ - **TypeORM** - ORM para Node.js
309
+
310
+ ### Schema Principal
311
+
312
+ #### Posts Table
313
+ ```sql
314
+ CREATE TABLE posts (
315
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
316
+ title VARCHAR(255) NOT NULL,
317
+ slug VARCHAR(255) NOT NULL UNIQUE,
318
+ content TEXT NOT NULL,
319
+ excerpt TEXT,
320
+ status VARCHAR(20) NOT NULL DEFAULT 'draft',
321
+ author_id UUID NOT NULL REFERENCES users(id) ON DELETE RESTRICT,
322
+ featured_image VARCHAR(500),
323
+ metadata JSONB DEFAULT '{}',
324
+ published_at TIMESTAMP,
325
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
326
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
327
+ deleted_at TIMESTAMP NULL
328
+ );
329
+
330
+ -- Full-text search index
331
+ CREATE INDEX idx_posts_search ON posts USING GIN (
332
+ to_tsvector('portuguese', title || ' ' || content)
333
+ );
334
+
335
+ -- Índices de performance
336
+ CREATE INDEX idx_posts_author ON posts(author_id);
337
+ CREATE INDEX idx_posts_status ON posts(status);
338
+ CREATE INDEX idx_posts_published ON posts(published_at) WHERE status = 'published';
339
+ CREATE INDEX idx_posts_active ON posts(slug) WHERE deleted_at IS NULL;
340
+ ```
341
+
342
+ #### Tags Table
343
+ ```sql
344
+ CREATE TABLE tags (
345
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
346
+ name VARCHAR(50) NOT NULL UNIQUE,
347
+ slug VARCHAR(50) NOT NULL UNIQUE,
348
+ color VARCHAR(7) DEFAULT '#6366f1',
349
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
350
+ );
351
+
352
+ -- Post Tags (junction table)
353
+ CREATE TABLE post_tags (
354
+ post_id UUID NOT NULL REFERENCES posts(id) ON DELETE CASCADE,
355
+ tag_id UUID NOT NULL REFERENCES tags(id) ON DELETE CASCADE,
356
+ PRIMARY KEY (post_id, tag_id)
357
+ );
358
+
359
+ -- Índices
360
+ CREATE INDEX idx_post_tags_post ON post_tags(post_id);
361
+ CREATE INDEX idx_post_tags_tag ON post_tags(tag_id);
362
+ ```
363
+
364
+ #### Comments Table
365
+ ```sql
366
+ CREATE TABLE comments (
367
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
368
+ post_id UUID NOT NULL REFERENCES posts(id) ON DELETE CASCADE,
369
+ author_name VARCHAR(100) NOT NULL,
370
+ author_email VARCHAR(255),
371
+ content TEXT NOT NULL,
372
+ status VARCHAR(20) DEFAULT 'pending',
373
+ parent_id UUID REFERENCES comments(id) ON DELETE CASCADE,
374
+ ip_address INET,
375
+ user_agent TEXT,
376
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
377
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
378
+ );
379
+
380
+ -- Índices
381
+ CREATE INDEX idx_comments_post ON comments(post_id);
382
+ CREATE INDEX idx_comments_parent ON comments(parent_id);
383
+ CREATE INDEX idx_comments_status ON comments(status);
384
+ CREATE INDEX idx_comments_created ON comments(created_at);
385
+ ```
386
+
387
+ ### Queries de Blog
388
+
389
+ #### Busca Full-Text
390
+ ```sql
391
+ -- Busca de posts com ranking
392
+ SELECT
393
+ p.*,
394
+ ts_rank(
395
+ to_tsvector('portuguese', p.title || ' ' || p.content),
396
+ plainto_tsquery('portuguese', :search_term)
397
+ ) as rank,
398
+ ts_headline('portuguese', p.title || ' ' || p.content, plainto_tsquery('portuguese', :search_term)) as snippet
399
+ FROM posts p
400
+ WHERE
401
+ p.status = 'published'
402
+ AND to_tsvector('portuguese', p.title || ' ' || p.content) @@ plainto_tsquery('portuguese', :search_term)
403
+ ORDER BY rank DESC, p.published_at DESC
404
+ LIMIT :limit;
405
+ ```
406
+
407
+ #### Posts Populares
408
+ ```sql
409
+ -- Posts populares (baseado em comentários e views)
410
+ SELECT
411
+ p.*,
412
+ COUNT(c.id) as comment_count,
413
+ COUNT(DISTINCT v.session_id) as view_count
414
+ FROM posts p
415
+ LEFT JOIN comments c ON p.id = c.post_id AND c.status = 'approved'
416
+ LEFT JOIN post_views v ON p.id = v.post_id AND v.created_at >= CURRENT_DATE - INTERVAL '7 days'
417
+ WHERE
418
+ p.status = 'published'
419
+ AND p.published_at >= CURRENT_DATE - INTERVAL '30 days'
420
+ GROUP BY p.id
421
+ ORDER BY
422
+ (COUNT(c.id) * 0.7 + COUNT(DISTINCT v.session_id) * 0.3) DESC
423
+ LIMIT 10;
424
+ ```
425
+
426
+ ---
427
+
428
+ ## Exemplo 3: Sistema de IoT
429
+
430
+ ### Contexto
431
+ Sistema de IoT com sensores, dispositivos e dados de tempo real.
432
+
433
+ ### Escolha do Banco
434
+ - **TimescaleDB** - Extensão PostgreSQL para time-series
435
+ - **Redis** - Cache e dados em tempo real
436
+ - **MongoDB** - Dados flexíveis de dispositivos
437
+
438
+ ### Schema Principal
439
+
440
+ #### Devices Table
441
+ ```sql
442
+ CREATE TABLE devices (
443
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
444
+ name VARCHAR(100) NOT NULL,
445
+ device_id VARCHAR(100) NOT NULL UNIQUE,
446
+ type VARCHAR(50) NOT NULL,
447
+ location JSONB,
448
+ metadata JSONB DEFAULT '{}',
449
+ status VARCHAR(20) DEFAULT 'active',
450
+ last_seen TIMESTAMP,
451
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
452
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
453
+ );
454
+
455
+ -- Índices
456
+ CREATE INDEX idx_devices_device_id ON devices(device_id);
457
+ CREATE INDEX idx_devices_type ON devices(type);
458
+ CREATE INDEX idx_devices_status ON devices(status);
459
+ CREATE INDEX idx_devices_last_seen ON devices(last_seen);
460
+ CREATE INDEX idx_devices_location_gin ON devices USING GIN(location);
461
+ ```
462
+
463
+ #### Sensor Data (Hypertable)
464
+ ```sql
465
+ -- Criar hypertable para dados de sensores
466
+ CREATE TABLE sensor_data (
467
+ time TIMESTAMP NOT NULL,
468
+ device_id UUID NOT NULL REFERENCES devices(id) ON DELETE CASCADE,
469
+ metric_name VARCHAR(50) NOT NULL,
470
+ value DOUBLE PRECISION,
471
+ unit VARCHAR(20),
472
+ quality INTEGER DEFAULT 100,
473
+ metadata JSONB DEFAULT '{}'
474
+ );
475
+
476
+ -- Criar hypertable
477
+ SELECT create_hypertable('sensor_data', 'time');
478
+
479
+ -- Índices
480
+ CREATE INDEX idx_sensor_data_device_time ON sensor_data (device_id, time DESC);
481
+ CREATE INDEX idx_sensor_data_metric ON sensor_data (metric_name);
482
+ ```
483
+
484
+ #### Alerts Table
485
+ ```sql
486
+ CREATE TABLE alerts (
487
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
488
+ device_id UUID NOT NULL REFERENCES devices(id) ON DELETE CASCADE,
489
+ metric_name VARCHAR(50) NOT NULL,
490
+ condition VARCHAR(100) NOT NULL,
491
+ threshold DOUBLE PRECISION,
492
+ severity VARCHAR(20) NOT NULL,
493
+ status VARCHAR(20) DEFAULT 'active',
494
+ triggered_at TIMESTAMP,
495
+ resolved_at TIMESTAMP,
496
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
497
+ );
498
+
499
+ -- Índices
500
+ CREATE INDEX idx_alerts_device ON alerts(device_id);
501
+ CREATE INDEX idx_alerts_status ON alerts(status);
502
+ CREATE INDEX idx_alerts_triggered ON alerts(triggered_at);
503
+ ```
504
+
505
+ ### Queries de IoT
506
+
507
+ #### Dados Recentes do Dispositivo
508
+ ```sql
509
+ -- Últimas 24 horas de dados de um dispositivo
510
+ SELECT
511
+ time,
512
+ metric_name,
513
+ value,
514
+ unit,
515
+ quality
516
+ FROM sensor_data
517
+ WHERE
518
+ device_id = :device_id
519
+ AND time >= NOW() - INTERVAL '24 hours'
520
+ ORDER BY time DESC;
521
+ ```
522
+
523
+ #### Alertas Ativos
524
+ ```sql
525
+ -- Alertas não resolvidos
526
+ SELECT
527
+ d.name as device_name,
528
+ a.metric_name,
529
+ a.condition,
530
+ a.threshold,
531
+ a.severity,
532
+ a.triggered_at
533
+ FROM alerts a
534
+ JOIN devices d ON a.device_id = d.id
535
+ WHERE
536
+ a.status = 'active'
537
+ AND a.triggered_at IS NOT NULL
538
+ ORDER BY a.triggered_at DESC;
539
+ ```
540
+
541
+ ---
542
+
543
+ ## Exemplo 4: Sistema de Analytics
544
+
545
+ ### Contexto
546
+ Sistema de analytics com eventos de usuário, métricas e dashboards.
547
+
548
+ ### Escolha do Banco
549
+ - **ClickHouse** - Analytics e OLAP
550
+ - **PostgreSQL** - Dados de configuração
551
+ - **Redis** - Cache de métricas
552
+
553
+ ### Schema Principal
554
+
555
+ #### Events Table (ClickHouse)
556
+ ```sql
557
+ CREATE TABLE events (
558
+ timestamp DateTime,
559
+ user_id UUID,
560
+ event_type String,
561
+ properties JSON,
562
+ session_id String,
563
+ ip_address IPv4,
564
+ user_agent String
565
+ ) ENGINE = MergeTree()
566
+ PARTITION BY toYYYYMMDD(timestamp)
567
+ ORDER BY (timestamp, user_id, event_type);
568
+ ```
569
+
570
+ #### Metrics Table
571
+ ```sql
572
+ CREATE TABLE metrics (
573
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
574
+ name VARCHAR(100) NOT NULL UNIQUE,
575
+ description TEXT,
576
+ type VARCHAR(50) NOT NULL, -- counter, gauge, histogram
577
+ tags JSONB DEFAULT '{}',
578
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
579
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
580
+ );
581
+
582
+ -- Metric Values (time-series)
583
+ CREATE TABLE metric_values (
584
+ timestamp TIMESTAMP NOT NULL,
585
+ metric_id UUID NOT NULL REFERENCES metrics(id) ON DELETE CASCADE,
586
+ value DOUBLE PRECISION,
587
+ tags JSONB DEFAULT '{}'
588
+ );
589
+
590
+ -- Criar hypertable para valores
591
+ SELECT create_hypertable('metric_values', 'timestamp');
592
+ ```
593
+
594
+ ### Queries de Analytics
595
+
596
+ #### Eventos por Período
597
+ ```sql
598
+ -- Contagem de eventos por tipo e período
599
+ SELECT
600
+ event_type,
601
+ toStartOfDay(timestamp) as day,
602
+ COUNT(*) as event_count,
603
+ COUNT(DISTINCT user_id) as unique_users
604
+ FROM events
605
+ WHERE
606
+ timestamp >= CURRENT_DATE - INTERVAL '30 days'
607
+ GROUP BY
608
+ event_type,
609
+ toStartOfDay(timestamp)
610
+ ORDER BY day DESC, event_count DESC;
611
+ ```
612
+
613
+ #### Funil de Conversão
614
+ ```sql
615
+ -- Funil de conversão por etapa
616
+ WITH user_sessions AS (
617
+ SELECT
618
+ user_id,
619
+ session_id,
620
+ min(timestamp) as session_start,
621
+ max(timestamp) as session_end,
622
+ array_agg(DISTINCT event_type ORDER BY timestamp) as events
623
+ FROM events
624
+ WHERE
625
+ timestamp >= CURRENT_DATE - INTERVAL '7 days'
626
+ GROUP BY user_id, session_id
627
+ ),
628
+ conversion_funnel AS (
629
+ SELECT
630
+ event_type,
631
+ COUNT(DISTINCT user_id) as users,
632
+ COUNT(DISTINCT user_id) * 100.0 / LAG(COUNT(DISTINCT user_id)) OVER (ORDER BY event_type) as conversion_rate
633
+ FROM user_sessions
634
+ WHERE
635
+ events @> ['page_view'] -- Todos que viram a página
636
+ GROUP BY event_type
637
+ )
638
+ SELECT
639
+ event_type,
640
+ users,
641
+ ROUND(conversion_rate, 2) as conversion_rate
642
+ FROM conversion_funnel
643
+ ORDER BY
644
+ CASE event_type
645
+ WHEN 'page_view' THEN 1
646
+ WHEN 'add_to_cart' THEN 2
647
+ WHEN 'begin_checkout' THEN 3
648
+ WHEN 'purchase' THEN 4
649
+ END;
650
+ ```
651
+
652
+ ---
653
+
654
+ ## Exemplo 5: Sistema Financeiro
655
+
656
+ ### Contexto
657
+ Sistema financeiro com contas, transações e auditoria.
658
+
659
+ ### Escolha do Banco
660
+ - **PostgreSQL** - ACID e extensões financeiras
661
+ - **Criptografia** - Dados sensíveis
662
+ - **Auditoria** - Logs completos
663
+
664
+ ### Schema Principal
665
+
666
+ #### Accounts Table
667
+ ```sql
668
+ CREATE TABLE accounts (
669
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
670
+ user_id UUID NOT NULL REFERENCES users(id) ON DELETE RESTRICT,
671
+ account_number VARCHAR(20) NOT NULL UNIQUE,
672
+ type VARCHAR(20) NOT NULL, -- checking, savings, credit
673
+ balance DECIMAL(15,2) NOT NULL DEFAULT 0,
674
+ currency VARCHAR(3) NOT NULL DEFAULT 'BRL',
675
+ status VARCHAR(20) NOT NULL DEFAULT 'active',
676
+ metadata JSONB DEFAULT '{}',
677
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
678
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
679
+ );
680
+
681
+ -- Índices
682
+ CREATE INDEX idx_accounts_user ON accounts(user_id);
683
+ CREATE INDEX idx_accounts_number ON accounts(account_number);
684
+ CREATE INDEX idx_accounts_type ON accounts(type);
685
+ CREATE INDEX idx_accounts_status ON accounts(status);
686
+ ```
687
+
688
+ #### Transactions Table
689
+ ```sql
690
+ CREATE TABLE transactions (
691
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
692
+ account_id UUID NOT NULL REFERENCES accounts(id) ON DELETE RESTRICT,
693
+ type VARCHAR(20) NOT NULL, -- debit, credit, transfer
694
+ amount DECIMAL(15,2) NOT NULL,
695
+ description TEXT,
696
+ reference_id UUID, -- Para transferências
697
+ metadata JSONB DEFAULT '{}',
698
+ status VARCHAR(20) NOT NULL DEFAULT 'pending',
699
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP,
700
+ updated_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
701
+ );
702
+
703
+ -- Índices
704
+ CREATE INDEX idx_transactions_account ON transactions(account_id);
705
+ CREATE INDEX idx_transactions_type ON transactions(type);
706
+ CREATE INDEX idx_transactions_status ON transactions(status);
707
+ CREATE INDEX idx_transactions_created ON transactions(created_at);
708
+ CREATE INDEX idx_transactions_reference ON transactions(reference_id);
709
+ ```
710
+
711
+ #### Audit Log Table
712
+ ```sql
713
+ CREATE TABLE audit_log (
714
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
715
+ table_name VARCHAR(255) NOT NULL,
716
+ operation VARCHAR(10) NOT NULL, -- INSERT, UPDATE, DELETE
717
+ record_id UUID NOT NULL,
718
+ old_values JSONB,
719
+ new_values JSONB,
720
+ user_id UUID REFERENCES users(id),
721
+ ip_address INET,
722
+ user_agent TEXT,
723
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
724
+ );
725
+
726
+ -- Índices
727
+ CREATE INDEX idx_audit_log_table ON audit_log(table_name);
728
+ CREATE INDEX idx_audit_log_record ON audit_log(record_id);
729
+ CREATE INDEX idx_audit_log_user ON audit_log(user_id);
730
+ CREATE INDEX idx_audit_log_created ON audit_log(created_at);
731
+ ```
732
+
733
+ ### Queries Financeiras
734
+
735
+ #### Extrato da Conta
736
+ ```sql
737
+ -- Extrato com saldo acumulado
738
+ WITH transaction_balances AS (
739
+ SELECT
740
+ id,
741
+ account_id,
742
+ type,
743
+ amount,
744
+ description,
745
+ created_at,
746
+ SUM(CASE WHEN type = 'credit' THEN amount ELSE -amount END)
747
+ OVER (PARTITION BY account_id ORDER BY created_at) as running_balance
748
+ FROM transactions
749
+ WHERE
750
+ account_id = :account_id
751
+ AND status = 'completed'
752
+ )
753
+ SELECT
754
+ id,
755
+ type,
756
+ amount,
757
+ description,
758
+ running_balance,
759
+ created_at
760
+ FROM transaction_balances
761
+ ORDER BY created_at DESC;
762
+ ```
763
+
764
+ #### Relatório Financeiro
765
+ ```sql
766
+ -- Relatório mensal por tipo de transação
767
+ SELECT
768
+ DATE_TRUNC('month', created_at) as month,
769
+ type,
770
+ COUNT(*) as transaction_count,
771
+ SUM(CASE WHEN type = 'credit' THEN amount ELSE 0 END) as total_credits,
772
+ SUM(CASE WHEN type = 'debit' THEN amount ELSE 0 END) as total_debits,
773
+ SUM(CASE WHEN type = 'credit' THEN amount ELSE -amount END) as net_amount
774
+ FROM transactions
775
+ WHERE
776
+ status = 'completed'
777
+ AND created_at >= CURRENT_DATE - INTERVAL '12 months'
778
+ GROUP BY
779
+ DATE_TRUNC('month', created_at),
780
+ type
781
+ ORDER BY month DESC, type;
782
+ ```
783
+
784
+ ---
785
+
786
+ ## Padrões e Melhores Práticas
787
+
788
+ ### 1. Naming Conventions
789
+ - **Tables:** snake_case plural (users, orders, products)
790
+ - **Columns:** snake_case (created_at, user_id, first_name)
791
+ - **Indexes:** idx_[table]_[columns] (idx_users_email)
792
+ - **Constraints:** pk_[table], uk_[table]_[column], fk_[table]_[reference]
793
+
794
+ ### 2. Data Types
795
+ - **IDs:** UUID para novas tabelas
796
+ - **Timestamps:** TIMESTAMP WITH TIME ZONE
797
+ - **JSON:** JSONB para dados estruturados
798
+ - **Money:** DECIMAL(15,2) para valores monetários
799
+
800
+ ### 3. Performance
801
+ - **Índices:** Para WHERE, JOIN, ORDER BY
802
+ - **Covering Indexes:** Incluir colunas do SELECT
803
+ - **Partial Indexes:** Para subsets de dados
804
+ - **Partitioning:** Para tabelas grandes
805
+
806
+ ### 4. Segurança
807
+ - **Soft Deletes:** deleted_at em vez de DELETE
808
+ - **Row Level Security:** Para acesso granular
809
+ - **Encryption:** Para dados sensíveis
810
+ - **Audit Trail:** Registrar mudanças
811
+
812
+ ### 5. Migrações
813
+ - **Zero-Downtime:** Usar CONCURRENTLY
814
+ - **Backward Compatible:** Não quebrar código existente
815
+ - **Rollback:** Sempre ter rollback
816
+ - **Testing:** Validar em staging
817
+
818
+ ---
819
+
820
+ ## Ferramentas Úteis
821
+
822
+ ### Diagramação
823
+ - **dbdiagram.io:** Diagramas online
824
+ - **Draw.io:** Diagramas visuais
825
+ - **PlantUML:** Diagramas de texto
826
+ - **Mermaid:** Diagramas em Markdown
827
+
828
+ ### Testing
829
+ - **pgTAP:** Testes unitários PostgreSQL
830
+ - **Factory Boy:** Dados de teste
831
+ - **Faker:** Dados falsos
832
+ - **TestContainers:** Banco em container
833
+
834
+ ### Monitoring
835
+ - **pg_stat_statements:** Queries lentas
836
+ - **pg_stat_activity:** Conexões ativas
837
+ - **pg_stat_user_indexes:** Uso de índices
838
+ - **EXPLAIN ANALYZE:** Plano de execução
839
+
840
+ ---
841
+
842
+ ## Referências
843
+
844
+ ### Documentação
845
+ - **PostgreSQL:** [postgresql.org/docs](https://postgresql.org/docs/)
846
+ - **MySQL:** [dev.mysql.com/doc](https://dev.mysql.com/doc/)
847
+ - **MongoDB:** [docs.mongodb.com](https://docs.mongodb.com/)
848
+
849
+ ### Livros
850
+ - **Database Design:** "Database Design for Mere Mortals"
851
+ - **Performance:** "High Performance MySQL"
852
+ - **PostgreSQL:** "PostgreSQL 14 Internals"
853
+
854
+ ### Blogs
855
+ - **Planet PostgreSQL:** planet.postgresql.org
856
+ - **MySQL Performance Blog:** www.percona.com/blog
857
+ - **Database Weekly:** www.dbweekly.com