@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,935 @@
1
+ # [Nome do Projeto] - Constraints de Integridade
2
+
3
+ ## Sumário Executivo
4
+ [ ] **Projeto:** [Nome do projeto]
5
+ [ ] **Versão:** [Versão atual]
6
+ [ ] **Data:** [Data de criação]
7
+ [ ] **Status:** [Em elaboração/Revisão/Aprovado]
8
+ [ ] **Autor:** [DBA]
9
+ [ ] **Aprovadores:** [Stakeholders]
10
+
11
+ ---
12
+
13
+ ## 1. Visão Geral das Constraints
14
+
15
+ ### 1.1 Tipos de Constraints
16
+ - **Primary Keys (PK):** Identificadores únicos
17
+ - **Foreign Keys (FK):** Integridade referencial
18
+ - **Unique Constraints:** Unicidade de valores
19
+ - **Check Constraints:** Validação de regras
20
+ - **Not Null:** Campos obrigatórios
21
+ - **Default Values:** Valores padrão
22
+
23
+ ### 1.2 Estratégia de Implementação
24
+ - **Gradual:** Implementar em etapas
25
+ - **Backward Compatible:** Não quebrar código existente
26
+ - **Tested:** Validar antes de deploy
27
+ - **Documented:** Documentar todas as regras
28
+
29
+ ### 1.3 Impacto na Performance
30
+ - **Write Performance:** Impacto em inserts/updates
31
+ - **Read Performance:** Melhoria em queries
32
+ - **Storage:** Espaço adicional para índices
33
+ - **Maintenance:** Complexidade de manutenção
34
+
35
+ ---
36
+
37
+ ## 2. Primary Keys (PKs)
38
+
39
+ ### 2.1 Padrão de PKs
40
+ - **Tipo:** UUID para novas tabelas
41
+ - **Auto-increment:** Para migrações legadas
42
+ - **Natural Keys:** Para dados de negócio únicos
43
+ - **Composite Keys:** Para PKs compostas
44
+
45
+ ### 2.2 PKs por Tabela
46
+ #### [Nome da Tabela 1]
47
+ ```sql
48
+ -- PK UUID (padrão para novas tabelas)
49
+ ALTER TABLE [tabela]
50
+ ADD CONSTRAINT pk_[tabela]
51
+ PRIMARY KEY (id);
52
+
53
+ -- PK auto-increment (legado)
54
+ ALTER TABLE [tabela]
55
+ ADD CONSTRAINT pk_[tabela]
56
+ PRIMARY KEY (id SERIAL);
57
+
58
+ -- PK composta
59
+ ALTER TABLE [tabela]
60
+ ADD CONSTRAINT pk_[tabela]
61
+ PRIMARY KEY (user_id, product_id);
62
+ ```
63
+
64
+ #### [Nome da Tabela 2]
65
+ ```sql
66
+ -- PK com sequence
67
+ CREATE SEQUENCE [tabela]_id_seq;
68
+ ALTER TABLE [tabela]
69
+ ALTER COLUMN id SET DEFAULT nextval('[tabela]_id_seq');
70
+ ALTER TABLE [tabela]
71
+ ADD CONSTRAINT pk_[tabela]
72
+ PRIMARY KEY (id);
73
+ ```
74
+
75
+ ### 2.3 PKs Especiais
76
+ #### PKs com Partição
77
+ ```sql
78
+ -- PK particionada
79
+ CREATE TABLE [tabela] (
80
+ id UUID NOT NULL,
81
+ tenant_id UUID NOT NULL,
82
+ created_at TIMESTAMP NOT NULL,
83
+ PRIMARY KEY (tenant_id, id, created_at)
84
+ ) PARTITION BY RANGE (created_at);
85
+ ```
86
+
87
+ #### PKs com Default
88
+ ```sql
89
+ -- PK com valor padrão
90
+ ALTER TABLE [tabela]
91
+ ADD CONSTRAINT pk_[tabela]
92
+ PRIMARY KEY (id DEFAULT gen_random_uuid());
93
+ ```
94
+
95
+ ---
96
+
97
+ ## 3. Foreign Keys (FKs)
98
+
99
+ ### 3.1 Estratégia de FKs
100
+ - **Referential Integrity:** Garantir consistência
101
+ - **Cascade Actions:** Definir comportamento em delete/update
102
+ - **Performance:** Índices em colunas FK
103
+ - **Naming:** Convenção clara de nomes
104
+
105
+ ### 3.2 FKs por Relacionamento
106
+ #### [Relacionamento 1:N]
107
+ ```sql
108
+ -- FK simples (1:N)
109
+ ALTER TABLE [tabela_filha]
110
+ ADD CONSTRAINT fk_[tabela_filha]_[tabela_pai]
111
+ FOREIGN KEY ([coluna_fk])
112
+ REFERENCES [tabela_pai]([coluna_pk])
113
+ ON DELETE RESTRICT
114
+ ON UPDATE CASCADE;
115
+
116
+ -- FK com cascade (1:N)
117
+ ALTER TABLE [tabela_filha]
118
+ ADD CONSTRAINT fk_[tabela_filha]_[tabela_pai]
119
+ FOREIGN KEY ([coluna_fk])
120
+ REFERENCES [tabela_pai]([coluna_pk])
121
+ ON DELETE CASCADE
122
+ ON UPDATE CASCADE;
123
+ ```
124
+
125
+ #### [Relacionamento N:N]
126
+ ```sql
127
+ -- FK em tabela de junção
128
+ ALTER TABLE [tabela_juncao]
129
+ ADD CONSTRAINT fk_[tabela_juncao]_[tabela1]
130
+ FOREIGN KEY ([tabela1_id])
131
+ REFERENCES [tabela1](id)
132
+ ON DELETE CASCADE;
133
+
134
+ ALTER TABLE [tabela_juncao]
135
+ ADD CONSTRAINT fk_[tabela_juncao]_[tabela2]
136
+ FOREIGN KEY ([tabela2_id])
137
+ REFERENCES [tabela2](id)
138
+ ON DELETE CASCADE;
139
+ ```
140
+
141
+ #### [Relacionamento 1:1]
142
+ ```sql
143
+ -- FK 1:1
144
+ ALTER TABLE [tabela2]
145
+ ADD CONSTRAINT fk_[tabela2]_[tabela1]
146
+ FOREIGN KEY ([tabela1_id])
147
+ REFERENCES [tabela1](id)
148
+ ON DELETE CASCADE
149
+ ON UPDATE CASCADE
150
+ UNIQUE ([tabela1_id]);
151
+ ```
152
+
153
+ ### 3.3 Ações em FKs
154
+ | Ação | Descrição | Quando Usar |
155
+ |-------|-----------|-------------|
156
+ | **RESTRICT** | Impede delete/update | Dados críticos |
157
+ | **CASCADE** | Propaga delete/update | Dados dependentes |
158
+ | **SET NULL** | Define como NULL | Dados opcionais |
159
+ | **SET DEFAULT** | Define valor padrão | Dados com padrão |
160
+
161
+ ### 3.4 FKs com Self-Reference
162
+ ```sql
163
+ -- Self-reference (hierarquia)
164
+ ALTER TABLE [tabela]
165
+ ADD CONSTRAINT fk_[tabela]_parent
166
+ FOREIGN KEY (parent_id)
167
+ REFERENCES [tabela](id)
168
+ ON DELETE SET NULL;
169
+ ```
170
+
171
+ ---
172
+
173
+ ## 4. Unique Constraints
174
+
175
+ ### 4.1 Estratégia de Unicidade
176
+ - **Business Rules:** Regras de negócio
177
+ - **Data Integrity:** Evitar duplicatas
178
+ - **Performance:** Índices únicos
179
+ - **Naming:** Convenção clara
180
+
181
+ ### 4.2 Unique Constraints por Tabela
182
+ #### [Nome da Tabela 1]
183
+ ```sql
184
+ -- Unique simples
185
+ ALTER TABLE [tabela]
186
+ ADD CONSTRAINT uk_[tabela]_email
187
+ UNIQUE (email);
188
+
189
+ -- Unique composto
190
+ ALTER TABLE [tabela]
191
+ ADD CONSTRAINT uk_[tabela]_[colunas]
192
+ UNIQUE ([coluna1], [coluna2]);
193
+
194
+ -- Unique parcial
195
+ ALTER TABLE [tabela]
196
+ ADD CONSTRAINT uk_[tabela]_[coluna]_active
197
+ UNIQUE ([coluna])
198
+ WHERE deleted_at IS NULL;
199
+ ```
200
+
201
+ #### [Nome da Tabela 2]
202
+ ```sql
203
+ -- Unique com função
204
+ ALTER TABLE [tabela]
205
+ ADD CONSTRAINT uk_[tabela]_email_lower
206
+ UNIQUE (LOWER(email));
207
+
208
+ -- Unique com expressão
209
+ ALTER TABLE [tabela]
210
+ ADD CONSTRAINT uk_[tabela]_[coluna]_formatted
211
+ UNIQUE (TRIM(BOTH FROM [coluna]));
212
+ ```
213
+
214
+ ### 4.3 Unique Constraints Especiais
215
+ #### Unique com Condição
216
+ ```sql
217
+ -- Unique para registros ativos
218
+ ALTER TABLE [tabela]
219
+ ADD CONSTRAINT uk_[tabela]_[coluna]_active
220
+ UNIQUE ([coluna])
221
+ DEFERRABLE INITIALLY DEFERRED;
222
+
223
+ -- Unique com deferrable
224
+ ALTER TABLE [tabela]
225
+ ADD CONSTRAINT uk_[tabela]_[colunas]
226
+ UNIQUE ([coluna1], [coluna2])
227
+ DEFERRABLE INITIALLY DEFERRED;
228
+ ```
229
+
230
+ ---
231
+
232
+ ## 5. Check Constraints
233
+
234
+ ### 5.1 Estratégia de Validação
235
+ - **Business Rules:** Regras de negócio
236
+ - **Data Validation:** Validação de dados
237
+ - **Range Validation:** Validação de intervalos
238
+ - **Format Validation:** Validação de formato
239
+
240
+ ### 5.2 Check Constraints por Tabela
241
+ #### [Nome da Tabela 1]
242
+ ```sql
243
+ -- Check de range
244
+ ALTER TABLE [tabela]
245
+ ADD CONSTRAINT ck_[tabela]_[coluna]_range
246
+ CHECK ([coluna] >= 0 AND [coluna] <= 100);
247
+
248
+ -- Check de formato
249
+ ALTER TABLE [tabela]
250
+ ADD CONSTRAINT ck_[tabela]_email_format
251
+ CHECK (email ~* '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$');
252
+
253
+ -- Check de negócio
254
+ ALTER TABLE [tabela]
255
+ ADD CONSTRAINT ck_[tabela]_[regra]
256
+ CHECK ([coluna1] > [coluna2]);
257
+ ```
258
+
259
+ #### [Nome da Tabela 2]
260
+ ```sql
261
+ -- Check de data
262
+ ALTER TABLE [tabela]
263
+ ADD CONSTRAINT ck_[tabela]_date_range
264
+ CHECK (data_inicio <= data_fim);
265
+
266
+ -- Check de status
267
+ ALTER TABLE [tabela]
268
+ ADD CONSTRAINT ck_[tabela]_status_valid
269
+ CHECK (status IN ('active', 'inactive', 'pending'));
270
+
271
+ -- Check de valor positivo
272
+ ALTER TABLE [tabela]
273
+ ADD CONSTRAINT ck_[tabela]_[coluna]_positive
274
+ CHECK ([coluna] > 0);
275
+ ```
276
+
277
+ ### 5.3 Check Constraints Complexos
278
+ #### Múltiplas Condições
279
+ ```sql
280
+ -- Check complexo
281
+ ALTER TABLE [tabela]
282
+ ADD CONSTRAINT ck_[tabela]_[complex]
283
+ CHECK (
284
+ (status = 'active' AND data_inicio IS NOT NULL) OR
285
+ (status = 'inactive' AND data_fim IS NOT NULL)
286
+ );
287
+
288
+ -- Check com CASE
289
+ ALTER TABLE [tabela]
290
+ ADD CONSTRAINT ck_[tabela]_[case]
291
+ CHECK (
292
+ CASE
293
+ WHEN tipo = 'premium' THEN valor > 100
294
+ WHEN tipo = 'basic' THEN valor <= 100
295
+ ELSE true
296
+ END
297
+ );
298
+ ```
299
+
300
+ ---
301
+
302
+ ## 6. Not Null Constraints
303
+
304
+ ### 6.1 Estratégia de Obrigatoriedade
305
+ - **Business Rules:** Campos obrigatórios
306
+ - **Data Integrity:** Evitar nulos indevidos
307
+ - **Default Values:** Valores padrão
308
+ - **Migration:** Adicionar gradualmente
309
+
310
+ ### 6.2 Not Null por Tabela
311
+ #### [Nome da Tabela 1]
312
+ ```sql
313
+ -- Adicionar NOT NULL (com valor padrão)
314
+ ALTER TABLE [tabela]
315
+ ALTER COLUMN [coluna] SET NOT NULL;
316
+
317
+ -- Adicionar NOT NULL (com validação)
318
+ ALTER TABLE [tabela]
319
+ ALTER COLUMN [coluna] SET NOT NULL;
320
+
321
+ -- Adicionar NOT NULL com default
322
+ ALTER TABLE [tabela]
323
+ ALTER COLUMN [coluna] SET NOT NULL,
324
+ ALTER COLUMN [coluna] SET DEFAULT [valor];
325
+ ```
326
+
327
+ #### [Nome da Tabela 2]
328
+ ```sql
329
+ -- NOT NULL em múltiplas colunas
330
+ ALTER TABLE [tabela]
331
+ ALTER COLUMN [coluna1] SET NOT NULL,
332
+ ALTER COLUMN [coluna2] SET NOT NULL,
333
+ ALTER COLUMN [coluna3] SET NOT NULL;
334
+ ```
335
+
336
+ ### 6.3 Not Null com Migração
337
+ ```sql
338
+ -- Migração segura para NOT NULL
339
+ -- Passo 1: Adicionar valor padrão
340
+ ALTER TABLE [tabela]
341
+ ALTER COLUMN [coluna] SET DEFAULT [valor];
342
+
343
+ -- Passo 2: Atualizar nulos existentes
344
+ UPDATE [tabela]
345
+ SET [coluna] = [valor]
346
+ WHERE [coluna] IS NULL;
347
+
348
+ -- Passo 3: Adicionar NOT NULL
349
+ ALTER TABLE [tabela]
350
+ ALTER COLUMN [coluna] SET NOT NULL;
351
+ ```
352
+
353
+ ---
354
+
355
+ ## 7. Default Values
356
+
357
+ ### 7.1 Estratégia de Defaults
358
+ - **Business Logic:** Valores padrão de negócio
359
+ - **System Values:** Valores gerados pelo sistema
360
+ - **User Experience:** Melhorar UX
361
+ - **Data Integrity:** Garantir dados válidos
362
+
363
+ ### 7.2 Default Values por Tipo
364
+ #### Valores Simples
365
+ ```sql
366
+ -- Default string
367
+ ALTER TABLE [tabela]
368
+ ALTER COLUMN [coluna] SET DEFAULT '[valor]';
369
+
370
+ -- Default numérico
371
+ ALTER TABLE [tabela]
372
+ ALTER COLUMN [coluna] SET DEFAULT [valor];
373
+
374
+ -- Default boolean
375
+ ALTER TABLE [tabela]
376
+ ALTER COLUMN [coluna] SET DEFAULT [true/false];
377
+
378
+ -- Default timestamp
379
+ ALTER TABLE [tabela]
380
+ ALTER COLUMN [coluna] SET DEFAULT CURRENT_TIMESTAMP;
381
+ ```
382
+
383
+ #### Valores Complexos
384
+ ```sql
385
+ -- Default com função
386
+ ALTER TABLE [tabela]
387
+ ALTER COLUMN [coluna] SET DEFAULT gen_random_uuid();
388
+
389
+ -- Default com expressão
390
+ ALTER TABLE [tabela]
391
+ ALTER COLUMN [coluna] SET DEFAULT (CURRENT_DATE + INTERVAL '1 year');
392
+
393
+ -- Default com subquery
394
+ ALTER TABLE [tabela]
395
+ ALTER COLUMN [coluna] SET DEFAULT (SELECT MAX(id) FROM [outra_tabela]);
396
+ ```
397
+
398
+ ### 7.3 Defaults Especiais
399
+ #### Defaults Sequenciais
400
+ ```sql
401
+ -- Default com sequence
402
+ CREATE SEQUENCE [sequencia];
403
+ ALTER TABLE [tabela]
404
+ ALTER COLUMN [coluna] SET DEFAULT nextval('[sequencia]');
405
+
406
+ -- Default auto-increment
407
+ ALTER TABLE [tabela]
408
+ ALTER COLUMN [coluna] SET DEFAULT nextval('[tabela]_id_seq');
409
+ ```
410
+
411
+ #### Defaults Condicionais
412
+ ```sql
413
+ -- Default com CASE
414
+ ALTER TABLE [tabela]
415
+ ALTER COLUMN [coluna] SET DEFAULT
416
+ CASE
417
+ WHEN [condição] THEN [valor1]
418
+ ELSE [valor2]
419
+ END;
420
+ ```
421
+
422
+ ---
423
+
424
+ ## 8. Constraints por Domínio
425
+
426
+ ### 8.1 Domínio de Usuários
427
+ #### Users Table
428
+ ```sql
429
+ -- PK
430
+ ALTER TABLE users
431
+ ADD CONSTRAINT pk_users
432
+ PRIMARY KEY (id);
433
+
434
+ -- Unique constraints
435
+ ALTER TABLE users
436
+ ADD CONSTRAINT uk_users_email
437
+ UNIQUE (email);
438
+
439
+ ALTER TABLE users
440
+ ADD CONSTRAINT uk_users_username
441
+ UNIQUE (username);
442
+
443
+ -- Check constraints
444
+ ALTER TABLE users
445
+ ADD CONSTRAINT ck_users_email_format
446
+ CHECK (email ~* '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$');
447
+
448
+ ALTER TABLE users
449
+ ADD CONSTRAINT ck_users_username_length
450
+ CHECK (LENGTH(username) >= 3 AND LENGTH(username) <= 50);
451
+
452
+ -- Not null
453
+ ALTER TABLE users
454
+ ALTER COLUMN email SET NOT NULL,
455
+ ALTER COLUMN username SET NOT NULL,
456
+ ALTER COLUMN password_hash SET NOT NULL;
457
+
458
+ -- Defaults
459
+ ALTER TABLE users
460
+ ALTER COLUMN created_at SET DEFAULT CURRENT_TIMESTAMP,
461
+ ALTER COLUMN updated_at SET DEFAULT CURRENT_TIMESTAMP,
462
+ ALTER COLUMN status SET DEFAULT 'active';
463
+ ```
464
+
465
+ ### 8.2 Domínio de Pedidos
466
+ #### Orders Table
467
+ ```sql
468
+ -- PK
469
+ ALTER TABLE orders
470
+ ADD CONSTRAINT pk_orders
471
+ PRIMARY KEY (id);
472
+
473
+ -- FKs
474
+ ALTER TABLE orders
475
+ ADD CONSTRAINT fk_orders_user
476
+ FOREIGN KEY (user_id)
477
+ REFERENCES users(id)
478
+ ON DELETE RESTRICT;
479
+
480
+ ALTER TABLE orders
481
+ ADD CONSTRAINT fk_orders_status
482
+ FOREIGN KEY (status_id)
483
+ REFERENCES order_status(id)
484
+ ON DELETE RESTRICT;
485
+
486
+ -- Check constraints
487
+ ALTER TABLE orders
488
+ ADD CONSTRAINT ck_orders_total_positive
489
+ CHECK (total_amount >= 0);
490
+
491
+ ALTER TABLE orders
492
+ ADD CONSTRAINT ck_orders_date_valid
493
+ CHECK (order_date <= shipping_date);
494
+
495
+ -- Not null
496
+ ALTER TABLE orders
497
+ ALTER COLUMN user_id SET NOT NULL,
498
+ ALTER COLUMN total_amount SET NOT NULL,
499
+ ALTER COLUMN order_date SET NOT NULL;
500
+ ```
501
+
502
+ ### 8.3 Domínio de Produtos
503
+ #### Products Table
504
+ ```sql
505
+ -- PK
506
+ ALTER TABLE products
507
+ ADD CONSTRAINT pk_products
508
+ PRIMARY KEY (id);
509
+
510
+ -- Unique constraints
511
+ ALTER TABLE products
512
+ ADD CONSTRAINT uk_products_sku
513
+ UNIQUE (sku);
514
+
515
+ ALTER TABLE products
516
+ ADD CONSTRAINT uk_products_name_category
517
+ UNIQUE (name, category_id);
518
+
519
+ -- FKs
520
+ ALTER TABLE products
521
+ ADD CONSTRAINT fk_products_category
522
+ FOREIGN KEY (category_id)
523
+ REFERENCES categories(id)
524
+ ON DELETE RESTRICT;
525
+
526
+ -- Check constraints
527
+ ALTER TABLE products
528
+ ADD CONSTRAINT ck_products_price_positive
529
+ CHECK (price > 0);
530
+
531
+ ALTER TABLE products
532
+ ADD CONSTRAINT ck_products_stock_valid
533
+ CHECK (stock >= 0);
534
+
535
+ -- Not null
536
+ ALTER TABLE products
537
+ ALTER COLUMN name SET NOT NULL,
538
+ ALTER COLUMN price SET NOT NULL,
539
+ ALTER COLUMN category_id SET NOT NULL;
540
+ ```
541
+
542
+ ---
543
+
544
+ ## 9. Constraints de Performance
545
+
546
+ ### 9.1 Índices para Constraints
547
+ - **PKs:** Criados automaticamente
548
+ - **FKs:** Índices recomendados
549
+ - **Unique:** Índices criados automaticamente
550
+ - **Check:** Sem impacto em performance
551
+
552
+ ### 9.2 Índices para FKs
553
+ ```sql
554
+ -- Índice para FK (recomendado)
555
+ CREATE INDEX idx_[tabela]_[fk_coluna] ON [tabela]([fk_coluna]);
556
+
557
+ -- Índice composto para FK
558
+ CREATE INDEX idx_[tabela]_[fk_colunas] ON [tabela]([fk_coluna1], [fk_coluna2]);
559
+ ```
560
+
561
+ ### 9.3 Performance Considerations
562
+ - **Write Overhead:** Impacto em inserts/updates
563
+ - **Storage:** Espaço adicional
564
+ - **Maintenance:** Complexidade de manutenção
565
+ - **Query Optimization:** Melhoria em selects
566
+
567
+ ---
568
+
569
+ ## 10. Constraints de Negócio
570
+
571
+ ### 10.1 Regras de Negócio
572
+ - **Email único:** Não permitir emails duplicados
573
+ - **Salário positivo:** Salário deve ser positivo
574
+ - **Data válida:** Data fim >= data início
575
+ - **Status válido:** Status em lista permitida
576
+
577
+ ### 10.2 Implementação de Regras
578
+ ```sql
579
+ -- Regra: email único
580
+ ALTER TABLE users
581
+ ADD CONSTRAINT uk_users_email
582
+ UNIQUE (email);
583
+
584
+ -- Regra: salário positivo
585
+ ALTER TABLE employees
586
+ ADD CONSTRAINT ck_employees_salary_positive
587
+ CHECK (salary > 0);
588
+
589
+ -- Regra: data válida
590
+ ALTER TABLE contracts
591
+ ADD CONSTRAINT ck_contracts_date_valid
592
+ CHECK (end_date >= start_date);
593
+
594
+ -- Regra: status válido
595
+ ALTER TABLE orders
596
+ ADD CONSTRAINT ck_orders_status_valid
597
+ CHECK (status IN ('pending', 'confirmed', 'shipped', 'delivered', 'cancelled'));
598
+ ```
599
+
600
+ ### 10.3 Validação de Dados
601
+ ```sql
602
+ -- Validação de CPF
603
+ ALTER TABLE users
604
+ ADD CONSTRAINT ck_users_cpf_valid
605
+ CHECK (
606
+ cpf IS NULL OR
607
+ (LENGTH(cpf) = 11 AND
608
+ cpf ~ '^[0-9]{11}$' AND
609
+ MOD(
610
+ (SUBSTRING(cpf, 1, 9)::INTEGER * 10 +
611
+ SUBSTRING(cpf, 10, 1)::INTEGER),
612
+ 11
613
+ ) = SUBSTRING(cpf, 11, 1)::INTEGER)
614
+ );
615
+
616
+ -- Validação de telefone
617
+ ALTER TABLE users
618
+ ADD CONSTRAINT ck_users_phone_valid
619
+ CHECK (
620
+ phone IS NULL OR
621
+ phone ~ '^\+?[1-9]\d{1,14}$'
622
+ );
623
+ ```
624
+
625
+ ---
626
+
627
+ ## 11. Constraints de Segurança
628
+
629
+ ### 11.1 Segurança de Dados
630
+ - **PII Protection:** Proteger dados pessoais
631
+ - **Access Control:** Controle de acesso
632
+ - **Audit Trail:** Registro de mudanças
633
+ - **Encryption:** Criptografia quando necessário
634
+
635
+ ### 11.2 Constraints de Segurança
636
+ ```sql
637
+ -- Hash de senha (não armazenar senha em claro)
638
+ ALTER TABLE users
639
+ ADD CONSTRAINT ck_users_password_hashed
640
+ CHECK (password_hash IS NOT NULL AND password_hash != '');
641
+
642
+ -- Role validation
643
+ ALTER TABLE users
644
+ ADD CONSTRAINT ck_users_role_valid
645
+ CHECK (role IN ('admin', 'user', 'guest'));
646
+
647
+ -- Email verification
648
+ ALTER TABLE users
649
+ ADD CONSTRAINT ck_users_email_verified
650
+ CHECK (email_verified_at IS NULL OR email_verified_at <= created_at);
651
+ ```
652
+
653
+ ### 11.3 Auditoria
654
+ ```sql
655
+ -- Tabela de auditoria
656
+ CREATE TABLE audit_log (
657
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
658
+ table_name VARCHAR(255) NOT NULL,
659
+ operation VARCHAR(10) NOT NULL,
660
+ old_values JSONB,
661
+ new_values JSONB,
662
+ user_id UUID,
663
+ created_at TIMESTAMP WITH DEFAULT CURRENT_TIMESTAMP
664
+ );
665
+
666
+ -- Trigger para auditoria
667
+ CREATE OR REPLACE FUNCTION audit_trigger()
668
+ RETURNS TRIGGER AS $$
669
+ BEGIN
670
+ INSERT INTO audit_log (table_name, operation, old_values, new_values, user_id)
671
+ VALUES (
672
+ TG_TABLE_NAME,
673
+ TG_OP,
674
+ to_jsonb(OLD),
675
+ to_jsonb(NEW),
676
+ current_setting('app.current_user_id')::UUID
677
+ );
678
+ RETURN NEW;
679
+ END;
680
+ $$ LANGUAGE plpgsql;
681
+ ```
682
+
683
+ ---
684
+
685
+ ## 12. Constraints de Compliance
686
+
687
+ ### 12.1 GDPR Compliance
688
+ - **Data Minimization:** Coletar apenas dados necessários
689
+ - **Data Protection:** Proteger dados pessoais
690
+ - **Right to Erasure:** Permitir exclusão
691
+ - **Consent Management:** Gerenciar consentimento
692
+
693
+ ### 12.2 Constraints GDPR
694
+ ```sql
695
+ -- Consentimento explícito
696
+ ALTER TABLE users
697
+ ADD CONSTRAINT ck_users_consent_given
698
+ CHECK (marketing_consent IS NOT NULL);
699
+
700
+ -- Data de consentimento
701
+ ALTER TABLE users
702
+ ADD CONSTRAINT ck_users_consent_date
703
+ CHECK (marketing_consent_at IS NOT NULL OR marketing_consent = false);
704
+
705
+ -- Direito ao esquecimento
706
+ ALTER TABLE users
707
+ ADD CONSTRAINT ck_users_deletion_request
708
+ CHECK (deletion_requested_at IS NULL OR deleted_at IS NOT NULL);
709
+ ```
710
+
711
+ ### 12.3 PCI DSS Compliance
712
+ - **Card Data:** Proteger dados de cartão
713
+ - **Encryption:** Criptografar dados sensíveis
714
+ - **Access Control:** Controle rigoroso
715
+ - **Audit Trail:** Registro completo
716
+
717
+ ---
718
+
719
+ ## 13. Constraints por Stack
720
+
721
+ ### 13.1 PostgreSQL
722
+ ```sql
723
+ -- Exclusion constraint (PostgreSQL 15+)
724
+ ALTER TABLE bookings
725
+ ADD CONSTRAINT ex_bookings_room_time
726
+ EXCLUDE USING gist (room WITH =, time_range WITH &&);
727
+
728
+ -- Generated columns
729
+ ALTER TABLE users
730
+ ADD COLUMN email_domain VARCHAR(255)
731
+ GENERATED ALWAYS AS (split_part(email, '@', 2)) STORED;
732
+
733
+ -- Partial unique index
734
+ CREATE UNIQUE INDEX CONCURRENTLY idx_users_email_active
735
+ ON users (email)
736
+ WHERE deleted_at IS NULL;
737
+ ```
738
+
739
+ ### 13.2 MySQL
740
+ ```sql
741
+ -- Generated column (MySQL 5.7+)
742
+ ALTER TABLE users
743
+ ADD COLUMN email_domain VARCHAR(255)
744
+ GENERATED ALWAYS AS (SUBSTRING_INDEX(email, '@', -1)) STORED;
745
+
746
+ -- Check constraint (MySQL 8.0+)
747
+ ALTER TABLE users
748
+ ADD CONSTRAINT ck_users_email_format
749
+ CHECK (email REGEXP '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$');
750
+ ```
751
+
752
+ ### 13.3 MongoDB
753
+ ```javascript
754
+ // Unique constraint
755
+ db.users.createIndex({ email: 1 }, { unique: true });
756
+
757
+ // Partial index
758
+ db.users.createIndex({ email: 1 }, {
759
+ unique: true,
760
+ partialFilterExpression: { deletedAt: null }
761
+ });
762
+
763
+ // Validation rules
764
+ db.createCollection("users", {
765
+ validator: {
766
+ $jsonSchema: {
767
+ bsonType: "object",
768
+ required: ["email", "username"],
769
+ properties: {
770
+ email: {
771
+ bsonType: "string",
772
+ pattern: "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$"
773
+ }
774
+ }
775
+ }
776
+ }
777
+ });
778
+ ```
779
+
780
+ ---
781
+
782
+ ## 14. Manutenção de Constraints
783
+
784
+ ### 14.1 Adição de Constraints
785
+ ```sql
786
+ -- Adicionar constraint segura
787
+ -- Passo 1: Validar dados
788
+ SELECT COUNT(*) FROM [tabela] WHERE [condição];
789
+
790
+ -- Passo 2: Adicionar constraint
791
+ ALTER TABLE [tabela]
792
+ ADD CONSTRAINT [nome]
793
+ CHECK ([condição]);
794
+
795
+ -- Passo 3: Verificar
796
+ \d [tabela]
797
+ ```
798
+
799
+ ### 14.2 Remoção de Constraints
800
+ ```sql
801
+ -- Remover constraint
802
+ ALTER TABLE [tabela]
803
+ DROP CONSTRAINT IF EXISTS [nome];
804
+
805
+ -- Remover constraint com cascade
806
+ ALTER TABLE [tabela]
807
+ DROP CONSTRAINT [nome] CASCADE;
808
+ ```
809
+
810
+ ### 14.3 Modificação de Constraints
811
+ ```sql
812
+ -- PostgreSQL: Não é possível modificar, deve remover e recriar
813
+ ALTER TABLE [tabela]
814
+ DROP CONSTRAINT IF EXISTS [nome];
815
+
816
+ ALTER TABLE [tabela]
817
+ ADD CONSTRAINT [nome]
818
+ CHECK ([nova_condição]);
819
+ ```
820
+
821
+ ---
822
+
823
+ ## 15. Troubleshooting
824
+
825
+ ### 15.1 Common Issues
826
+ #### Constraint Violation
827
+ - **Sintoma:** ERRO: constraint violation
828
+ - **Causa:** Dados inconsistentes
829
+ - **Solução:** Limpar dados ou ajustar constraint
830
+
831
+ #### Performance Issues
832
+ - **Sintoma:** Queries lentas após adicionar constraints
833
+ - **Causa:** Índices faltando ou mal configurados
834
+ - **Solução:** Adicionar índices apropriados
835
+
836
+ #### Migration Issues
837
+ - **Sintoma:** Erro ao adicionar constraint
838
+ - **Causa:** Dados existentes violam constraint
839
+ - **Solução:** Limpar dados antes de adicionar
840
+
841
+ ### 15.2 Debug Tools
842
+ ```sql
843
+ -- Verificar constraints
844
+ SELECT conname, contype, pg_get_constraintdef(oid)
845
+ FROM pg_constraint
846
+ WHERE conrelid = '[tabela]'::regclass;
847
+
848
+ -- Verificar violações
849
+ SELECT * FROM [tabela]
850
+ WHERE NOT ([condição]);
851
+
852
+ -- Verificar dependências
853
+ SELECT * FROM pg_depend
854
+ WHERE refobjid = '[constraint]'::regclass;
855
+ ```
856
+
857
+ ---
858
+
859
+ ## 16. Best Practices
860
+
861
+ ### 16.1 Design Principles
862
+ - **Simplicity:** Constraints simples e claras
863
+ - **Consistency:** Convenções consistentes
864
+ - **Documentation:** Documentar regras
865
+ - **Testing:** Testar antes de deploy
866
+
867
+ ### 16.2 Implementation Guidelines
868
+ - **Gradual:** Implementar gradualmente
869
+ - **Backward Compatible:** Não quebrar código existente
870
+ - **Tested:** Validar em staging
871
+ - **Monitored:** Monitorar impacto
872
+
873
+ ### 16.3 Maintenance Guidelines
874
+ - **Regular Review:** Revisar periodicamente
875
+ - **Performance Monitoring:** Monitorar impacto
876
+ - **Documentation Update:** Manter docs atualizadas
877
+ - **Cleanup:** Remover constraints não utilizadas
878
+
879
+ ---
880
+
881
+ ## 17. Documentation
882
+
883
+ ### 17.1 Constraint Dictionary
884
+ | Constraint | Table | Type | Description | SQL |
885
+ |------------|-------|------|-------------|-----|
886
+ | pk_users | users | PK | Primary key | PRIMARY KEY (id) |
887
+ | uk_users_email | users | Unique | Email único | UNIQUE (email) |
888
+ | ck_users_email_format | users | Check | Formato email | CHECK (email ~* '...') |
889
+ | fk_orders_user | orders | FK | Referência usuário | FOREIGN KEY (user_id) |
890
+
891
+ ### 17.2 Business Rules Mapping
892
+ | Business Rule | Constraint | Table | Implementation |
893
+ |---------------|-----------|-------|----------------|
894
+ | Email único | uk_users_email | users | UNIQUE (email) |
895
+ | Salário positivo | ck_employees_salary | employees | CHECK (salary > 0) |
896
+ | Data válida | ck_contracts_dates | contracts | CHECK (end_date >= start_date) |
897
+
898
+ ### 17.3 Change Log
899
+ | Date | Constraint | Action | Reason |
900
+ |------|------------|--------|--------|
901
+ | 2026-01-29 | uk_users_email | Created | Email uniqueness |
902
+ | 2026-01-29 | ck_users_email_format | Created | Email validation |
903
+ | 2026-01-30 | fk_orders_user | Created | Referential integrity |
904
+
905
+ ---
906
+
907
+ ## 18. Apêndice
908
+
909
+ ### 18.1 Constraint Types
910
+ - **PRIMARY KEY:** Identificador único
911
+ - **FOREIGN KEY:** Integridade referencial
912
+ - **UNIQUE:** Unicidade de valores
913
+ - **CHECK:** Validação de regras
914
+ - **NOT NULL:** Campo obrigatório
915
+ - **DEFAULT:** Valor padrão
916
+
917
+ ### 18.2 Naming Conventions
918
+ - **PK:** pk_[tabela]
919
+ - **FK:** fk_[tabela]_[referencia]
920
+ - **UK:** uk_[tabela]_[coluna]
921
+ - **CK:** ck_[tabela]_[regra]
922
+
923
+ ### 18.3 References
924
+ - **PostgreSQL Constraints:** [Documentação oficial]
925
+ - **MySQL Constraints:** [Documentação oficial]
926
+ - **Database Design:** [Livro de referência]
927
+ - **SQL Constraints:** [Guia de referência]
928
+
929
+ ---
930
+
931
+ **Status:** [Em elaboração/Revisão/Aprovado]
932
+ **Revisado por:** [Nome]
933
+ **Data da revisão:** [Data]
934
+ **Próxima revisão:** [Data]
935
+ **Versão:** [Versão]