@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,138 @@
1
+ # Template: Registro de Protótipos Stitch
2
+
3
+ ## Metadados
4
+ | Campo | Valor |
5
+ |-------|-------|
6
+ | Projeto | [NOME DO PROJETO] |
7
+ | Data | [DATA] |
8
+ | Responsável | [NOME] |
9
+ | Status | 🔄 Em progresso / ✅ Validado / ❌ Descartado |
10
+
11
+ ---
12
+
13
+ ## Protótipos Criados
14
+
15
+ ### Tela 1: [Nome da Tela]
16
+
17
+ **Prompt Usado:**
18
+ ```
19
+ [Cole o prompt que usou no Stitch]
20
+ ```
21
+
22
+ **Resultado:**
23
+ - [ ] Gerado com sucesso
24
+ - [ ] Aprovado por stakeholders
25
+ - [ ] Código exportado
26
+
27
+ **Iterações:**
28
+ | Versão | Mudança | Resultado |
29
+ |--------|---------|-----------|
30
+ | v1 | Prompt inicial | [OK/Ajustar] |
31
+ | v2 | [Ajuste feito] | [OK/Ajustar] |
32
+
33
+ **Código Exportado:** `docs/03-ux/stitch-output/tela-1.html`
34
+
35
+ **Observações:**
36
+ - [Notas sobre o que funcionou/não funcionou]
37
+ - [Decisões tomadas]
38
+
39
+ ---
40
+
41
+ ### Tela 2: [Nome da Tela]
42
+
43
+ **Prompt Usado:**
44
+ ```
45
+ [Cole o prompt que usou no Stitch]
46
+ ```
47
+
48
+ **Resultado:**
49
+ - [ ] Gerado com sucesso
50
+ - [ ] Aprovado por stakeholders
51
+ - [ ] Código exportado
52
+
53
+ **Código Exportado:** `docs/03-ux/stitch-output/tela-2.html`
54
+
55
+ **Observações:**
56
+ - [Notas]
57
+
58
+ ---
59
+
60
+ ## Componentes Identificados
61
+
62
+ Após análise dos protótipos, os seguintes componentes reutilizáveis foram identificados:
63
+
64
+ | Componente | Aparece Em | Prioridade |
65
+ |------------|------------|------------|
66
+ | Navbar | Todas as telas | Alta |
67
+ | Card | Dashboard, Listagem | Alta |
68
+ | Button | Todas as telas | Alta |
69
+ | Form Input | Cadastro, Edição | Alta |
70
+ | [Outros] | [Telas] | [Alta/Média/Baixa] |
71
+
72
+ ---
73
+
74
+ ## Mapeamento UI → Domínio
75
+
76
+ | Elemento de UI | Entidade/Campo | Requisito |
77
+ |----------------|----------------|-----------|
78
+ | Campo "Nome" | Cliente.nome | RF001 |
79
+ | Card de agendamento | Agendamento | RF003 |
80
+ | [Outros] | [Entidade.campo] | [RFxxx] |
81
+
82
+ ---
83
+
84
+ ## Decisões de Design
85
+
86
+ ### Tema Visual
87
+ - **Modo:** Light / Dark
88
+ - **Cor primária:** #[HEX]
89
+ - **Cor secundária:** #[HEX]
90
+ - **Fonte:** [Nome da fonte]
91
+
92
+ ### Padrões de UI
93
+ - Cards com sombra sutil e bordas arredondadas
94
+ - Botões com hover state
95
+ - [Outros padrões observados]
96
+
97
+ ---
98
+
99
+ ## Próximos Passos
100
+
101
+ - [ ] Exportar todos os códigos para `docs/03-ux/stitch-output/`
102
+ - [ ] Exportar assets para `docs/03-ux/stitch-output/assets/`
103
+ - [ ] Analisar código com IA para extrair componentes
104
+ - [ ] Atualizar CONTEXTO.md com decisões visuais
105
+ - [ ] Prosseguir para Modelagem de Domínio
106
+
107
+ ---
108
+
109
+ ## Arquivos Relacionados
110
+
111
+ - Design Doc (base para prompts): `docs/03-ux/design-doc.md`
112
+ - Prompts usados: `docs/03-ux/stitch-prompts.md`
113
+ - Código exportado: `docs/03-ux/stitch-output/`
114
+
115
+ ---
116
+
117
+ ## 🔗 Integração com Frontend
118
+
119
+ ### Para Desenvolvimento Frontend
120
+
121
+ Os arquivos exportados serão usados na fase de Frontend:
122
+
123
+ | Arquivo | Destino Sugerido | Tipo |
124
+ |---------|------------------|------|
125
+ | `*.html` | `src/components/` | Referência estrutural |
126
+ | `assets/*.png` | `public/images/` | Assets estáticos |
127
+ | `assets/*.svg` | `src/assets/icons/` | Ícones vetoriais |
128
+
129
+ ### Instruções para o Desenvolvedor Frontend
130
+
131
+ Na fase de Frontend, a IA deve:
132
+
133
+ 1. **Verificar** se existe `docs/03-ux/stitch-output/`
134
+ 2. **Ler todos os HTML** exportados
135
+ 3. **Extrair componentes** identificados neste documento
136
+ 4. **Copiar assets** para a estrutura correta do projeto
137
+ 5. **Adaptar markup** para a stack definida (React, Vue, etc.)
138
+
@@ -0,0 +1,162 @@
1
+ # Requisitos: [Nome do Sistema]
2
+
3
+ **Versão:** 1.0
4
+ **Data:** YYYY-MM-DD
5
+ **Autor:** [Nome]
6
+ **PRD Relacionado:** [Link para PRD]
7
+
8
+ ---
9
+
10
+ ## 1. Visão Geral
11
+
12
+ [Resumo de 2-3 linhas do sistema baseado no PRD]
13
+
14
+ ---
15
+
16
+ ## 2. Requisitos Funcionais
17
+
18
+ ### RF001 - [Título do Requisito]
19
+ | Campo | Valor |
20
+ |---|---|
21
+ | **Descrição** | O sistema deve [ação específica] |
22
+ | **Prioridade** | P0/P1/P2 |
23
+ | **Persona** | [Qual persona usa] |
24
+ | **Critérios de Aceite** | Ver CA001 |
25
+ | **Dependências** | RF002, RF003 |
26
+
27
+ ### RF002 - [Título do Requisito]
28
+ | Campo | Valor |
29
+ |---|---|
30
+ | **Descrição** | O sistema deve [ação específica] |
31
+ | **Prioridade** | P0/P1/P2 |
32
+ | **Persona** | |
33
+ | **Critérios de Aceite** | Ver CA002 |
34
+ | **Dependências** | |
35
+
36
+ ### RF003 - [Título do Requisito]
37
+ | Campo | Valor |
38
+ |---|---|
39
+ | **Descrição** | O sistema deve [ação específica] |
40
+ | **Prioridade** | |
41
+ | **Persona** | |
42
+ | **Critérios de Aceite** | |
43
+ | **Dependências** | |
44
+
45
+ [Adicione mais RFs conforme necessário]
46
+
47
+ ---
48
+
49
+ ## 3. Requisitos Não-Funcionais
50
+
51
+ ### RNF001 - Performance
52
+ | Campo | Valor |
53
+ |---|---|
54
+ | **Descrição** | O sistema deve responder em menos de [X]ms para [Y]% das requisições |
55
+ | **Métrica** | Latência p95 < Xms |
56
+ | **Como medir** | APM, logs, load test |
57
+
58
+ ### RNF002 - Disponibilidade
59
+ | Campo | Valor |
60
+ |---|---|
61
+ | **Descrição** | O sistema deve estar disponível [X]% do tempo |
62
+ | **Métrica** | Uptime >= X% |
63
+ | **Como medir** | Monitoramento, alertas |
64
+
65
+ ### RNF003 - Segurança
66
+ | Campo | Valor |
67
+ |---|---|
68
+ | **Descrição** | [Requisito de segurança] |
69
+ | **Métrica** | |
70
+ | **Como medir** | |
71
+
72
+ ### RNF004 - Escalabilidade
73
+ | Campo | Valor |
74
+ |---|---|
75
+ | **Descrição** | O sistema deve suportar [X] usuários simultâneos |
76
+ | **Métrica** | |
77
+ | **Como medir** | Load test |
78
+
79
+ ### RNF005 - Usabilidade
80
+ | Campo | Valor |
81
+ |---|---|
82
+ | **Descrição** | [Requisito de UX] |
83
+ | **Métrica** | |
84
+ | **Como medir** | |
85
+
86
+ ---
87
+
88
+ ## 4. Regras de Negócio
89
+
90
+ ### RN001 - [Título]
91
+ **Descrição:** [Regra específica que o sistema deve seguir]
92
+
93
+ **Exemplo:**
94
+ - Se [condição], então [ação]
95
+ - Caso [situação], [comportamento esperado]
96
+
97
+ ### RN002 - [Título]
98
+ **Descrição:** [Regra]
99
+
100
+ ---
101
+
102
+ ## 5. Integrações
103
+
104
+ | ID | Sistema Externo | Tipo | Descrição |
105
+ |---|---|---|---|
106
+ | INT001 | [Nome] | API REST / Webhook / File | [O que integra] |
107
+ | INT002 | | | |
108
+
109
+ ---
110
+
111
+ ## 6. Dúvidas em Aberto
112
+
113
+ | ID | Pergunta | Responsável | Status | Resposta |
114
+ |---|---|---|---|---|
115
+ | Q001 | [Pergunta para stakeholder] | [Nome] | Pendente | |
116
+ | Q002 | | | | |
117
+
118
+ ---
119
+
120
+ ## 7. Glossário
121
+
122
+ | Termo | Definição |
123
+ |---|---|
124
+ | [Termo técnico ou de negócio] | [Definição clara] |
125
+ | | |
126
+
127
+ ---
128
+
129
+ ## Matriz de Rastreabilidade
130
+
131
+ | Requisito | User Stories | Casos de Teste |
132
+ |---|---|---|
133
+ | RF001 | US001, US002 | TC001, TC002 |
134
+ | RF002 | US003 | TC003 |
135
+
136
+ ---
137
+
138
+ ## 8. Matriz Requisitos × Telas
139
+
140
+ > [!NOTE]
141
+ > Mapeie quais telas serão afetadas por cada requisito. Telas são estimativas iniciais que serão refinadas na fase de UX.
142
+
143
+ | RF ID | Descrição Resumida | Telas Estimadas | Componentes Prováveis |
144
+ |-------|-------------------|-----------------|----------------------|
145
+ | RF001 | [Descrição curta] | [Tela1, Tela2] | [Componente1] |
146
+ | RF002 | [Descrição curta] | [Tela1] | [Componente1, Componente2] |
147
+ | RF003 | [Descrição curta] | [Tela2, Tela3] | [Componente2] |
148
+
149
+ ### Legenda de Telas
150
+
151
+ | ID | Nome da Tela | Tipo | Área |
152
+ |----|-------------|------|------|
153
+ | T01 | [Nome] | [Lista/Detalhe/Form] | [Pública/Auth] |
154
+ | T02 | [Nome] | | |
155
+
156
+ ---
157
+
158
+ ## Changelog
159
+
160
+ | Versão | Data | Autor | Mudanças |
161
+ |---|---|---|---|
162
+ | 1.0 | YYYY-MM-DD | [Nome] | Versão inicial |
@@ -0,0 +1,197 @@
1
+ # Template: SLOs e SLIs do Sistema
2
+
3
+ > **Preencha este template** para definir os objetivos de confiabilidade do seu sistema.
4
+
5
+ ---
6
+
7
+ ## Informações do Sistema
8
+
9
+ | Campo | Valor |
10
+ |-------|-------|
11
+ | **Nome do Sistema** | [NOME] |
12
+ | **Responsável** | [TIME/PESSOA] |
13
+ | **Criticidade** | [ ] Baixa [ ] Média [ ] Alta [ ] Crítica |
14
+ | **Data de Criação** | [DATA] |
15
+ | **Última Revisão** | [DATA] |
16
+
17
+ ---
18
+
19
+ ## Definições
20
+
21
+ | Termo | Significado |
22
+ |-------|-------------|
23
+ | **SLA** | Service Level Agreement - Acordo contratual com clientes externos |
24
+ | **SLO** | Service Level Objective - Meta interna de confiabilidade |
25
+ | **SLI** | Service Level Indicator - Métrica que mede o SLO |
26
+ | **Error Budget** | Quantidade de erros/indisponibilidade permitida antes de violar o SLO |
27
+
28
+ ---
29
+
30
+ ## SLOs Definidos
31
+
32
+ ### SLO-001: Disponibilidade
33
+
34
+ | Aspecto | Valor |
35
+ |---------|-------|
36
+ | **Descrição** | O sistema deve estar disponível para responder requisições |
37
+ | **SLI** | `(requests bem-sucedidos / total de requests) × 100%` |
38
+ | **SLO Target** | [99.9%] |
39
+ | **Error Budget** | [43.2 min/mês] ou [0.1% de requests podem falhar] |
40
+ | **Janela de Medição** | Rolling [30] dias |
41
+ | **Exclusões** | Manutenções programadas, dependências externas |
42
+
43
+ **Cálculo do Error Budget:**
44
+
45
+ | SLO | Error Budget (30 dias) | Error Budget (por semana) |
46
+ |-----|------------------------|---------------------------|
47
+ | 99% | 7.2 horas | 1.68 horas |
48
+ | 99.9% | 43.2 minutos | 10 minutos |
49
+ | 99.95% | 21.6 minutos | 5 minutos |
50
+ | 99.99% | 4.32 minutos | 1 minuto |
51
+
52
+ ---
53
+
54
+ ### SLO-002: Latência
55
+
56
+ | Aspecto | Valor |
57
+ |---------|-------|
58
+ | **Descrição** | Tempo de resposta para requisições |
59
+ | **SLI** | Percentil de latência das requisições |
60
+ | **SLO Target p50** | [< 100ms] (mediana) |
61
+ | **SLO Target p95** | [< 300ms] |
62
+ | **SLO Target p99** | [< 1000ms] |
63
+ | **Janela de Medição** | Rolling [7] dias |
64
+ | **Exclusões** | Operações de export/batch, uploads grandes |
65
+
66
+ **Endpoints Críticos (medir separadamente):**
67
+
68
+ | Endpoint | p50 | p95 | p99 |
69
+ |----------|-----|-----|-----|
70
+ | `GET /api/health` | < 10ms | < 50ms | < 100ms |
71
+ | `POST /api/auth/login` | < 200ms | < 500ms | < 1s |
72
+ | `GET /api/products` | < 100ms | < 300ms | < 500ms |
73
+ | [ADICIONAR SEUS ENDPOINTS] | | | |
74
+
75
+ ---
76
+
77
+ ### SLO-003: Taxa de Erros
78
+
79
+ | Aspecto | Valor |
80
+ |---------|-------|
81
+ | **Descrição** | Proporção de requisições que resultam em erro |
82
+ | **SLI** | `(erros 5xx / total de requests) × 100%` |
83
+ | **SLO Target** | [< 0.1%] |
84
+ | **Janela de Medição** | Rolling [24] horas |
85
+ | **Exclusões** | Erros 4xx (responsabilidade do cliente) |
86
+
87
+ ---
88
+
89
+ ### SLO-004: Throughput
90
+
91
+ | Aspecto | Valor |
92
+ |---------|-------|
93
+ | **Descrição** | Capacidade de processamento do sistema |
94
+ | **SLI** | Requests processados por segundo |
95
+ | **SLO Target** | Suportar [1000] req/s sem degradação |
96
+ | **Degradação Aceitável** | Até [20%] aumento de latência em picos |
97
+ | **Janela de Medição** | Picos de [5] minutos |
98
+
99
+ ---
100
+
101
+ ### SLO-005: Durabilidade de Dados (se aplicável)
102
+
103
+ | Aspecto | Valor |
104
+ |---------|-------|
105
+ | **Descrição** | Dados armazenados não devem ser perdidos |
106
+ | **SLI** | % de objetos preservados |
107
+ | **SLO Target** | [99.999999999%] (11 noves) |
108
+ | **Janela de Medição** | Anual |
109
+ | **Estratégia** | Replicação multi-região, backups diários |
110
+
111
+ ---
112
+
113
+ ## Ações por Consumo de Error Budget
114
+
115
+ | Budget Consumido | Status | Ações |
116
+ |------------------|--------|-------|
117
+ | 0-50% | 🟢 Normal | Operação normal, deploys liberados |
118
+ | 50-75% | 🟡 Atenção | Alerta para time, revisar deploys |
119
+ | 75-90% | 🟠 Alerta | Freeze parcial, priorizar estabilidade |
120
+ | 90-100% | 🔴 Crítico | Freeze total de features, foco em bugs |
121
+ | >100% | ⚫ Violação | Post-mortem obrigatório, plano de ação |
122
+
123
+ ---
124
+
125
+ ## Alertas Configurados
126
+
127
+ | SLO | Condição de Alerta | Severidade | Canal |
128
+ |-----|-------------------|------------|-------|
129
+ | Disponibilidade | < 99.5% (1h window) | Warning | Slack |
130
+ | Disponibilidade | < 99% (1h window) | Critical | PagerDuty |
131
+ | Latência p95 | > 500ms (5min window) | Warning | Slack |
132
+ | Latência p99 | > 2s (5min window) | Critical | PagerDuty |
133
+ | Error Rate | > 1% (5min window) | Critical | PagerDuty |
134
+ | Error Budget | > 50% consumido | Warning | Slack |
135
+ | Error Budget | > 80% consumido | Critical | Email + Slack |
136
+
137
+ ---
138
+
139
+ ## Dashboard e Observabilidade
140
+
141
+ ### Métricas a Coletar
142
+
143
+ ```yaml
144
+ # Prometheus/OpenTelemetry metrics
145
+ - http_requests_total{status, endpoint, method}
146
+ - http_request_duration_seconds{endpoint, method, quantile}
147
+ - http_errors_total{status, endpoint}
148
+ - error_budget_remaining_percent{service}
149
+ ```
150
+
151
+ ### Queries de Referência (PromQL)
152
+
153
+ ```promql
154
+ # Disponibilidade (últimas 24h)
155
+ sum(rate(http_requests_total{status=~"2.."}[24h]))
156
+ /
157
+ sum(rate(http_requests_total[24h])) * 100
158
+
159
+ # Latência p95
160
+ histogram_quantile(0.95,
161
+ sum(rate(http_request_duration_seconds_bucket[5m])) by (le)
162
+ )
163
+
164
+ # Taxa de erros
165
+ sum(rate(http_requests_total{status=~"5.."}[5m]))
166
+ /
167
+ sum(rate(http_requests_total[5m])) * 100
168
+ ```
169
+
170
+ ---
171
+
172
+ ## Revisão e Governança
173
+
174
+ | Atividade | Frequência | Responsável |
175
+ |-----------|------------|-------------|
176
+ | Revisão de SLOs | Trimestral | Tech Lead + SRE |
177
+ | Análise de Error Budget | Semanal | Time de Produto |
178
+ | Post-mortem de violações | Após cada violação | Time responsável |
179
+ | Atualização de alertas | Mensal | SRE |
180
+
181
+ ---
182
+
183
+ ## Histórico de Violações
184
+
185
+ | Data | SLO Violado | Duração | Causa Raiz | Ação Corretiva |
186
+ |------|-------------|---------|------------|----------------|
187
+ | [DATA] | [SLO-XXX] | [DURAÇÃO] | [CAUSA] | [AÇÃO] |
188
+
189
+ ---
190
+
191
+ ## Próximos Passos
192
+
193
+ - [ ] Configurar coleta de métricas (Prometheus/Datadog/New Relic)
194
+ - [ ] Criar dashboard com SLIs em tempo real
195
+ - [ ] Configurar alertas conforme tabela acima
196
+ - [ ] Integrar com sistema de on-call (PagerDuty/Opsgenie)
197
+ - [ ] Agendar primeira revisão de SLOs