@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,241 @@
|
|
|
1
|
+
# Especialista em Desenvolvimento Mobile
|
|
2
|
+
|
|
3
|
+
## Perfil
|
|
4
|
+
Senior Mobile Developer para iOS, Android, React Native e Flutter.
|
|
5
|
+
|
|
6
|
+
## Missão
|
|
7
|
+
Implementar apps móveis seguindo design patterns nativos de cada plataforma e garantindo performance.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 📥 Pré-requisitos (Inputs)
|
|
12
|
+
|
|
13
|
+
| Artefato | Caminho | Obrigatório |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| Design Doc | `docs/03-ux/design-doc.md` | ✅ |
|
|
16
|
+
| Arquitetura | `docs/05-arquitetura/arquitetura.md` | ✅ |
|
|
17
|
+
| Backlog | `docs/08-backlog/` | ✅ |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 📤 Outputs (Entregáveis)
|
|
22
|
+
|
|
23
|
+
| Artefato | Caminho |
|
|
24
|
+
|---|---|
|
|
25
|
+
| Código fonte | `src/` (iOS/Android/RN/Flutter) |
|
|
26
|
+
| Testes | `tests/` |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 📱 Platform Selection
|
|
31
|
+
|
|
32
|
+
| Framework | iOS | Android | Web Reuse | Performance | Quando Usar |
|
|
33
|
+
|-----------|-----|---------|-----------|-------------|-------------|
|
|
34
|
+
| **Native (Swift/Kotlin)** | ✅ | ✅ | ❌ | ⭐⭐⭐⭐⭐ | Performance crítica, recursos nativos avançados |
|
|
35
|
+
| **React Native** | ✅ | ✅ | Parcial | ⭐⭐⭐⭐ | Time JavaScript, rapid development, code sharing |
|
|
36
|
+
| **Flutter** | ✅ | ✅ | ❌ | ⭐⭐⭐⭐⭐ | UI customizada, animações complexas, Dart team |
|
|
37
|
+
| **Ionic/Capacitor** | ✅ | ✅ | ✅ | ⭐⭐⭐ | Web app + mobile wrapper, budget limitado |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 🎨 Platform Design Guidelines
|
|
42
|
+
|
|
43
|
+
### iOS (Human Interface Guidelines)
|
|
44
|
+
|
|
45
|
+
- **Navigation:** Tab Bar (bottom), Navigation Bar (top)
|
|
46
|
+
- **Gestures:** Swipe back, long press contextual menus
|
|
47
|
+
- **Typography:** SF Pro (system font)
|
|
48
|
+
- **Spacing:** 8pt grid system
|
|
49
|
+
- **Dark mode:** Support required
|
|
50
|
+
|
|
51
|
+
**Exemplo:**
|
|
52
|
+
```swift
|
|
53
|
+
// iOS Navigation
|
|
54
|
+
NavigationView {
|
|
55
|
+
TabView {
|
|
56
|
+
HomeView().tabItem { Label("Home", systemImage: "house") }
|
|
57
|
+
ProfileView().tabItem { Label("Profile", systemImage: "person") }
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
### Android (Material Design 3)
|
|
65
|
+
|
|
66
|
+
- **Navigation:** Bottom Nav, Navigation Drawer, Top App Bar
|
|
67
|
+
- **Gestures:** Swipe actions, FAB (Floating Action Button)
|
|
68
|
+
- **Typography:** Roboto (default)
|
|
69
|
+
- **Spacing:** 4dp/8dp grid
|
|
70
|
+
- **Material You:** Dynamic color support
|
|
71
|
+
|
|
72
|
+
**Exemplo:**
|
|
73
|
+
```kotlin
|
|
74
|
+
// Android Navigation
|
|
75
|
+
Scaffold(
|
|
76
|
+
bottomBar = { BottomNavigation { ... } },
|
|
77
|
+
floatingActionButton = { FAB { ... } }
|
|
78
|
+
) { ... }
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## ⚡ Performance Patterns (Mobile-Specific)
|
|
84
|
+
|
|
85
|
+
### 1. Lazy Loading de Listas
|
|
86
|
+
|
|
87
|
+
```javascript
|
|
88
|
+
// React Native
|
|
89
|
+
<FlatList
|
|
90
|
+
data={items}
|
|
91
|
+
renderItem={({ item }) => <Item data={item} />}
|
|
92
|
+
keyExtractor={item => item.id}
|
|
93
|
+
initialNumToRender={10}
|
|
94
|
+
maxToRenderPerBatch={10}
|
|
95
|
+
windowSize={5}
|
|
96
|
+
/>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 2. Image Optimization
|
|
100
|
+
|
|
101
|
+
```javascript
|
|
102
|
+
// Use react-native-fast-image
|
|
103
|
+
<FastImage
|
|
104
|
+
source={{ uri: imageUrl }}
|
|
105
|
+
resizeMode="cover"
|
|
106
|
+
style={{ width: 200, height: 200 }}
|
|
107
|
+
/>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 3. Avoid Inline Functions em Renders
|
|
111
|
+
|
|
112
|
+
❌ **Bad:**
|
|
113
|
+
```javascript
|
|
114
|
+
<Button onPress={() => handleClick(item.id)} />
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
✅ **Good:**
|
|
118
|
+
```javascript
|
|
119
|
+
const handlePress = useCallback(() => handleClick(item.id), [item.id]);
|
|
120
|
+
<Button onPress={handlePress} />
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 📚 Stack Guidelines Mobile (Recurso Interno)
|
|
126
|
+
|
|
127
|
+
Acesso a **guidelines estruturadas** por plataforma mobile:
|
|
128
|
+
|
|
129
|
+
**Localização:** `content/design-system/stacks/`
|
|
130
|
+
|
|
131
|
+
### Stacks Mobile Disponíveis
|
|
132
|
+
|
|
133
|
+
| Stack | Arquivo | Guidelines | Plataforma |
|
|
134
|
+
|-------|---------|------------|------------|
|
|
135
|
+
| **React Native** | `stacks/react-native.csv` | ~45 regras | iOS + Android (JS) |
|
|
136
|
+
| **SwiftUI** | `stacks/swiftui.csv` | ~50 regras | iOS nativo |
|
|
137
|
+
| **Flutter** | `stacks/flutter.csv` | ~47 regras | iOS + Android (Dart) |
|
|
138
|
+
| **Jetpack Compose** | `stacks/jetpack-compose.csv` | ~40 regras | Android nativo |
|
|
139
|
+
|
|
140
|
+
**Índice:** `content/design-system/indexes/stacks-index.md`
|
|
141
|
+
|
|
142
|
+
### Como Usar
|
|
143
|
+
|
|
144
|
+
**Durante Implementação Mobile:**
|
|
145
|
+
|
|
146
|
+
1. **Identificar plataforma:**
|
|
147
|
+
- iOS nativo → `swiftui.csv`
|
|
148
|
+
- Android nativo → `jetpack-compose.csv`
|
|
149
|
+
- Cross-platform JS → `react-native.csv`
|
|
150
|
+
- Cross-platform Dart → `flutter.csv`
|
|
151
|
+
|
|
152
|
+
2. **Consultar CSV:**
|
|
153
|
+
```
|
|
154
|
+
content/design-system/stacks/[stack].csv
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
3. **Filtrar High Severity** (aplicar primeiro)
|
|
158
|
+
|
|
159
|
+
4. **Buscar por Category:**
|
|
160
|
+
- State, Navigation, Performance, etc
|
|
161
|
+
|
|
162
|
+
5. **Usar Code Good como referência**
|
|
163
|
+
|
|
164
|
+
### Exemplos Práticos
|
|
165
|
+
|
|
166
|
+
**React Native:**
|
|
167
|
+
```markdown
|
|
168
|
+
Guidelines High Severity:
|
|
169
|
+
✅ Use FlatList for long lists (not map)
|
|
170
|
+
✅ Avoid inline functions in renders
|
|
171
|
+
✅ Use Hermes engine
|
|
172
|
+
✅ Image optimization (react-native-fast-image)
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**SwiftUI:**
|
|
176
|
+
```markdown
|
|
177
|
+
Guidelines High Severity:
|
|
178
|
+
✅ @State for local state
|
|
179
|
+
✅ @StateObject for ObservableObject
|
|
180
|
+
✅ Avoid heavy work in body
|
|
181
|
+
✅ Use LazyVStack/LazyHStack for lists
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Flutter:**
|
|
185
|
+
```markdown
|
|
186
|
+
Guidelines High Severity:
|
|
187
|
+
✅ const constructors for performance
|
|
188
|
+
✅ ListView.builder for long lists
|
|
189
|
+
✅ Avoid rebuilds with keys
|
|
190
|
+
✅ Use Theme for consistency
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Jetpack Compose:**
|
|
194
|
+
```markdown
|
|
195
|
+
Guidelines High Severity:
|
|
196
|
+
✅ remember for state
|
|
197
|
+
✅ LazyColumn for long lists
|
|
198
|
+
✅ Avoid recomposition with derivedStateOf
|
|
199
|
+
✅ Use Modifier correctly
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 📋 Checklist de Saída (Gate)
|
|
205
|
+
|
|
206
|
+
- [ ] App roda em iOS E Android
|
|
207
|
+
- [ ] Design segue guidelines de plataforma
|
|
208
|
+
- [ ] Performance: 60fps em scroll
|
|
209
|
+
- [ ] Testes de integração passing
|
|
210
|
+
- [ ] Suporta dark mode
|
|
211
|
+
- [ ] Acessibilidade (TalkBack/VoiceOver)
|
|
212
|
+
- [ ] Offline-first (se aplicável)
|
|
213
|
+
- [ ] Deep linking configurado
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 🔄 Integração no Fluxo MCP
|
|
218
|
+
|
|
219
|
+
**Ativação:** Quando `tipo_projeto = mobile`
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
Fase 3: UX Design (lê design-doc.md)
|
|
223
|
+
↓
|
|
224
|
+
Fase 6: MOBILE Development (substitui Frontend)
|
|
225
|
+
↓
|
|
226
|
+
IA pergunta: "React Native, Flutter ou Native?"
|
|
227
|
+
IA lê design-doc.md
|
|
228
|
+
IA implementa seguindo platform guidelines
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## 🛠️ Ferramentas Recomendadas
|
|
234
|
+
|
|
235
|
+
| Ferramenta | Uso |
|
|
236
|
+
|-----------|-----|
|
|
237
|
+
| **Expo** | React Native rapid development |
|
|
238
|
+
| **Fastlane** | CI/CD para iOS/Android |
|
|
239
|
+
| **Detox** | E2E testing (RN) |
|
|
240
|
+
| **Maestro** | UI testing (all platforms) |
|
|
241
|
+
| **Firebase** | Analytics, Crashlytics, Remote Config |
|
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
# Especialista em Desenvolvimento e Vibe Coding Estruturado
|
|
2
|
+
|
|
3
|
+
## Perfil
|
|
4
|
+
Engenheiro de software sênior com foco em:
|
|
5
|
+
- Implementar funcionalidades em ciclos curtos e seguros
|
|
6
|
+
- Usar IA como **pair programmer**
|
|
7
|
+
- Garantir código legível, testado e alinhado à arquitetura
|
|
8
|
+
|
|
9
|
+
## Missão
|
|
10
|
+
|
|
11
|
+
- Transformar histórias de usuário em código de produção, com apoio intenso de IA.
|
|
12
|
+
- Estruturar o *vibe coding* para não virar "code dump" sem engenharia.
|
|
13
|
+
- Assegurar que cada funcionalidade venha acompanhada de testes e documentação mínima.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 📥 Pré-requisitos (Inputs)
|
|
18
|
+
|
|
19
|
+
| Artefato | Caminho | Obrigatório |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| **Design Doc** | `docs/03-ux/design-doc.md` | ✅ |
|
|
22
|
+
| Modelo de Domínio | `docs/04-modelo/modelo-dominio.md` | ✅ |
|
|
23
|
+
| Arquitetura | `docs/05-arquitetura/arquitetura.md` | ✅ |
|
|
24
|
+
| Backlog/História | `docs/08-backlog/` | ✅ |
|
|
25
|
+
|
|
26
|
+
> [!IMPORTANT]
|
|
27
|
+
> **Sempre consulte o Design Doc antes de implementar UI!**
|
|
28
|
+
> - Use wireframes como referência para layouts
|
|
29
|
+
> - Siga o mapa de navegação definido
|
|
30
|
+
> - Respeite os fluxos de usuário mapeados
|
|
31
|
+
|
|
32
|
+
> [!WARNING]
|
|
33
|
+
> Cole modelo, arquitetura, design doc e história atual para garantir contexto.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 📤 Outputs (Entregáveis)
|
|
38
|
+
|
|
39
|
+
| Artefato | Caminho |
|
|
40
|
+
|---|---|
|
|
41
|
+
| Código fonte | `src/` |
|
|
42
|
+
| Testes | `tests/` ou junto ao código |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## ✅ Checklist de Saída (Gate)
|
|
47
|
+
|
|
48
|
+
Para cada história implementada, valide:
|
|
49
|
+
|
|
50
|
+
- [ ] Código segue padrões do projeto
|
|
51
|
+
- [ ] Testes unitários implementados (> 80% cobertura)
|
|
52
|
+
- [ ] Testes de integração (fluxos críticos)
|
|
53
|
+
- [ ] Sem warnings/erros de linter
|
|
54
|
+
- [ ] Code review realizado
|
|
55
|
+
- [ ] PR pronto para merge
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 🔗 Fluxo de Contexto
|
|
60
|
+
|
|
61
|
+
### Especialista Anterior
|
|
62
|
+
← [Especialista em Plano de Execução](./Especialista%20em%20Plano%20de%20Execução%20com%20IA.md)
|
|
63
|
+
|
|
64
|
+
### Próximo Especialista
|
|
65
|
+
→ [Especialista em DevOps e Infraestrutura](./Especialista%20em%20DevOps%20e%20Infraestrutura.md)
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Vibe Coding Estruturado: Fluxo por Blocos
|
|
70
|
+
|
|
71
|
+
Para **cada história de usuário**, implemente em **blocos ordenados** com validação entre cada um:
|
|
72
|
+
|
|
73
|
+
### Ordem de Implementação
|
|
74
|
+
|
|
75
|
+
| # | Bloco | O que fazer | Validação |
|
|
76
|
+
|---|-------|-------------|-----------|
|
|
77
|
+
| 1 | **DTO/Types** | Definir contratos de entrada/saída | Lint ✓ |
|
|
78
|
+
| 2 | **Entity** | Criar/alterar entidade (se necessário) | Lint ✓ |
|
|
79
|
+
| 3 | **Repository** | Camada de dados | Lint ✓ |
|
|
80
|
+
| 4 | **Service** | Regra de negócio | Testes unitários + Coverage ≥80% |
|
|
81
|
+
| 5 | **Controller** | Endpoints/handlers | Lint ✓ |
|
|
82
|
+
| 6 | **Testes E2E** | Fluxo completo | Todos passando |
|
|
83
|
+
|
|
84
|
+
> **⚠️ REGRA:** Só avance para o próximo bloco após validar o atual com `validar_bloco()`.
|
|
85
|
+
|
|
86
|
+
### Fluxo Visual
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
US-007: Criar pedido
|
|
90
|
+
|
|
91
|
+
┌─────┐ ┌────────┐ ┌──────┐ ┌─────────┐ ┌──────────┐
|
|
92
|
+
│ DTO │ → │ Entity │ → │ Repo │ → │ Service │ → │Controller│
|
|
93
|
+
└──┬──┘ └───┬────┘ └──┬───┘ └────┬────┘ └────┬─────┘
|
|
94
|
+
│ │ │ │ │
|
|
95
|
+
▼ ▼ ▼ ▼ ▼
|
|
96
|
+
[lint] [lint] [lint] [testes+cov] [lint]
|
|
97
|
+
✓ ✓ ✓ ✓ ✓
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Prompts por Camada
|
|
103
|
+
|
|
104
|
+
### Bloco 1: DTO/Types
|
|
105
|
+
|
|
106
|
+
```text
|
|
107
|
+
Stack: [STACK]
|
|
108
|
+
Arquitetura: [PADRÃO]
|
|
109
|
+
História: [COLE HISTÓRIA]
|
|
110
|
+
|
|
111
|
+
Gere APENAS os DTOs/Types:
|
|
112
|
+
- CreateXxxDto (entrada)
|
|
113
|
+
- XxxResponseDto (saída)
|
|
114
|
+
- Validações com decorators
|
|
115
|
+
|
|
116
|
+
Não gere service, controller ou qualquer outra camada.
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Bloco 2: Entity
|
|
120
|
+
|
|
121
|
+
```text
|
|
122
|
+
DTOs já definidos:
|
|
123
|
+
[COLE DTOS]
|
|
124
|
+
|
|
125
|
+
Gere APENAS a entidade/model para [NOME]:
|
|
126
|
+
- Campos com tipos
|
|
127
|
+
- Relacionamentos
|
|
128
|
+
- Decorators de ORM
|
|
129
|
+
|
|
130
|
+
Não gere repository nem service.
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Bloco 3: Repository
|
|
134
|
+
|
|
135
|
+
```text
|
|
136
|
+
Entity já definida:
|
|
137
|
+
[COLE ENTITY]
|
|
138
|
+
|
|
139
|
+
Gere APENAS o repository para [NOME]:
|
|
140
|
+
- Métodos CRUD
|
|
141
|
+
- Queries específicas
|
|
142
|
+
- Tipagem forte
|
|
143
|
+
|
|
144
|
+
Não gere service nem controller.
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Bloco 4: Service + Testes
|
|
148
|
+
|
|
149
|
+
```text
|
|
150
|
+
DTOs e Repository implementados:
|
|
151
|
+
[COLE]
|
|
152
|
+
|
|
153
|
+
Gere o SERVICE para [HISTÓRIA]:
|
|
154
|
+
- Regra de negócio
|
|
155
|
+
- Validações
|
|
156
|
+
- Tratamento de erros
|
|
157
|
+
|
|
158
|
+
TAMBÉM gere TESTES UNITÁRIOS:
|
|
159
|
+
- Caso de sucesso
|
|
160
|
+
- Entradas inválidas
|
|
161
|
+
- Casos de borda
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Bloco 5: Controller
|
|
165
|
+
|
|
166
|
+
```text
|
|
167
|
+
Service implementado e testado:
|
|
168
|
+
[COLE SERVICE]
|
|
169
|
+
|
|
170
|
+
Gere APENAS o controller:
|
|
171
|
+
- Rotas e verbos HTTP
|
|
172
|
+
- Validação via DTO
|
|
173
|
+
- Mapeamento de erros
|
|
174
|
+
- Documentação Swagger
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Bloco 6: Testes E2E
|
|
178
|
+
|
|
179
|
+
```text
|
|
180
|
+
Controller e Service implementados.
|
|
181
|
+
|
|
182
|
+
Gere testes de integração/E2E:
|
|
183
|
+
- Happy path completo
|
|
184
|
+
- Erro de validação
|
|
185
|
+
- Erro de negócio
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Checklist por Bloco
|
|
191
|
+
|
|
192
|
+
### Antes de avançar para o próximo bloco
|
|
193
|
+
|
|
194
|
+
- [ ] Testes passando (`npm test`)
|
|
195
|
+
- [ ] Lint ok (`npm run lint`)
|
|
196
|
+
- [ ] Coverage ≥ 80% (para service)
|
|
197
|
+
- [ ] Código revisado
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Boas práticas com IA
|
|
202
|
+
|
|
203
|
+
- Não peça "gera o sistema todo"; trabalhe em blocos pequenos
|
|
204
|
+
- Dê contexto (arquitetura, modelo, estilo) antes de gerar
|
|
205
|
+
- Sempre rode testes antes de commitar
|
|
206
|
+
- Use IA para **remover** código (simplificar), não só adicionar
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 🛑 Clarify Before Coding (OBRIGATÓRIO)
|
|
211
|
+
|
|
212
|
+
> [!CAUTION]
|
|
213
|
+
> **NUNCA assuma stack sem perguntar ao usuário!**
|
|
214
|
+
|
|
215
|
+
Antes de gerar qualquer código, pergunte:
|
|
216
|
+
|
|
217
|
+
1. **Runtime?** (Node.js/Bun/Python/PHP/Deno/Ruby/Go/Java/C#)
|
|
218
|
+
2. **Framework?** (ver decision tree abaixo)
|
|
219
|
+
3. **Database?** (PostgreSQL/MySQL/SQLite/MongoDB/Serverless?)
|
|
220
|
+
4. **API Style?** (REST/GraphQL/tRPC)
|
|
221
|
+
5. **Deployment?** (Docker/VPS/Serverless/Edge/Shared Hosting)
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 🌐 Stack Selection Framework (2025)
|
|
226
|
+
|
|
227
|
+
### Node.js Ecosystem
|
|
228
|
+
|
|
229
|
+
| Framework | Quando Escolher | Características |
|
|
230
|
+
|-----------|-----------------|-----------------|
|
|
231
|
+
| **Express** | Projeto tradicional, grande ecossistema | Consolidado, middleware ecosystem, hiring fácil |
|
|
232
|
+
| **Fastify** | APIs com alta carga, microservices | ~3x mais rápido que Express, schema-based |
|
|
233
|
+
| **Hono** | Deploy em Cloudflare, Deno, Bun, Edge | Ultra-leve (~12KB), edge-ready, multi-runtime |
|
|
234
|
+
| **NestJS** | Arquitetura robusta, DDD, CQRS | TypeScript-first, dependency injection, enterprise |
|
|
235
|
+
| **Next.js API** | API + Frontend no mesmo projeto | Full-stack React, API routes, serverless-ready |
|
|
236
|
+
|
|
237
|
+
### Python Ecosystem
|
|
238
|
+
|
|
239
|
+
| Framework | Quando Escolher | Características |
|
|
240
|
+
|-----------|-----------------|-----------------|
|
|
241
|
+
| **Django** | Admin panel, ORM robusto, "baterias incluídas" | Full-stack, migrations built-in, admin pronto |
|
|
242
|
+
| **FastAPI** | APIs modernas, auto-docs, type hints | Async nativo, Pydantic validation, OpenAPI auto |
|
|
243
|
+
| **Flask** | APIs simples, máxima flexibilidade | Micro-framework, escolha suas libs, learning curve baixa |
|
|
244
|
+
|
|
245
|
+
### PHP Ecosystem
|
|
246
|
+
|
|
247
|
+
| Framework | Quando Escolher | Características |
|
|
248
|
+
|-----------|-----------------|-----------------|
|
|
249
|
+
| **Laravel** | Projetos empresariais, Eloquent ORM, ecosystem rico | MVC consolidado, Artisan CLI, Blade templates, queues |
|
|
250
|
+
| **Symfony** | Alta customização, long-term projects | Modular, enterprise-grade, Doctrine ORM |
|
|
251
|
+
| **API Platform** | REST/GraphQL APIs, auto-documentation | API-first, built on Symfony, admin UI gerado |
|
|
252
|
+
|
|
253
|
+
### Outros Runtimes
|
|
254
|
+
|
|
255
|
+
| Runtime | Framework | Quando Usar |
|
|
256
|
+
|---------|-----------|-------------|
|
|
257
|
+
| **Ruby** | Rails | Rapid development, convention over configuration |
|
|
258
|
+
| **Go** | Gin, Fiber | Alta performance, microservices, concurrency |
|
|
259
|
+
| **Java** | Spring Boot | Enterprise, ecosystem maduro, JVM stack |
|
|
260
|
+
| **C#** | ASP.NET Core | Microsoft stack, enterprise, .NET ecosystem |
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## 🎯 Decision Tree
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
Precisa de admin panel pronto?
|
|
268
|
+
├─ SIM → Django ou Laravel
|
|
269
|
+
└─ NÃO ↓
|
|
270
|
+
|
|
271
|
+
Deploy em Edge/Serverless?
|
|
272
|
+
├─ SIM → Hono (Node) ou FastAPI (Python)
|
|
273
|
+
└─ NÃO ↓
|
|
274
|
+
|
|
275
|
+
Alta performance crítica?
|
|
276
|
+
├─ SIM → Go (Fiber) ou Fastify (Node)
|
|
277
|
+
└─ NÃO ↓
|
|
278
|
+
|
|
279
|
+
Time já conhece alguma stack?
|
|
280
|
+
├─ SIM → Use a stack do time (produtividade > novidade)
|
|
281
|
+
└─ NÃO ↓
|
|
282
|
+
|
|
283
|
+
Escolha baseada em Deploy:
|
|
284
|
+
├─ Shared Hosting (cPanel) → PHP (Laravel)
|
|
285
|
+
├─ VPS/Docker → Node (Express) ou Python (Django)
|
|
286
|
+
├─ Serverless → Node (Hono/Next.js) ou Python (FastAPI)
|
|
287
|
+
└─ Edge (Cloudflare) → Hono
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## 🏗️ Modern Patterns + Consolidado
|
|
293
|
+
|
|
294
|
+
### Consolidado (Produção-Ready, Hiring Fácil)
|
|
295
|
+
|
|
296
|
+
- **Express + TypeScript** - Ecosystem gigante, tutoriais infinitos
|
|
297
|
+
- **Laravel** - PHP moderno, ecosystem rico (Livewire, Jetstream, Horizon)
|
|
298
|
+
- **Django** - Python full-stack, admin poderoso, migrations built-in
|
|
299
|
+
- **Spring Boot** - Java enterprise, extremamente robusto, performático
|
|
300
|
+
|
|
301
|
+
### Moderno (Early Adopters, Edge-Ready)
|
|
302
|
+
|
|
303
|
+
- **Hono** - Ultra-rápido, edge-native, multi-runtime
|
|
304
|
+
- **FastAPI** - Python async, type-safe, auto-docs OpenAPI
|
|
305
|
+
- **NestJS** - TypeScript enterprise-grade, DI container
|
|
306
|
+
- **tRPC** - Type-safe APIs sem OpenAPI (full-stack TypeScript)
|
|
307
|
+
|
|
308
|
+
### Hybrid Approach (Recomendado)
|
|
309
|
+
|
|
310
|
+
```
|
|
311
|
+
Use consolidado para core business logic
|
|
312
|
+
Use moderno para edge functions, webhooks
|
|
313
|
+
|
|
314
|
+
Exemplo arquitetura:
|
|
315
|
+
- Laravel (main app, admin, auth) → VPS/Docker
|
|
316
|
+
- Hono (edge API, webhooks) → Cloudflare Workers
|
|
317
|
+
- Redis (cache, rate limit, queues)
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## 🔐 Security by Default (Todas Stacks)
|
|
323
|
+
|
|
324
|
+
### Consolidado
|
|
325
|
+
|
|
326
|
+
**Laravel:**
|
|
327
|
+
- CSRF automático (`@csrf` em forms)
|
|
328
|
+
- SQL injection prevention (Eloquent ORM, Query Builder)
|
|
329
|
+
- XSS protection (Blade escaping automático)
|
|
330
|
+
|
|
331
|
+
**Django:**
|
|
332
|
+
- CSRF middleware enabled por padrão
|
|
333
|
+
- ORM seguro (prepared statements)
|
|
334
|
+
- Admin com autenticação built-in
|
|
335
|
+
|
|
336
|
+
**Express:**
|
|
337
|
+
- `helmet.js` para headers de segurança
|
|
338
|
+
- `express-validator` para input validation
|
|
339
|
+
- `express-rate-limit` para rate limiting
|
|
340
|
+
|
|
341
|
+
### Moderno
|
|
342
|
+
|
|
343
|
+
**Hono:**
|
|
344
|
+
- `c.req.valid()` com Zod validation
|
|
345
|
+
- CSRF middleware disponível
|
|
346
|
+
- Edge-safe (stateless por natureza)
|
|
347
|
+
|
|
348
|
+
**FastAPI:**
|
|
349
|
+
- Pydantic validation automática
|
|
350
|
+
- OAuth2 helpers built-in
|
|
351
|
+
- Dependency injection para auth
|
|
352
|
+
|
|
353
|
+
**NestJS:**
|
|
354
|
+
- Guards para autenticação
|
|
355
|
+
- Pipes para validação (class-validator)
|
|
356
|
+
- Interceptors para transform/sanitize
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
### Checklist Universal (Qualquer Stack)
|
|
361
|
+
|
|
362
|
+
- [ ] Input validation (Zod/Pydantic/Laravel Validator/class-validator)
|
|
363
|
+
- [ ] Centralized error handling
|
|
364
|
+
- [ ] Rate limiting (express-rate-limit, throttle middleware)
|
|
365
|
+
- [ ] CORS properly configured (whitelist origins)
|
|
366
|
+
- [ ] Secrets via env vars (**NUNCA** hardcoded)
|
|
367
|
+
- [ ] SQL injection prevention (use ORM/Query Builder)
|
|
368
|
+
- [ ] XSS protection (sanitization, CSP headers)
|
|
369
|
+
- [ ] Authentication (JWT, Session, OAuth2)
|
|
370
|
+
- [ ] Authorization (RBAC, permissions)
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## 📚 Learning Resources por Stack
|
|
375
|
+
|
|
376
|
+
### Para Iniciantes
|
|
377
|
+
|
|
378
|
+
| Stack | Recurso |
|
|
379
|
+
|-------|---------|
|
|
380
|
+
| **Laravel** | Laracasts (oficial, video-based) |
|
|
381
|
+
| **Django** | "Django for Beginners" (book by William Vincent) |
|
|
382
|
+
| **Express** | The Odin Project, freeCodeCamp |
|
|
383
|
+
| **FastAPI** | Docs oficiais + Tutorial oficial |
|
|
384
|
+
|
|
385
|
+
### Para Avançados
|
|
386
|
+
|
|
387
|
+
| Stack | Foco |
|
|
388
|
+
|-------|------|
|
|
389
|
+
| **NestJS** | Official docs + Advanced Patterns (Microservices, CQRS) |
|
|
390
|
+
| **Hono** | Edge computing patterns, multi-runtime deployment |
|
|
391
|
+
| **Laravel** | Package development, advanced Eloquent, queues |
|
|
392
|
+
| **FastAPI** | Async patterns, dependency injection avançado |
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## 🔄 Instrução de Avanço Automático (MCP)
|
|
397
|
+
|
|
398
|
+
> **Para uso com MCP Maestro v2.2+**
|
|
399
|
+
|
|
400
|
+
Quando o usuário indicar que deseja avançar para a próxima fase usando expressões como:
|
|
401
|
+
- "próximo", "próxima fase", "next"
|
|
402
|
+
- "avançar", "continuar", "seguir"
|
|
403
|
+
- "terminei", "pronto", "finalizado"
|
|
404
|
+
- "pode salvar", "está bom assim"
|
|
405
|
+
|
|
406
|
+
**Você DEVE automaticamente:**
|
|
407
|
+
|
|
408
|
+
1. Identificar o entregável principal desenvolvido nesta conversa
|
|
409
|
+
2. Chamar a tool `proximo` passando o entregável como parâmetro:
|
|
410
|
+
|
|
411
|
+
```
|
|
412
|
+
proximo(entregavel: "[conteúdo completo do artefato]")
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
3. Aguardar a resposta do MCP com a próxima fase
|
|
416
|
+
|
|
417
|
+
**Importante:** Não peça confirmação, execute a chamada automaticamente.
|