@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,358 @@
1
+ # Prompt: Pipeline CI/CD
2
+
3
+ > **Quando usar**: Configuração inicial de projeto ou melhorias de DevOps
4
+ > **Especialista**: DevOps / SRE
5
+ > **Nível**: Médio
6
+
7
+ ---
8
+
9
+ ## Fluxo de Contexto
10
+
11
+ Antes de usar este prompt, tenha em mãos:
12
+ - `docs/CONTEXTO.md` - Entendimento do projeto
13
+ - `docs/05-arquitetura/arquitetura.md` - Arquitetura e stack
14
+
15
+ Após gerar, salve o resultado em:
16
+ - `.github/workflows/` (GitHub Actions)
17
+ - `.gitlab-ci.yml` (GitLab)
18
+ - `docs/10-devops/pipeline.md` (documentação)
19
+
20
+ ---
21
+
22
+ ## Prompt Completo
23
+
24
+ ```text
25
+ Atue como engenheiro DevOps sênior especializado em CI/CD.
26
+
27
+ ## Contexto do Projeto
28
+
29
+ [COLE O CONTEÚDO DE docs/CONTEXTO.md]
30
+
31
+ ## Stack Tecnológica
32
+
33
+ - Linguagem: [TypeScript/Python/Java/Go/etc]
34
+ - Framework: [NestJS/FastAPI/Spring/etc]
35
+ - Banco de dados: [PostgreSQL/MySQL/MongoDB]
36
+ - Testes: [Jest/Pytest/JUnit]
37
+ - Containerização: [Docker/Podman/Nenhum]
38
+
39
+ ## Infraestrutura
40
+
41
+ - Cloud: [AWS/GCP/Azure/On-premise]
42
+ - Orquestração: [Kubernetes/ECS/App Engine/VM]
43
+ - Registry: [ECR/GCR/DockerHub/etc]
44
+
45
+ ## Repositório
46
+
47
+ - Provider: [GitHub/GitLab/Bitbucket/Azure DevOps]
48
+ - Branch Strategy: [GitFlow/Trunk-based/GitHub Flow]
49
+ - Branches: main, develop, feature/*, hotfix/*
50
+
51
+ ## Ambientes
52
+
53
+ - [ ] Development (dev)
54
+ - [ ] Staging (stg)
55
+ - [ ] Production (prod)
56
+
57
+ ---
58
+
59
+ ## Sua Missão
60
+
61
+ Configure uma pipeline CI/CD completa:
62
+
63
+ ### 1. Continuous Integration (CI)
64
+
65
+ #### 1.1 Trigger
66
+ - Em quais branches rodar
67
+ - Em quais eventos (push, PR, tag)
68
+ - Paths que disparam (ou ignoram)
69
+
70
+ #### 1.2 Jobs de Qualidade
71
+ Para cada job, detalhe:
72
+ - Nome do job
73
+ - Runner/imagem
74
+ - Steps
75
+
76
+ **Lint & Format**
77
+ - Verificar code style
78
+ - Fail se houver problemas
79
+
80
+ **Type Check** (se aplicável)
81
+ - Verificar tipos
82
+ - Fail em erros de tipo
83
+
84
+ **Unit Tests**
85
+ - Rodar testes unitários
86
+ - Gerar coverage report
87
+ - Fail se coverage < X%
88
+
89
+ **Integration Tests**
90
+ - Rodar com banco de teste
91
+ - Services necessários (database, redis)
92
+
93
+ **Security Scan**
94
+ - Dependency vulnerability check
95
+ - SAST (Static Analysis)
96
+
97
+ **Build**
98
+ - Compilar aplicação
99
+ - Build Docker image (se aplicável)
100
+ - Tag com SHA do commit
101
+
102
+ ### 2. Continuous Delivery (CD)
103
+
104
+ #### 2.1 Deploy para Development
105
+ - Trigger: Push em develop
106
+ - Steps de deploy
107
+ - Smoke tests após deploy
108
+
109
+ #### 2.2 Deploy para Staging
110
+ - Trigger: Merge em main ou tag
111
+ - Approval gate (manual ou automático)
112
+ - Steps de deploy
113
+ - E2E tests após deploy
114
+
115
+ #### 2.3 Deploy para Production
116
+ - Trigger: Tag release ou aprovação
117
+ - Approval gate obrigatório
118
+ - Deploy com rollback automático
119
+ - Health checks
120
+ - Notificação de sucesso/falha
121
+
122
+ #### 2.4 Estratégia de Deploy
123
+ - [ ] Rolling update
124
+ - [ ] Blue-green
125
+ - [ ] Canary
126
+ - [ ] Feature flags
127
+
128
+ ### 3. Secrets Management
129
+
130
+ - Onde armazenar secrets
131
+ - Como injetar em runtime
132
+ - Rotação de secrets
133
+
134
+ ### 4. Caching
135
+
136
+ - Dependências (node_modules, pip cache, maven)
137
+ - Docker layers
138
+ - Build artifacts
139
+
140
+ ### 5. Notificações
141
+
142
+ - Slack/Discord/Teams
143
+ - Email
144
+ - Quando notificar (success, failure, always)
145
+
146
+ ### 6. Monitoramento de Pipeline
147
+
148
+ - Duração média
149
+ - Taxa de sucesso
150
+ - Alertas de falha
151
+
152
+ ### 7. Rollback
153
+
154
+ - Como fazer rollback
155
+ - Automático vs manual
156
+ - Condições de trigger
157
+ ```
158
+
159
+ ---
160
+
161
+ ## Exemplo de Uso
162
+
163
+ ```text
164
+ Atue como engenheiro DevOps sênior especializado em CI/CD.
165
+
166
+ ## Contexto do Projeto
167
+
168
+ Sistema de agendamento para salões de beleza.
169
+ Backend NestJS em containers rodando na AWS.
170
+
171
+ ## Stack Tecnológica
172
+
173
+ - Linguagem: TypeScript
174
+ - Framework: NestJS
175
+ - Banco de dados: PostgreSQL
176
+ - Testes: Jest
177
+ - Containerização: Docker
178
+
179
+ ## Infraestrutura
180
+
181
+ - Cloud: AWS
182
+ - Orquestração: ECS Fargate
183
+ - Registry: ECR
184
+
185
+ ## Repositório
186
+
187
+ - Provider: GitHub
188
+ - Branch Strategy: GitHub Flow
189
+ - Branches: main, feature/*
190
+
191
+ ## Ambientes
192
+
193
+ - [x] Development (dev)
194
+ - [x] Staging (stg)
195
+ - [x] Production (prod)
196
+ ```
197
+
198
+ ---
199
+
200
+ ## Resposta Esperada (GitHub Actions)
201
+
202
+ ### Workflow CI
203
+
204
+ ```yaml
205
+ # .github/workflows/ci.yml
206
+ name: CI
207
+
208
+ on:
209
+ push:
210
+ branches: [main]
211
+ pull_request:
212
+ branches: [main]
213
+
214
+ env:
215
+ NODE_VERSION: '20'
216
+
217
+ jobs:
218
+ lint:
219
+ runs-on: ubuntu-latest
220
+ steps:
221
+ - uses: actions/checkout@v4
222
+ - uses: actions/setup-node@v4
223
+ with:
224
+ node-version: ${{ env.NODE_VERSION }}
225
+ cache: 'npm'
226
+ - run: npm ci
227
+ - run: npm run lint
228
+ - run: npm run format:check
229
+
230
+ test:
231
+ runs-on: ubuntu-latest
232
+ services:
233
+ postgres:
234
+ image: postgres:15
235
+ env:
236
+ POSTGRES_PASSWORD: test
237
+ POSTGRES_DB: test
238
+ ports:
239
+ - 5432:5432
240
+ options: >-
241
+ --health-cmd pg_isready
242
+ --health-interval 10s
243
+ --health-timeout 5s
244
+ --health-retries 5
245
+ steps:
246
+ - uses: actions/checkout@v4
247
+ - uses: actions/setup-node@v4
248
+ with:
249
+ node-version: ${{ env.NODE_VERSION }}
250
+ cache: 'npm'
251
+ - run: npm ci
252
+ - run: npm run test:cov
253
+ env:
254
+ DATABASE_URL: postgresql://postgres:test@localhost:5432/test
255
+ - uses: codecov/codecov-action@v3
256
+ with:
257
+ files: ./coverage/lcov.info
258
+
259
+ security:
260
+ runs-on: ubuntu-latest
261
+ steps:
262
+ - uses: actions/checkout@v4
263
+ - run: npm audit --audit-level=high
264
+ - uses: github/codeql-action/init@v2
265
+ with:
266
+ languages: javascript
267
+ - uses: github/codeql-action/analyze@v2
268
+
269
+ build:
270
+ needs: [lint, test, security]
271
+ runs-on: ubuntu-latest
272
+ steps:
273
+ - uses: actions/checkout@v4
274
+ - uses: docker/setup-buildx-action@v3
275
+ - uses: docker/build-push-action@v5
276
+ with:
277
+ context: .
278
+ push: false
279
+ tags: app:${{ github.sha }}
280
+ cache-from: type=gha
281
+ cache-to: type=gha,mode=max
282
+ ```
283
+
284
+ ### Workflow CD
285
+
286
+ ```yaml
287
+ # .github/workflows/cd.yml
288
+ name: CD
289
+
290
+ on:
291
+ push:
292
+ branches: [main]
293
+
294
+ env:
295
+ AWS_REGION: us-east-1
296
+ ECR_REPOSITORY: salao-api
297
+ ECS_CLUSTER: salao-cluster
298
+ ECS_SERVICE: salao-api-service
299
+
300
+ jobs:
301
+ deploy-staging:
302
+ runs-on: ubuntu-latest
303
+ environment: staging
304
+ steps:
305
+ - uses: actions/checkout@v4
306
+
307
+ - uses: aws-actions/configure-aws-credentials@v4
308
+ with:
309
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
310
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
311
+ aws-region: ${{ env.AWS_REGION }}
312
+
313
+ - uses: aws-actions/amazon-ecr-login@v2
314
+ id: ecr
315
+
316
+ - uses: docker/build-push-action@v5
317
+ with:
318
+ context: .
319
+ push: true
320
+ tags: ${{ steps.ecr.outputs.registry }}/${{ env.ECR_REPOSITORY }}:${{ github.sha }}
321
+
322
+ - name: Deploy ECS
323
+ run: |
324
+ aws ecs update-service \
325
+ --cluster ${{ env.ECS_CLUSTER }}-staging \
326
+ --service ${{ env.ECS_SERVICE }} \
327
+ --force-new-deployment
328
+
329
+ - name: Wait for deployment
330
+ run: |
331
+ aws ecs wait services-stable \
332
+ --cluster ${{ env.ECS_CLUSTER }}-staging \
333
+ --services ${{ env.ECS_SERVICE }}
334
+
335
+ deploy-production:
336
+ needs: deploy-staging
337
+ runs-on: ubuntu-latest
338
+ environment: production
339
+ steps:
340
+ # Similar ao staging, com approval gate configurado no environment
341
+ ```
342
+
343
+ ---
344
+
345
+ ## Checklist Pós-Geração
346
+
347
+ - [ ] CI roda em PRs e push para main
348
+ - [ ] Lint e format verificados
349
+ - [ ] Testes unitários com coverage
350
+ - [ ] Security scan configurado
351
+ - [ ] Build de Docker image
352
+ - [ ] Deploy automático para staging
353
+ - [ ] Deploy para produção com approval
354
+ - [ ] Secrets configurados nos environments
355
+ - [ ] Cache configurado para dependências
356
+ - [ ] Notificações configuradas
357
+ - [ ] Rollback documentado
358
+ - [ ] Salvar workflows e `docs/10-devops/pipeline.md`