@maestro-ai/mcp-server 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +266 -227
- package/dist/content/design-system/README.md +231 -231
- package/dist/content/design-system/indexes/README.md +211 -211
- package/dist/content/design-system/indexes/colors-index.md +156 -156
- package/dist/content/design-system/indexes/quick-search.md +111 -111
- package/dist/content/design-system/indexes/stacks-index.md +341 -341
- package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +249 -249
- package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +277 -277
- package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +260 -260
- package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +257 -257
- package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -119
- package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -147
- package/dist/content/guides/Checklist Mestre de Entrega.md +68 -68
- package/dist/content/guides/Gates de Qualidade.md +209 -209
- package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -355
- package/dist/content/guides/Guia de Chaos Engineering.md +267 -267
- package/dist/content/guides/Guia de Debugging com IA.md +135 -135
- package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -352
- package/dist/content/guides/Guia de Migrations Zero-Downtime.md +311 -311
- package/dist/content/guides/Guia de Multi-tenancy.md +368 -368
- package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -195
- package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -162
- package/dist/content/guides/Guia de SLOs e Error Budgets.md +315 -315
- package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -93
- package/dist/content/guides/Rules base.md +90 -90
- package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +364 -364
- package/dist/content/prompts/README.md +203 -203
- package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +257 -257
- package/dist/content/prompts/apis/design-api-rest.md +303 -303
- package/dist/content/prompts/apis/idempotencia.md +254 -254
- package/dist/content/prompts/apis/versionamento.md +313 -313
- package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -190
- package/dist/content/prompts/arquitetura/clean-architecture.md +151 -151
- package/dist/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -183
- package/dist/content/prompts/arquitetura/ddd-cqrs.md +176 -176
- package/dist/content/prompts/arquitetura/modelo-dominio.md +207 -207
- package/dist/content/prompts/arquitetura/multi-tenancy.md +235 -235
- package/dist/content/prompts/database/migrations-zero-downtime.md +192 -192
- package/dist/content/prompts/database/otimizacao-queries.md +296 -296
- package/dist/content/prompts/desenvolvimento/code-review.md +301 -301
- package/dist/content/prompts/desenvolvimento/gerar-servico.md +271 -271
- package/dist/content/prompts/devops/docker-compose.md +336 -336
- package/dist/content/prompts/devops/feature-flags.md +374 -374
- package/dist/content/prompts/devops/kubernetes-deploy.md +460 -460
- package/dist/content/prompts/devops/pipeline-cicd.md +358 -358
- package/dist/content/prompts/devops/terraform-iac.md +502 -502
- package/dist/content/prompts/escalabilidade/analise-performance.md +240 -240
- package/dist/content/prompts/escalabilidade/analise-performance.txt +94 -94
- package/dist/content/prompts/escalabilidade/caching.md +255 -255
- package/dist/content/prompts/observabilidade/chaos-testing.md +237 -237
- package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +263 -263
- package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -134
- package/dist/content/prompts/observabilidade/slos.md +215 -215
- package/dist/content/prompts/produto/discovery-inicial.md +203 -203
- package/dist/content/prompts/produto/discovery-inicial.txt +33 -33
- package/dist/content/prompts/requisitos/refinar-requisitos.md +232 -232
- package/dist/content/prompts/requisitos/refinar-requisitos.txt +40 -40
- package/dist/content/prompts/seguranca/analise-seguranca.md +243 -243
- package/dist/content/prompts/seguranca/pentest-checklist.md +333 -333
- package/dist/content/prompts/seguranca/rate-limiting.md +356 -356
- package/dist/content/prompts/seguranca/revisao-lgpd.md +227 -227
- package/dist/content/prompts/seguranca/threat-modeling.md +224 -224
- package/dist/content/prompts/testes/contract-testing.md +340 -340
- package/dist/content/prompts/testes/gerar-testes-unitarios.md +474 -474
- package/dist/content/prompts/testes/testes-e2e.md +460 -460
- package/dist/content/prompts/testes/testes-integracao.md +418 -418
- package/dist/content/prompts/testes/testes-performance.md +458 -458
- package/dist/content/prompts/ux/gerar-ui-stitch.md +151 -151
- package/dist/content/rules/RULES.md +835 -835
- package/dist/content/rules/adapters/copilot.md +10 -10
- package/dist/content/rules/adapters/cursor.md +10 -10
- package/dist/content/rules/adapters/gemini.md +13 -13
- package/dist/content/rules/adapters/windsurf.md +10 -10
- package/dist/content/specialists/Especialista em Acessibilidade.md +266 -266
- package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -434
- package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -358
- package/dist/content/specialists/Especialista em Arquitetura de Software.md +177 -177
- package/dist/content/specialists/Especialista em Banco de Dados.md +260 -260
- package/dist/content/specialists/Especialista em Contrato de API.md +172 -172
- package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +246 -246
- package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -191
- package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -477
- package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -241
- package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -417
- package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -294
- package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -227
- package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -299
- package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -179
- package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -179
- package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -410
- package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -248
- package/dist/content/specialists/Especialista em Observabilidade.md +415 -415
- package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +373 -373
- package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -341
- package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -419
- package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -508
- package/dist/content/specialists/Especialista em UX Design.md +453 -453
- package/dist/content/specialists/INDEX.md +43 -43
- package/dist/content/templates/PRD.md +165 -165
- package/dist/content/templates/README.md +65 -65
- package/dist/content/templates/adr.md +103 -103
- package/dist/content/templates/arquitetura.md +279 -279
- package/dist/content/templates/backlog.md +185 -185
- package/dist/content/templates/checklist-seguranca.md +180 -180
- package/dist/content/templates/contexto.md +120 -120
- package/dist/content/templates/criterios-aceite.md +99 -99
- package/dist/content/templates/design-banco.md +270 -270
- package/dist/content/templates/design-doc.md +240 -240
- package/dist/content/templates/feature.md +88 -88
- package/dist/content/templates/historia-backend.md +84 -84
- package/dist/content/templates/historia-frontend.md +75 -75
- package/dist/content/templates/historia-usuario.md +125 -125
- package/dist/content/templates/mapa-navegacao.md +133 -133
- package/dist/content/templates/matriz-rastreabilidade.md +121 -121
- package/dist/content/templates/modelo-dominio.md +219 -219
- package/dist/content/templates/plano-testes.md +199 -199
- package/dist/content/templates/prototipo-stitch.md +138 -138
- package/dist/content/templates/requisitos.md +162 -162
- package/dist/content/templates/slo-sli.md +197 -197
- package/dist/content/workflows/README-MCP.md +363 -363
- package/dist/content/workflows/mcp-debug.md +506 -506
- package/dist/content/workflows/mcp-feature.md +385 -385
- package/dist/content/workflows/mcp-gate.md +413 -413
- package/dist/content/workflows/mcp-next.md +388 -388
- package/dist/content/workflows/mcp-refactor.md +600 -600
- package/dist/content/workflows/mcp-start.md +304 -304
- package/dist/content/workflows/mcp-status.md +400 -400
- package/dist/gates/tiers.test.js +14 -14
- package/dist/index.js +133 -133
- package/dist/resources/index.js +61 -61
- package/dist/stdio.js +39 -32
- package/dist/stdio.js.map +1 -1
- package/dist/tools/analise/performance.js +23 -23
- package/dist/tools/analise/qualidade.js +23 -23
- package/dist/tools/analise/relatorio.js +24 -24
- package/dist/tools/analise/seguranca.js +28 -28
- package/dist/tools/aprovar-gate.js +81 -81
- package/dist/tools/atualizar-codebase.js +18 -18
- package/dist/tools/avaliar-entregavel.js +18 -18
- package/dist/tools/carregar-projeto.js +103 -103
- package/dist/tools/classificar.js +36 -36
- package/dist/tools/confirmar-classificacao.js +36 -36
- package/dist/tools/confirmar-stitch.js +75 -75
- package/dist/tools/contexto.js +56 -56
- package/dist/tools/fluxos-alternativos.js +98 -98
- package/dist/tools/implementar-historia.js +63 -63
- package/dist/tools/iniciar-projeto.js +174 -174
- package/dist/tools/proximo.js +239 -239
- package/dist/tools/salvar.js +59 -59
- package/dist/tools/status.js +76 -76
- package/dist/tools/validar-gate.js +35 -35
- package/dist/types/response.js +11 -11
- package/dist/utils/instructions.js +48 -48
- package/dist/utils/prompt-mapper.js +16 -16
- package/dist/utils/system-md.js +33 -33
- package/package.json +67 -67
- package/dist/content/content/design-system/README.md +0 -231
- package/dist/content/content/design-system/data/charts.csv +0 -26
- package/dist/content/content/design-system/data/colors.csv +0 -97
- package/dist/content/content/design-system/data/icons.csv +0 -101
- package/dist/content/content/design-system/data/landing.csv +0 -31
- package/dist/content/content/design-system/data/products.csv +0 -97
- package/dist/content/content/design-system/data/prompts.csv +0 -24
- package/dist/content/content/design-system/data/react-performance.csv +0 -45
- package/dist/content/content/design-system/data/styles.csv +0 -59
- package/dist/content/content/design-system/data/typography.csv +0 -58
- package/dist/content/content/design-system/data/ui-reasoning.csv +0 -101
- package/dist/content/content/design-system/data/ux-guidelines.csv +0 -100
- package/dist/content/content/design-system/data/web-interface.csv +0 -31
- package/dist/content/content/design-system/indexes/README.md +0 -211
- package/dist/content/content/design-system/indexes/colors-index.md +0 -156
- package/dist/content/content/design-system/indexes/quick-search.md +0 -111
- package/dist/content/content/design-system/indexes/stacks-index.md +0 -341
- package/dist/content/content/design-system/stacks/flutter.csv +0 -53
- package/dist/content/content/design-system/stacks/html-tailwind.csv +0 -56
- package/dist/content/content/design-system/stacks/jetpack-compose.csv +0 -53
- package/dist/content/content/design-system/stacks/nextjs.csv +0 -53
- package/dist/content/content/design-system/stacks/nuxt-ui.csv +0 -51
- package/dist/content/content/design-system/stacks/nuxtjs.csv +0 -59
- package/dist/content/content/design-system/stacks/react-native.csv +0 -52
- package/dist/content/content/design-system/stacks/react.csv +0 -54
- package/dist/content/content/design-system/stacks/shadcn.csv +0 -61
- package/dist/content/content/design-system/stacks/svelte.csv +0 -54
- package/dist/content/content/design-system/stacks/swiftui.csv +0 -51
- package/dist/content/content/design-system/stacks/vue.csv +0 -50
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +0 -250
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +0 -278
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +0 -261
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +0 -258
- package/dist/content/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +0 -119
- package/dist/content/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +0 -147
- package/dist/content/content/guides/Checklist Mestre de Entrega.md +0 -68
- package/dist/content/content/guides/Gates de Qualidade.md +0 -209
- package/dist/content/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +0 -355
- package/dist/content/content/guides/Guia de Chaos Engineering.md +0 -267
- package/dist/content/content/guides/Guia de Debugging com IA.md +0 -135
- package/dist/content/content/guides/Guia de Estrat/303/251gias de Cache.md" +0 -352
- package/dist/content/content/guides/Guia de Migrations Zero-Downtime.md +0 -311
- package/dist/content/content/guides/Guia de Multi-tenancy.md +0 -368
- package/dist/content/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +0 -195
- package/dist/content/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +0 -162
- package/dist/content/content/guides/Guia de SLOs e Error Budgets.md +0 -315
- package/dist/content/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +0 -93
- package/dist/content/content/guides/Rules base.md +0 -90
- package/dist/content/content/playbook/Playbook de Desenvolvimento com IA.md +0 -364
- package/dist/content/content/prompts/README.md +0 -203
- package/dist/content/content/prompts/acessibilidade/analise-acessibilidade.md +0 -257
- package/dist/content/content/prompts/apis/design-api-rest.md +0 -303
- package/dist/content/content/prompts/apis/idempotencia.md +0 -254
- package/dist/content/content/prompts/apis/versionamento.md +0 -313
- package/dist/content/content/prompts/arquitetura/arquitetura-c4-completo.md +0 -190
- package/dist/content/content/prompts/arquitetura/clean-architecture.md +0 -151
- package/dist/content/content/prompts/arquitetura/ddd-bounded-contexts.md +0 -183
- package/dist/content/content/prompts/arquitetura/ddd-cqrs.md +0 -176
- package/dist/content/content/prompts/arquitetura/modelo-dominio.md +0 -207
- package/dist/content/content/prompts/arquitetura/multi-tenancy.md +0 -235
- package/dist/content/content/prompts/database/migrations-zero-downtime.md +0 -192
- package/dist/content/content/prompts/database/otimizacao-queries.md +0 -296
- package/dist/content/content/prompts/desenvolvimento/code-review.md +0 -301
- package/dist/content/content/prompts/desenvolvimento/gerar-servico.md +0 -271
- package/dist/content/content/prompts/devops/docker-compose.md +0 -336
- package/dist/content/content/prompts/devops/feature-flags.md +0 -374
- package/dist/content/content/prompts/devops/kubernetes-deploy.md +0 -460
- package/dist/content/content/prompts/devops/pipeline-cicd.md +0 -358
- package/dist/content/content/prompts/devops/terraform-iac.md +0 -502
- package/dist/content/content/prompts/escalabilidade/analise-performance.md +0 -240
- package/dist/content/content/prompts/escalabilidade/analise-performance.txt +0 -94
- package/dist/content/content/prompts/escalabilidade/caching.md +0 -255
- package/dist/content/content/prompts/observabilidade/chaos-testing.md +0 -237
- package/dist/content/content/prompts/observabilidade/estrategia-observabilidade.md +0 -263
- package/dist/content/content/prompts/observabilidade/estrategia-observabilidade.txt +0 -134
- package/dist/content/content/prompts/observabilidade/slos.md +0 -215
- package/dist/content/content/prompts/produto/discovery-inicial.md +0 -203
- package/dist/content/content/prompts/produto/discovery-inicial.txt +0 -33
- package/dist/content/content/prompts/requisitos/refinar-requisitos.md +0 -232
- package/dist/content/content/prompts/requisitos/refinar-requisitos.txt +0 -40
- package/dist/content/content/prompts/seguranca/analise-seguranca.md +0 -243
- package/dist/content/content/prompts/seguranca/pentest-checklist.md +0 -333
- package/dist/content/content/prompts/seguranca/rate-limiting.md +0 -356
- package/dist/content/content/prompts/seguranca/revisao-lgpd.md +0 -227
- package/dist/content/content/prompts/seguranca/threat-modeling.md +0 -224
- package/dist/content/content/prompts/testes/contract-testing.md +0 -340
- package/dist/content/content/prompts/testes/gerar-testes-unitarios.md +0 -474
- package/dist/content/content/prompts/testes/testes-e2e.md +0 -460
- package/dist/content/content/prompts/testes/testes-integracao.md +0 -418
- package/dist/content/content/prompts/testes/testes-performance.md +0 -458
- package/dist/content/content/prompts/ux/gerar-ui-stitch.md +0 -151
- package/dist/content/content/rules/GEMINI.md +0 -841
- package/dist/content/content/rules/RULES.md +0 -835
- package/dist/content/content/rules/adapters/copilot.md +0 -10
- package/dist/content/content/rules/adapters/cursor.md +0 -10
- package/dist/content/content/rules/adapters/gemini.md +0 -13
- package/dist/content/content/rules/adapters/windsurf.md +0 -10
- package/dist/content/content/skills/api-patterns/SKILL.md +0 -81
- package/dist/content/content/skills/api-patterns/api-style.md +0 -42
- package/dist/content/content/skills/api-patterns/auth.md +0 -24
- package/dist/content/content/skills/api-patterns/documentation.md +0 -26
- package/dist/content/content/skills/api-patterns/graphql.md +0 -41
- package/dist/content/content/skills/api-patterns/rate-limiting.md +0 -31
- package/dist/content/content/skills/api-patterns/response.md +0 -37
- package/dist/content/content/skills/api-patterns/rest.md +0 -40
- package/dist/content/content/skills/api-patterns/scripts/api_validator.py +0 -211
- package/dist/content/content/skills/api-patterns/security-testing.md +0 -122
- package/dist/content/content/skills/api-patterns/trpc.md +0 -41
- package/dist/content/content/skills/api-patterns/versioning.md +0 -22
- package/dist/content/content/skills/app-builder/SKILL.md +0 -75
- package/dist/content/content/skills/app-builder/agent-coordination.md +0 -71
- package/dist/content/content/skills/app-builder/feature-building.md +0 -53
- package/dist/content/content/skills/app-builder/project-detection.md +0 -34
- package/dist/content/content/skills/app-builder/scaffolding.md +0 -118
- package/dist/content/content/skills/app-builder/tech-stack.md +0 -40
- package/dist/content/content/skills/app-builder/templates/SKILL.md +0 -39
- package/dist/content/content/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
- package/dist/content/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
- package/dist/content/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
- package/dist/content/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
- package/dist/content/content/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
- package/dist/content/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
- package/dist/content/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
- package/dist/content/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -82
- package/dist/content/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -100
- package/dist/content/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -106
- package/dist/content/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -101
- package/dist/content/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
- package/dist/content/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -93
- package/dist/content/content/skills/architecture/SKILL.md +0 -55
- package/dist/content/content/skills/architecture/context-discovery.md +0 -43
- package/dist/content/content/skills/architecture/examples.md +0 -94
- package/dist/content/content/skills/architecture/pattern-selection.md +0 -68
- package/dist/content/content/skills/architecture/patterns-reference.md +0 -50
- package/dist/content/content/skills/architecture/trade-off-analysis.md +0 -77
- package/dist/content/content/skills/bash-linux/SKILL.md +0 -199
- package/dist/content/content/skills/behavioral-modes/SKILL.md +0 -242
- package/dist/content/content/skills/brainstorming/SKILL.md +0 -163
- package/dist/content/content/skills/brainstorming/dynamic-questioning.md +0 -350
- package/dist/content/content/skills/clean-code/SKILL.md +0 -201
- package/dist/content/content/skills/code-review-checklist/SKILL.md +0 -109
- package/dist/content/content/skills/database-design/SKILL.md +0 -52
- package/dist/content/content/skills/database-design/database-selection.md +0 -43
- package/dist/content/content/skills/database-design/indexing.md +0 -39
- package/dist/content/content/skills/database-design/migrations.md +0 -48
- package/dist/content/content/skills/database-design/optimization.md +0 -36
- package/dist/content/content/skills/database-design/orm-selection.md +0 -30
- package/dist/content/content/skills/database-design/schema-design.md +0 -56
- package/dist/content/content/skills/database-design/scripts/schema_validator.py +0 -172
- package/dist/content/content/skills/deployment-procedures/SKILL.md +0 -241
- package/dist/content/content/skills/doc.md +0 -177
- package/dist/content/content/skills/documentation-templates/SKILL.md +0 -194
- package/dist/content/content/skills/frontend-design/SKILL.md +0 -396
- package/dist/content/content/skills/frontend-design/animation-guide.md +0 -331
- package/dist/content/content/skills/frontend-design/color-system.md +0 -311
- package/dist/content/content/skills/frontend-design/decision-trees.md +0 -418
- package/dist/content/content/skills/frontend-design/motion-graphics.md +0 -306
- package/dist/content/content/skills/frontend-design/scripts/accessibility_checker.py +0 -183
- package/dist/content/content/skills/frontend-design/scripts/ux_audit.py +0 -722
- package/dist/content/content/skills/frontend-design/typography-system.md +0 -345
- package/dist/content/content/skills/frontend-design/ux-psychology.md +0 -541
- package/dist/content/content/skills/frontend-design/visual-effects.md +0 -383
- package/dist/content/content/skills/game-development/2d-games/SKILL.md +0 -119
- package/dist/content/content/skills/game-development/3d-games/SKILL.md +0 -135
- package/dist/content/content/skills/game-development/SKILL.md +0 -167
- package/dist/content/content/skills/game-development/game-art/SKILL.md +0 -185
- package/dist/content/content/skills/game-development/game-audio/SKILL.md +0 -190
- package/dist/content/content/skills/game-development/game-design/SKILL.md +0 -129
- package/dist/content/content/skills/game-development/mobile-games/SKILL.md +0 -108
- package/dist/content/content/skills/game-development/multiplayer/SKILL.md +0 -132
- package/dist/content/content/skills/game-development/pc-games/SKILL.md +0 -144
- package/dist/content/content/skills/game-development/vr-ar/SKILL.md +0 -123
- package/dist/content/content/skills/game-development/web-games/SKILL.md +0 -150
- package/dist/content/content/skills/geo-fundamentals/SKILL.md +0 -156
- package/dist/content/content/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
- package/dist/content/content/skills/i18n-localization/SKILL.md +0 -154
- package/dist/content/content/skills/i18n-localization/scripts/i18n_checker.py +0 -241
- package/dist/content/content/skills/intelligent-routing/SKILL.md +0 -334
- package/dist/content/content/skills/lint-and-validate/SKILL.md +0 -45
- package/dist/content/content/skills/lint-and-validate/scripts/lint_runner.py +0 -172
- package/dist/content/content/skills/lint-and-validate/scripts/type_coverage.py +0 -173
- package/dist/content/content/skills/mcp-builder/SKILL.md +0 -176
- package/dist/content/content/skills/mobile-design/SKILL.md +0 -394
- package/dist/content/content/skills/mobile-design/decision-trees.md +0 -516
- package/dist/content/content/skills/mobile-design/mobile-backend.md +0 -491
- package/dist/content/content/skills/mobile-design/mobile-color-system.md +0 -420
- package/dist/content/content/skills/mobile-design/mobile-debugging.md +0 -122
- package/dist/content/content/skills/mobile-design/mobile-design-thinking.md +0 -357
- package/dist/content/content/skills/mobile-design/mobile-navigation.md +0 -458
- package/dist/content/content/skills/mobile-design/mobile-performance.md +0 -767
- package/dist/content/content/skills/mobile-design/mobile-testing.md +0 -356
- package/dist/content/content/skills/mobile-design/mobile-typography.md +0 -433
- package/dist/content/content/skills/mobile-design/platform-android.md +0 -666
- package/dist/content/content/skills/mobile-design/platform-ios.md +0 -561
- package/dist/content/content/skills/mobile-design/scripts/mobile_audit.py +0 -670
- package/dist/content/content/skills/mobile-design/touch-psychology.md +0 -537
- package/dist/content/content/skills/nextjs-best-practices/SKILL.md +0 -203
- package/dist/content/content/skills/nodejs-best-practices/SKILL.md +0 -333
- package/dist/content/content/skills/parallel-agents/SKILL.md +0 -175
- package/dist/content/content/skills/performance-profiling/SKILL.md +0 -143
- package/dist/content/content/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
- package/dist/content/content/skills/plan-writing/SKILL.md +0 -152
- package/dist/content/content/skills/powershell-windows/SKILL.md +0 -167
- package/dist/content/content/skills/python-patterns/SKILL.md +0 -441
- package/dist/content/content/skills/react-patterns/SKILL.md +0 -198
- package/dist/content/content/skills/red-team-tactics/SKILL.md +0 -199
- package/dist/content/content/skills/seo-fundamentals/SKILL.md +0 -129
- package/dist/content/content/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
- package/dist/content/content/skills/server-management/SKILL.md +0 -161
- package/dist/content/content/skills/systematic-debugging/SKILL.md +0 -109
- package/dist/content/content/skills/tailwind-patterns/SKILL.md +0 -269
- package/dist/content/content/skills/tdd-workflow/SKILL.md +0 -149
- package/dist/content/content/skills/testing-patterns/SKILL.md +0 -178
- package/dist/content/content/skills/testing-patterns/scripts/test_runner.py +0 -219
- package/dist/content/content/skills/vulnerability-scanner/SKILL.md +0 -276
- package/dist/content/content/skills/vulnerability-scanner/checklists.md +0 -121
- package/dist/content/content/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
- package/dist/content/content/skills/webapp-testing/SKILL.md +0 -187
- package/dist/content/content/skills/webapp-testing/scripts/playwright_runner.py +0 -173
- package/dist/content/content/specialists/Especialista em Acessibilidade.md +0 -266
- package/dist/content/content/specialists/Especialista em An/303/241lise de Testes.md" +0 -434
- package/dist/content/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +0 -358
- package/dist/content/content/specialists/Especialista em Arquitetura de Software.md +0 -177
- package/dist/content/content/specialists/Especialista em Banco de Dados.md +0 -260
- package/dist/content/content/specialists/Especialista em Contrato de API.md +0 -172
- package/dist/content/content/specialists/Especialista em Dados e Analytics com IA.md +0 -246
- package/dist/content/content/specialists/Especialista em Debugging e Troubleshooting.md +0 -191
- package/dist/content/content/specialists/Especialista em Desenvolvimento Frontend.md +0 -477
- package/dist/content/content/specialists/Especialista em Desenvolvimento Mobile.md +0 -241
- package/dist/content/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +0 -417
- package/dist/content/content/specialists/Especialista em DevOps e Infraestrutura.md +0 -294
- package/dist/content/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +0 -227
- package/dist/content/content/specialists/Especialista em Engenharia de Requisitos com IA.md +0 -299
- package/dist/content/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +0 -179
- package/dist/content/content/specialists/Especialista em Gest/303/243o de Produto.md" +0 -179
- package/dist/content/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +0 -410
- package/dist/content/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +0 -248
- package/dist/content/content/specialists/Especialista em Observabilidade.md +0 -415
- package/dist/content/content/specialists/Especialista em Performance e Escalabilidade.md +0 -373
- package/dist/content/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +0 -341
- package/dist/content/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +0 -419
- package/dist/content/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +0 -508
- package/dist/content/content/specialists/Especialista em UX Design.md +0 -453
- package/dist/content/content/specialists/INDEX.md +0 -43
- package/dist/content/content/templates/PRD.md +0 -165
- package/dist/content/content/templates/README.md +0 -65
- package/dist/content/content/templates/adr.md +0 -103
- package/dist/content/content/templates/arquitetura.md +0 -279
- package/dist/content/content/templates/backlog.md +0 -185
- package/dist/content/content/templates/checklist-seguranca.md +0 -180
- package/dist/content/content/templates/contexto.md +0 -120
- package/dist/content/content/templates/criterios-aceite.md +0 -99
- package/dist/content/content/templates/design-banco.md +0 -270
- package/dist/content/content/templates/design-doc.md +0 -240
- package/dist/content/content/templates/feature.md +0 -88
- package/dist/content/content/templates/historia-backend.md +0 -84
- package/dist/content/content/templates/historia-frontend.md +0 -75
- package/dist/content/content/templates/historia-usuario.md +0 -125
- package/dist/content/content/templates/mapa-navegacao.md +0 -133
- package/dist/content/content/templates/matriz-rastreabilidade.md +0 -121
- package/dist/content/content/templates/modelo-dominio.md +0 -219
- package/dist/content/content/templates/plano-testes.md +0 -199
- package/dist/content/content/templates/prototipo-stitch.md +0 -138
- package/dist/content/content/templates/requisitos.md +0 -162
- package/dist/content/content/templates/slo-sli.md +0 -197
- package/dist/content/content/workflows/README-MCP.md +0 -363
- package/dist/content/content/workflows/brainstorm.md +0 -113
- package/dist/content/content/workflows/create.md +0 -59
- package/dist/content/content/workflows/debug.md +0 -103
- package/dist/content/content/workflows/deploy.md +0 -176
- package/dist/content/content/workflows/enhance.md +0 -63
- package/dist/content/content/workflows/mcp-debug.md +0 -506
- package/dist/content/content/workflows/mcp-feature.md +0 -385
- package/dist/content/content/workflows/mcp-gate.md +0 -413
- package/dist/content/content/workflows/mcp-next.md +0 -388
- package/dist/content/content/workflows/mcp-refactor.md +0 -600
- package/dist/content/content/workflows/mcp-start.md +0 -304
- package/dist/content/content/workflows/mcp-status.md +0 -400
- package/dist/content/content/workflows/orchestrate.md +0 -237
- package/dist/content/content/workflows/plan.md +0 -89
- package/dist/content/content/workflows/preview.md +0 -81
- package/dist/content/content/workflows/status.md +0 -86
- package/dist/content/content/workflows/test.md +0 -144
- package/dist/content/content/workflows/ui-ux-pro-max.md +0 -296
|
@@ -1,267 +1,267 @@
|
|
|
1
|
-
# Guia de Chaos Engineering
|
|
2
|
-
|
|
3
|
-
> **Prioridade**: 🟢 BAIXA
|
|
4
|
-
> **Aplicável a**: Projetos Nível 3 (Complexo) com alta disponibilidade obrigatória
|
|
5
|
-
> **Pré-requisito**: SLOs definidos para medir impacto
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## O que é Chaos Engineering?
|
|
10
|
-
|
|
11
|
-
> "Chaos Engineering é a disciplina de experimentar em um sistema para construir confiança na capacidade do sistema de suportar condições turbulentas em produção."
|
|
12
|
-
> — [Principles of Chaos Engineering](https://principlesofchaos.org/)
|
|
13
|
-
|
|
14
|
-
**NÃO é**: Quebrar coisas aleatoriamente
|
|
15
|
-
**É**: Experimentos controlados para descobrir fraquezas
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Quando Usar?
|
|
20
|
-
|
|
21
|
-
| Contexto | Chaos Engineering? |
|
|
22
|
-
|----------|-------------------|
|
|
23
|
-
| MVP / Startup inicial | ❌ Não prioritário |
|
|
24
|
-
| SaaS com SLA 99.9% | ✅ Sim |
|
|
25
|
-
| Fintech / Healthcare | ✅ Obrigatório |
|
|
26
|
-
| Microserviços distribuídos | ✅ Altamente recomendado |
|
|
27
|
-
| Monolito simples | ⚠️ Pode ser overkill |
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Processo
|
|
32
|
-
|
|
33
|
-
```mermaid
|
|
34
|
-
graph LR
|
|
35
|
-
A[1. Definir Estado Estável] --> B[2. Formular Hipótese]
|
|
36
|
-
B --> C[3. Planejar Experimento]
|
|
37
|
-
C --> D[4. Executar em Ambiente Controlado]
|
|
38
|
-
D --> E[5. Analisar Resultados]
|
|
39
|
-
E --> F[6. Melhorar Sistema]
|
|
40
|
-
F --> A
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### 1. Definir Estado Estável
|
|
44
|
-
|
|
45
|
-
Use SLOs como baseline:
|
|
46
|
-
- Disponibilidade: 99.9%
|
|
47
|
-
- Latência p95: < 200ms
|
|
48
|
-
- Taxa de erros: < 0.1%
|
|
49
|
-
|
|
50
|
-
### 2. Formular Hipótese
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
"Quando [FALHA INJETADA], o sistema deve [COMPORTAMENTO ESPERADO]
|
|
54
|
-
e os SLOs devem [IMPACTO ACEITÁVEL]."
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Exemplo:
|
|
58
|
-
> "Quando o banco de dados primário falhar, o sistema deve fazer failover para réplica em < 30 segundos, com queda temporária de disponibilidade < 0.01%."
|
|
59
|
-
|
|
60
|
-
### 3. Planejar Experimento
|
|
61
|
-
|
|
62
|
-
| Aspecto | Definição |
|
|
63
|
-
|---------|-----------|
|
|
64
|
-
| **Escopo** | Quais componentes? |
|
|
65
|
-
| **Blast Radius** | % de tráfego afetado |
|
|
66
|
-
| **Duração** | Quanto tempo? |
|
|
67
|
-
| **Métricas** | O que observar? |
|
|
68
|
-
| **Kill Switch** | Como parar imediatamente? |
|
|
69
|
-
| **Rollback** | Como reverter? |
|
|
70
|
-
|
|
71
|
-
### 4. Executar
|
|
72
|
-
|
|
73
|
-
- Começar em staging
|
|
74
|
-
- Depois em produção com % pequeno
|
|
75
|
-
- Ter equipe pronta para intervir
|
|
76
|
-
- Monitorar métricas em tempo real
|
|
77
|
-
|
|
78
|
-
### 5. Analisar
|
|
79
|
-
|
|
80
|
-
- Hipótese confirmada ou refutada?
|
|
81
|
-
- Descobertas inesperadas?
|
|
82
|
-
- SLOs impactados quanto?
|
|
83
|
-
|
|
84
|
-
### 6. Melhorar
|
|
85
|
-
|
|
86
|
-
- Criar tickets para corrigir fraquezas
|
|
87
|
-
- Adicionar alarmes faltantes
|
|
88
|
-
- Melhorar runbooks
|
|
89
|
-
- Repetir experimento após fix
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Tipos de Experimentos
|
|
94
|
-
|
|
95
|
-
### Infraestrutura
|
|
96
|
-
|
|
97
|
-
| Experimento | Descrição | Ferramenta |
|
|
98
|
-
|-------------|-----------|------------|
|
|
99
|
-
| **Kill Instance** | Terminar VM/container | Chaos Monkey |
|
|
100
|
-
| **CPU Stress** | 100% CPU | stress-ng |
|
|
101
|
-
| **Memory Pressure** | Esgotar memória | stress-ng |
|
|
102
|
-
| **Disk Fill** | Encher disco | dd |
|
|
103
|
-
| **Network Latency** | Adicionar latência | tc netem |
|
|
104
|
-
| **Network Partition** | Isolar serviços | iptables |
|
|
105
|
-
| **DNS Failure** | DNS não resolve | Gremlin |
|
|
106
|
-
|
|
107
|
-
### Aplicação
|
|
108
|
-
|
|
109
|
-
| Experimento | Descrição |
|
|
110
|
-
|-------------|-----------|
|
|
111
|
-
| **Dependency Failure** | Mock falha de serviço externo |
|
|
112
|
-
| **Database Slowdown** | Queries lentas artificialmente |
|
|
113
|
-
| **Circuit Breaker Test** | Abrir circuit breaker |
|
|
114
|
-
| **Cache Invalidation** | Limpar todo o cache |
|
|
115
|
-
| **Message Queue Backup** | Enfileirar muitas mensagens |
|
|
116
|
-
|
|
117
|
-
### Processo
|
|
118
|
-
|
|
119
|
-
| Experimento | Objetivo |
|
|
120
|
-
|-------------|----------|
|
|
121
|
-
| **On-Call Response** | Tempo de resposta do time |
|
|
122
|
-
| **Runbook Validity** | Runbooks funcionam? |
|
|
123
|
-
| **Rollback Speed** | Tempo para reverter deploy |
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## Ferramentas
|
|
128
|
-
|
|
129
|
-
| Ferramenta | Tipo | Melhor Para |
|
|
130
|
-
|------------|------|-------------|
|
|
131
|
-
| **Chaos Monkey** | Open Source | Kill instances (EC2) |
|
|
132
|
-
| **Gremlin** | SaaS | Experimentos variados |
|
|
133
|
-
| **Litmus** | Open Source | Kubernetes |
|
|
134
|
-
| **Chaos Mesh** | Open Source | Kubernetes |
|
|
135
|
-
| **AWS FIS** | AWS | Experimentos na AWS |
|
|
136
|
-
| **Toxiproxy** | Open Source | Network failures |
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
## Exemplo: Experimento Simples
|
|
141
|
-
|
|
142
|
-
### Plano
|
|
143
|
-
|
|
144
|
-
```yaml
|
|
145
|
-
Experiment:
|
|
146
|
-
Name: Database Failover Test
|
|
147
|
-
Hypothesis: >
|
|
148
|
-
Quando o RDS primário ficar indisponível por 5 minutos,
|
|
149
|
-
o sistema deve fazer failover para a réplica em < 30 segundos
|
|
150
|
-
com < 3 requests falhando.
|
|
151
|
-
|
|
152
|
-
Scope:
|
|
153
|
-
Environment: staging
|
|
154
|
-
BlastRadius: 100% (staging é isolado)
|
|
155
|
-
Duration: 5 minutes
|
|
156
|
-
|
|
157
|
-
Execution:
|
|
158
|
-
Tool: AWS FIS
|
|
159
|
-
Action: aws:rds:failover-db-cluster
|
|
160
|
-
Target: staging-db-cluster
|
|
161
|
-
|
|
162
|
-
Metrics:
|
|
163
|
-
- SLI: Availability (requests bem-sucedidos)
|
|
164
|
-
- SLI: Error count durante failover
|
|
165
|
-
- Custom: Tempo para recuperação
|
|
166
|
-
|
|
167
|
-
KillSwitch:
|
|
168
|
-
- Manual: Cancelar experimento no FIS console
|
|
169
|
-
- Auto: Se error rate > 5% por 1 min
|
|
170
|
-
|
|
171
|
-
Team:
|
|
172
|
-
- Lead: @engineer-1
|
|
173
|
-
- Observer: @engineer-2
|
|
174
|
-
- Communicator: @manager (se escalar)
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### Execução
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
# AWS FIS
|
|
181
|
-
aws fis start-experiment \
|
|
182
|
-
--experiment-template-id EXT123456 \
|
|
183
|
-
--tags Environment=staging
|
|
184
|
-
|
|
185
|
-
# Monitorar
|
|
186
|
-
watch -n 5 'curl -s https://staging.app.com/health | jq .'
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### Resultado
|
|
190
|
-
|
|
191
|
-
```markdown
|
|
192
|
-
## Resultado: Database Failover Test
|
|
193
|
-
|
|
194
|
-
**Data**: 2024-01-15 14:00 UTC
|
|
195
|
-
**Hipótese**: CONFIRMADA ✅
|
|
196
|
-
|
|
197
|
-
### Métricas Observadas
|
|
198
|
-
- Tempo de failover: 22 segundos
|
|
199
|
-
- Requests falhados durante failover: 2
|
|
200
|
-
- Availability durante experimento: 99.97%
|
|
201
|
-
|
|
202
|
-
### Descobertas
|
|
203
|
-
- Circuit breaker levou 10s para abrir (configurar para 5s)
|
|
204
|
-
- Alertas dispararam corretamente
|
|
205
|
-
- Runbook estava desatualizado (atualizar)
|
|
206
|
-
|
|
207
|
-
### Ações
|
|
208
|
-
- [ ] Ajustar circuit breaker timeout
|
|
209
|
-
- [ ] Atualizar runbook de failover
|
|
210
|
-
- [ ] Adicionar métrica de tempo de failover
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
## Começando
|
|
216
|
-
|
|
217
|
-
### Semana 1: Preparação
|
|
218
|
-
- [ ] Definir SLOs de baseline
|
|
219
|
-
- [ ] Mapear dependências críticas
|
|
220
|
-
- [ ] Configurar observabilidade
|
|
221
|
-
|
|
222
|
-
### Semana 2: Primeiro Experimento
|
|
223
|
-
- [ ] Escolher experimento simples (ex: kill instance)
|
|
224
|
-
- [ ] Executar em staging
|
|
225
|
-
- [ ] Documentar resultados
|
|
226
|
-
|
|
227
|
-
### Semana 3+: Evolução
|
|
228
|
-
- [ ] Experimentos mais complexos
|
|
229
|
-
- [ ] Game days (simulação de incidente)
|
|
230
|
-
- [ ] Eventualmente em produção
|
|
231
|
-
|
|
232
|
-
---
|
|
233
|
-
|
|
234
|
-
## Checklist de Prontidão
|
|
235
|
-
|
|
236
|
-
Antes de chaos engineering em produção:
|
|
237
|
-
|
|
238
|
-
- [ ] SLOs definidos e monitorados
|
|
239
|
-
- [ ] Alertas funcionando
|
|
240
|
-
- [ ] Runbooks para cenários comuns
|
|
241
|
-
- [ ] Rollback testado e rápido
|
|
242
|
-
- [ ] Time treinado em resposta a incidentes
|
|
243
|
-
- [ ] Comunicação definida (quem avisar, quando)
|
|
244
|
-
- [ ] Janela de experimentos acordada
|
|
245
|
-
- [ ] Kill switch configurado e testado
|
|
246
|
-
|
|
247
|
-
---
|
|
248
|
-
|
|
249
|
-
## Anti-Patterns
|
|
250
|
-
|
|
251
|
-
| ❌ Não Faça | ✅ Faça |
|
|
252
|
-
|-------------|--------|
|
|
253
|
-
| Chaos sem hipótese | Sempre defina hipótese clara |
|
|
254
|
-
| Começar em produção | Staging primeiro |
|
|
255
|
-
| Grande blast radius inicial | Comece com 1% do tráfego |
|
|
256
|
-
| Sem monitoramento | Dashboards abertos durante |
|
|
257
|
-
| Sem kill switch | Sempre tenha forma de parar |
|
|
258
|
-
| Culpar pessoas | Foque em melhorar sistemas |
|
|
259
|
-
|
|
260
|
-
---
|
|
261
|
-
|
|
262
|
-
## Referências
|
|
263
|
-
|
|
264
|
-
- [Principles of Chaos Engineering](https://principlesofchaos.org/)
|
|
265
|
-
- [Chaos Engineering (O'Reilly Book)](https://www.oreilly.com/library/view/chaos-engineering/9781491988459/)
|
|
266
|
-
- [Netflix Chaos Monkey](https://github.com/Netflix/chaosmonkey)
|
|
267
|
-
- [AWS Fault Injection Simulator](https://aws.amazon.com/fis/)
|
|
1
|
+
# Guia de Chaos Engineering
|
|
2
|
+
|
|
3
|
+
> **Prioridade**: 🟢 BAIXA
|
|
4
|
+
> **Aplicável a**: Projetos Nível 3 (Complexo) com alta disponibilidade obrigatória
|
|
5
|
+
> **Pré-requisito**: SLOs definidos para medir impacto
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## O que é Chaos Engineering?
|
|
10
|
+
|
|
11
|
+
> "Chaos Engineering é a disciplina de experimentar em um sistema para construir confiança na capacidade do sistema de suportar condições turbulentas em produção."
|
|
12
|
+
> — [Principles of Chaos Engineering](https://principlesofchaos.org/)
|
|
13
|
+
|
|
14
|
+
**NÃO é**: Quebrar coisas aleatoriamente
|
|
15
|
+
**É**: Experimentos controlados para descobrir fraquezas
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Quando Usar?
|
|
20
|
+
|
|
21
|
+
| Contexto | Chaos Engineering? |
|
|
22
|
+
|----------|-------------------|
|
|
23
|
+
| MVP / Startup inicial | ❌ Não prioritário |
|
|
24
|
+
| SaaS com SLA 99.9% | ✅ Sim |
|
|
25
|
+
| Fintech / Healthcare | ✅ Obrigatório |
|
|
26
|
+
| Microserviços distribuídos | ✅ Altamente recomendado |
|
|
27
|
+
| Monolito simples | ⚠️ Pode ser overkill |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Processo
|
|
32
|
+
|
|
33
|
+
```mermaid
|
|
34
|
+
graph LR
|
|
35
|
+
A[1. Definir Estado Estável] --> B[2. Formular Hipótese]
|
|
36
|
+
B --> C[3. Planejar Experimento]
|
|
37
|
+
C --> D[4. Executar em Ambiente Controlado]
|
|
38
|
+
D --> E[5. Analisar Resultados]
|
|
39
|
+
E --> F[6. Melhorar Sistema]
|
|
40
|
+
F --> A
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 1. Definir Estado Estável
|
|
44
|
+
|
|
45
|
+
Use SLOs como baseline:
|
|
46
|
+
- Disponibilidade: 99.9%
|
|
47
|
+
- Latência p95: < 200ms
|
|
48
|
+
- Taxa de erros: < 0.1%
|
|
49
|
+
|
|
50
|
+
### 2. Formular Hipótese
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
"Quando [FALHA INJETADA], o sistema deve [COMPORTAMENTO ESPERADO]
|
|
54
|
+
e os SLOs devem [IMPACTO ACEITÁVEL]."
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Exemplo:
|
|
58
|
+
> "Quando o banco de dados primário falhar, o sistema deve fazer failover para réplica em < 30 segundos, com queda temporária de disponibilidade < 0.01%."
|
|
59
|
+
|
|
60
|
+
### 3. Planejar Experimento
|
|
61
|
+
|
|
62
|
+
| Aspecto | Definição |
|
|
63
|
+
|---------|-----------|
|
|
64
|
+
| **Escopo** | Quais componentes? |
|
|
65
|
+
| **Blast Radius** | % de tráfego afetado |
|
|
66
|
+
| **Duração** | Quanto tempo? |
|
|
67
|
+
| **Métricas** | O que observar? |
|
|
68
|
+
| **Kill Switch** | Como parar imediatamente? |
|
|
69
|
+
| **Rollback** | Como reverter? |
|
|
70
|
+
|
|
71
|
+
### 4. Executar
|
|
72
|
+
|
|
73
|
+
- Começar em staging
|
|
74
|
+
- Depois em produção com % pequeno
|
|
75
|
+
- Ter equipe pronta para intervir
|
|
76
|
+
- Monitorar métricas em tempo real
|
|
77
|
+
|
|
78
|
+
### 5. Analisar
|
|
79
|
+
|
|
80
|
+
- Hipótese confirmada ou refutada?
|
|
81
|
+
- Descobertas inesperadas?
|
|
82
|
+
- SLOs impactados quanto?
|
|
83
|
+
|
|
84
|
+
### 6. Melhorar
|
|
85
|
+
|
|
86
|
+
- Criar tickets para corrigir fraquezas
|
|
87
|
+
- Adicionar alarmes faltantes
|
|
88
|
+
- Melhorar runbooks
|
|
89
|
+
- Repetir experimento após fix
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Tipos de Experimentos
|
|
94
|
+
|
|
95
|
+
### Infraestrutura
|
|
96
|
+
|
|
97
|
+
| Experimento | Descrição | Ferramenta |
|
|
98
|
+
|-------------|-----------|------------|
|
|
99
|
+
| **Kill Instance** | Terminar VM/container | Chaos Monkey |
|
|
100
|
+
| **CPU Stress** | 100% CPU | stress-ng |
|
|
101
|
+
| **Memory Pressure** | Esgotar memória | stress-ng |
|
|
102
|
+
| **Disk Fill** | Encher disco | dd |
|
|
103
|
+
| **Network Latency** | Adicionar latência | tc netem |
|
|
104
|
+
| **Network Partition** | Isolar serviços | iptables |
|
|
105
|
+
| **DNS Failure** | DNS não resolve | Gremlin |
|
|
106
|
+
|
|
107
|
+
### Aplicação
|
|
108
|
+
|
|
109
|
+
| Experimento | Descrição |
|
|
110
|
+
|-------------|-----------|
|
|
111
|
+
| **Dependency Failure** | Mock falha de serviço externo |
|
|
112
|
+
| **Database Slowdown** | Queries lentas artificialmente |
|
|
113
|
+
| **Circuit Breaker Test** | Abrir circuit breaker |
|
|
114
|
+
| **Cache Invalidation** | Limpar todo o cache |
|
|
115
|
+
| **Message Queue Backup** | Enfileirar muitas mensagens |
|
|
116
|
+
|
|
117
|
+
### Processo
|
|
118
|
+
|
|
119
|
+
| Experimento | Objetivo |
|
|
120
|
+
|-------------|----------|
|
|
121
|
+
| **On-Call Response** | Tempo de resposta do time |
|
|
122
|
+
| **Runbook Validity** | Runbooks funcionam? |
|
|
123
|
+
| **Rollback Speed** | Tempo para reverter deploy |
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Ferramentas
|
|
128
|
+
|
|
129
|
+
| Ferramenta | Tipo | Melhor Para |
|
|
130
|
+
|------------|------|-------------|
|
|
131
|
+
| **Chaos Monkey** | Open Source | Kill instances (EC2) |
|
|
132
|
+
| **Gremlin** | SaaS | Experimentos variados |
|
|
133
|
+
| **Litmus** | Open Source | Kubernetes |
|
|
134
|
+
| **Chaos Mesh** | Open Source | Kubernetes |
|
|
135
|
+
| **AWS FIS** | AWS | Experimentos na AWS |
|
|
136
|
+
| **Toxiproxy** | Open Source | Network failures |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Exemplo: Experimento Simples
|
|
141
|
+
|
|
142
|
+
### Plano
|
|
143
|
+
|
|
144
|
+
```yaml
|
|
145
|
+
Experiment:
|
|
146
|
+
Name: Database Failover Test
|
|
147
|
+
Hypothesis: >
|
|
148
|
+
Quando o RDS primário ficar indisponível por 5 minutos,
|
|
149
|
+
o sistema deve fazer failover para a réplica em < 30 segundos
|
|
150
|
+
com < 3 requests falhando.
|
|
151
|
+
|
|
152
|
+
Scope:
|
|
153
|
+
Environment: staging
|
|
154
|
+
BlastRadius: 100% (staging é isolado)
|
|
155
|
+
Duration: 5 minutes
|
|
156
|
+
|
|
157
|
+
Execution:
|
|
158
|
+
Tool: AWS FIS
|
|
159
|
+
Action: aws:rds:failover-db-cluster
|
|
160
|
+
Target: staging-db-cluster
|
|
161
|
+
|
|
162
|
+
Metrics:
|
|
163
|
+
- SLI: Availability (requests bem-sucedidos)
|
|
164
|
+
- SLI: Error count durante failover
|
|
165
|
+
- Custom: Tempo para recuperação
|
|
166
|
+
|
|
167
|
+
KillSwitch:
|
|
168
|
+
- Manual: Cancelar experimento no FIS console
|
|
169
|
+
- Auto: Se error rate > 5% por 1 min
|
|
170
|
+
|
|
171
|
+
Team:
|
|
172
|
+
- Lead: @engineer-1
|
|
173
|
+
- Observer: @engineer-2
|
|
174
|
+
- Communicator: @manager (se escalar)
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Execução
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
# AWS FIS
|
|
181
|
+
aws fis start-experiment \
|
|
182
|
+
--experiment-template-id EXT123456 \
|
|
183
|
+
--tags Environment=staging
|
|
184
|
+
|
|
185
|
+
# Monitorar
|
|
186
|
+
watch -n 5 'curl -s https://staging.app.com/health | jq .'
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Resultado
|
|
190
|
+
|
|
191
|
+
```markdown
|
|
192
|
+
## Resultado: Database Failover Test
|
|
193
|
+
|
|
194
|
+
**Data**: 2024-01-15 14:00 UTC
|
|
195
|
+
**Hipótese**: CONFIRMADA ✅
|
|
196
|
+
|
|
197
|
+
### Métricas Observadas
|
|
198
|
+
- Tempo de failover: 22 segundos
|
|
199
|
+
- Requests falhados durante failover: 2
|
|
200
|
+
- Availability durante experimento: 99.97%
|
|
201
|
+
|
|
202
|
+
### Descobertas
|
|
203
|
+
- Circuit breaker levou 10s para abrir (configurar para 5s)
|
|
204
|
+
- Alertas dispararam corretamente
|
|
205
|
+
- Runbook estava desatualizado (atualizar)
|
|
206
|
+
|
|
207
|
+
### Ações
|
|
208
|
+
- [ ] Ajustar circuit breaker timeout
|
|
209
|
+
- [ ] Atualizar runbook de failover
|
|
210
|
+
- [ ] Adicionar métrica de tempo de failover
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Começando
|
|
216
|
+
|
|
217
|
+
### Semana 1: Preparação
|
|
218
|
+
- [ ] Definir SLOs de baseline
|
|
219
|
+
- [ ] Mapear dependências críticas
|
|
220
|
+
- [ ] Configurar observabilidade
|
|
221
|
+
|
|
222
|
+
### Semana 2: Primeiro Experimento
|
|
223
|
+
- [ ] Escolher experimento simples (ex: kill instance)
|
|
224
|
+
- [ ] Executar em staging
|
|
225
|
+
- [ ] Documentar resultados
|
|
226
|
+
|
|
227
|
+
### Semana 3+: Evolução
|
|
228
|
+
- [ ] Experimentos mais complexos
|
|
229
|
+
- [ ] Game days (simulação de incidente)
|
|
230
|
+
- [ ] Eventualmente em produção
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Checklist de Prontidão
|
|
235
|
+
|
|
236
|
+
Antes de chaos engineering em produção:
|
|
237
|
+
|
|
238
|
+
- [ ] SLOs definidos e monitorados
|
|
239
|
+
- [ ] Alertas funcionando
|
|
240
|
+
- [ ] Runbooks para cenários comuns
|
|
241
|
+
- [ ] Rollback testado e rápido
|
|
242
|
+
- [ ] Time treinado em resposta a incidentes
|
|
243
|
+
- [ ] Comunicação definida (quem avisar, quando)
|
|
244
|
+
- [ ] Janela de experimentos acordada
|
|
245
|
+
- [ ] Kill switch configurado e testado
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Anti-Patterns
|
|
250
|
+
|
|
251
|
+
| ❌ Não Faça | ✅ Faça |
|
|
252
|
+
|-------------|--------|
|
|
253
|
+
| Chaos sem hipótese | Sempre defina hipótese clara |
|
|
254
|
+
| Começar em produção | Staging primeiro |
|
|
255
|
+
| Grande blast radius inicial | Comece com 1% do tráfego |
|
|
256
|
+
| Sem monitoramento | Dashboards abertos durante |
|
|
257
|
+
| Sem kill switch | Sempre tenha forma de parar |
|
|
258
|
+
| Culpar pessoas | Foque em melhorar sistemas |
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Referências
|
|
263
|
+
|
|
264
|
+
- [Principles of Chaos Engineering](https://principlesofchaos.org/)
|
|
265
|
+
- [Chaos Engineering (O'Reilly Book)](https://www.oreilly.com/library/view/chaos-engineering/9781491988459/)
|
|
266
|
+
- [Netflix Chaos Monkey](https://github.com/Netflix/chaosmonkey)
|
|
267
|
+
- [AWS Fault Injection Simulator](https://aws.amazon.com/fis/)
|