@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,195 @@
1
+ # Guia de Otimização de Custos Cloud
2
+
3
+ > **Prioridade**: 🟢 BAIXA
4
+ > **Aplicável a**: Projetos em produção com custos significativos de cloud
5
+
6
+ ---
7
+
8
+ ## Por que Otimizar?
9
+
10
+ Cloud custa caro se não for gerenciada. Otimização pode reduzir 20-50% dos custos sem impacto em performance.
11
+
12
+ ---
13
+
14
+ ## Pilares de Otimização
15
+
16
+ ### 1. Right-Sizing
17
+
18
+ Usar instâncias do tamanho certo para a carga.
19
+
20
+ | Sinal | Problema | Ação |
21
+ |-------|----------|------|
22
+ | CPU < 20% constante | Superdimensionado | Diminuir tier |
23
+ | CPU > 80% frequente | Subdimensionado | Aumentar ou escalar |
24
+ | Memória < 30% usada | Superdimensionado | Diminuir tier |
25
+ | Picos curtos, idle longo | Má distribuição | Considerar serverless |
26
+
27
+ ### 2. Reserved Instances / Savings Plans
28
+
29
+ | Tipo | Desconto | Trade-off |
30
+ |------|----------|-----------|
31
+ | On-Demand | 0% | Flexibilidade total |
32
+ | Reserved 1 ano | 30-40% | Compromisso |
33
+ | Reserved 3 anos | 50-60% | Compromisso maior |
34
+ | Spot/Preemptible | 60-90% | Pode ser terminado |
35
+
36
+ **Regra**: Reserve workloads estáveis, on-demand para variáveis.
37
+
38
+ ### 3. Auto-Scaling
39
+
40
+ ```yaml
41
+ # Exemplo AWS Auto Scaling
42
+ ScalingPolicy:
43
+ - Name: scale-on-cpu
44
+ MetricType: CPUUtilization
45
+ TargetValue: 70
46
+ ScaleInCooldown: 300
47
+ ScaleOutCooldown: 60
48
+ ```
49
+
50
+ ### 4. Storage Optimization
51
+
52
+ | Classe | Custo | Uso |
53
+ |--------|-------|-----|
54
+ | Standard | $$$ | Acesso frequente |
55
+ | Infrequent Access | $$ | Acesso mensal |
56
+ | Glacier/Archive | $ | Backups, compliance |
57
+
58
+ **Política de Lifecycle**:
59
+ ```json
60
+ {
61
+ "Rules": [{
62
+ "ID": "ArchiveOldData",
63
+ "Filter": { "Prefix": "logs/" },
64
+ "Transitions": [
65
+ { "Days": 30, "StorageClass": "STANDARD_IA" },
66
+ { "Days": 90, "StorageClass": "GLACIER" }
67
+ ],
68
+ "Expiration": { "Days": 365 }
69
+ }]
70
+ }
71
+ ```
72
+
73
+ ### 5. Database Optimization
74
+
75
+ | Estratégia | Economia |
76
+ |------------|----------|
77
+ | Read replicas para leitura | Menos carga no primário |
78
+ | Serverless DB (Aurora, PlanetScale) | Paga por uso |
79
+ | Indices eficientes | Menos CPU |
80
+ | Query optimization | Menos tempo de CPU |
81
+ | Connection pooling | Menos instâncias |
82
+
83
+ ### 6. Containerização e Serverless
84
+
85
+ | Workload | Melhor Opção |
86
+ |----------|--------------|
87
+ | Carga constante 24/7 | Containers (ECS, GKE) |
88
+ | Picos esporádicos | Serverless (Lambda, Cloud Run) |
89
+ | Batch jobs | Spot instances + containers |
90
+ | APIs leves | Serverless |
91
+
92
+ ---
93
+
94
+ ## Checklist de Auditoria de Custos
95
+
96
+ ### Compute
97
+ - [ ] Instâncias idle identificadas e terminadas
98
+ - [ ] Right-sizing aplicado baseado em métricas
99
+ - [ ] Reserved instances para workloads estáveis
100
+ - [ ] Spot instances para workloads tolerantes
101
+ - [ ] Auto-scaling configurado corretamente
102
+
103
+ ### Storage
104
+ - [ ] Buckets/volumes não utilizados deletados
105
+ - [ ] Lifecycle policies configuradas
106
+ - [ ] Snapshots antigos removidos
107
+ - [ ] EBS volumes orfãos identificados
108
+ - [ ] Classe de storage correta por tipo de dado
109
+
110
+ ### Network
111
+ - [ ] Data transfer entre regiões minimizado
112
+ - [ ] NAT Gateway otimizado (VPC endpoints)
113
+ - [ ] CDN para conteúdo estático
114
+ - [ ] Endpoints privados quando possível
115
+
116
+ ### Database
117
+ - [ ] Instâncias provisionadas corretamente
118
+ - [ ] Read replicas só onde necessário
119
+ - [ ] Backups retidos pelo tempo correto
120
+ - [ ] Queries otimizadas (índices)
121
+
122
+ ---
123
+
124
+ ## Ferramentas de Análise
125
+
126
+ | Provedor | Ferramenta |
127
+ |----------|-----------|
128
+ | **AWS** | Cost Explorer, Trusted Advisor, Compute Optimizer |
129
+ | **GCP** | Cost Management, Recommender |
130
+ | **Azure** | Cost Management, Advisor |
131
+ | **Multi-cloud** | Kubecost, CloudHealth, Infracost |
132
+
133
+ ---
134
+
135
+ ## Budget e Alertas
136
+
137
+ ```yaml
138
+ # AWS Budget example
139
+ Budget:
140
+ Name: MonthlyBudget
141
+ Amount: 5000
142
+ TimeUnit: MONTHLY
143
+ Notifications:
144
+ - ThresholdPercentage: 50
145
+ NotificationType: ACTUAL
146
+ Recipients: [team@company.com]
147
+ - ThresholdPercentage: 80
148
+ NotificationType: ACTUAL
149
+ Recipients: [finance@company.com, team@company.com]
150
+ - ThresholdPercentage: 100
151
+ NotificationType: FORECASTED
152
+ Recipients: [all-hands@company.com]
153
+ ```
154
+
155
+ ---
156
+
157
+ ## Métricas para Monitorar
158
+
159
+ | Métrica | Meta |
160
+ |---------|------|
161
+ | Custo por request | Tendência de queda |
162
+ | Custo por usuário | Estável ou queda |
163
+ | % de Reserved usage | > 80% |
164
+ | Recursos idle | 0 |
165
+ | Custo vs Budget | < 100% |
166
+
167
+ ---
168
+
169
+ ## Quick Wins
170
+
171
+ 1. **Desligar ambientes dev/staging fora do horário**
172
+ ```bash
173
+ # Lambda para desligar EC2 à noite
174
+ aws ec2 stop-instances --instance-ids $(filter-dev-instances)
175
+ ```
176
+
177
+ 2. **Tagging para identificar ownership**
178
+ ```yaml
179
+ Tags:
180
+ Environment: production
181
+ Team: backend
182
+ CostCenter: engineering
183
+ ```
184
+
185
+ 3. **Alertas de custo diário**
186
+
187
+ 4. **Revisão mensal de custos** (cerimônia do time)
188
+
189
+ ---
190
+
191
+ ## Referências
192
+
193
+ - [AWS Well-Architected - Cost Optimization](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/)
194
+ - [GCP Cost Optimization](https://cloud.google.com/architecture/framework/cost-optimization)
195
+ - [FinOps Foundation](https://www.finops.org/)
@@ -0,0 +1,162 @@
1
+ # Guia de Refatoração de Código Legado com IA
2
+
3
+ Fluxo estruturado para modernizar código existente com apoio de IA.
4
+
5
+ ---
6
+
7
+ ## Quando Refatorar
8
+
9
+ - Código difícil de entender ou modificar
10
+ - Testes inexistentes ou frágeis
11
+ - Padrões desatualizados
12
+ - Performance inadequada
13
+ - Dívida técnica acumulada
14
+
15
+ ---
16
+
17
+ ## Fluxo de Refatoração
18
+
19
+ ```
20
+ 1. Análise → 2. Testes → 3. Refatoração → 4. Validação → 5. Documentação
21
+ ```
22
+
23
+ ---
24
+
25
+ ## 1. Análise do Código
26
+
27
+ ### Identificar code smells
28
+
29
+ ```text
30
+ Atue como revisor de código sênior.
31
+
32
+ Aqui está um módulo/classe legado:
33
+ [COLE CÓDIGO]
34
+
35
+ Identifique:
36
+ - Code smells presentes (God Class, Long Method, etc.)
37
+ - Violações de SOLID
38
+ - Oportunidades de simplificação
39
+ - Dependências problemáticas
40
+
41
+ Priorize por impacto e facilidade de correção.
42
+ ```
43
+
44
+ ### Entender lógica existente
45
+
46
+ ```text
47
+ Este código foi escrito há anos e preciso entendê-lo:
48
+ [COLE CÓDIGO]
49
+
50
+ Explique:
51
+ - O que este código faz
52
+ - Fluxo principal de execução
53
+ - Dependências externas
54
+ - Casos de borda tratados
55
+ ```
56
+
57
+ ---
58
+
59
+ ## 2. Adicionar Testes (antes de refatorar)
60
+
61
+ ```text
62
+ Aqui está uma função/classe que vou refatorar:
63
+ [COLE CÓDIGO]
64
+
65
+ Gere testes de caracterização que capturem o comportamento atual:
66
+ - Casos de uso principais
67
+ - Casos de borda
68
+ - Comportamento com inputs inválidos
69
+
70
+ Use [FRAMEWORK DE TESTES].
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 3. Refatoração Incremental
76
+
77
+ ### Extrair método
78
+
79
+ ```text
80
+ Este método está muito longo:
81
+ [COLE CÓDIGO]
82
+
83
+ Sugira extrações de métodos que:
84
+ - Melhorem legibilidade
85
+ - Sigam SRP (Single Responsibility)
86
+ - Mantenham comportamento idêntico
87
+ ```
88
+
89
+ ### Simplificar condicionais
90
+
91
+ ```text
92
+ Estas condicionais estão complexas:
93
+ [COLE CÓDIGO]
94
+
95
+ Refatore usando:
96
+ - Early returns
97
+ - Guard clauses
98
+ - Polimorfismo (se apropriado)
99
+ ```
100
+
101
+ ### Modernizar sintaxe
102
+
103
+ ```text
104
+ Este código usa padrões antigos de [LINGUAGEM]:
105
+ [COLE CÓDIGO]
106
+
107
+ Modernize para usar:
108
+ - Sintaxe atual da linguagem
109
+ - Padrões idiomáticos
110
+ - Recursos modernos (async/await, destructuring, etc.)
111
+ ```
112
+
113
+ ---
114
+
115
+ ## 4. Validação
116
+
117
+ - [ ] Todos os testes passando
118
+ - [ ] Cobertura mantida ou melhorada
119
+ - [ ] Performance não degradou
120
+ - [ ] Comportamento idêntico ao original
121
+
122
+ ---
123
+
124
+ ## 5. Documentação
125
+
126
+ ```text
127
+ Acabei de refatorar o seguinte código:
128
+
129
+ Antes:
130
+ [COLE CÓDIGO ANTIGO]
131
+
132
+ Depois:
133
+ [COLE CÓDIGO NOVO]
134
+
135
+ Gere um resumo das mudanças para o PR, explicando:
136
+ - Por que a refatoração foi feita
137
+ - Principais alterações
138
+ - Impacto no comportamento (nenhum, se correto)
139
+ ```
140
+
141
+ ---
142
+
143
+ ## Estratégias de Refatoração
144
+
145
+ | Técnica | Quando Usar | Risco |
146
+ |---|---|---|
147
+ | **Renomear** | Nomes confusos | Baixo |
148
+ | **Extrair método** | Métodos longos | Baixo |
149
+ | **Extrair classe** | Classe com muitas responsabilidades | Médio |
150
+ | **Mover método** | Método na classe errada | Médio |
151
+ | **Substituir condicional por polimorfismo** | Switch/if complexos | Alto |
152
+ | **Introduzir padrão de design** | Código duplicado, acoplamento | Alto |
153
+
154
+ ---
155
+
156
+ ## Boas Práticas
157
+
158
+ 1. **Sempre tenha testes antes de refatorar**
159
+ 2. **Mudanças pequenas e frequentes** - commits atômicos
160
+ 3. **Uma refatoração por vez** - não misture com features
161
+ 4. **Valide após cada passo** - rode testes frequentemente
162
+ 5. **Use IA como assistente** - revise sempre as sugestões
@@ -0,0 +1,315 @@
1
+ # Guia de SLOs e Error Budgets
2
+
3
+ > **Aplicável a**: Projetos Nível 2 (Médio) e Nível 3 (Complexo)
4
+ > **Pré-requisitos**: Observabilidade básica configurada (logs, métricas)
5
+
6
+ ---
7
+
8
+ ## O que são SLOs?
9
+
10
+ **SLO (Service Level Objective)** é uma meta interna de confiabilidade que define "bom o suficiente" para seu serviço.
11
+
12
+ ```
13
+ SLI → SLO → SLA → Error Budget
14
+
15
+ SLI: A métrica que você mede
16
+ SLO: A meta que você quer atingir
17
+ SLA: O contrato com seu cliente
18
+ Error Budget: Quanto você pode errar sem violar o SLO
19
+ ```
20
+
21
+ ---
22
+
23
+ ## Por que SLOs são Importantes?
24
+
25
+ ### Sem SLOs
26
+ - ❌ "O sistema está lento?" - "Depende..."
27
+ - ❌ "Podemos fazer deploy?" - "Acho que sim..."
28
+ - ❌ "Devemos priorizar feature ou bug?" - "Não sei..."
29
+
30
+ ### Com SLOs
31
+ - ✅ "Latência p95 está em 180ms, dentro do SLO de 200ms"
32
+ - ✅ "Error budget em 60%, deploys liberados"
33
+ - ✅ "Error budget em 85%, priorizar estabilidade"
34
+
35
+ ---
36
+
37
+ ## Como Definir SLOs
38
+
39
+ ### Passo 1: Identificar Jornadas Críticas
40
+
41
+ Liste as ações mais importantes do usuário:
42
+
43
+ | Jornada | Criticidade | Frequência |
44
+ |---------|-------------|------------|
45
+ | Login | Alta | 1000x/dia |
46
+ | Checkout | Crítica | 500x/dia |
47
+ | Busca de produtos | Média | 5000x/dia |
48
+
49
+ ### Passo 2: Escolher SLIs
50
+
51
+ Para cada jornada, defina indicadores mensuráveis:
52
+
53
+ | Jornada | SLI de Disponibilidade | SLI de Latência |
54
+ |---------|------------------------|-----------------|
55
+ | Login | Logins bem-sucedidos / tentativas | Tempo até token retornado |
56
+ | Checkout | Pedidos confirmados / tentativas | Tempo até confirmação |
57
+
58
+ ### Passo 3: Definir Targets
59
+
60
+ Baseie-se em:
61
+ - **Dados históricos**: O que você está entregando hoje?
62
+ - **Expectativas do usuário**: O que é aceitável?
63
+ - **Custo de melhoria**: Vale o investimento para ir de 99.9% para 99.99%?
64
+
65
+ | SLO | Custo Aproximado | Justifica para... |
66
+ |-----|------------------|-------------------|
67
+ | 99% | Baixo | MVPs, ferramentas internas |
68
+ | 99.9% | Médio | SaaS, apps consumer |
69
+ | 99.99% | Alto | Fintech, healthcare |
70
+ | 99.999% | Muito Alto | Infraestrutura crítica |
71
+
72
+ ### Passo 4: Calcular Error Budget
73
+
74
+ ```
75
+ Error Budget = 100% - SLO Target
76
+
77
+ SLO 99.9% → Error Budget = 0.1%
78
+ - Por mês (30 dias): 43.2 minutos de downtime permitido
79
+ - Por semana: ~10 minutos
80
+ ```
81
+
82
+ **Tabela de Referência:**
83
+
84
+ | SLO | Downtime/mês | Downtime/ano |
85
+ |-----|--------------|--------------|
86
+ | 99% | 7.2 horas | 3.65 dias |
87
+ | 99.5% | 3.6 horas | 1.83 dias |
88
+ | 99.9% | 43.2 min | 8.76 horas |
89
+ | 99.95% | 21.6 min | 4.38 horas |
90
+ | 99.99% | 4.32 min | 52.6 min |
91
+
92
+ ---
93
+
94
+ ## Error Budget Policy
95
+
96
+ ### Níveis de Consumo
97
+
98
+ ```mermaid
99
+ graph LR
100
+ A[0-50%] -->|Normal| B[Deploys OK]
101
+ B --> C[50-75%]
102
+ C -->|Atenção| D[Revisar deploys]
103
+ D --> E[75-90%]
104
+ E -->|Alerta| F[Freeze parcial]
105
+ F --> G[90-100%]
106
+ G -->|Crítico| H[Freeze total]
107
+ H --> I[>100%]
108
+ I -->|Violação| J[Post-mortem]
109
+ ```
110
+
111
+ ### Template de Policy
112
+
113
+ ```markdown
114
+ ## Error Budget Policy - [SISTEMA]
115
+
116
+ ### 0-50% Consumido (🟢 Normal)
117
+ - Deploys normais
118
+ - Features priorizadas
119
+ - Experimentos permitidos
120
+
121
+ ### 50-75% Consumido (🟡 Atenção)
122
+ - Deploys com revisão extra
123
+ - Priorizar bugs críticos
124
+ - Reduzir experimentos arriscados
125
+
126
+ ### 75-90% Consumido (🟠 Alerta)
127
+ - Apenas bug fixes e melhorias de confiabilidade
128
+ - Cancelar deploys não-críticos
129
+ - Investigar causa do consumo
130
+
131
+ ### 90-100% Consumido (🔴 Crítico)
132
+ - Freeze total de features
133
+ - Todas as mãos em estabilidade
134
+ - Escalar para liderança
135
+
136
+ ### >100% Violação (⚫ Emergência)
137
+ - Post-mortem obrigatório em 48h
138
+ - Plano de ação documentado
139
+ - Revisão de SLOs se necessário
140
+ ```
141
+
142
+ ---
143
+
144
+ ## Implementação Prática
145
+
146
+ ### Ferramentas de Observabilidade
147
+
148
+ | Ferramenta | SLI/SLO Features |
149
+ |------------|------------------|
150
+ | **Prometheus + Grafana** | Recording rules para SLIs, alertas, dashboards |
151
+ | **Datadog** | SLO tracking nativo, error budget dashboards |
152
+ | **New Relic** | SLI wizard, burn rate alerts |
153
+ | **Google Cloud SLO** | Nativo para GCP, integrado com alertas |
154
+
155
+ ### Exemplo: Prometheus Recording Rules
156
+
157
+ ```yaml
158
+ # prometheus-rules.yaml
159
+ groups:
160
+ - name: slo_slis
161
+ rules:
162
+ # SLI: Disponibilidade
163
+ - record: sli:availability:ratio
164
+ expr: |
165
+ sum(rate(http_requests_total{status!~"5.."}[5m]))
166
+ /
167
+ sum(rate(http_requests_total[5m]))
168
+
169
+ # SLI: Latência p99
170
+ - record: sli:latency:p99
171
+ expr: |
172
+ histogram_quantile(0.99,
173
+ sum(rate(http_request_duration_seconds_bucket[5m])) by (le)
174
+ )
175
+
176
+ # Error Budget Restante
177
+ - record: slo:error_budget:remaining
178
+ expr: |
179
+ 1 - (
180
+ (1 - sli:availability:ratio)
181
+ /
182
+ (1 - 0.999) # SLO target 99.9%
183
+ )
184
+ ```
185
+
186
+ ### Exemplo: Alertas de Burn Rate
187
+
188
+ ```yaml
189
+ # Alerta quando error budget está sendo consumido rapidamente
190
+ groups:
191
+ - name: slo_alerts
192
+ rules:
193
+ - alert: HighErrorBudgetBurn
194
+ expr: |
195
+ (
196
+ 1 - sli:availability:ratio
197
+ ) > 14.4 * (1 - 0.999)
198
+ for: 1h
199
+ labels:
200
+ severity: critical
201
+ annotations:
202
+ summary: "Error budget sendo consumido 14x mais rápido que o normal"
203
+
204
+ - alert: ErrorBudgetLow
205
+ expr: slo:error_budget:remaining < 0.25
206
+ for: 5m
207
+ labels:
208
+ severity: warning
209
+ annotations:
210
+ summary: "Menos de 25% do error budget restante"
211
+ ```
212
+
213
+ ---
214
+
215
+ ## Dashboard Essencial
216
+
217
+ ### Elementos Obrigatórios
218
+
219
+ 1. **Gauge de Error Budget**
220
+ - Cor por nível (verde/amarelo/vermelho)
221
+ - Tendência (subindo/descendo)
222
+
223
+ 2. **SLIs em Tempo Real**
224
+ - Disponibilidade atual
225
+ - Latência p95/p99
226
+ - Taxa de erros
227
+
228
+ 3. **Histórico de 30 dias**
229
+ - Linha do SLO target
230
+ - Área de SLI real
231
+ - Marcadores de incidentes
232
+
233
+ 4. **Projeção**
234
+ - Se mantiver a taxa atual, violaremos em X dias?
235
+
236
+ ---
237
+
238
+ ## Post-Mortem de Violação
239
+
240
+ ### Template
241
+
242
+ ```markdown
243
+ # Post-Mortem: Violação de SLO [DATA]
244
+
245
+ ## Resumo
246
+ - **SLO Violado**: Disponibilidade < 99.9%
247
+ - **Duração**: 2h 15min
248
+ - **Error Budget Consumido**: 150% do mensal
249
+
250
+ ## Linha do Tempo
251
+ - 14:00 - Primeiro alerta
252
+ - 14:15 - Time acionado
253
+ - 14:30 - Causa identificada
254
+ - 15:45 - Mitigação aplicada
255
+ - 16:15 - Sistema estável
256
+
257
+ ## Causa Raiz
258
+ [Descrição técnica]
259
+
260
+ ## Impacto
261
+ - Usuários afetados: 5000
262
+ - Transações perdidas: 120
263
+
264
+ ## Ações Corretivas
265
+ 1. [Ação imediata - responsável - prazo]
266
+ 2. [Ação preventiva - responsável - prazo]
267
+
268
+ ## Lições Aprendidas
269
+ - O que funcionou bem
270
+ - O que pode melhorar
271
+ ```
272
+
273
+ ---
274
+
275
+ ## Checklist de Adoção
276
+
277
+ ### Semana 1
278
+ - [ ] Identificar 3-5 jornadas críticas
279
+ - [ ] Definir SLIs mensuráveis
280
+ - [ ] Configurar coleta de métricas
281
+
282
+ ### Semana 2
283
+ - [ ] Analisar dados históricos
284
+ - [ ] Definir SLO targets iniciais
285
+ - [ ] Calcular error budgets
286
+
287
+ ### Semana 3
288
+ - [ ] Criar dashboard de SLOs
289
+ - [ ] Configurar alertas
290
+ - [ ] Documentar Error Budget Policy
291
+
292
+ ### Semana 4
293
+ - [ ] Treinar time
294
+ - [ ] Primeiro ciclo de review
295
+ - [ ] Ajustar targets se necessário
296
+
297
+ ---
298
+
299
+ ## Armadilhas Comuns
300
+
301
+ | Armadilha | Solução |
302
+ |-----------|---------|
303
+ | SLOs muito ambiciosos | Comece com targets conservadores |
304
+ | SLIs difíceis de medir | Simplifique, use métricas disponíveis |
305
+ | Ignorar error budget | Automatize alertas e policies |
306
+ | Nunca revisar SLOs | Agende revisão trimestral |
307
+ | SLOs por componente | Foque em jornadas do usuário |
308
+
309
+ ---
310
+
311
+ ## Referências
312
+
313
+ - [Google SRE Book - SLOs](https://sre.google/sre-book/service-level-objectives/)
314
+ - [Implementing SLOs (Google SRE Workbook)](https://sre.google/workbook/implementing-slos/)
315
+ - [The Art of SLOs (Coursera)](https://www.coursera.org/learn/site-reliability-engineering-slos)