@maestro-ai/cli 1.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 (252) hide show
  1. package/README.md +59 -0
  2. package/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -0
  3. package/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -0
  4. package/content/guides/Checklist Mestre de Entrega.md +68 -0
  5. package/content/guides/Gates de Qualidade.md +209 -0
  6. package/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -0
  7. package/content/guides/Guia de Chaos Engineering.md +267 -0
  8. package/content/guides/Guia de Debugging com IA.md +135 -0
  9. package/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -0
  10. package/content/guides/Guia de Migrations Zero-Downtime.md +311 -0
  11. package/content/guides/Guia de Multi-tenancy.md +368 -0
  12. package/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -0
  13. package/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -0
  14. package/content/guides/Guia de SLOs e Error Budgets.md +315 -0
  15. package/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -0
  16. package/content/guides/Rules base.md +90 -0
  17. package/content/prompts/README.md +203 -0
  18. package/content/prompts/acessibilidade/analise-acessibilidade.md +257 -0
  19. package/content/prompts/apis/design-api-rest.md +303 -0
  20. package/content/prompts/apis/idempotencia.md +254 -0
  21. package/content/prompts/apis/versionamento.md +313 -0
  22. package/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -0
  23. package/content/prompts/arquitetura/clean-architecture.md +151 -0
  24. package/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -0
  25. package/content/prompts/arquitetura/ddd-cqrs.md +176 -0
  26. package/content/prompts/arquitetura/modelo-dominio.md +207 -0
  27. package/content/prompts/arquitetura/multi-tenancy.md +235 -0
  28. package/content/prompts/database/migrations-zero-downtime.md +192 -0
  29. package/content/prompts/database/otimizacao-queries.md +296 -0
  30. package/content/prompts/desenvolvimento/code-review.md +301 -0
  31. package/content/prompts/desenvolvimento/gerar-servico.md +271 -0
  32. package/content/prompts/devops/docker-compose.md +336 -0
  33. package/content/prompts/devops/feature-flags.md +374 -0
  34. package/content/prompts/devops/kubernetes-deploy.md +460 -0
  35. package/content/prompts/devops/pipeline-cicd.md +358 -0
  36. package/content/prompts/devops/terraform-iac.md +502 -0
  37. package/content/prompts/escalabilidade/analise-performance.md +240 -0
  38. package/content/prompts/escalabilidade/analise-performance.txt +94 -0
  39. package/content/prompts/escalabilidade/caching.md +255 -0
  40. package/content/prompts/observabilidade/chaos-testing.md +237 -0
  41. package/content/prompts/observabilidade/estrategia-observabilidade.md +263 -0
  42. package/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -0
  43. package/content/prompts/observabilidade/slos.md +215 -0
  44. package/content/prompts/produto/discovery-inicial.md +203 -0
  45. package/content/prompts/produto/discovery-inicial.txt +33 -0
  46. package/content/prompts/requisitos/refinar-requisitos.md +232 -0
  47. package/content/prompts/requisitos/refinar-requisitos.txt +40 -0
  48. package/content/prompts/seguranca/analise-seguranca.md +243 -0
  49. package/content/prompts/seguranca/pentest-checklist.md +333 -0
  50. package/content/prompts/seguranca/rate-limiting.md +356 -0
  51. package/content/prompts/seguranca/revisao-lgpd.md +227 -0
  52. package/content/prompts/seguranca/threat-modeling.md +224 -0
  53. package/content/prompts/testes/contract-testing.md +340 -0
  54. package/content/prompts/testes/gerar-testes-unitarios.md +474 -0
  55. package/content/prompts/testes/testes-e2e.md +460 -0
  56. package/content/prompts/testes/testes-integracao.md +418 -0
  57. package/content/prompts/testes/testes-performance.md +458 -0
  58. package/content/prompts/ux/gerar-ui-stitch.md +151 -0
  59. package/content/skills/api-patterns/SKILL.md +81 -0
  60. package/content/skills/api-patterns/api-style.md +42 -0
  61. package/content/skills/api-patterns/auth.md +24 -0
  62. package/content/skills/api-patterns/documentation.md +26 -0
  63. package/content/skills/api-patterns/graphql.md +41 -0
  64. package/content/skills/api-patterns/rate-limiting.md +31 -0
  65. package/content/skills/api-patterns/response.md +37 -0
  66. package/content/skills/api-patterns/rest.md +40 -0
  67. package/content/skills/api-patterns/scripts/api_validator.py +211 -0
  68. package/content/skills/api-patterns/security-testing.md +122 -0
  69. package/content/skills/api-patterns/trpc.md +41 -0
  70. package/content/skills/api-patterns/versioning.md +22 -0
  71. package/content/skills/app-builder/SKILL.md +75 -0
  72. package/content/skills/app-builder/agent-coordination.md +71 -0
  73. package/content/skills/app-builder/feature-building.md +53 -0
  74. package/content/skills/app-builder/project-detection.md +34 -0
  75. package/content/skills/app-builder/scaffolding.md +118 -0
  76. package/content/skills/app-builder/tech-stack.md +40 -0
  77. package/content/skills/app-builder/templates/SKILL.md +39 -0
  78. package/content/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  79. package/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  80. package/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  81. package/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  82. package/content/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  83. package/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  84. package/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  85. package/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  86. package/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  87. package/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  88. package/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  89. package/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  90. package/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  91. package/content/skills/architecture/SKILL.md +55 -0
  92. package/content/skills/architecture/context-discovery.md +43 -0
  93. package/content/skills/architecture/examples.md +94 -0
  94. package/content/skills/architecture/pattern-selection.md +68 -0
  95. package/content/skills/architecture/patterns-reference.md +50 -0
  96. package/content/skills/architecture/trade-off-analysis.md +77 -0
  97. package/content/skills/bash-linux/SKILL.md +199 -0
  98. package/content/skills/behavioral-modes/SKILL.md +242 -0
  99. package/content/skills/brainstorming/SKILL.md +163 -0
  100. package/content/skills/brainstorming/dynamic-questioning.md +350 -0
  101. package/content/skills/clean-code/SKILL.md +201 -0
  102. package/content/skills/code-review-checklist/SKILL.md +109 -0
  103. package/content/skills/database-design/SKILL.md +52 -0
  104. package/content/skills/database-design/database-selection.md +43 -0
  105. package/content/skills/database-design/indexing.md +39 -0
  106. package/content/skills/database-design/migrations.md +48 -0
  107. package/content/skills/database-design/optimization.md +36 -0
  108. package/content/skills/database-design/orm-selection.md +30 -0
  109. package/content/skills/database-design/schema-design.md +56 -0
  110. package/content/skills/database-design/scripts/schema_validator.py +172 -0
  111. package/content/skills/deployment-procedures/SKILL.md +241 -0
  112. package/content/skills/doc.md +177 -0
  113. package/content/skills/documentation-templates/SKILL.md +194 -0
  114. package/content/skills/frontend-design/SKILL.md +396 -0
  115. package/content/skills/frontend-design/animation-guide.md +331 -0
  116. package/content/skills/frontend-design/color-system.md +311 -0
  117. package/content/skills/frontend-design/decision-trees.md +418 -0
  118. package/content/skills/frontend-design/motion-graphics.md +306 -0
  119. package/content/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  120. package/content/skills/frontend-design/scripts/ux_audit.py +722 -0
  121. package/content/skills/frontend-design/typography-system.md +345 -0
  122. package/content/skills/frontend-design/ux-psychology.md +541 -0
  123. package/content/skills/frontend-design/visual-effects.md +383 -0
  124. package/content/skills/game-development/2d-games/SKILL.md +119 -0
  125. package/content/skills/game-development/3d-games/SKILL.md +135 -0
  126. package/content/skills/game-development/SKILL.md +167 -0
  127. package/content/skills/game-development/game-art/SKILL.md +185 -0
  128. package/content/skills/game-development/game-audio/SKILL.md +190 -0
  129. package/content/skills/game-development/game-design/SKILL.md +129 -0
  130. package/content/skills/game-development/mobile-games/SKILL.md +108 -0
  131. package/content/skills/game-development/multiplayer/SKILL.md +132 -0
  132. package/content/skills/game-development/pc-games/SKILL.md +144 -0
  133. package/content/skills/game-development/vr-ar/SKILL.md +123 -0
  134. package/content/skills/game-development/web-games/SKILL.md +150 -0
  135. package/content/skills/geo-fundamentals/SKILL.md +156 -0
  136. package/content/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  137. package/content/skills/i18n-localization/SKILL.md +154 -0
  138. package/content/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  139. package/content/skills/intelligent-routing/SKILL.md +334 -0
  140. package/content/skills/lint-and-validate/SKILL.md +45 -0
  141. package/content/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  142. package/content/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  143. package/content/skills/mcp-builder/SKILL.md +176 -0
  144. package/content/skills/mobile-design/SKILL.md +394 -0
  145. package/content/skills/mobile-design/decision-trees.md +516 -0
  146. package/content/skills/mobile-design/mobile-backend.md +491 -0
  147. package/content/skills/mobile-design/mobile-color-system.md +420 -0
  148. package/content/skills/mobile-design/mobile-debugging.md +122 -0
  149. package/content/skills/mobile-design/mobile-design-thinking.md +357 -0
  150. package/content/skills/mobile-design/mobile-navigation.md +458 -0
  151. package/content/skills/mobile-design/mobile-performance.md +767 -0
  152. package/content/skills/mobile-design/mobile-testing.md +356 -0
  153. package/content/skills/mobile-design/mobile-typography.md +433 -0
  154. package/content/skills/mobile-design/platform-android.md +666 -0
  155. package/content/skills/mobile-design/platform-ios.md +561 -0
  156. package/content/skills/mobile-design/scripts/mobile_audit.py +670 -0
  157. package/content/skills/mobile-design/touch-psychology.md +537 -0
  158. package/content/skills/nextjs-best-practices/SKILL.md +203 -0
  159. package/content/skills/nodejs-best-practices/SKILL.md +333 -0
  160. package/content/skills/parallel-agents/SKILL.md +175 -0
  161. package/content/skills/performance-profiling/SKILL.md +143 -0
  162. package/content/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  163. package/content/skills/plan-writing/SKILL.md +152 -0
  164. package/content/skills/powershell-windows/SKILL.md +167 -0
  165. package/content/skills/python-patterns/SKILL.md +441 -0
  166. package/content/skills/react-patterns/SKILL.md +198 -0
  167. package/content/skills/red-team-tactics/SKILL.md +199 -0
  168. package/content/skills/seo-fundamentals/SKILL.md +129 -0
  169. package/content/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  170. package/content/skills/server-management/SKILL.md +161 -0
  171. package/content/skills/systematic-debugging/SKILL.md +109 -0
  172. package/content/skills/tailwind-patterns/SKILL.md +269 -0
  173. package/content/skills/tdd-workflow/SKILL.md +149 -0
  174. package/content/skills/testing-patterns/SKILL.md +178 -0
  175. package/content/skills/testing-patterns/scripts/test_runner.py +219 -0
  176. package/content/skills/vulnerability-scanner/SKILL.md +276 -0
  177. package/content/skills/vulnerability-scanner/checklists.md +121 -0
  178. package/content/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  179. package/content/skills/webapp-testing/SKILL.md +187 -0
  180. package/content/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  181. package/content/specialists/Especialista em Acessibilidade.md +266 -0
  182. package/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -0
  183. package/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -0
  184. package/content/specialists/Especialista em Arquitetura de Software.md +177 -0
  185. package/content/specialists/Especialista em Banco de Dados.md +260 -0
  186. package/content/specialists/Especialista em Contrato de API.md +172 -0
  187. package/content/specialists/Especialista em Dados e Analytics com IA.md +246 -0
  188. package/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -0
  189. package/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -0
  190. package/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -0
  191. package/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -0
  192. package/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -0
  193. package/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -0
  194. package/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -0
  195. package/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -0
  196. package/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -0
  197. package/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -0
  198. package/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -0
  199. package/content/specialists/Especialista em Observabilidade.md +415 -0
  200. package/content/specialists/Especialista em Performance e Escalabilidade.md +373 -0
  201. package/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -0
  202. package/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -0
  203. package/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -0
  204. package/content/specialists/Especialista em UX Design.md +453 -0
  205. package/content/specialists/INDEX.md +43 -0
  206. package/content/templates/PRD.md +165 -0
  207. package/content/templates/README.md +65 -0
  208. package/content/templates/adr.md +103 -0
  209. package/content/templates/arquitetura.md +279 -0
  210. package/content/templates/backlog.md +185 -0
  211. package/content/templates/checklist-seguranca.md +180 -0
  212. package/content/templates/contexto.md +120 -0
  213. package/content/templates/criterios-aceite.md +99 -0
  214. package/content/templates/design-banco.md +270 -0
  215. package/content/templates/design-doc.md +240 -0
  216. package/content/templates/feature.md +88 -0
  217. package/content/templates/historia-backend.md +84 -0
  218. package/content/templates/historia-frontend.md +75 -0
  219. package/content/templates/historia-usuario.md +125 -0
  220. package/content/templates/mapa-navegacao.md +133 -0
  221. package/content/templates/matriz-rastreabilidade.md +121 -0
  222. package/content/templates/modelo-dominio.md +219 -0
  223. package/content/templates/plano-testes.md +199 -0
  224. package/content/templates/prototipo-stitch.md +138 -0
  225. package/content/templates/requisitos.md +162 -0
  226. package/content/templates/slo-sli.md +197 -0
  227. package/content/workflows/README-MCP.md +363 -0
  228. package/content/workflows/brainstorm.md +113 -0
  229. package/content/workflows/create.md +59 -0
  230. package/content/workflows/debug.md +103 -0
  231. package/content/workflows/deploy.md +176 -0
  232. package/content/workflows/enhance.md +63 -0
  233. package/content/workflows/mcp-debug.md +506 -0
  234. package/content/workflows/mcp-feature.md +385 -0
  235. package/content/workflows/mcp-gate.md +413 -0
  236. package/content/workflows/mcp-next.md +388 -0
  237. package/content/workflows/mcp-refactor.md +600 -0
  238. package/content/workflows/mcp-start.md +304 -0
  239. package/content/workflows/mcp-status.md +400 -0
  240. package/content/workflows/orchestrate.md +237 -0
  241. package/content/workflows/plan.md +89 -0
  242. package/content/workflows/preview.md +81 -0
  243. package/content/workflows/status.md +86 -0
  244. package/content/workflows/test.md +144 -0
  245. package/content/workflows/ui-ux-pro-max.md +296 -0
  246. package/dist/commands/init.d.ts +6 -0
  247. package/dist/commands/init.js +138 -0
  248. package/dist/commands/update.d.ts +5 -0
  249. package/dist/commands/update.js +50 -0
  250. package/dist/index.d.ts +2 -0
  251. package/dist/index.js +21 -0
  252. package/package.json +48 -0
@@ -0,0 +1,183 @@
1
+ # Prompt: DDD - Bounded Contexts e Strategic Design
2
+
3
+ > **Quando usar**: Projetos complexos com múltiplos domínios ou equipes
4
+ > **Especialista**: [Arquitetura de Software](../../02-especialistas/Especialista%20em%20Arquitetura%20de%20Software.md)
5
+ > **Nível**: Complexo (3+ meses, domínio rico)
6
+
7
+ ---
8
+
9
+ ## Fluxo de Contexto
10
+
11
+ Antes de usar este prompt, tenha em mãos:
12
+ - `docs/CONTEXTO.md` - Entendimento atual do projeto
13
+ - `docs/04-modelo/modelo-dominio.md` - Modelo de domínio inicial
14
+
15
+ Após gerar, salve o resultado em:
16
+ - `docs/05-arquitetura/bounded-contexts.md`
17
+
18
+ ---
19
+
20
+ ## Prompt Completo
21
+
22
+ ```text
23
+ Atue como arquiteto de software especialista em Domain-Driven Design.
24
+
25
+ ## Contexto do Projeto
26
+
27
+ [COLE O CONTEÚDO DE docs/CONTEXTO.md]
28
+
29
+ ## Modelo de Domínio Atual
30
+
31
+ [COLE ENTIDADES E RELACIONAMENTOS DE docs/04-modelo/modelo-dominio.md]
32
+
33
+ ## Requisitos de Negócio
34
+
35
+ [COLE REQUISITOS OU REGRAS DE NEGÓCIO PRINCIPAIS]
36
+
37
+ ---
38
+
39
+ ## Sua Missão
40
+
41
+ Aplique Strategic DDD e Tactical DDD:
42
+
43
+ ### 1. Strategic Design
44
+
45
+ #### 1.1 Bounded Contexts
46
+ Para cada contexto identificado:
47
+ - Nome do contexto
48
+ - Classificação: **Core Domain** / **Supporting** / **Generic**
49
+ - Responsabilidade principal (1-2 frases)
50
+ - Linguagem Ubíqua (termos específicos deste contexto)
51
+ - Time responsável sugerido
52
+
53
+ #### 1.2 Context Map
54
+ Mapeie relacionamentos entre contextos:
55
+ - **Partnership**: Colaboração mútua
56
+ - **Shared Kernel**: Código compartilhado
57
+ - **Customer-Supplier**: Upstream → Downstream
58
+ - **Conformist**: Downstream adapta-se ao Upstream
59
+ - **Anti-Corruption Layer (ACL)**: Proteção contra modelo externo
60
+ - **Open Host Service / Published Language**: API pública
61
+
62
+ #### 1.3 Diagrama de Contextos
63
+ Em Mermaid, mostre os bounded contexts e seus relacionamentos.
64
+
65
+ ### 2. Tactical Design
66
+
67
+ Para cada Bounded Context **Core**:
68
+
69
+ #### 2.1 Aggregates
70
+ - Nome do Aggregate
71
+ - Raiz do Aggregate (Aggregate Root)
72
+ - Entidades internas
73
+ - Value Objects
74
+ - Invariantes (regras que SEMPRE devem ser verdade)
75
+ - Limites transacionais
76
+
77
+ #### 2.2 Domain Events
78
+ - Evento (nome no passado: PedidoCriado)
79
+ - Quando é disparado
80
+ - Payload (dados que carrega)
81
+ - Quem consome (outros contextos ou serviços)
82
+
83
+ #### 2.3 Domain Services
84
+ Lógica que não pertence a uma entidade específica.
85
+
86
+ #### 2.4 Repository Interfaces
87
+ Interface do repositório para cada Aggregate Root.
88
+
89
+ ### 3. Decisões e Trade-offs
90
+ - Por que esses contextos e não outros?
91
+ - Riscos de comunicação entre contextos
92
+ - Sugestão de tecnologia para integração
93
+ ```
94
+
95
+ ---
96
+
97
+ ## Exemplo de Uso
98
+
99
+ ```text
100
+ Atue como arquiteto de software especialista em Domain-Driven Design.
101
+
102
+ ## Contexto do Projeto
103
+
104
+ Marketplace de serviços locais conectando prestadores e clientes.
105
+ Inclui agendamento, pagamentos e avaliações.
106
+
107
+ ## Modelo de Domínio Atual
108
+
109
+ - Usuario (id, nome, email, tipo)
110
+ - Servico (id, nome, preco, prestadorId)
111
+ - Agendamento (id, clienteId, servicoId, data, status)
112
+ - Pagamento (id, agendamentoId, valor, status)
113
+ - Avaliacao (id, agendamentoId, nota, comentario)
114
+
115
+ ## Requisitos de Negócio
116
+
117
+ - Prestadores definem disponibilidade
118
+ - Clientes agendam e pagam antecipadamente
119
+ - Após conclusão do serviço, cliente pode avaliar
120
+ - Prestador recebe após 7 dias da conclusão
121
+ ```
122
+
123
+ ---
124
+
125
+ ## Resposta Esperada
126
+
127
+ ### 1. Bounded Contexts
128
+
129
+ | Contexto | Tipo | Responsabilidade | Linguagem |
130
+ |---|---|---|---|
131
+ | **Agendamentos** | Core | Gerenciar agendas e horários | Agendamento, Slot, Confirmação |
132
+ | **Clientes** | Supporting | Cadastro e perfil de clientes | Cliente, Preferências |
133
+ | **Pagamentos** | Generic | Processar cobranças | Transação, Fatura |
134
+ | **Notificações** | Generic | Enviar comunicações | Notificação, Template |
135
+
136
+ ### Context Map
137
+
138
+ ```mermaid
139
+ graph TB
140
+ AG[Agendamentos - Core]
141
+ CL[Clientes - Supporting]
142
+ PG[Pagamentos - Generic]
143
+ NT[Notificações - Generic]
144
+
145
+ AG -->|"Customer-Supplier"| CL
146
+ AG -->|"ACL"| PG
147
+ AG -->|"Published Language"| NT
148
+ ```
149
+
150
+ ### 2. Aggregate: Agendamento
151
+
152
+ **Raiz:** Agendamento
153
+
154
+ **Entidades:**
155
+ - Agendamento (raiz)
156
+ - Servico (dentro do agregado)
157
+
158
+ **Value Objects:**
159
+ - HorarioSlot { inicio: DateTime, fim: DateTime }
160
+ - StatusAgendamento { tipo: enum }
161
+
162
+ **Invariantes:**
163
+ - Um agendamento não pode sobrepor outro do mesmo profissional
164
+ - Cancelamento só é permitido até 2h antes
165
+ - Agendamento só pode ser confirmado se pagamento estiver aprovado
166
+
167
+ **Eventos:**
168
+ - AgendamentoCriado { id, clienteId, horario }
169
+ - AgendamentoCancelado { id, motivo }
170
+ - AgendamentoConfirmado { id }
171
+ - AgendamentoConcluido { id }
172
+
173
+ ---
174
+
175
+ ## Checklist Pós-Geração
176
+
177
+ - [ ] 3-5 Bounded Contexts identificados
178
+ - [ ] Contextos classificados (Core/Supporting/Generic)
179
+ - [ ] Context Map com relações claras
180
+ - [ ] Aggregates definidos com invariantes
181
+ - [ ] Domain Events listados com payload
182
+ - [ ] Linguagem ubíqua definida por contexto
183
+ - [ ] Salvar em `docs/05-arquitetura/bounded-contexts.md`
@@ -0,0 +1,176 @@
1
+ # Prompt: Arquitetura DDD + CQRS
2
+
3
+ > **Quando usar**: Projetos de nível Complexo (3+ meses, domínio rico, múltiplos contextos)
4
+ > **Especialista**: Arquitetura Avançada
5
+
6
+ ---
7
+
8
+ ## Prompt Completo
9
+
10
+ ```text
11
+ Atue como arquiteto especialista em Domain-Driven Design e sistemas distribuídos.
12
+
13
+ ## Contexto do Projeto
14
+
15
+ PRD:
16
+ [COLE O CONTEÚDO DE docs/01-produto/PRD.md]
17
+
18
+ Requisitos:
19
+ [COLE O CONTEÚDO DE docs/02-requisitos/requisitos.md]
20
+
21
+ Modelo de Domínio:
22
+ [COLE O CONTEÚDO DE docs/04-modelo/modelo-dominio.md]
23
+
24
+ Complexidade específica:
25
+ - Multi-tenant: [SIM/NÃO]
26
+ - Compliance: [LGPD/SOC2/HIPAA/Nenhum]
27
+ - SLA disponibilidade: [99%/99.9%/99.99%]
28
+ - Pico de usuários: [NÚMERO]
29
+
30
+ ---
31
+
32
+ ## Sua Missão
33
+
34
+ Proponha uma arquitetura DDD com CQRS considerando:
35
+
36
+ ### 1. Strategic Design (Bounded Contexts)
37
+
38
+ Identifique e documente:
39
+
40
+ - **Bounded Contexts** (3-5 contextos):
41
+ - Nome e responsabilidade de cada contexto
42
+ - Ubiquitous Language de cada um
43
+ - Qual é o Core Domain vs Supporting/Generic
44
+
45
+ - **Context Map**:
46
+ - Relações entre contextos (diagrama)
47
+ - Tipo de integração:
48
+ - Shared Kernel
49
+ - Customer-Supplier
50
+ - Conformist
51
+ - Anti-Corruption Layer
52
+ - Open Host Service / Published Language
53
+
54
+ ### 2. Tactical Design (por Bounded Context)
55
+
56
+ Para cada contexto, defina:
57
+
58
+ - **Aggregates**:
59
+ - Aggregate Roots
60
+ - Invariantes que protegem
61
+ - Limites transacionais
62
+
63
+ - **Entities e Value Objects**:
64
+ - Quais são Entities (identidade)
65
+ - Quais são Value Objects (imutáveis)
66
+
67
+ - **Domain Events**:
68
+ - Eventos que cada agregado publica
69
+ - Subscribers internos e externos
70
+
71
+ - **Domain Services**:
72
+ - Operações que não pertencem a uma entidade
73
+
74
+ ### 3. CQRS (Command Query Responsibility Segregation)
75
+
76
+ Defina:
77
+
78
+ - **Command Side (Write Model)**:
79
+ - Commands e Command Handlers
80
+ - Agregados que processam
81
+ - Validações
82
+
83
+ - **Query Side (Read Model)**:
84
+ - Views/Projections otimizadas
85
+ - Como são atualizadas (sync vs async)
86
+ - Tecnologia (mesmo banco vs banco separado)
87
+
88
+ - **Event Sourcing** (se aplicável):
89
+ - Justificativa para usar ou não
90
+ - Event Store
91
+ - Snapshots
92
+
93
+ ### 4. Integração entre Contextos
94
+
95
+ - **Message Broker**:
96
+ - Escolha (Kafka/RabbitMQ/SQS) com justificativa
97
+ - Tópicos/Filas por tipo de evento
98
+
99
+ - **Sagas** (se necessário):
100
+ - Fluxos que cruzam contextos
101
+ - Compensação em caso de falha
102
+
103
+ - **Consistência Eventual**:
104
+ - Onde é aceitável
105
+ - SLAs de propagação
106
+
107
+ ### 5. Observabilidade
108
+
109
+ - **Distributed Tracing**:
110
+ - Correlation IDs entre serviços
111
+ - Ferramentas (Jaeger, Zipkin, etc)
112
+
113
+ - **Métricas de Domínio**:
114
+ - KPIs por bounded context
115
+ - Alertas críticos
116
+
117
+ ### 6. ADRs Obrigatórios
118
+
119
+ - Por que DDD e não arquitetura mais simples
120
+ - Escolha do message broker
121
+ - Event Sourcing sim/não
122
+ - Estratégia de consistência eventual
123
+ - Tecnologia do Event Store
124
+
125
+ ---
126
+
127
+ ## Formato de Saída
128
+
129
+ Retorne um documento Markdown com:
130
+
131
+ 1. **Context Map** (diagrama Mermaid)
132
+ 2. **Detalhamento de cada Bounded Context**
133
+ 3. **Fluxo de eventos entre contextos**
134
+ 4. **ADRs completos**
135
+ 5. **Estrutura de projetos/módulos**
136
+ 6. **Estimativa de complexidade e riscos**
137
+ ```
138
+
139
+ ---
140
+
141
+ ## Exemplo de Context Map
142
+
143
+ ```mermaid
144
+ graph LR
145
+ subgraph Core["Core Domain"]
146
+ ORDERS[Orders Context]
147
+ end
148
+
149
+ subgraph Supporting["Supporting"]
150
+ INVENTORY[Inventory Context]
151
+ SHIPPING[Shipping Context]
152
+ end
153
+
154
+ subgraph Generic["Generic"]
155
+ IDENTITY[Identity Context]
156
+ PAYMENTS[Payments Context]
157
+ end
158
+
159
+ ORDERS -->|Customer-Supplier| INVENTORY
160
+ ORDERS -->|Customer-Supplier| SHIPPING
161
+ ORDERS -->|ACL| PAYMENTS
162
+ ORDERS -->|Conformist| IDENTITY
163
+ ```
164
+
165
+ ---
166
+
167
+ ## Checklist Pós-Geração
168
+
169
+ - [ ] Bounded Contexts identificados (3-5)
170
+ - [ ] Context Map com relações claras
171
+ - [ ] Aggregates definidos com invariantes
172
+ - [ ] Domain Events listados
173
+ - [ ] CQRS com Write/Read separados
174
+ - [ ] Message broker escolhido e justificado
175
+ - [ ] ADRs para decisões críticas
176
+ - [ ] Riscos e complexidade documentados
@@ -0,0 +1,207 @@
1
+ # Prompt: Modelo de Domínio
2
+
3
+ > **Quando usar**: Início do projeto, após refinar requisitos
4
+ > **Especialista**: [Engenharia de Requisitos](../../02-especialistas/Especialista%20em%20Engenharia%20de%20Requisitos%20com%20IA.md) ou [Arquitetura de Software](../../02-especialistas/Especialista%20em%20Arquitetura%20de%20Software.md)
5
+ > **Nível**: Simples a Médio
6
+
7
+ ---
8
+
9
+ ## Fluxo de Contexto
10
+
11
+ Antes de usar este prompt, tenha em mãos:
12
+ - `docs/CONTEXTO.md` - Entendimento atual do projeto
13
+ - `docs/02-requisitos/requisitos.md` - Requisitos funcionais
14
+
15
+ Após gerar, salve o resultado em:
16
+ - `docs/04-modelo/modelo-dominio.md`
17
+
18
+ ---
19
+
20
+ ## Prompt Completo
21
+
22
+ ```text
23
+ Atue como analista de domínio especializado em modelagem de dados.
24
+
25
+ ## Contexto do Projeto
26
+
27
+ [COLE O CONTEÚDO DE docs/CONTEXTO.md]
28
+
29
+ ## Requisitos
30
+
31
+ [COLE REQUISITOS DE docs/02-requisitos/requisitos.md]
32
+
33
+ ---
34
+
35
+ ## Sua Missão
36
+
37
+ Proponha um modelo de domínio inicial completo:
38
+
39
+ ### 1. Entidades Principais
40
+ Para cada entidade:
41
+ - Nome da entidade
42
+ - Descrição (1 frase)
43
+ - Atributos com tipos (use tipos genéricos: string, int, decimal, datetime, boolean, UUID)
44
+ - Marque campos obrigatórios vs opcionais
45
+ - Indique campos únicos (unique)
46
+
47
+ ### 2. Value Objects
48
+ Identifique conceitos que são melhor representados como Value Objects:
49
+ - Nome
50
+ - Atributos
51
+ - Regras de validação
52
+
53
+ ### 3. Relacionamentos
54
+ - Cardinalidade (1:1, 1:N, N:N)
55
+ - Direção da navegação
56
+ - Cascade (o que acontece ao deletar)
57
+
58
+ ### 4. Diagrama ER
59
+ Gere um diagrama Mermaid do modelo.
60
+
61
+ ### 5. Dúvidas Abertas
62
+ Liste perguntas que ainda precisam ser respondidas pelo cliente.
63
+
64
+ ### 6. Considerações Técnicas
65
+ - Índices que serão necessários
66
+ - Campos que podem crescer muito (text, blob)
67
+ - Dados sensíveis que precisam de criptografia
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Exemplo de Uso
73
+
74
+ ```text
75
+ Atue como analista de domínio especializado em modelagem de dados.
76
+
77
+ ## Contexto do Projeto
78
+
79
+ Sistema de agendamento online para salões de beleza.
80
+
81
+ ## Requisitos
82
+
83
+ - RF-001: Cliente pode se cadastrar com nome, telefone e email
84
+ - RF-002: Salão pode cadastrar serviços com nome, duração e preço
85
+ - RF-003: Cliente pode agendar um serviço para uma data/hora
86
+ - RF-004: Sistema deve enviar confirmação por WhatsApp
87
+ - RF-005: Cliente pode cancelar até 2h antes
88
+ - RF-006: Salão pode ver relatório de agendamentos
89
+ ```
90
+
91
+ ---
92
+
93
+ ## Resposta Esperada
94
+
95
+ ### 1. Entidades
96
+
97
+ **Cliente**
98
+ | Atributo | Tipo | Obrigatório | Único | Notas |
99
+ |----------|------|-------------|-------|-------|
100
+ | id | UUID | ✓ | ✓ | PK |
101
+ | nome | string(100) | ✓ | | |
102
+ | telefone | string(20) | ✓ | ✓ | WhatsApp |
103
+ | email | string(255) | | ✓ | |
104
+ | criadoEm | datetime | ✓ | | default: now |
105
+
106
+ **Servico**
107
+ | Atributo | Tipo | Obrigatório | Único | Notas |
108
+ |----------|------|-------------|-------|-------|
109
+ | id | UUID | ✓ | ✓ | PK |
110
+ | nome | string(100) | ✓ | | |
111
+ | duracao | int | ✓ | | minutos |
112
+ | preco | decimal(10,2) | ✓ | | |
113
+ | ativo | boolean | ✓ | | default: true |
114
+
115
+ **Agendamento**
116
+ | Atributo | Tipo | Obrigatório | Único | Notas |
117
+ |----------|------|-------------|-------|-------|
118
+ | id | UUID | ✓ | ✓ | PK |
119
+ | clienteId | UUID | ✓ | | FK → Cliente |
120
+ | servicoId | UUID | ✓ | | FK → Servico |
121
+ | dataHora | datetime | ✓ | | |
122
+ | status | enum | ✓ | | pendente, confirmado, cancelado, concluido |
123
+ | criadoEm | datetime | ✓ | | default: now |
124
+
125
+ ### 2. Value Objects
126
+
127
+ **Telefone**
128
+ - numero: string
129
+ - ddi: string (default: +55)
130
+ - Validação: formato válido de WhatsApp
131
+
132
+ **StatusAgendamento**
133
+ - Enum: PENDENTE, CONFIRMADO, CANCELADO, CONCLUIDO
134
+ - Transições válidas definidas
135
+
136
+ ### 3. Relacionamentos
137
+
138
+ ```
139
+ Cliente 1 ──── N Agendamento
140
+ Servico 1 ──── N Agendamento
141
+ ```
142
+
143
+ - Cliente → Agendamento: Cascade soft delete
144
+ - Servico → Agendamento: Não permite deletar serviço com agendamentos futuros
145
+
146
+ ### 4. Diagrama ER
147
+
148
+ ```mermaid
149
+ erDiagram
150
+ Cliente ||--o{ Agendamento : "faz"
151
+ Servico ||--o{ Agendamento : "é agendado"
152
+
153
+ Cliente {
154
+ UUID id PK
155
+ string nome
156
+ string telefone UK
157
+ string email UK
158
+ datetime criadoEm
159
+ }
160
+
161
+ Servico {
162
+ UUID id PK
163
+ string nome
164
+ int duracao
165
+ decimal preco
166
+ boolean ativo
167
+ }
168
+
169
+ Agendamento {
170
+ UUID id PK
171
+ UUID clienteId FK
172
+ UUID servicoId FK
173
+ datetime dataHora
174
+ enum status
175
+ datetime criadoEm
176
+ }
177
+ ```
178
+
179
+ ### 5. Dúvidas
180
+
181
+ - [ ] Um agendamento pode ter múltiplos serviços?
182
+ - [ ] Há profissionais diferentes por serviço?
183
+ - [ ] Cliente pode ter mais de um telefone?
184
+ - [ ] Qual a política de reagendamento?
185
+
186
+ ### 6. Considerações Técnicas
187
+
188
+ **Índices necessários:**
189
+ - `agendamento.dataHora` - Consultas por período
190
+ - `agendamento.status` - Filtros por status
191
+ - `agendamento(servicoId, dataHora)` - Verificar conflitos
192
+
193
+ **Dados sensíveis:**
194
+ - `cliente.telefone` - Considerar mascarar em logs
195
+ - `cliente.email` - Verificar LGPD
196
+
197
+ ---
198
+
199
+ ## Checklist Pós-Geração
200
+
201
+ - [ ] Todas as entidades têm PK definida
202
+ - [ ] Relacionamentos têm cardinalidade clara
203
+ - [ ] Campos obrigatórios vs opcionais definidos
204
+ - [ ] Diagrama ER gerado em Mermaid
205
+ - [ ] Dúvidas listadas para validar com cliente
206
+ - [ ] Índices sugeridos para queries principais
207
+ - [ ] Salvar em `docs/04-modelo/modelo-dominio.md`