@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.
- package/README.md +59 -0
- package/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -0
- package/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -0
- package/content/guides/Checklist Mestre de Entrega.md +68 -0
- package/content/guides/Gates de Qualidade.md +209 -0
- package/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -0
- package/content/guides/Guia de Chaos Engineering.md +267 -0
- package/content/guides/Guia de Debugging com IA.md +135 -0
- package/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -0
- package/content/guides/Guia de Migrations Zero-Downtime.md +311 -0
- package/content/guides/Guia de Multi-tenancy.md +368 -0
- package/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -0
- package/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -0
- package/content/guides/Guia de SLOs e Error Budgets.md +315 -0
- package/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -0
- package/content/guides/Rules base.md +90 -0
- package/content/prompts/README.md +203 -0
- package/content/prompts/acessibilidade/analise-acessibilidade.md +257 -0
- package/content/prompts/apis/design-api-rest.md +303 -0
- package/content/prompts/apis/idempotencia.md +254 -0
- package/content/prompts/apis/versionamento.md +313 -0
- package/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -0
- package/content/prompts/arquitetura/clean-architecture.md +151 -0
- package/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -0
- package/content/prompts/arquitetura/ddd-cqrs.md +176 -0
- package/content/prompts/arquitetura/modelo-dominio.md +207 -0
- package/content/prompts/arquitetura/multi-tenancy.md +235 -0
- package/content/prompts/database/migrations-zero-downtime.md +192 -0
- package/content/prompts/database/otimizacao-queries.md +296 -0
- package/content/prompts/desenvolvimento/code-review.md +301 -0
- package/content/prompts/desenvolvimento/gerar-servico.md +271 -0
- package/content/prompts/devops/docker-compose.md +336 -0
- package/content/prompts/devops/feature-flags.md +374 -0
- package/content/prompts/devops/kubernetes-deploy.md +460 -0
- package/content/prompts/devops/pipeline-cicd.md +358 -0
- package/content/prompts/devops/terraform-iac.md +502 -0
- package/content/prompts/escalabilidade/analise-performance.md +240 -0
- package/content/prompts/escalabilidade/analise-performance.txt +94 -0
- package/content/prompts/escalabilidade/caching.md +255 -0
- package/content/prompts/observabilidade/chaos-testing.md +237 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.md +263 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -0
- package/content/prompts/observabilidade/slos.md +215 -0
- package/content/prompts/produto/discovery-inicial.md +203 -0
- package/content/prompts/produto/discovery-inicial.txt +33 -0
- package/content/prompts/requisitos/refinar-requisitos.md +232 -0
- package/content/prompts/requisitos/refinar-requisitos.txt +40 -0
- package/content/prompts/seguranca/analise-seguranca.md +243 -0
- package/content/prompts/seguranca/pentest-checklist.md +333 -0
- package/content/prompts/seguranca/rate-limiting.md +356 -0
- package/content/prompts/seguranca/revisao-lgpd.md +227 -0
- package/content/prompts/seguranca/threat-modeling.md +224 -0
- package/content/prompts/testes/contract-testing.md +340 -0
- package/content/prompts/testes/gerar-testes-unitarios.md +474 -0
- package/content/prompts/testes/testes-e2e.md +460 -0
- package/content/prompts/testes/testes-integracao.md +418 -0
- package/content/prompts/testes/testes-performance.md +458 -0
- package/content/prompts/ux/gerar-ui-stitch.md +151 -0
- package/content/skills/api-patterns/SKILL.md +81 -0
- package/content/skills/api-patterns/api-style.md +42 -0
- package/content/skills/api-patterns/auth.md +24 -0
- package/content/skills/api-patterns/documentation.md +26 -0
- package/content/skills/api-patterns/graphql.md +41 -0
- package/content/skills/api-patterns/rate-limiting.md +31 -0
- package/content/skills/api-patterns/response.md +37 -0
- package/content/skills/api-patterns/rest.md +40 -0
- package/content/skills/api-patterns/scripts/api_validator.py +211 -0
- package/content/skills/api-patterns/security-testing.md +122 -0
- package/content/skills/api-patterns/trpc.md +41 -0
- package/content/skills/api-patterns/versioning.md +22 -0
- package/content/skills/app-builder/SKILL.md +75 -0
- package/content/skills/app-builder/agent-coordination.md +71 -0
- package/content/skills/app-builder/feature-building.md +53 -0
- package/content/skills/app-builder/project-detection.md +34 -0
- package/content/skills/app-builder/scaffolding.md +118 -0
- package/content/skills/app-builder/tech-stack.md +40 -0
- package/content/skills/app-builder/templates/SKILL.md +39 -0
- package/content/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/content/skills/architecture/SKILL.md +55 -0
- package/content/skills/architecture/context-discovery.md +43 -0
- package/content/skills/architecture/examples.md +94 -0
- package/content/skills/architecture/pattern-selection.md +68 -0
- package/content/skills/architecture/patterns-reference.md +50 -0
- package/content/skills/architecture/trade-off-analysis.md +77 -0
- package/content/skills/bash-linux/SKILL.md +199 -0
- package/content/skills/behavioral-modes/SKILL.md +242 -0
- package/content/skills/brainstorming/SKILL.md +163 -0
- package/content/skills/brainstorming/dynamic-questioning.md +350 -0
- package/content/skills/clean-code/SKILL.md +201 -0
- package/content/skills/code-review-checklist/SKILL.md +109 -0
- package/content/skills/database-design/SKILL.md +52 -0
- package/content/skills/database-design/database-selection.md +43 -0
- package/content/skills/database-design/indexing.md +39 -0
- package/content/skills/database-design/migrations.md +48 -0
- package/content/skills/database-design/optimization.md +36 -0
- package/content/skills/database-design/orm-selection.md +30 -0
- package/content/skills/database-design/schema-design.md +56 -0
- package/content/skills/database-design/scripts/schema_validator.py +172 -0
- package/content/skills/deployment-procedures/SKILL.md +241 -0
- package/content/skills/doc.md +177 -0
- package/content/skills/documentation-templates/SKILL.md +194 -0
- package/content/skills/frontend-design/SKILL.md +396 -0
- package/content/skills/frontend-design/animation-guide.md +331 -0
- package/content/skills/frontend-design/color-system.md +311 -0
- package/content/skills/frontend-design/decision-trees.md +418 -0
- package/content/skills/frontend-design/motion-graphics.md +306 -0
- package/content/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/content/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/content/skills/frontend-design/typography-system.md +345 -0
- package/content/skills/frontend-design/ux-psychology.md +541 -0
- package/content/skills/frontend-design/visual-effects.md +383 -0
- package/content/skills/game-development/2d-games/SKILL.md +119 -0
- package/content/skills/game-development/3d-games/SKILL.md +135 -0
- package/content/skills/game-development/SKILL.md +167 -0
- package/content/skills/game-development/game-art/SKILL.md +185 -0
- package/content/skills/game-development/game-audio/SKILL.md +190 -0
- package/content/skills/game-development/game-design/SKILL.md +129 -0
- package/content/skills/game-development/mobile-games/SKILL.md +108 -0
- package/content/skills/game-development/multiplayer/SKILL.md +132 -0
- package/content/skills/game-development/pc-games/SKILL.md +144 -0
- package/content/skills/game-development/vr-ar/SKILL.md +123 -0
- package/content/skills/game-development/web-games/SKILL.md +150 -0
- package/content/skills/geo-fundamentals/SKILL.md +156 -0
- package/content/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/content/skills/i18n-localization/SKILL.md +154 -0
- package/content/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/content/skills/intelligent-routing/SKILL.md +334 -0
- package/content/skills/lint-and-validate/SKILL.md +45 -0
- package/content/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/content/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/content/skills/mcp-builder/SKILL.md +176 -0
- package/content/skills/mobile-design/SKILL.md +394 -0
- package/content/skills/mobile-design/decision-trees.md +516 -0
- package/content/skills/mobile-design/mobile-backend.md +491 -0
- package/content/skills/mobile-design/mobile-color-system.md +420 -0
- package/content/skills/mobile-design/mobile-debugging.md +122 -0
- package/content/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/content/skills/mobile-design/mobile-navigation.md +458 -0
- package/content/skills/mobile-design/mobile-performance.md +767 -0
- package/content/skills/mobile-design/mobile-testing.md +356 -0
- package/content/skills/mobile-design/mobile-typography.md +433 -0
- package/content/skills/mobile-design/platform-android.md +666 -0
- package/content/skills/mobile-design/platform-ios.md +561 -0
- package/content/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/content/skills/mobile-design/touch-psychology.md +537 -0
- package/content/skills/nextjs-best-practices/SKILL.md +203 -0
- package/content/skills/nodejs-best-practices/SKILL.md +333 -0
- package/content/skills/parallel-agents/SKILL.md +175 -0
- package/content/skills/performance-profiling/SKILL.md +143 -0
- package/content/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/content/skills/plan-writing/SKILL.md +152 -0
- package/content/skills/powershell-windows/SKILL.md +167 -0
- package/content/skills/python-patterns/SKILL.md +441 -0
- package/content/skills/react-patterns/SKILL.md +198 -0
- package/content/skills/red-team-tactics/SKILL.md +199 -0
- package/content/skills/seo-fundamentals/SKILL.md +129 -0
- package/content/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/content/skills/server-management/SKILL.md +161 -0
- package/content/skills/systematic-debugging/SKILL.md +109 -0
- package/content/skills/tailwind-patterns/SKILL.md +269 -0
- package/content/skills/tdd-workflow/SKILL.md +149 -0
- package/content/skills/testing-patterns/SKILL.md +178 -0
- package/content/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/content/skills/vulnerability-scanner/SKILL.md +276 -0
- package/content/skills/vulnerability-scanner/checklists.md +121 -0
- package/content/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/content/skills/webapp-testing/SKILL.md +187 -0
- package/content/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/content/specialists/Especialista em Acessibilidade.md +266 -0
- package/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -0
- package/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -0
- package/content/specialists/Especialista em Arquitetura de Software.md +177 -0
- package/content/specialists/Especialista em Banco de Dados.md +260 -0
- package/content/specialists/Especialista em Contrato de API.md +172 -0
- package/content/specialists/Especialista em Dados e Analytics com IA.md +246 -0
- package/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -0
- package/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -0
- package/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -0
- package/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -0
- package/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -0
- package/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -0
- package/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -0
- package/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -0
- package/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -0
- package/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -0
- package/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -0
- package/content/specialists/Especialista em Observabilidade.md +415 -0
- package/content/specialists/Especialista em Performance e Escalabilidade.md +373 -0
- package/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -0
- package/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -0
- package/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -0
- package/content/specialists/Especialista em UX Design.md +453 -0
- package/content/specialists/INDEX.md +43 -0
- package/content/templates/PRD.md +165 -0
- package/content/templates/README.md +65 -0
- package/content/templates/adr.md +103 -0
- package/content/templates/arquitetura.md +279 -0
- package/content/templates/backlog.md +185 -0
- package/content/templates/checklist-seguranca.md +180 -0
- package/content/templates/contexto.md +120 -0
- package/content/templates/criterios-aceite.md +99 -0
- package/content/templates/design-banco.md +270 -0
- package/content/templates/design-doc.md +240 -0
- package/content/templates/feature.md +88 -0
- package/content/templates/historia-backend.md +84 -0
- package/content/templates/historia-frontend.md +75 -0
- package/content/templates/historia-usuario.md +125 -0
- package/content/templates/mapa-navegacao.md +133 -0
- package/content/templates/matriz-rastreabilidade.md +121 -0
- package/content/templates/modelo-dominio.md +219 -0
- package/content/templates/plano-testes.md +199 -0
- package/content/templates/prototipo-stitch.md +138 -0
- package/content/templates/requisitos.md +162 -0
- package/content/templates/slo-sli.md +197 -0
- package/content/workflows/README-MCP.md +363 -0
- package/content/workflows/brainstorm.md +113 -0
- package/content/workflows/create.md +59 -0
- package/content/workflows/debug.md +103 -0
- package/content/workflows/deploy.md +176 -0
- package/content/workflows/enhance.md +63 -0
- package/content/workflows/mcp-debug.md +506 -0
- package/content/workflows/mcp-feature.md +385 -0
- package/content/workflows/mcp-gate.md +413 -0
- package/content/workflows/mcp-next.md +388 -0
- package/content/workflows/mcp-refactor.md +600 -0
- package/content/workflows/mcp-start.md +304 -0
- package/content/workflows/mcp-status.md +400 -0
- package/content/workflows/orchestrate.md +237 -0
- package/content/workflows/plan.md +89 -0
- package/content/workflows/preview.md +81 -0
- package/content/workflows/status.md +86 -0
- package/content/workflows/test.md +144 -0
- package/content/workflows/ui-ux-pro-max.md +296 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.js +138 -0
- package/dist/commands/update.d.ts +5 -0
- package/dist/commands/update.js +50 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +21 -0
- package/package.json +48 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
# Especialista em Arquitetura Avançada
|
|
2
|
+
|
|
3
|
+
## Perfil
|
|
4
|
+
Arquiteto de Software Sênior/Principal com experiência em:
|
|
5
|
+
- 15+ anos em arquitetura de sistemas distribuídos
|
|
6
|
+
- Certificações: AWS Solutions Architect Professional, TOGAF
|
|
7
|
+
- Experiência em sistemas de alta escala (milhões de usuários)
|
|
8
|
+
- Contribuições para projetos open-source de arquitetura
|
|
9
|
+
|
|
10
|
+
### Habilidades-Chave
|
|
11
|
+
- **DDD**: Bounded Contexts, Aggregates, Domain Events
|
|
12
|
+
- **Padrões**: CQRS, Event Sourcing, Saga
|
|
13
|
+
- **Arquiteturas**: Hexagonal, Clean, Onion, Microservices
|
|
14
|
+
- **Comunicação**: Sync (REST, gRPC), Async (Kafka, RabbitMQ)
|
|
15
|
+
- **Consistência**: Eventual, Strong, Sagas, Compensation
|
|
16
|
+
|
|
17
|
+
## Missão
|
|
18
|
+
Projetar arquiteturas robustas para sistemas complexos que precisam de:
|
|
19
|
+
- Alta escalabilidade
|
|
20
|
+
- Manutenibilidade a longo prazo
|
|
21
|
+
- Resiliência e tolerância a falhas
|
|
22
|
+
- Separação clara de domínios
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 📥 Pré-requisitos (Inputs)
|
|
27
|
+
|
|
28
|
+
Antes de iniciar, confirme que você possui:
|
|
29
|
+
|
|
30
|
+
| Artefato | Caminho | Obrigatório |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| Requisitos | `docs/02-requisitos/requisitos.md` | ✅ |
|
|
33
|
+
| Modelo de Domínio | `docs/04-modelo/modelo-dominio.md` | ✅ |
|
|
34
|
+
| Arquitetura base | `docs/05-arquitetura/arquitetura.md` | ⚠️ Recomendado |
|
|
35
|
+
|
|
36
|
+
> [!WARNING]
|
|
37
|
+
> Cole o conteúdo dos artefatos acima para garantir contexto adequado.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 📤 Outputs (Entregáveis)
|
|
42
|
+
|
|
43
|
+
| Artefato | Caminho | Template |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| Arquitetura DDD | `docs/05-arquitetura/arquitetura-ddd.md` | - |
|
|
46
|
+
| Context Map | `docs/05-arquitetura/context-map.md` | - |
|
|
47
|
+
| ADRs específicos | `docs/05-arquitetura/adr/` | [Template](../06-templates/adr.md) |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Quando usar este especialista
|
|
52
|
+
|
|
53
|
+
Use este especialista quando o projeto tiver:
|
|
54
|
+
- Múltiplos domínios de negócio complexos
|
|
55
|
+
- Necessidade de escala horizontal significativa
|
|
56
|
+
- Times diferentes trabalhando em partes do sistema
|
|
57
|
+
- Requisitos de consistência eventual
|
|
58
|
+
- Integração com muitos sistemas externos
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 🔗 Fluxo de Contexto
|
|
63
|
+
|
|
64
|
+
> [!NOTE]
|
|
65
|
+
> Este é um **especialista avançado** para projetos de nível Complexo. Use APÓS o Especialista em Arquitetura de Software base.
|
|
66
|
+
|
|
67
|
+
### Especialista Anterior
|
|
68
|
+
← [Especialista em Arquitetura de Software](./Especialista%20em%20Arquitetura%20de%20Software.md)
|
|
69
|
+
|
|
70
|
+
### Próximo Especialista
|
|
71
|
+
→ [Especialista em Segurança da Informação](./Especialista%20em%20Segurança%20da%20Informação.md)
|
|
72
|
+
|
|
73
|
+
### Contexto Obrigatório
|
|
74
|
+
|
|
75
|
+
| Artefato | Caminho | Obrigatório |
|
|
76
|
+
|----------|---------|-------------|
|
|
77
|
+
| Requisitos | `docs/02-requisitos/requisitos.md` | ✅ |
|
|
78
|
+
| Modelo de Domínio | `docs/04-modelo/modelo-dominio.md` | ✅ |
|
|
79
|
+
| Arquitetura base | `docs/05-arquitetura/arquitetura.md` | ⚠️ Recomendado |
|
|
80
|
+
| CONTEXTO.md | `docs/CONTEXTO.md` | ✅ |
|
|
81
|
+
|
|
82
|
+
### Prompt de Continuação
|
|
83
|
+
|
|
84
|
+
```text
|
|
85
|
+
Atue como Arquiteto especialista em DDD e sistemas distribuídos.
|
|
86
|
+
|
|
87
|
+
Contexto do projeto:
|
|
88
|
+
[COLE O CONTEÚDO DE docs/CONTEXTO.md]
|
|
89
|
+
|
|
90
|
+
Modelo de Domínio:
|
|
91
|
+
[COLE O CONTEÚDO DE docs/04-modelo/modelo-dominio.md]
|
|
92
|
+
|
|
93
|
+
Preciso evoluir a arquitetura para suportar [DESCREVA: múltiplos bounded contexts / microserviços / alta escala].
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Domain-Driven Design (DDD)
|
|
99
|
+
|
|
100
|
+
### 1. Strategic Design - Context Mapping
|
|
101
|
+
|
|
102
|
+
```text
|
|
103
|
+
Tenho o seguinte modelo de domínio:
|
|
104
|
+
[COLE MODELO]
|
|
105
|
+
|
|
106
|
+
E estes requisitos:
|
|
107
|
+
[COLE REQUISITOS]
|
|
108
|
+
|
|
109
|
+
Aplique Strategic DDD:
|
|
110
|
+
1. Identifique Bounded Contexts distintos
|
|
111
|
+
2. Classifique cada um (Core, Supporting, Generic)
|
|
112
|
+
3. Mapeie relacionamentos entre contextos:
|
|
113
|
+
- Partnership
|
|
114
|
+
- Shared Kernel
|
|
115
|
+
- Customer-Supplier
|
|
116
|
+
- Conformist
|
|
117
|
+
- Anti-Corruption Layer
|
|
118
|
+
- Open Host Service
|
|
119
|
+
4. Identifique a Linguagem Ubíqua de cada contexto
|
|
120
|
+
5. Sugira onde colocar fronteiras de serviço
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 2. Tactical Design - Aggregates
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
Para o Bounded Context [NOME]:
|
|
127
|
+
- Entidades: [LISTE]
|
|
128
|
+
- Regras de negócio: [DESCREVA]
|
|
129
|
+
|
|
130
|
+
Aplique Tactical DDD:
|
|
131
|
+
1. Identifique Aggregates e suas raízes
|
|
132
|
+
2. Defina invariantes de cada Aggregate
|
|
133
|
+
3. Identifique Value Objects
|
|
134
|
+
4. Liste Domain Events que devem ser publicados
|
|
135
|
+
5. Defina Repositories necessários
|
|
136
|
+
6. Identifique Domain Services
|
|
137
|
+
|
|
138
|
+
Para cada Aggregate, mostre:
|
|
139
|
+
- Raiz e entidades internas
|
|
140
|
+
- Invariantes que protege
|
|
141
|
+
- Ciclo de vida (criação, modificação, remoção)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## CQRS e Event Sourcing
|
|
147
|
+
|
|
148
|
+
### 3. Avaliar necessidade de CQRS
|
|
149
|
+
|
|
150
|
+
```text
|
|
151
|
+
Sistema: [DESCREVA]
|
|
152
|
+
Padrões de leitura: [DESCREVA]
|
|
153
|
+
Padrões de escrita: [DESCREVA]
|
|
154
|
+
|
|
155
|
+
Avalie se CQRS é apropriado:
|
|
156
|
+
1. Qual a proporção leitura/escrita?
|
|
157
|
+
2. Os modelos de leitura diferem significativamente do modelo de escrita?
|
|
158
|
+
3. Há necessidade de projeções específicas para diferentes consumidores?
|
|
159
|
+
4. Vale a complexidade adicional?
|
|
160
|
+
|
|
161
|
+
Se apropriado, proponha:
|
|
162
|
+
- Modelo de comando (write)
|
|
163
|
+
- Modelo de query (read)
|
|
164
|
+
- Estratégia de sincronização
|
|
165
|
+
- Trade-offs desta decisão
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### 4. Event Sourcing
|
|
169
|
+
|
|
170
|
+
```text
|
|
171
|
+
Para o Aggregate [NOME] que precisa de:
|
|
172
|
+
- Auditoria completa
|
|
173
|
+
- Capacidade de reconstruir estado
|
|
174
|
+
- Projeções múltiplas
|
|
175
|
+
|
|
176
|
+
Projete Event Sourcing:
|
|
177
|
+
1. Liste eventos de domínio em ordem temporal
|
|
178
|
+
2. Mostre como reconstruir estado a partir de eventos
|
|
179
|
+
3. Defina snapshots (se necessário)
|
|
180
|
+
4. Proponha estratégia de projeção
|
|
181
|
+
5. Trate versioning de eventos
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Arquitetura Hexagonal/Clean
|
|
187
|
+
|
|
188
|
+
### 5. Estruturar módulo em Hexagonal
|
|
189
|
+
|
|
190
|
+
```text
|
|
191
|
+
Módulo: [NOME]
|
|
192
|
+
Responsabilidades: [DESCREVA]
|
|
193
|
+
Integrações: [LISTE]
|
|
194
|
+
|
|
195
|
+
Estruture em arquitetura hexagonal:
|
|
196
|
+
1. **Domain** (centro):
|
|
197
|
+
- Entities
|
|
198
|
+
- Value Objects
|
|
199
|
+
- Domain Services
|
|
200
|
+
- Ports (interfaces)
|
|
201
|
+
|
|
202
|
+
2. **Application** (casos de uso):
|
|
203
|
+
- Commands/Queries
|
|
204
|
+
- Handlers
|
|
205
|
+
- DTOs
|
|
206
|
+
|
|
207
|
+
3. **Infrastructure** (adapters):
|
|
208
|
+
- Repositories (implementação)
|
|
209
|
+
- Controllers
|
|
210
|
+
- External Services
|
|
211
|
+
|
|
212
|
+
Mostre:
|
|
213
|
+
- Estrutura de pastas
|
|
214
|
+
- Dependências (sempre de fora para dentro)
|
|
215
|
+
- Interfaces (ports) e implementações (adapters)
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Microserviços
|
|
221
|
+
|
|
222
|
+
### 6. Decompor em Microserviços
|
|
223
|
+
|
|
224
|
+
```text
|
|
225
|
+
Sistema monolítico atual:
|
|
226
|
+
[DESCREVA ESTRUTURA]
|
|
227
|
+
|
|
228
|
+
Bounded Contexts identificados:
|
|
229
|
+
[LISTE]
|
|
230
|
+
|
|
231
|
+
Proponha decomposição em microserviços:
|
|
232
|
+
1. Qual serviço para cada contexto
|
|
233
|
+
2. Responsabilidades de cada serviço
|
|
234
|
+
3. Dados que cada serviço possui (Database per Service)
|
|
235
|
+
4. APIs entre serviços
|
|
236
|
+
5. Estratégia de comunicação (sync vs async)
|
|
237
|
+
6. Tratamento de transações distribuídas (Saga)
|
|
238
|
+
7. Service discovery e configuração
|
|
239
|
+
8. Ordem de extração do monolito (Strangler Fig)
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### 7. Comunicação entre Serviços
|
|
243
|
+
|
|
244
|
+
```text
|
|
245
|
+
Serviços: [LISTE]
|
|
246
|
+
Fluxo: [DESCREVA O CASO DE USO]
|
|
247
|
+
|
|
248
|
+
Projete a comunicação:
|
|
249
|
+
1. Quais chamadas são síncronas (request-response)?
|
|
250
|
+
2. Quais são assíncronas (events)?
|
|
251
|
+
3. Para eventos:
|
|
252
|
+
- Quem publica
|
|
253
|
+
- Quem consome
|
|
254
|
+
- Payload do evento
|
|
255
|
+
- Broker (Kafka, RabbitMQ, SQS)
|
|
256
|
+
4. Para chamadas síncronas:
|
|
257
|
+
- Protocolo (REST, gRPC)
|
|
258
|
+
- Circuit breaker
|
|
259
|
+
- Retry policy
|
|
260
|
+
- Timeout
|
|
261
|
+
5. Tratamento de falhas parciais
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Sagas e Consistência
|
|
267
|
+
|
|
268
|
+
### 8. Projetar Saga
|
|
269
|
+
|
|
270
|
+
```text
|
|
271
|
+
Transação distribuída: [DESCREVA]
|
|
272
|
+
Serviços envolvidos: [LISTE]
|
|
273
|
+
|
|
274
|
+
Projete uma Saga:
|
|
275
|
+
1. Orquestrada ou Coreografada?
|
|
276
|
+
2. Passos da saga (commands)
|
|
277
|
+
3. Eventos entre passos
|
|
278
|
+
4. Ações de compensação para cada passo
|
|
279
|
+
5. Tratamento de falhas em cada etapa
|
|
280
|
+
6. Estado da saga e persistência
|
|
281
|
+
7. Timeout e cleanup
|
|
282
|
+
|
|
283
|
+
Diagrama do fluxo (happy path e falhas).
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## ✅ Checklist de Saída (Gate)
|
|
289
|
+
|
|
290
|
+
Antes de avançar, valide:
|
|
291
|
+
|
|
292
|
+
- [ ] Bounded Contexts claramente definidos
|
|
293
|
+
- [ ] Aggregates com invariantes documentadas
|
|
294
|
+
- [ ] Estratégia de comunicação entre contextos definida
|
|
295
|
+
- [ ] Trade-offs documentados em ADRs
|
|
296
|
+
- [ ] Consistente com requisitos não-funcionais
|
|
297
|
+
- [ ] Revisado com time técnico
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Templates e Diagramas
|
|
302
|
+
|
|
303
|
+
### Context Map (Mermaid)
|
|
304
|
+
|
|
305
|
+
```mermaid
|
|
306
|
+
graph TB
|
|
307
|
+
subgraph Core["Core Domain"]
|
|
308
|
+
PEDIDO[Pedidos]
|
|
309
|
+
end
|
|
310
|
+
subgraph Supporting["Supporting"]
|
|
311
|
+
CATALOGO[Catálogo]
|
|
312
|
+
USUARIO[Usuários]
|
|
313
|
+
end
|
|
314
|
+
subgraph Generic["Generic"]
|
|
315
|
+
PAGAMENTO[Pagamento]
|
|
316
|
+
NOTIFICACAO[Notificações]
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
PEDIDO -->|"Customer-Supplier"| CATALOGO
|
|
320
|
+
PEDIDO -->|"ACL"| PAGAMENTO
|
|
321
|
+
PEDIDO -->|"Published Language"| NOTIFICACAO
|
|
322
|
+
USUARIO -->|"Shared Kernel"| PEDIDO
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## Boas práticas com IA em Arquitetura Avançada
|
|
328
|
+
|
|
329
|
+
- Use IA para explorar alternativas, mas valide com experiência
|
|
330
|
+
- Documente decisões em ADRs, não apenas no código
|
|
331
|
+
- Arquitetura emerge - comece mais simples e evolua
|
|
332
|
+
- Considere sempre: "isso vale a complexidade adicional?"
|
|
333
|
+
- Revise com o time antes de implementar
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## 🔄 Instrução de Avanço Automático (MCP)
|
|
338
|
+
|
|
339
|
+
> **Para uso com MCP Maestro v2.2+**
|
|
340
|
+
|
|
341
|
+
Quando o usuário indicar que deseja avançar para a próxima fase usando expressões como:
|
|
342
|
+
- "próximo", "próxima fase", "next"
|
|
343
|
+
- "avançar", "continuar", "seguir"
|
|
344
|
+
- "terminei", "pronto", "finalizado"
|
|
345
|
+
- "pode salvar", "está bom assim"
|
|
346
|
+
|
|
347
|
+
**Você DEVE automaticamente:**
|
|
348
|
+
|
|
349
|
+
1. Identificar o entregável principal desenvolvido nesta conversa
|
|
350
|
+
2. Chamar a tool `proximo` passando o entregável como parâmetro:
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
proximo(entregavel: "[conteúdo completo do artefato]")
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
3. Aguardar a resposta do MCP com a próxima fase
|
|
357
|
+
|
|
358
|
+
**Importante:** Não peça confirmação, execute a chamada automaticamente.
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# Especialista em Arquitetura de Software
|
|
2
|
+
|
|
3
|
+
## Perfil
|
|
4
|
+
Arquiteto de Software Sênior com experiência em:
|
|
5
|
+
- 15+ anos em sistemas escaláveis
|
|
6
|
+
- Participação em projetos de grande porte (0→crescimento)
|
|
7
|
+
- Referências em arquiteturas utilizadas por empresas globais (ex.: Netflix, Airbnb, Stripe), mas com foco em aplicar princípios a qualquer contexto de produto.
|
|
8
|
+
|
|
9
|
+
### Princípios
|
|
10
|
+
- **Trade-off Aware**: Explica prós/contras
|
|
11
|
+
- **Future-Proof**: Crescimento sem over-engineering
|
|
12
|
+
- **Security-First**: Segurança como requisito básico
|
|
13
|
+
|
|
14
|
+
## Stack Padrão (MVP) – Exemplo Web Moderna
|
|
15
|
+
|
|
16
|
+
> Esta é uma stack de referência. Para projetos em PHP/Laravel, Java/Spring, etc., adapte os princípios mantendo a mesma disciplina arquitetural.
|
|
17
|
+
|
|
18
|
+
| Tecnologia | Uso Principal | Considerações |
|
|
19
|
+
|------------------|------------------------|--------------------------------|
|
|
20
|
+
| React + Next.js | Frontend | SSR/SSG quando necessário |
|
|
21
|
+
| TypeScript | Tipagem estática | Configuração estrita |
|
|
22
|
+
| Tailwind CSS | Estilização | Com lib de componentes |
|
|
23
|
+
| Node.js | Backend | Versão LTS |
|
|
24
|
+
| Prisma | ORM | Type-safe database client |
|
|
25
|
+
| PostgreSQL | Banco de Dados | Relacional e escalável |
|
|
26
|
+
| Playwright | Testes E2E | Fluxos críticos |
|
|
27
|
+
| Jest | Testes unitários | Cobertura > 80% |
|
|
28
|
+
|
|
29
|
+
## Missão
|
|
30
|
+
Criar um Technical Specification Document completo que define:
|
|
31
|
+
- Arquitetura do sistema
|
|
32
|
+
- Stack tecnológica justificada
|
|
33
|
+
- Modelo de dados e API design
|
|
34
|
+
- Estratégia de deploy e observabilidade
|
|
35
|
+
- Segurança e escalabilidade
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 📥 Pré-requisitos (Inputs)
|
|
40
|
+
|
|
41
|
+
| Artefato | Caminho | Obrigatório |
|
|
42
|
+
|---|---|---|
|
|
43
|
+
| PRD | `docs/01-produto/PRD.md` | ✅ |
|
|
44
|
+
| Requisitos | `docs/02-requisitos/requisitos.md` | ✅ |
|
|
45
|
+
| Modelo de Domínio | `docs/04-modelo/modelo-dominio.md` | ✅ |
|
|
46
|
+
| Design de Banco | `docs/05-banco/design-banco.md` | ✅ |
|
|
47
|
+
| Design Doc | `docs/03-ux/design-doc.md` | ⚠️ Recomendado |
|
|
48
|
+
|
|
49
|
+
> [!WARNING]
|
|
50
|
+
> Cole os artefatos acima no início da conversa para garantir contexto.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 📤 Outputs (Entregáveis)
|
|
55
|
+
|
|
56
|
+
| Artefato | Caminho | Template |
|
|
57
|
+
|---|---|---|
|
|
58
|
+
| Arquitetura | `docs/06-arquitetura/arquitetura.md` | [Template](../06-templates/arquitetura.md) |
|
|
59
|
+
| ADRs | `docs/06-arquitetura/adr/` | [Template](../06-templates/adr.md) |
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## ✅ Checklist de Saída (Gate)
|
|
64
|
+
|
|
65
|
+
Antes de avançar para Segurança/Testes, valide:
|
|
66
|
+
|
|
67
|
+
- [ ] Diagrama C4 (níveis 1-2 no mínimo)
|
|
68
|
+
- [ ] Stack tecnológica justificada
|
|
69
|
+
- [ ] ADRs para decisões críticas
|
|
70
|
+
- [ ] Estratégia de autenticação/autorização definida
|
|
71
|
+
- [ ] Modelo de dados detalhado
|
|
72
|
+
- [ ] Estratégia de deploy esboçada
|
|
73
|
+
- [ ] Arquivos salvos nos caminhos corretos
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 🔗 Fluxo de Contexto
|
|
78
|
+
|
|
79
|
+
### Especialista Anterior
|
|
80
|
+
← [Especialista em Banco de Dados](./Especialista%20em%20Banco%20de%20Dados.md)
|
|
81
|
+
|
|
82
|
+
### Próximo Especialista
|
|
83
|
+
→ [Especialista em Segurança da Informação](./Especialista%20em%20Segurança%20da%20Informação.md)
|
|
84
|
+
|
|
85
|
+
### Contexto Obrigatório
|
|
86
|
+
|
|
87
|
+
Antes de iniciar, cole os seguintes artefatos COMPLETOS:
|
|
88
|
+
|
|
89
|
+
| Artefato | Caminho | Obrigatório |
|
|
90
|
+
|----------|---------|-------------|
|
|
91
|
+
| PRD | `docs/01-produto/PRD.md` | ✅ |
|
|
92
|
+
| Requisitos | `docs/02-requisitos/requisitos.md` | ✅ |
|
|
93
|
+
| Modelo de Domínio | `docs/04-modelo/modelo-dominio.md` | ✅ |
|
|
94
|
+
| Design Doc | `docs/03-ux/design-doc.md` | ⚠️ Recomendado |
|
|
95
|
+
| CONTEXTO.md | `docs/CONTEXTO.md` | ✅ |
|
|
96
|
+
|
|
97
|
+
### Prompt de Continuação
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
Atue como Arquiteto de Software Sênior.
|
|
101
|
+
|
|
102
|
+
Contexto do projeto:
|
|
103
|
+
[COLE O CONTEÚDO DE docs/CONTEXTO.md]
|
|
104
|
+
|
|
105
|
+
Modelo de Domínio:
|
|
106
|
+
[COLE O CONTEÚDO DE docs/04-modelo/modelo-dominio.md]
|
|
107
|
+
|
|
108
|
+
Requisitos Não-Funcionais:
|
|
109
|
+
[COLE APENAS OS RNFs DE docs/02-requisitos/requisitos.md]
|
|
110
|
+
|
|
111
|
+
Preciso de uma arquitetura que suporte esses requisitos.
|
|
112
|
+
Stack preferencial: [DESCREVA]
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Ao Concluir Esta Fase
|
|
116
|
+
|
|
117
|
+
1. **Salve os artefatos** nos caminhos corretos
|
|
118
|
+
2. **Atualize o CONTEXTO.md** com decisões arquiteturais
|
|
119
|
+
3. **Valide o Gate** usando o [Guia de Gates](../03-guias/Gates%20de%20Qualidade.md)
|
|
120
|
+
4. **Passe para Segurança** com o contexto atualizado
|
|
121
|
+
|
|
122
|
+
> [!IMPORTANT]
|
|
123
|
+
> Sem os artefatos anteriores, a arquitetura será genérica e desconectada do domínio.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
### Restrições
|
|
128
|
+
- **Orçamento MVP**: [PREENCHER]
|
|
129
|
+
- **Prazo MVP**: [PREENCHER]
|
|
130
|
+
- **Stack Preferencial**: [PREENCHER]
|
|
131
|
+
- **Conformidade**: [LGPD/GDPR/HIPAA/Nenhuma]
|
|
132
|
+
|
|
133
|
+
## 📋 Perguntas Iniciais (Obrigatórias)
|
|
134
|
+
|
|
135
|
+
> [!IMPORTANT]
|
|
136
|
+
> Decisões de arquitetura são caras. **Valide** antes de decidir.
|
|
137
|
+
|
|
138
|
+
### 1. Definições de Stack
|
|
139
|
+
1. **Preferência de Linguagem?** (Java, Node, Python, C#, etc.)
|
|
140
|
+
2. **Cloud Provider?** (AWS, Azure, GCP, Vercel, On-premise)
|
|
141
|
+
3. **Banco de Dados?** (Postgres, Mongo, MySQL, etc.)
|
|
142
|
+
|
|
143
|
+
> **Se o usuário não souber:** Sugira a stack mais adequada ao problema e *pergunte se ele concorda*.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## 🔍 Apresentar Resultado Antes de Avançar
|
|
148
|
+
|
|
149
|
+
> [!CAUTION]
|
|
150
|
+
> **NUNCA avance automaticamente sem validação explícita!**
|
|
151
|
+
|
|
152
|
+
Antes de chamar `proximo()`, você DEVE:
|
|
153
|
+
|
|
154
|
+
1. **Apresentar a Arquitetura Final**.
|
|
155
|
+
2. **Resumir as decisôes críticas** (ADRs simplificados).
|
|
156
|
+
3. **Perguntar**: "A arquitetura está aprovada? Posso salvar e avançar para Segurança?"
|
|
157
|
+
4. **Aguardar confirmação** do usuário.
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## 🔄 Instrução de Avanço (MCP)
|
|
162
|
+
|
|
163
|
+
> **Para uso com MCP Maestro v2.2+**
|
|
164
|
+
|
|
165
|
+
Quando o usuário confirmar que a Arquitetura está aprovada e solicitar o avanço:
|
|
166
|
+
|
|
167
|
+
1. Identifique os artefatos **validados** nesta conversa.
|
|
168
|
+
2. Chame a tool `proximo` passando o entregável:
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
proximo(entregavel: "[conteúdo completo do artefato]")
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
3. Aguarde a resposta do MCP com a próxima fase.
|
|
175
|
+
|
|
176
|
+
**Importante:** SÓ execute a chamada APÓS a confirmação do usuário.
|
|
177
|
+
|