jarvis-ai-framework 2.1.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +14 -115
- package/agents/AGENTS.md +11 -23
- package/agents/README.md +27 -129
- package/agents/engineering/data/eng.data-engineer.agent.md +11 -34
- package/agents/engineering/eng.advisor.agent.md +56 -0
- package/agents/engineering/eng.agent.md +14 -24
- package/agents/engineering/eng.bug-hunter.md +7 -15
- package/agents/engineering/eng.dev-code-reviewer.md +1 -1
- package/agents/engineering/eng.frontend.agent.md +3 -7
- package/agents/engineering/eng.rpa.agent.md +2 -8
- package/agents/engineering/qa/eng.qa.quality-strategist.md +6 -11
- package/agents/engineering/qa/eng.qa.test-architect.md +8 -18
- package/agents/engineering/qa/eng.qa.test-planner.md +10 -14
- package/agents/engineering/qa/eng.qa.testing-engineer.md +91 -24
- package/agents/product/prod.discovery-interviewer.md +3 -3
- package/bin/README.md +142 -0
- package/bin/commands/docs-publish.js +105 -141
- package/bin/commands/docs-sync.js +66 -104
- package/bin/commands/info.js +7 -27
- package/bin/commands/init.js +23 -51
- package/bin/commands/install-rtk.js +9 -3
- package/bin/commands/list.js +5 -18
- package/bin/commands/map.js +20 -5
- package/bin/commands/qa-signoff.js +58 -55
- package/bin/commands/tokens.js +14 -17
- package/bin/commands/whoami.js +30 -26
- package/bin/jarvis.js +9 -163
- package/bin/lib/auth/session.js +20 -20
- package/bin/lib/cli/program.js +219 -0
- package/bin/lib/cli/shared-options.js +29 -0
- package/bin/lib/config/constants.js +59 -2
- package/bin/lib/config/ide-config.js +4 -8
- package/bin/lib/core/profile-filter.js +4 -1
- package/bin/lib/core/scanner.js +3 -29
- package/bin/lib/core/sync-engine.js +21 -14
- package/bin/lib/core/token-report.js +12 -2
- package/bin/lib/docs/fetch-file.js +39 -0
- package/bin/lib/docs/publish-file.js +194 -0
- package/bin/lib/docs/redis-cache.js +49 -0
- package/bin/lib/docs/validate-frontmatter.js +9 -39
- package/bin/lib/env-loader.js +11 -34
- package/bin/lib/flow-map/parse.js +11 -5
- package/bin/lib/flow-map/render.js +5 -2
- package/bin/lib/flow-map/tree.js +59 -10
- package/bin/lib/tasks/comment.js +40 -35
- package/bin/lib/utils/frontmatter.js +57 -0
- package/bin/lib/utils/git-parser.js +4 -6
- package/bin/lib/utils/npmrc-parser.js +6 -13
- package/bin/lib/utils/paths.js +2 -4
- package/bin/lib/utils/ui.js +3 -9
- package/bin/lib/vcs/api.js +25 -41
- package/bin/lib/vcs/create-issue.js +49 -33
- package/bin/lib/vcs/create-merge.js +47 -31
- package/bin/lib/vcs/fetch-raw.js +35 -23
- package/package.json +14 -5
- package/rules/engineering/eng-rules.md +1 -1
- package/rules/engineering/eng-security-rules.md +18 -16
- package/rules/engineering/eng.bump-rules.md +3 -2
- package/rules/engineering/eng.docs-scraping-rules.md +4 -4
- package/rules/engineering/eng.integrations-rules.md +6 -4
- package/rules/engineering/eng.skills-rules.md +1 -1
- package/rules/engineering/eng.specializations-rules.md +18 -4
- package/rules/engineering/frontend/eng.frontend-rules.md +1 -4
- package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +1 -1
- package/rules/engineering/rpa/eng.rpa-rules.md +4 -9
- package/rules-on-demand/engineering/eng.pre-pr-rules.md +1 -1
- package/rules-on-demand/engineering/eng.start-rules.md +2 -0
- package/skills/AGENTS.md +52 -87
- package/skills/SKILLS-ROADMAP.md +47 -128
- package/skills/eng-ai/SKILL.md +270 -0
- package/skills/eng-ai/references/1-fundamentos-ml.md +24 -0
- package/skills/eng-ai/references/10-arquitetura-solucoes-ia.md +24 -0
- package/skills/eng-ai/references/11-governanca-ia.md +24 -0
- package/skills/eng-ai/references/12-seguranca-ia-responsavel.md +25 -0
- package/skills/eng-ai/references/2-matematica-estatistica.md +24 -0
- package/skills/eng-ai/references/3-dados-para-ia.md +24 -0
- package/skills/eng-ai/references/4-deep-learning-fundacionais.md +24 -0
- package/skills/eng-ai/references/5-llms-chatbots-agentes-rag.md +25 -0
- package/skills/eng-ai/references/6-avaliacao-experimentacao.md +24 -0
- package/skills/eng-ai/references/7-engenharia-sistemas-ia.md +24 -0
- package/skills/eng-ai/references/8-mlops-plataforma.md +24 -0
- package/skills/eng-ai/references/9-produto-ia.md +24 -0
- package/skills/eng-ai/references/especializacoes.md +17 -0
- package/skills/eng-automation/SKILL.md +290 -0
- package/skills/eng-automation/references/1-fundamentos-automacao.md +25 -0
- package/skills/eng-automation/references/10-ingestao-dados.md +25 -0
- package/skills/eng-automation/references/11-captcha-antibot.md +25 -0
- package/skills/eng-automation/references/12-limites-taxa-sessoes.md +25 -0
- package/skills/eng-automation/references/13-agendamento-orquestracao.md +24 -0
- package/skills/eng-automation/references/14-retentativa-erros.md +25 -0
- package/skills/eng-automation/references/15-autenticacao-credenciais.md +24 -0
- package/skills/eng-automation/references/16-observabilidade-confiabilidade.md +24 -0
- package/skills/eng-automation/references/2-aquisicao-dados.md +25 -0
- package/skills/eng-automation/references/3-automacao-navegador.md +24 -0
- package/skills/eng-automation/references/4-scraping-crawling.md +25 -0
- package/skills/eng-automation/references/5-apis-rest-graphql-soap.md +26 -0
- package/skills/eng-automation/references/6-webhooks-integracao.md +25 -0
- package/skills/eng-automation/references/7-rpa.md +25 -0
- package/skills/eng-automation/references/8-extracao-estruturada.md +25 -0
- package/skills/eng-automation/references/9-extracao-documentos.md +25 -0
- package/skills/eng-automation/references/especializacoes.md +18 -0
- package/skills/eng-backend-nestjs/SKILL.md +1 -1
- package/skills/eng-data/SKILL.md +271 -0
- package/skills/eng-data/references/1-fundamentos-dados.md +24 -0
- package/skills/eng-data/references/10-ciencia-dados.md +24 -0
- package/skills/eng-data/references/11-dataops-plataforma.md +24 -0
- package/skills/eng-data/references/12-seguranca-privacidade.md +24 -0
- package/skills/eng-data/references/2-modelagem-dados.md +24 -0
- package/skills/eng-data/references/3-bancos-dados.md +24 -0
- package/skills/eng-data/references/4-arquitetura-dados.md +24 -0
- package/skills/eng-data/references/5-pipelines-integracao.md +24 -0
- package/skills/eng-data/references/6-qualidade-dados.md +24 -0
- package/skills/eng-data/references/7-governanca-metadados.md +24 -0
- package/skills/eng-data/references/8-estatistica-analise.md +24 -0
- package/skills/eng-data/references/9-analytics-bi.md +24 -0
- package/skills/eng-data/references/especializacoes.md +20 -0
- package/skills/eng-frontend/SKILL.md +12 -5
- package/skills/eng-frontend/references/13-design-system.md +48 -0
- package/skills/eng-frontend/references/14-microfrontend.md +46 -0
- package/skills/eng-global-task-comment/SKILL.md +3 -3
- package/skills/eng-platform/SKILL.md +331 -0
- package/skills/eng-platform/references/1-fundamentos-sistemas.md +23 -0
- package/skills/eng-platform/references/10-resiliencia-arquitetura.md +24 -0
- package/skills/eng-platform/references/11-plataforma-devex.md +24 -0
- package/skills/eng-platform/references/12-finops-custos.md +24 -0
- package/skills/eng-platform/references/13-seguranca-fundamentos.md +26 -0
- package/skills/eng-platform/references/14-profiling-performance.md +23 -0
- package/skills/eng-platform/references/15-testes-carga-chaos.md +23 -0
- package/skills/eng-platform/references/16-cache-multicamada.md +22 -0
- package/skills/eng-platform/references/2-redes.md +23 -0
- package/skills/eng-platform/references/3-cloud.md +24 -0
- package/skills/eng-platform/references/4-iac-automacao.md +24 -0
- package/skills/eng-platform/references/5-containers-orquestracao.md +25 -0
- package/skills/eng-platform/references/6-cicd-entrega.md +24 -0
- package/skills/eng-platform/references/7-observabilidade.md +24 -0
- package/skills/eng-platform/references/8-confiabilidade-sre.md +24 -0
- package/skills/eng-platform/references/9-seguranca-infra.md +26 -0
- package/skills/eng-platform/references/especializacoes.md +34 -0
- package/skills/eng-qa/SKILL.md +283 -0
- package/skills/eng-qa/references/1-fundamentos-qualidade.md +25 -0
- package/skills/eng-qa/references/10-confiabilidade.md +25 -0
- package/skills/eng-qa/references/11-seguranca.md +24 -0
- package/skills/eng-qa/references/12-acessibilidade.md +24 -0
- package/skills/eng-qa/references/13-dados-testes.md +24 -0
- package/skills/eng-qa/references/14-gestao-testes-defeitos.md +25 -0
- package/skills/eng-qa/references/15-arquitetura-qa.md +25 -0
- package/skills/eng-qa/references/2-estrategia-planejamento.md +25 -0
- package/skills/eng-qa/references/3-design-testes.md +25 -0
- package/skills/eng-qa/references/4-manual-exploratorio.md +24 -0
- package/skills/eng-qa/references/5-automacao-testes.md +25 -0
- package/skills/eng-qa/references/6-api-integracao.md +25 -0
- package/skills/eng-qa/references/7-contrato.md +24 -0
- package/skills/eng-qa/references/8-interface-compat-mobile.md +24 -0
- package/skills/eng-qa/references/9-performance.md +24 -0
- package/skills/eng-qa/references/especializacoes.md +29 -0
- package/skills/eng-qa-planner/SKILL.md +264 -0
- package/skills/jarvis-context-detect/SKILL.md +1 -1
- package/skills/jarvis-context-detect/assets/context-profile-template.md +1 -1
- package/skills/jarvis-create-specialization/SKILL.md +8 -0
- package/skills/jarvis-docs-central/README.md +31 -28
- package/skills/jarvis-docs-central/SKILL.md +5 -5
- package/skills/jarvis-init/SKILL.md +9 -8
- package/skills/jarvis-init/assets/passo-adicionar-stacks.md +47 -18
- package/skills/jarvis-list-specializations/SKILL.md +30 -17
- package/skills/jarvis-report-issue/SKILL.md +1 -1
- package/taxonomy.md +4 -16
- package/templates/AGENTS.md +2 -0
- package/templates/ENV-template.md +20 -2
- package/templates/engineering/advisor-template.md +65 -0
- package/templates/engineering/architecture-template.md +52 -4
- package/templates/engineering/qa/qa.sprint-plan-template.md +1 -1
- package/workflows/AGENTS.md +3 -1
- package/workflows/README.md +0 -10
- package/workflows/engineering/data/data.new-pipeline.md +6 -5
- package/workflows/engineering/eng.bug-audit.md +4 -14
- package/workflows/engineering/eng.debug.md +4 -20
- package/workflows/engineering/eng.plan.md +4 -26
- package/workflows/engineering/eng.pr.md +13 -63
- package/workflows/engineering/eng.pre-pr.md +14 -51
- package/workflows/engineering/eng.review.md +7 -13
- package/workflows/engineering/eng.rpa.robot.md +3 -9
- package/workflows/engineering/eng.start.md +37 -32
- package/workflows/engineering/eng.work.md +17 -40
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +1 -1
- package/workflows/product/prod.spec.discovery.md +2 -2
- package/workflows/warm-up.md +35 -63
- package/agents/engineering/eng.cybersecurity.agent.md +0 -486
- package/agents/engineering/qa/eng.qa.cypress-specialist.md +0 -112
- package/bin/lib/docs/fetch-file.sh +0 -41
- package/bin/lib/docs/publish-file.sh +0 -284
- package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +0 -137
- package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +0 -181
- package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +0 -120
- package/skills/eng-ai-engineer/SKILL.md +0 -303
- package/skills/eng-data-bi/SKILL.md +0 -206
- package/skills/eng-data-debug/SKILL.md +0 -314
- package/skills/eng-data-engineer/SKILL.md +0 -266
- package/skills/eng-data-onboard/SKILL.md +0 -317
- package/skills/eng-data-orchestrator/SKILL.md +0 -433
- package/skills/eng-devops-performance-engineer/SKILL.md +0 -319
- package/skills/eng-frontend-design-system/SKILL.md +0 -155
- package/skills/eng-frontend-design-system/references/1-estrutura-pacote.md +0 -57
- package/skills/eng-frontend-design-system/references/2-tokens.md +0 -116
- package/skills/eng-frontend-design-system/references/3-componentes.md +0 -165
- package/skills/eng-frontend-design-system/references/4-storybook.md +0 -85
- package/skills/eng-frontend-design-system/references/5-auditoria-versionamento.md +0 -76
- package/skills/eng-frontend-microfrontend/SKILL.md +0 -164
- package/skills/eng-frontend-microfrontend/references/1-criando-remote.md +0 -109
- package/skills/eng-frontend-microfrontend/references/2-configurando-shell.md +0 -70
- package/skills/eng-frontend-microfrontend/references/3-contratos-interface.md +0 -73
- package/skills/eng-frontend-microfrontend/references/4-shared-dependencies.md +0 -48
- package/skills/eng-frontend-microfrontend/references/5-event-bus.md +0 -59
- package/skills/eng-frontend-microfrontend/references/6-monorepo-deploy.md +0 -77
- package/skills/eng-frontend-microfrontend/references/7-troubleshooting.md +0 -45
- package/skills/eng-global-browser-extension-builder/SKILL.md +0 -392
- package/skills/eng-global-jira-comment/SKILL.md +0 -27
- package/skills/eng-qa-a11y-audit/SKILL.md +0 -276
- package/skills/eng-qa-bug-report/SKILL.md +0 -877
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +0 -138
- package/skills/eng-qa-bug-report/references/1-integracao-task-managers.md +0 -148
- package/skills/eng-qa-bug-report/references/2-exemplos-de-uso.md +0 -46
- package/skills/eng-qa-bug-report/references/3-bug-to-test.md +0 -45
- package/skills/eng-qa-cypress-e2e/SKILL.md +0 -184
- package/skills/eng-qa-dev-guide/SKILL.md +0 -173
- package/skills/eng-qa-e2e/SKILL.md +0 -407
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +0 -329
- package/skills/eng-qa-exploratory/SKILL.md +0 -196
- package/skills/eng-qa-gate/SKILL.md +0 -377
- package/skills/eng-qa-gate/assets/checklist-validacao.md +0 -291
- package/skills/eng-qa-graphql-contract/SKILL.md +0 -263
- package/skills/eng-qa-quality-report/SKILL.md +0 -419
- package/skills/eng-qa-test-plan/SKILL.md +0 -473
- package/skills/eng-qa-testsprite/SKILL.md +0 -332
- package/skills/eng-qa-testsprite/references/testsprite-mcp.md +0 -224
- package/skills/eng-qa-unit-test/SKILL.md +0 -478
- package/skills/eng-scraper/SKILL.md +0 -260
- package/skills/eng-scraper/references/1-puppeteer.md +0 -140
- package/skills/eng-scraper/references/2-playwright-cheerio-pdf.md +0 -82
- package/skills/eng-scraper/references/3-anti-bot.md +0 -94
- package/skills/eng-scraper/references/4-resiliencia-etl-monitoramento.md +0 -137
- package/skills/eng-scraper-robot-builder/SKILL.md +0 -377
- package/skills/eng-security-cybersecurity/SKILL.md +0 -250
- package/skills/eng-security-cybersecurity/references/1-owasp-top-10.md +0 -331
- package/skills/eng-security-cybersecurity/references/2-secrets-management.md +0 -31
- package/skills/eng-security-cybersecurity/references/3-input-validation.md +0 -43
- package/skills/eng-security-cybersecurity/references/4-compliance.md +0 -20
- package/skills/eng-security-patch/SKILL.md +0 -388
- package/skills/eng-security-threat-model/SKILL.md +0 -171
- package/skills/eng-security-triage/SKILL.md +0 -276
- package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +0 -311
- package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +0 -249
- package/templates/engineering/qa/qa.cypress-test-template.md +0 -172
- package/templates/engineering/qa/qa.exploratory-session-template.md +0 -148
- package/templates/engineering/qa/qa.quality-report-template.md +0 -130
- package/workflows/engineering/eng.security-audit.md +0 -319
- package/workflows/engineering/eng.security-incident.md +0 -281
- package/workflows/engineering/eng.security-pipeline.md +0 -219
- package/workflows/engineering/eng.security-review.md +0 -241
- package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +0 -57
- package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +0 -57
- package/workflows/engineering/qa/eng.qa-exploratory-session.md +0 -68
- package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +0 -209
- package/workflows/engineering/qa/eng.qa-quality-report.md +0 -85
- /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-coverage-template.md +0 -0
- /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-patterns.md +0 -0
- /package/templates/{CDD aplicado a Prompts.md → cdd-aplicado-a-prompts.md} +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Skill Base Data — Funções × Skills
|
|
2
|
+
|
|
3
|
+
Cada função **parte da mesma base**; o que muda é o peso. Núcleo = domínio esperado; apoio = noção sólida (números = skills do INDEX).
|
|
4
|
+
|
|
5
|
+
| Função | Núcleo (●) | Apoio (○) |
|
|
6
|
+
|--------|-----------|-----------|
|
|
7
|
+
| Data Engineering | 5·Pipelines e Integração de Dados, 2·Modelagem de Dados, 4·Arquitetura de Dados, 3·Bancos de Dados, 11·DataOps e Plataforma de Dados | 1, 6, 12 |
|
|
8
|
+
| Data Analytics | 8·Estatística e Pensamento Analítico, 9·Analytics e Business Intelligence, 2·Modelagem de Dados, 1·Fundamentos de Dados | 3, 6, 10 |
|
|
9
|
+
| Data Science | 10·Ciência de Dados e Modelagem Preditiva, 8·Estatística e Pensamento Analítico, 1·Fundamentos de Dados, 5·Pipelines e Integração de Dados | 2, 6, 9 |
|
|
10
|
+
| Business Intelligence | 9·Analytics e Business Intelligence, 2·Modelagem de Dados, 8·Estatística e Pensamento Analítico, 6·Qualidade de Dados | 1, 4, 7 |
|
|
11
|
+
| Data Architecture | 4·Arquitetura de Dados, 2·Modelagem de Dados, 7·Governança, Metadados e Dados Mestres, 3·Bancos de Dados | 5, 11, 12 |
|
|
12
|
+
| Data Platform | 11·DataOps e Plataforma de Dados, 4·Arquitetura de Dados, 3·Bancos de Dados, 5·Pipelines e Integração de Dados | 6, 7, 12 |
|
|
13
|
+
| Data Governance | 7·Governança, Metadados e Dados Mestres, 12·Segurança e Privacidade de Dados, 6·Qualidade de Dados, 1·Fundamentos de Dados | 2, 4 |
|
|
14
|
+
| Data Quality | 6·Qualidade de Dados, 7·Governança, Metadados e Dados Mestres, 5·Pipelines e Integração de Dados, 1·Fundamentos de Dados | 8, 11 |
|
|
15
|
+
| Database Engineering | 3·Bancos de Dados, 2·Modelagem de Dados, 11·DataOps e Plataforma de Dados, 12·Segurança e Privacidade de Dados | 1, 4, 5 |
|
|
16
|
+
| Data Modeling | 2·Modelagem de Dados, 1·Fundamentos de Dados, 7·Governança, Metadados e Dados Mestres, 3·Bancos de Dados | 4, 9 |
|
|
17
|
+
| Data Management | 7·Governança, Metadados e Dados Mestres, 1·Fundamentos de Dados, 6·Qualidade de Dados, 12·Segurança e Privacidade de Dados, 4·Arquitetura de Dados | 2, 3, 11 |
|
|
18
|
+
| Data Operations | 11·DataOps e Plataforma de Dados, 5·Pipelines e Integração de Dados, 6·Qualidade de Dados, 3·Bancos de Dados | 4, 7, 12 |
|
|
19
|
+
|
|
20
|
+
> Uma função não *limita* o estudo: serve para priorizar a ordem. Lacunas no núcleo são prioridade; lacunas no apoio são aceitáveis.
|
|
@@ -3,10 +3,10 @@ name: eng-frontend
|
|
|
3
3
|
description: >
|
|
4
4
|
Skill base de desenvolvimento frontend para a plataforma web, válida em qualquer framework:
|
|
5
5
|
HTML semântico, CSS e design responsivo, JavaScript e DOM, estado e componentes, UI e UX,
|
|
6
|
-
acessibilidade, performance, APIs do navegador, testes
|
|
7
|
-
Pode ser complementada por skills especializados de uma stack.
|
|
6
|
+
acessibilidade, performance, APIs do navegador, testes, segurança do cliente, design system/tokens
|
|
7
|
+
e arquitetura de micro frontend. Pode ser complementada por skills especializados de uma stack.
|
|
8
8
|
Trigger: Use para componentes, interface, estado, bundle, renderização, Core Web Vitals,
|
|
9
|
-
acessibilidade (WCAG), design system, testes de interface ou frontend em geral.
|
|
9
|
+
acessibilidade (WCAG), design system, micro frontend, testes de interface ou frontend em geral.
|
|
10
10
|
license: AGPL-3.0
|
|
11
11
|
compatibility: Designed for Claude Code (or similar products)
|
|
12
12
|
allowed-tools: Read Write Edit Glob Grep Bash
|
|
@@ -34,7 +34,7 @@ Construir interfaces corretas, performáticas e acessíveis, com foco em qualida
|
|
|
34
34
|
## Recursos
|
|
35
35
|
|
|
36
36
|
- **ENV**: `$IDE/ENV.md` (variáveis e configurações do projeto)
|
|
37
|
-
- **Base universal**: os
|
|
37
|
+
- **Base universal**: os 14 temas em [references/](references/), carregados sob demanda
|
|
38
38
|
- **Saída**: código e testes no repositório atual
|
|
39
39
|
|
|
40
40
|
---
|
|
@@ -59,6 +59,7 @@ Use este skill quando:
|
|
|
59
59
|
- Otimizar o desempenho da interface (carregamento, renderização, Core Web Vitals)
|
|
60
60
|
- Revisar ou implementar acessibilidade (WCAG, ARIA, semântica, teclado)
|
|
61
61
|
- Construir ou evoluir um design system (componentes e tokens)
|
|
62
|
+
- Projetar ou integrar uma arquitetura de micro frontend (shell/remote, contratos, shared deps)
|
|
62
63
|
- Escrever testes de interface e tratar a segurança do lado do cliente
|
|
63
64
|
|
|
64
65
|
**NÃO usar quando:**
|
|
@@ -144,6 +145,8 @@ Usar um recurso nativo do navegador? → tema 9 (APIs do navegador)
|
|
|
144
145
|
Escrever testes? → tema 10 (testes)
|
|
145
146
|
Entrada de dados, cookies ou terceiros? → tema 11 (segurança do cliente)
|
|
146
147
|
Refatorar ou revisar código? → tema 12 (qualidade de código)
|
|
148
|
+
Definir token, variante ou versionar componente público? → tema 13 (design system e tokens)
|
|
149
|
+
Integrar remote/shell ou contrato entre apps? → tema 14 (arquitetura de micro frontend)
|
|
147
150
|
```
|
|
148
151
|
|
|
149
152
|
---
|
|
@@ -182,6 +185,8 @@ Carregue **só o tema necessário** para a tarefa, em vez de todos de uma vez.
|
|
|
182
185
|
| 10 | [Testes](references/10-testes.md) | Fundamental | Definir a estratégia e a qualidade dos testes |
|
|
183
186
|
| 11 | [Segurança do cliente](references/11-seguranca.md) | Fundamental | Evitar XSS, CSRF e tratar armazenamento, CORS e dependências |
|
|
184
187
|
| 12 | [Qualidade de código](references/12-qualidade-codigo.md) | Fundamental | Refatorar, revisar código e documentar |
|
|
188
|
+
| 13 | [Design system e tokens](references/13-design-system.md) | Importante | Criar/versionar componente público, definir token semântico ou auditar consistência visual |
|
|
189
|
+
| 14 | [Arquitetura de micro frontend](references/14-microfrontend.md) | Importante | Criar remote, integrar ao shell, definir contrato de interface ou resolver shared deps |
|
|
185
190
|
|
|
186
191
|
---
|
|
187
192
|
|
|
@@ -194,6 +199,8 @@ Carregue **só o tema necessário** para a tarefa, em vez de todos de uma vez.
|
|
|
194
199
|
- Fazer requisições diretamente em componentes de UI quando o projeto tem uma camada de dados
|
|
195
200
|
- Contornar o sistema de tipos do projeto sem justificativa
|
|
196
201
|
- Esquecer os casos limite (lista vazia, falha de rede)
|
|
202
|
+
- Hardcodar cor, espaçamento ou fonte fora dos tokens do design system
|
|
203
|
+
- Importar diretamente de outro micro frontend (rompe o isolamento) ou compartilhar estado via módulo entre eles
|
|
197
204
|
|
|
198
205
|
### Sempre
|
|
199
206
|
- Considerar mobile-first
|
|
@@ -279,4 +286,4 @@ Não invente convenções nem comandos específicos da tecnologia: siga o códig
|
|
|
279
286
|
|
|
280
287
|
## Recursos Adicionais
|
|
281
288
|
|
|
282
|
-
- **Base universal**: os
|
|
289
|
+
- **Base universal**: os 14 temas em [references/](references/)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# 13. Design System e Tokens
|
|
2
|
+
|
|
3
|
+
**Nível:** IMPORTANTE
|
|
4
|
+
**Independência:** ✅ Válido em qualquer framework ou biblioteca de estilos
|
|
5
|
+
|
|
6
|
+
## Objetivo
|
|
7
|
+
Traduzir decisões de design em código reutilizável — tokens e componentes primitivos — sem lógica de negócio, versionados de forma que consumidores não quebrem sem aviso.
|
|
8
|
+
|
|
9
|
+
## Conhecimentos Principais
|
|
10
|
+
|
|
11
|
+
### O que é (e o que não é) um design system
|
|
12
|
+
- É: componentes primitivos reutilizáveis, tokens de cor/tipografia/espaçamento, padrões de acessibilidade, contrato público de props, documentação viva
|
|
13
|
+
- Não é: lógica de negócio, chamadas de API, estado global da aplicação, componente de feature específica, implementação de tela completa
|
|
14
|
+
|
|
15
|
+
### Hierarquia de tokens
|
|
16
|
+
- Primitivo: o valor bruto (ex: a cor azul #1a73e8, espaçamento base de 4px)
|
|
17
|
+
- Semântico: o nome que traduz intenção (ex: `color.action.primary`, `space.card.padding`) — aponta para um primitivo
|
|
18
|
+
- Aplicações consomem **semânticos**, nunca primitivos diretamente — permite trocar o valor sem tocar quem usa
|
|
19
|
+
- Tokens de tema (claro/escuro, marca) são uma camada de semânticos, não primitivos novos
|
|
20
|
+
|
|
21
|
+
### Componentes primitivos
|
|
22
|
+
- Contrato público de props estável — mudar a assinatura é breaking change
|
|
23
|
+
- Variantes (tamanho, tonalidade, estado) descritas declarativamente, não por composição de classes soltas
|
|
24
|
+
- Acessibilidade (semântica, ARIA, foco, contraste) resolvida uma vez no primitivo, herdada por quem consome
|
|
25
|
+
- `forwardRef`/equivalente para componentes que envolvem um elemento nativo — quem consome pode precisar da referência
|
|
26
|
+
|
|
27
|
+
### Documentação como contrato vivo
|
|
28
|
+
- Cada componente público tem exemplo executável de cada variante e estado (catálogo vivo, não só texto)
|
|
29
|
+
- A documentação é testada: se a variante documentada não compila/renderiza, o catálogo quebra o build
|
|
30
|
+
- Acessibilidade verificada automaticamente no catálogo antes de publicar
|
|
31
|
+
|
|
32
|
+
### Versionamento e breaking changes
|
|
33
|
+
- Semver: patch (correção visual sem mudar contrato), minor (nova variante/prop opcional), major (contrato muda ou quebra)
|
|
34
|
+
- Breaking change vem com aviso de depreciação antes da remoção, não só no changelog
|
|
35
|
+
- Auditoria periódica: tokens hardcoded fora do sistema e componentes fora do catálogo são dívida, não exceção
|
|
36
|
+
|
|
37
|
+
## O que NÃO Inclui
|
|
38
|
+
- Sintaxe de uma ferramenta de variantes específica (ex: CVA, Stitches)
|
|
39
|
+
- Configuração de uma ferramenta de catálogo específica (ex: Storybook, Ladle)
|
|
40
|
+
- Framework de componentização (React, Vue, Web Components) — os princípios valem para qualquer um
|
|
41
|
+
|
|
42
|
+
## Por quê é Universal
|
|
43
|
+
Token semântico, contrato de props estável e versionamento por semver continuam válidos trocando o framework, a biblioteca de estilos ou a ferramenta de catálogo — só a sintaxe muda.
|
|
44
|
+
|
|
45
|
+
## Referências
|
|
46
|
+
- Frost, *Atomic Design*
|
|
47
|
+
- Material Design — Design Tokens
|
|
48
|
+
- W3C Design Tokens Community Group
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# 14. Arquitetura de Micro Frontend
|
|
2
|
+
|
|
3
|
+
**Nível:** IMPORTANTE
|
|
4
|
+
**Independência:** ✅ Válido em qualquer bundler ou mecanismo de composição
|
|
5
|
+
|
|
6
|
+
## Objetivo
|
|
7
|
+
Decompor um frontend grande em partes independentes — que times evoluem e publicam sem coordenação síncrona — sem perder coesão para quem usa o produto.
|
|
8
|
+
|
|
9
|
+
## Conhecimentos Principais
|
|
10
|
+
|
|
11
|
+
### Papéis
|
|
12
|
+
- Shell (host): orquestra a composição; decide quando e onde montar cada parte
|
|
13
|
+
- Remote (micro frontend): feature isolada; expõe uma API pública (componentes, rotas) para o shell consumir
|
|
14
|
+
- Pacote compartilhado (design system, utilitários): consumido por shell e remotes, não é ele mesmo um remote
|
|
15
|
+
|
|
16
|
+
### Contrato entre as partes
|
|
17
|
+
- Contrato de interface explícito e tipado — o que o remote expõe e o que ele espera receber do shell
|
|
18
|
+
- Mudar o contrato sem versionar é breaking change silencioso para quem integra
|
|
19
|
+
- O remote nunca importa diretamente de outro remote — isso rompe o isolamento e recria o monolito
|
|
20
|
+
|
|
21
|
+
### Dependências compartilhadas
|
|
22
|
+
- Bibliotecas que só podem existir em uma instância (ex: a biblioteca de UI, o roteador) são compartilhadas como singleton
|
|
23
|
+
- Carregamento adiantado (eager) de uma dependência compartilhada tende a causar erro de inicialização — carregue sob demanda
|
|
24
|
+
- Conflito de versão entre shell e remote é a causa mais comum de bug "funciona isolado, quebra integrado"
|
|
25
|
+
|
|
26
|
+
### Comunicação entre partes
|
|
27
|
+
- Estado não se compartilha via import direto de módulo — um barramento de eventos ou callbacks via o shell desacoplam quem fala de quem escuta
|
|
28
|
+
- Cada remote deve funcionar sozinho (modo standalone) para desenvolvimento e teste local, sem depender do shell rodando
|
|
29
|
+
|
|
30
|
+
### Isolamento de falha e deploy
|
|
31
|
+
- Um remote que falha ao montar não deve derrubar o shell nem os outros remotes — isolar com um limite de erro no ponto de montagem
|
|
32
|
+
- Deploy de um remote é independente do deploy do shell e dos demais remotes — isso é a razão de existir da arquitetura
|
|
33
|
+
- URL/endereço de cada remote vem de configuração/variável de ambiente, nunca hardcoded
|
|
34
|
+
|
|
35
|
+
## O que NÃO Inclui
|
|
36
|
+
- Configuração de uma implementação de federation específica (ex: Module Federation do Webpack, plugin do Vite)
|
|
37
|
+
- Escolha de bundler
|
|
38
|
+
- Como estruturar o monorepo (ferramenta de workspace, pipeline de CI) — é decisão de projeto
|
|
39
|
+
|
|
40
|
+
## Por quê é Universal
|
|
41
|
+
Shell/remote, contrato de interface, dependência compartilhada como singleton e isolamento de falha continuam válidos trocando o bundler ou o mecanismo de composição — só a configuração muda.
|
|
42
|
+
|
|
43
|
+
## Referências
|
|
44
|
+
- Jackson, *Micro Frontends* (martinfowler.com)
|
|
45
|
+
- Module Federation — conceitos (independente de bundler)
|
|
46
|
+
- Geers, *Micro Frontends in Action*
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: eng-global-task-comment
|
|
3
3
|
description: >
|
|
4
4
|
Adiciona um comentário no card do TASK_MANAGER (Jira, Linear, GitHub Issues ou Asana).
|
|
5
|
-
Trigger: registrar
|
|
5
|
+
Trigger: registrar no card um evento relevante: desvio do plano, auditoria do Advisor, bloqueio ou o link do MR (nunca início ou fim de etapa).
|
|
6
6
|
argument-hint: "{TASK_MANAGER_KEY} {mensagem}"
|
|
7
7
|
disable-model-invocation: false
|
|
8
8
|
allowed-tools: Read Bash MCP
|
|
@@ -47,10 +47,10 @@ set -a
|
|
|
47
47
|
eval "$(grep -E '^(TASK_MANAGER|TASK_MANAGER_URL_BASE|TOKEN_TASK_MANAGER|USER)=' $IDE/ENV.md)"
|
|
48
48
|
set +a
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
jarvis tasks comment "{TASK_MANAGER_KEY}" "{mensagem}"
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
`$JARVIS_ROOT`
|
|
53
|
+
Se o CLI `jarvis` não estiver instalado no projeto, usar `node "$JARVIS_ROOT/bin/jarvis.js" tasks comment "{TASK_MANAGER_KEY}" "{mensagem}"`, onde `$JARVIS_ROOT` é a raiz do clone do framework (ou `$(git rev-parse --show-toplevel)` se o Jarvis estiver no repo).
|
|
54
54
|
|
|
55
55
|
Exit 0 → comentário ok. Exit 2 → avisar e **não bloquear** o workflow.
|
|
56
56
|
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eng-platform
|
|
3
|
+
description: >
|
|
4
|
+
Skill base de platform & infraestrutura, válida em qualquer provedor de nuvem, orquestrador ou
|
|
5
|
+
ferramenta de pipeline: sistemas, redes, cloud, infraestrutura como código, contêineres e
|
|
6
|
+
orquestração, CI/CD, observabilidade, confiabilidade (SRE), segurança de infraestrutura e
|
|
7
|
+
fundamentos de segurança da informação (risco, ameaças, identidade, resposta, GRC, privacidade),
|
|
8
|
+
resiliência, platform-as-product, FinOps, profiling e diagnóstico de performance, testes de
|
|
9
|
+
carga/chaos engineering e cache multi-camada. Pode ser complementada por skills especializados
|
|
10
|
+
de ferramenta ou provedor (ex: Terraform, Kubernetes, AWS, Datadog, k6).
|
|
11
|
+
Trigger: Use para provisionar ou alterar infraestrutura, criar/ajustar pipelines de CI/CD,
|
|
12
|
+
instrumentar observabilidade, planejar confiabilidade ou alta disponibilidade, hardening de
|
|
13
|
+
infraestrutura, modelar ameaças, responder a incidente de segurança, diagnosticar gargalo de
|
|
14
|
+
performance, planejar teste de carga/chaos ou projetar estratégia de cache, ou analisar custo de nuvem.
|
|
15
|
+
license: AGPL-3.0
|
|
16
|
+
compatibility: Designed for Claude Code (or similar products)
|
|
17
|
+
allowed-tools: Read Write Edit Glob Grep Bash
|
|
18
|
+
metadata:
|
|
19
|
+
author: jarvis-team
|
|
20
|
+
version: "1.0"
|
|
21
|
+
area: platform
|
|
22
|
+
# Campos Claude Code-specific (não fazem parte da spec oficial agentskills.io):
|
|
23
|
+
argument-hint: "[iac|cicd|observabilidade|incidente|seguranca-infra|seguranca-info|custo|performance|cache|chaos] [contexto]"
|
|
24
|
+
disable-model-invocation: false
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Eng Platform - Skill Base de Platform & Infraestrutura
|
|
28
|
+
|
|
29
|
+
Você é uma **pessoa especialista em platform engineering/infraestrutura sênior**, com domínio dos princípios que valem em qualquer provedor de nuvem, orquestrador ou ferramenta: sistemas, redes, automação, entrega, observabilidade, confiabilidade e segurança — de infraestrutura e de informação.
|
|
30
|
+
|
|
31
|
+
## Objetivo
|
|
32
|
+
|
|
33
|
+
Construir e operar a base sobre a qual o software roda — confiável, segura, automatizada e com custo sob controle — aplicando a **base universal** de platform/infraestrutura. Este skill não presume um provedor de nuvem, orquestrador ou ferramenta: ele descobre o que o projeto já usa pelo próprio código (IaC, pipelines, manifests) e segue o padrão que encontra.
|
|
34
|
+
|
|
35
|
+
## Entrada
|
|
36
|
+
|
|
37
|
+
- `$ARGUMENTS` - Operação, funcionalidade ou problema a resolver (ex: `provisionar-cluster-k8s`, `criar-pipeline-deploy`, `instrumentar-slo-checkout`, `investigar-incidente-latencia`, `modelar-ameacas-checkout`, `reduzir-custo-storage`)
|
|
38
|
+
|
|
39
|
+
## Recursos
|
|
40
|
+
|
|
41
|
+
- **ENV**: `$IDE/ENV.md` (variáveis de ambiente e configurações do projeto)
|
|
42
|
+
- **Base universal**: os 16 temas em [references/](references/), carregados sob demanda
|
|
43
|
+
- **Funções × skills**: [references/especializacoes.md](references/especializacoes.md) — peso por função (DevOps, SRE, Platform Engineering, Cloud, FinOps, DevSecOps, Security Engineering, IAM, Incident Response, GRC etc.)
|
|
44
|
+
- **Saída**: manifests, pipelines, dashboards e runbooks no repositório atual
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Pré-requisito
|
|
49
|
+
|
|
50
|
+
Verificar se o `ENV.md` existe e se as variáveis necessárias ao projeto estão configuradas:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
cat $IDE/ENV.md
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Quando Usar
|
|
59
|
+
|
|
60
|
+
Use este skill quando:
|
|
61
|
+
- Provisionar, alterar ou revisar infraestrutura como código (Terraform, Pulumi, CloudFormation)
|
|
62
|
+
- Empacotar e orquestrar workloads (contêineres, Kubernetes, scheduling)
|
|
63
|
+
- Criar ou ajustar pipelines de CI/CD e estratégias de deploy
|
|
64
|
+
- Instrumentar observabilidade (métricas, logs, traces, SLI/SLO, alertas)
|
|
65
|
+
- Planejar confiabilidade, incidentes, error budget ou postmortem (SRE)
|
|
66
|
+
- Aplicar segurança de infraestrutura (menor privilégio, segredos, supply chain, hardening)
|
|
67
|
+
- Modelar ameaças, planejar resposta a incidente de segurança, governança/risco/conformidade (GRC) ou privacidade
|
|
68
|
+
- Projetar resiliência, alta disponibilidade ou disaster recovery
|
|
69
|
+
- Reduzir carga cognitiva de times com plataforma como produto (golden paths, self-service)
|
|
70
|
+
- Analisar e otimizar custo de nuvem (FinOps)
|
|
71
|
+
- Diagnosticar gargalo de performance com profiling (CPU, memória, I/O)
|
|
72
|
+
- Planejar teste de carga, teste de estresse ou chaos engineering
|
|
73
|
+
- Projetar estratégia de cache multi-camada (aplicação, distribuído, CDN, browser)
|
|
74
|
+
|
|
75
|
+
**NÃO usar quando:**
|
|
76
|
+
- A tarefa é exclusivamente de lógica de aplicação (backend/frontend) sem tocar infraestrutura
|
|
77
|
+
- A tarefa é segurança de código de aplicação (OWASP, inputs, auth) — isso já é padrão embutido em `eng-backend`/`eng-frontend`
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Validação de Entrada
|
|
82
|
+
|
|
83
|
+
Se `$ARGUMENTS` está vazio, o skill funciona em modo interativo: pergunte à pessoa o contexto da tarefa de platform/infraestrutura antes de prosseguir.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Padrões Críticos
|
|
88
|
+
|
|
89
|
+
### Padrão 1: Ler a infraestrutura antes de escrever
|
|
90
|
+
|
|
91
|
+
Antes de criar ou alterar qualquer coisa, descubra como o projeto já opera:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
1. Qual provedor de nuvem, orquestrador e ferramenta de IaC o projeto já usa?
|
|
95
|
+
2. Como os pipelines de CI/CD já estão estruturados?
|
|
96
|
+
3. Como observabilidade e alertas já são feitos (métricas, logs, traces)?
|
|
97
|
+
4. Existe um padrão de nomenclatura e de tags/labels a seguir?
|
|
98
|
+
5. Qual é o estado desejado versionado (Git) e onde ele vive?
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Siga o padrão existente do projeto, **não** o padrão genérico deste skill. Se não conseguir identificar o provedor ou a ferramenta, pergunte antes de prosseguir.
|
|
102
|
+
|
|
103
|
+
### Padrão 2: Tudo falha — projete para falha
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
1. Todo componente tem um modo de falha conhecido
|
|
107
|
+
2. Meça antes de prometer (SLI real, não suposição)
|
|
108
|
+
3. Defina SLO e error budget antes de prometer confiabilidade
|
|
109
|
+
4. Planeje recuperação (retry, failover, rollback) antes do incidente acontecer
|
|
110
|
+
5. Documente o runbook antes de precisar dele
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Padrão 3: Automatize o repetível, estado em versão
|
|
114
|
+
|
|
115
|
+
- O que é manual é frágil: automatize o que se repete
|
|
116
|
+
- Infraestrutura como código, declarativa e idempotente — não scripts imperativos sem controle de estado
|
|
117
|
+
- Git é a fonte da verdade do estado desejado (GitOps); drift é detectado, não ignorado
|
|
118
|
+
- Mudança de infraestrutura passa por revisão, como mudança de código
|
|
119
|
+
|
|
120
|
+
### Padrão 4: Segurança é gestão de risco, não eliminação de ameaça
|
|
121
|
+
|
|
122
|
+
- Menor privilégio, defesa em profundidade e zero trust desde o desenho, não como camada adicionada depois
|
|
123
|
+
- Assuma violação: detectar e responder pesa tanto quanto prevenir
|
|
124
|
+
- Segredos nunca em texto plano ou hardcoded — sempre em secret manager com rotação
|
|
125
|
+
- Controle sem evidência não passa em auditoria; controle que trava o negócio é contornado
|
|
126
|
+
|
|
127
|
+
### Padrão 5: Custo é requisito, não etapa final
|
|
128
|
+
|
|
129
|
+
- Custo é dimensionado e medido desde o provisionamento, não revisado só na fatura
|
|
130
|
+
- Varreduras de segurança (SAST, dependências, imagens) rodam na pipeline, não manualmente
|
|
131
|
+
|
|
132
|
+
### Padrão 6: Plataforma é produto
|
|
133
|
+
|
|
134
|
+
- Quem usa a plataforma (outros times) é cliente interno — meça a carga cognitiva que a plataforma impõe
|
|
135
|
+
- Prefira golden paths e self-service a processos que dependem de um time central como gargalo
|
|
136
|
+
- Documentação e exemplos fazem parte da entrega, não um anexo opcional
|
|
137
|
+
|
|
138
|
+
### Padrão 7: Meça antes de otimizar performance
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
1. Estabelecer baseline → sem métrica atual, não há "melhor"
|
|
142
|
+
2. Identificar o maior gargalo → profiling e traces, não suposição
|
|
143
|
+
3. Priorizar por impacto no usuário/negócio, não pelo que é mais fácil de otimizar
|
|
144
|
+
4. Implementar com plano de rollback → validar contra o baseline
|
|
145
|
+
5. Monitorar após otimizar → alerta para prevenir regressão
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Base ou especialização?
|
|
151
|
+
|
|
152
|
+
Pergunta-chave para decidir onde um conhecimento mora:
|
|
153
|
+
|
|
154
|
+
> **Isso continua válido se eu trocar de provedor de nuvem, orquestrador ou ferramenta de pipeline?**
|
|
155
|
+
> **Sim** → pertence à base universal (este skill). **Não** → pertence a uma especialização de ferramenta/provedor.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Árvore de Decisão
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
Provisionar ou alterar infraestrutura? → tema 4 (IaC e automação) e tema 3 (cloud)
|
|
163
|
+
Empacotar ou orquestrar workloads? → tema 5 (contêineres e orquestração)
|
|
164
|
+
Criar ou ajustar pipeline de CI/CD? → tema 6 (CI/CD e entrega)
|
|
165
|
+
Instrumentar métricas, logs, traces, alertas? → tema 7 (observabilidade)
|
|
166
|
+
Definir SLO, lidar com incidente ou toil? → tema 8 (confiabilidade e SRE)
|
|
167
|
+
Hardening, segredos ou supply chain? → tema 9 (segurança de infraestrutura)
|
|
168
|
+
Modelar ameaças, GRC, IAM ou privacidade? → tema 13 (fundamentos de segurança da informação)
|
|
169
|
+
Planejar alta disponibilidade ou DR? → tema 10 (resiliência e arquitetura)
|
|
170
|
+
Reduzir carga cognitiva, criar self-service? → tema 11 (plataforma como produto e DevEx)
|
|
171
|
+
Analisar ou reduzir custo de nuvem? → tema 12 (FinOps)
|
|
172
|
+
Entender rede, DNS, TLS ou balanceamento? → tema 2 (redes)
|
|
173
|
+
Entender SO, processos, memória ou I/O? → tema 1 (fundamentos de sistemas)
|
|
174
|
+
Diagnosticar gargalo com profiling? → tema 14 (profiling e diagnóstico de performance)
|
|
175
|
+
Planejar teste de carga ou chaos engineering? → tema 15 (testes de carga e chaos engineering)
|
|
176
|
+
Projetar estratégia de cache? → tema 16 (cache multi-camada)
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Fluxo de Trabalho
|
|
182
|
+
|
|
183
|
+
1. **Entender**: ler a infraestrutura existente (Padrão 1) e esclarecer o requisito, inclusive o que **não** está no escopo
|
|
184
|
+
2. **Projetar**: escolher a abordagem na base universal; decidir estado desejado, segurança e custo antes de provisionar
|
|
185
|
+
3. **Implementar**: seguir o padrão do projeto, em passos pequenos e revisáveis (plan antes de apply)
|
|
186
|
+
4. **Validar**: testar o plano (dry-run/plan), observar o resultado e confirmar que o estado real bate com o desejado
|
|
187
|
+
5. **Documentar**: runbook, dashboard ou doc de operação para quem vai operar depois
|
|
188
|
+
|
|
189
|
+
### Skills invocados durante a execução do skill
|
|
190
|
+
|
|
191
|
+
| Passo | Skill | Condição |
|
|
192
|
+
|-------|-------|----------|
|
|
193
|
+
| — | Nenhuma — skill autocontida | — |
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Base Universal
|
|
198
|
+
|
|
199
|
+
Carregue **só o tema necessário** para a tarefa, em vez de todos de uma vez.
|
|
200
|
+
|
|
201
|
+
| # | Tema | Nível | Carregue quando |
|
|
202
|
+
|---|------|-------|-----------------|
|
|
203
|
+
| 1 | [Fundamentos de sistemas](references/1-fundamentos-sistemas.md) | Fundamental | Precisar entender SO, processos, memória, I/O ou limites de recurso |
|
|
204
|
+
| 2 | [Redes](references/2-redes.md) | Fundamental | Projetar TCP/IP, DNS, TLS, balanceamento ou segmentação |
|
|
205
|
+
| 3 | [Computação em nuvem](references/3-cloud.md) | Fundamental | Decidir modelo de serviço, responsabilidade compartilhada ou domínios de falha |
|
|
206
|
+
| 4 | [Infraestrutura como código e automação](references/4-iac-automacao.md) | Fundamental | Provisionar de forma declarativa, idempotente, com GitOps |
|
|
207
|
+
| 5 | [Contêineres e orquestração](references/5-containers-orquestracao.md) | Fundamental | Empacotar, isolar ou agendar workloads |
|
|
208
|
+
| 6 | [CI/CD e entrega de software](references/6-cicd-entrega.md) | Fundamental | Projetar pipelines, estratégias de deploy ou medir métricas DORA |
|
|
209
|
+
| 7 | [Observabilidade e monitoramento](references/7-observabilidade.md) | Fundamental | Instrumentar métricas, logs, traces, SLI/SLO ou alertas |
|
|
210
|
+
| 8 | [Confiabilidade e gestão de incidentes](references/8-confiabilidade-sre.md) | Fundamental | Definir SLO, error budget, lidar com toil, incidente ou postmortem |
|
|
211
|
+
| 9 | [Segurança de infraestrutura e DevSecOps](references/9-seguranca-infra.md) | Fundamental | Aplicar menor privilégio, zero trust ou proteger a cadeia de suprimentos |
|
|
212
|
+
| 10 | [Resiliência e arquitetura de infraestrutura](references/10-resiliencia-arquitetura.md) | Importante | Planejar HA, DR, RTO/RPO, domínios de falha ou degradação |
|
|
213
|
+
| 11 | [Plataforma como produto e DevEx](references/11-plataforma-devex.md) | Importante | Criar golden paths, self-service ou reduzir carga cognitiva |
|
|
214
|
+
| 12 | [FinOps e gestão de custos](references/12-finops-custos.md) | Importante | Alocar, medir unit economics, rightsizing ou negociar compromissos |
|
|
215
|
+
| 13 | [Fundamentos de segurança da informação](references/13-seguranca-fundamentos.md) | Fundamental | Modelar ameaças, tratar identidade/acesso, responder a incidente ou tratar GRC/privacidade |
|
|
216
|
+
| 14 | [Profiling e diagnóstico de performance](references/14-profiling-performance.md) | Importante | Encontrar gargalo de CPU, memória ou I/O antes de otimizar |
|
|
217
|
+
| 15 | [Testes de carga e chaos engineering](references/15-testes-carga-chaos.md) | Importante | Validar capacidade, ponto de ruptura ou injetar falha deliberada |
|
|
218
|
+
| 16 | [Cache multi-camada](references/16-cache-multicamada.md) | Importante | Decidir onde cachear e como invalidar sem servir dado velho |
|
|
219
|
+
|
|
220
|
+
> **Segurança tem duas entradas**: o tema 9 opera segurança na infraestrutura e na pipeline; o tema 13 é o mapa da disciplina (risco, ameaças, arquitetura, identidade, detecção, resposta, governança e privacidade) e serve a todas as funções de Security. Use os dois juntos quando a tarefa for de Security, não só de infra.
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Funções e Peso por Área
|
|
225
|
+
|
|
226
|
+
Platform/infraestrutura reúne várias funções (DevOps, SRE, Platform Engineering, Cloud, FinOps, DevSecOps, Security Engineering, Security Architecture, IAM, Incident Response, GRC, Privacy Engineering etc.) que partem da mesma base, mas pesam os 16 temas de forma diferente. Ver [references/especializacoes.md](references/especializacoes.md) para o núcleo (●) e o apoio (○) esperado de cada função.
|
|
227
|
+
|
|
228
|
+
> Para Security: este skill dá o panorama (tema 13) e a operação em infraestrutura (tema 9). A profundidade de código seguro de aplicação está na skill base de Backend/Frontend, a de privacidade/segurança de dados na skill base de Data, e a de segurança de IA na skill base de AI — `Application Security` e `Privacy Engineering` combinam essas bases com esta.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Regras
|
|
233
|
+
|
|
234
|
+
### Nunca
|
|
235
|
+
- Aplicar mudança de infraestrutura sem revisar o plano antes (dry-run/plan antes de apply)
|
|
236
|
+
- Armazenar segredos, chaves ou credenciais em texto plano ou commitados no código
|
|
237
|
+
- Expor serviço publicamente sem revisar superfície de ataque e menor privilégio
|
|
238
|
+
- Prometer SLO sem medir o SLI real antes
|
|
239
|
+
- Otimizar performance sem baseline, ou gerar carga/injetar falha em produção sem aprovação e blast radius definido
|
|
240
|
+
- Adicionar camada de cache sem estratégia de invalidação
|
|
241
|
+
- Tratar custo como revisão só na fatura, depois do provisionamento
|
|
242
|
+
- Tratar controle de segurança como eliminação de risco, sem plano de detecção e resposta
|
|
243
|
+
- Documentar decisões específicas de um provedor/ferramenta como se fossem universais
|
|
244
|
+
|
|
245
|
+
### Sempre
|
|
246
|
+
- Versionar o estado desejado da infraestrutura (Git como fonte da verdade)
|
|
247
|
+
- Automatizar o que se repete; tratar drift como algo a detectar, não ignorar
|
|
248
|
+
- Medir antes de prometer confiabilidade ou performance
|
|
249
|
+
- Projetar para falha: ter plano de recuperação antes do incidente
|
|
250
|
+
- Registrar runbook e documentação de operação junto da entrega
|
|
251
|
+
- Ler a infraestrutura e os pipelines existentes antes de criar novas abstrações
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Tratamento de Erros
|
|
256
|
+
|
|
257
|
+
### Provedor ou ferramenta não identificada
|
|
258
|
+
- Procurar arquivos de IaC, manifests de pipeline e configs de observabilidade existentes
|
|
259
|
+
- Se não encontrar, perguntar à pessoa antes de prosseguir
|
|
260
|
+
|
|
261
|
+
### Infraestrutura existente com padrão diferente
|
|
262
|
+
- Seguir o padrão do projeto, não o genérico deste skill
|
|
263
|
+
- Registrar a divergência quando relevante
|
|
264
|
+
|
|
265
|
+
### Mudança não idempotente ou com drift detectado
|
|
266
|
+
- Isolar a causa do drift antes de aplicar uma nova mudança por cima
|
|
267
|
+
- Nunca aplicar `apply`/`force` sobre um estado com drift não entendido
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Checklist de Conclusão
|
|
272
|
+
|
|
273
|
+
- [ ] Plano revisado antes de aplicar (dry-run/plan)
|
|
274
|
+
- [ ] Segredos e credenciais fora do código, com rotação definida
|
|
275
|
+
- [ ] Observabilidade mínima (métrica, log ou trace) cobrindo o que foi criado
|
|
276
|
+
- [ ] SLO/SLI definidos quando a mudança afeta confiabilidade
|
|
277
|
+
- [ ] Custo estimado e dentro do esperado para o provisionamento
|
|
278
|
+
- [ ] Ameaças relevantes consideradas quando a mudança afeta superfície de ataque
|
|
279
|
+
- [ ] Baseline e gargalo medidos antes de qualquer otimização de performance
|
|
280
|
+
- [ ] Runbook ou documentação de operação atualizada
|
|
281
|
+
- [ ] Estado desejado versionado (Git) refletindo a mudança
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Output
|
|
286
|
+
|
|
287
|
+
| Artefato | Descrição |
|
|
288
|
+
|----------|-----------|
|
|
289
|
+
| Manifesto de IaC | Definição declarativa e idempotente da infraestrutura |
|
|
290
|
+
| Pipeline de CI/CD | Build, teste e deploy automatizados com estratégia definida |
|
|
291
|
+
| Dashboard/alerta | Observabilidade do que foi provisionado (SLI/SLO) |
|
|
292
|
+
| Runbook | Documentação de operação, resposta a incidente (técnico ou de segurança) |
|
|
293
|
+
| Relatório de performance | Baseline, gargalo identificado e resultado pós-otimização |
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Mensagem de Conclusão
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
Implementação de platform/infraestrutura concluída!
|
|
301
|
+
|
|
302
|
+
Operação: {descrição do que foi implementado}
|
|
303
|
+
Provedor/ferramenta do projeto: {identificados no código}
|
|
304
|
+
|
|
305
|
+
Segurança: {menor privilégio / segredos / hardening / ameaças consideradas}
|
|
306
|
+
Observabilidade: {métricas, logs ou traces criados / pendentes}
|
|
307
|
+
Custo: {estimado / dentro do esperado}
|
|
308
|
+
|
|
309
|
+
Próximo passo: {aplicar o plano / validar no ambiente / revisar dashboard}
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## Aviso: uso só da skill base
|
|
315
|
+
|
|
316
|
+
Quando o trabalho usar **só a skill base** e envolver um provedor, orquestrador ou ferramenta para a qual **não há skill especializado** disponível, avise a pessoa de forma explícita:
|
|
317
|
+
|
|
318
|
+
```
|
|
319
|
+
ℹ️ Estou usando só a skill base de platform.
|
|
320
|
+
Não há skill especializado para {provedor/ferramenta}; vou seguir os princípios universais
|
|
321
|
+
e o padrão que encontrei no projeto.
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
Não invente convenções nem comandos específicos do provedor ou da ferramenta: siga o código do projeto e a base universal.
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## Recursos Adicionais
|
|
329
|
+
|
|
330
|
+
- **Base universal**: os 16 temas em [references/](references/)
|
|
331
|
+
- **Funções × skills**: [references/especializacoes.md](references/especializacoes.md)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# 1. Fundamentos de Sistemas
|
|
2
|
+
|
|
3
|
+
**Nível:** FUNDAMENTAL · **Agnóstico de tecnologia:** ✅
|
|
4
|
+
|
|
5
|
+
**Objetivo:** Entender como uma máquina executa software para diagnosticar problemas abaixo da aplicação.
|
|
6
|
+
|
|
7
|
+
**Conhecimentos:** processos, threads e escalonamento; memória virtual, paginação e swap; sistemas de arquivos e I/O; usuários, permissões e chamadas de sistema; boot e gerenciamento de serviços; limites de recurso (CPU, memória, descritores); virtualização vs. isolamento; shell e scripting.
|
|
8
|
+
|
|
9
|
+
**Princípios:**
|
|
10
|
+
- Todo recurso é finito: meça utilização, saturação e erros (método USE) antes de ajustar.
|
|
11
|
+
- Abstrações vazam; saiba o que há embaixo da que você usa.
|
|
12
|
+
|
|
13
|
+
**Fora do escopo:** comandos, flags e ajustes de kernel específicos de uma distribuição.
|
|
14
|
+
|
|
15
|
+
**Pergunta-chave:** Um serviço está lento e a CPU está ociosa. Onde você investiga?
|
|
16
|
+
|
|
17
|
+
**Referências:**
|
|
18
|
+
- Arpaci-Dusseau, *Operating Systems: Three Easy Pieces*
|
|
19
|
+
- Gregg, *Systems Performance* (2ª ed., 2020)
|
|
20
|
+
- Tanenbaum & Bos, *Modern Operating Systems*
|
|
21
|
+
- IEEE 1003.1 (POSIX)
|
|
22
|
+
|
|
23
|
+
**Usam mais:** Systems, Infrastructure, SRE, DevOps
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# 10. Resiliência e Arquitetura de Infraestrutura
|
|
2
|
+
|
|
3
|
+
**Nível:** IMPORTANTE · **Agnóstico de tecnologia:** ✅
|
|
4
|
+
|
|
5
|
+
**Objetivo:** Projetar infraestrutura que continua útil quando partes falham.
|
|
6
|
+
|
|
7
|
+
**Conhecimentos:** redundância e domínios de falha; alta disponibilidade vs. recuperação de desastres; RTO e RPO; backup/restore, pilot light, warm standby, active-active; escala vertical e horizontal; timeouts, retries com backoff, circuit breaker, bulkhead; degradação graciosa; backups testados; consistência em sistemas distribuídos (CAP/PACELC); dimensionamento de capacidade.
|
|
8
|
+
|
|
9
|
+
**Princípios:**
|
|
10
|
+
- Backup sem teste de restauração não é backup.
|
|
11
|
+
- Retries sem limite viram a própria falha.
|
|
12
|
+
- Custo de disponibilidade cresce de forma não linear.
|
|
13
|
+
|
|
14
|
+
**Fora do escopo:** topologias proprietárias de um provedor ou produto.
|
|
15
|
+
|
|
16
|
+
**Pergunta-chave:** Qual é o RPO real do seu sistema, e quando você o testou pela última vez?
|
|
17
|
+
|
|
18
|
+
**Referências:**
|
|
19
|
+
- Nygard, *Release It!* (2ª ed.)
|
|
20
|
+
- Kleppmann, *Designing Data-Intensive Applications*
|
|
21
|
+
- Hamilton, *On Designing and Deploying Internet-Scale Services* (LISA 2007)
|
|
22
|
+
- ISO 22301 (continuidade de negócio)
|
|
23
|
+
|
|
24
|
+
**Usam mais:** Architecture, SRE, Infrastructure, Systems
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# 11. Plataforma como Produto e DevEx
|
|
2
|
+
|
|
3
|
+
**Nível:** IMPORTANTE · **Agnóstico de tecnologia:** ✅
|
|
4
|
+
|
|
5
|
+
**Objetivo:** Reduzir a carga cognitiva de quem entrega software, tratando a plataforma como produto.
|
|
6
|
+
|
|
7
|
+
**Conhecimentos:** plataforma com clientes internos; golden paths e caminhos pavimentados; autoatendimento e abstrações no nível certo; carga cognitiva; tipos de times (stream-aligned, platform, enabling, complicated-subsystem); portal e catálogo de serviços; contratos e versionamento da plataforma; métricas de adoção e satisfação; produtividade do desenvolvedor (SPACE, DORA); documentação e onboarding; feedback contínuo.
|
|
8
|
+
|
|
9
|
+
**Princípios:**
|
|
10
|
+
- Adoção voluntária prova valor; obrigatoriedade esconde falhas.
|
|
11
|
+
- Abstraia o que é comum, deixe saída para o que é diferente.
|
|
12
|
+
- Medir DevEx exige percepção e fluxo, não só atividade.
|
|
13
|
+
|
|
14
|
+
**Fora do escopo:** portais, templates e produtos de plataforma específicos.
|
|
15
|
+
|
|
16
|
+
**Pergunta-chave:** Quem são os clientes da sua plataforma e como você sabe se ela os ajuda?
|
|
17
|
+
|
|
18
|
+
**Referências:**
|
|
19
|
+
- Skelton & Pais, *Team Topologies*
|
|
20
|
+
- CNCF, *Platforms White Paper*
|
|
21
|
+
- Forsgren et al., *The SPACE of Developer Productivity* (ACM Queue, 2021)
|
|
22
|
+
- Noda et al., *DevEx: What Actually Drives Productivity* (ACM Queue, 2023)
|
|
23
|
+
|
|
24
|
+
**Usam mais:** Platform, DevEx, Architecture, DevOps
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# 12. FinOps e Gestão de Custos
|
|
2
|
+
|
|
3
|
+
**Nível:** IMPORTANTE · **Agnóstico de tecnologia:** ✅
|
|
4
|
+
|
|
5
|
+
**Objetivo:** Tornar o custo de nuvem visível, atribuível e otimizável por quem decide a arquitetura.
|
|
6
|
+
|
|
7
|
+
**Conhecimentos:** ciclo Informar → Otimizar → Operar; alocação, tags e hierarquia de contas; showback e chargeback; unit economics (custo por cliente ou transação); rightsizing; modelos de compra: sob demanda, compromisso, ociosa/interruptível; custo de transferência de dados e armazenamento; previsão, orçamento e detecção de anomalias; arquitetura orientada a custo; responsabilidade compartilhada entre engenharia e finanças; sustentabilidade e intensidade de carbono.
|
|
8
|
+
|
|
9
|
+
**Princípios:**
|
|
10
|
+
- Custo é métrica de engenharia, não relatório mensal de finanças.
|
|
11
|
+
- Otimizar o que não é medido por unidade de valor é adivinhação.
|
|
12
|
+
- O mais barato nem sempre é o mais eficiente.
|
|
13
|
+
|
|
14
|
+
**Fora do escopo:** tabelas de preço e ferramentas de custo de um provedor.
|
|
15
|
+
|
|
16
|
+
**Pergunta-chave:** Quanto custa atender uma requisição ou um cliente, e esse valor está subindo?
|
|
17
|
+
|
|
18
|
+
**Referências:**
|
|
19
|
+
- FinOps Foundation, *FinOps Framework*
|
|
20
|
+
- Storment & Fuller, *Cloud FinOps* (2ª ed.)
|
|
21
|
+
- Pilar de otimização de custos dos frameworks Well-Architected
|
|
22
|
+
- Green Software Foundation, SCI (ISO/IEC 21031:2024)
|
|
23
|
+
|
|
24
|
+
**Usam mais:** FinOps, Cloud, Platform, Architecture
|