jarvis-ai-framework 2.1.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +22 -122
- package/agents/AGENTS.md +20 -24
- package/agents/README.md +25 -129
- package/agents/engineering/data/eng.data-engineer.agent.md +12 -35
- package/agents/engineering/eng.agent.md +18 -30
- package/agents/engineering/eng.bug-hunter.md +9 -12
- package/agents/engineering/eng.dev-code-reviewer.md +5 -1
- package/agents/engineering/eng.docs-writer.md +3 -3
- package/agents/engineering/eng.frontend.agent.md +13 -8
- package/agents/engineering/eng.rpa.agent.md +5 -13
- package/agents/engineering/eng.ux-designer.agent.md +4 -0
- package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +4 -0
- package/agents/engineering/qa/eng.qa.quality-strategist.md +13 -8
- package/agents/engineering/qa/eng.qa.test-architect.md +16 -15
- package/agents/engineering/qa/eng.qa.test-planner.md +22 -17
- package/agents/engineering/qa/eng.qa.testing-engineer.md +99 -15
- package/agents/product/prod.discovery-interviewer.md +22 -3
- package/agents/product/prod.pm-checker.md +4 -0
- 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 +58 -0
- package/bin/commands/qa-signoff.js +58 -55
- package/bin/commands/tokens.js +90 -0
- package/bin/commands/whoami.js +30 -26
- package/bin/jarvis.js +9 -153
- 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 +70 -2
- package/bin/lib/config/ide-config.js +4 -8
- package/bin/lib/core/profile-filter.js +116 -0
- package/bin/lib/core/scanner.js +5 -31
- package/bin/lib/core/sync-engine.js +21 -14
- package/bin/lib/core/token-report.js +100 -0
- 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/index.js +65 -0
- package/bin/lib/flow-map/parse.js +223 -0
- package/bin/lib/flow-map/render.js +89 -0
- package/bin/lib/flow-map/tree.js +248 -0
- 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/members.md +1 -1
- package/package.json +15 -4
- package/rules/AGENTS.md +18 -7
- package/rules/engineering/eng-rules.md +3 -13
- package/rules/engineering/eng-security-rules.md +19 -18
- 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 +3 -7
- package/rules/engineering/eng.skills-rules.md +1 -5
- package/rules/engineering/eng.specializations-rules.md +18 -8
- 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/product/README.md +1 -0
- package/rules/product/prod-rules.md +1 -4
- package/rules/product/prod.spec-rules.md +0 -4
- package/rules/rtk-rules.md +0 -1
- package/{rules → rules-on-demand}/engineering/eng.breakdown-subtasks-rules.md +0 -4
- package/{rules → rules-on-demand}/engineering/eng.plan-rules.md +0 -4
- package/{rules → rules-on-demand}/engineering/eng.pr-rules.md +0 -4
- package/{rules → rules-on-demand}/engineering/eng.pre-pr-rules.md +0 -4
- package/{rules → rules-on-demand}/engineering/eng.start-rules.md +0 -4
- package/{rules → rules-on-demand}/engineering/eng.tech-spec-rules.md +1 -2
- package/{rules → rules-on-demand}/engineering/eng.work-rules.md +0 -4
- package/skills/AGENTS.md +69 -106
- package/skills/SKILLS-ROADMAP.md +47 -132
- 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/SKILL.md +6 -0
- package/skills/eng-backend-arch-c4/SKILL.md +10 -4
- package/skills/eng-backend-microservices-trace/SKILL.md +6 -0
- package/skills/eng-backend-nestjs/SKILL.md +17 -462
- package/skills/eng-backend-nestjs/references/1-arquitetura-modulos.md +54 -0
- package/skills/eng-backend-nestjs/references/2-guards-autenticacao.md +118 -0
- package/skills/eng-backend-nestjs/references/3-interceptors-pipes-filters.md +113 -0
- package/skills/eng-backend-nestjs/references/4-config-logging.md +61 -0
- package/skills/eng-backend-nestjs/references/5-testes.md +83 -0
- package/skills/eng-backend-nestjs/references/6-problemas-comuns.md +53 -0
- package/skills/eng-backend-rabbitmq/SKILL.md +15 -298
- package/skills/eng-backend-rabbitmq/references/1-referencia-endpoints.md +28 -0
- package/skills/eng-backend-rabbitmq/references/2-codigo-consumer-producer.md +90 -0
- package/skills/eng-backend-rabbitmq/references/3-arquiteturas-comuns.md +101 -0
- package/skills/eng-backend-rabbitmq/references/4-troubleshooting.md +93 -0
- 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 +18 -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-docs-write/SKILL.md +10 -5
- package/skills/eng-global-pr/SKILL.md +7 -1
- package/skills/eng-global-task-comment/SKILL.md +8 -2
- 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 +7 -1
- package/skills/jarvis-context-detect/assets/context-profile-template.md +1 -1
- package/skills/jarvis-create-specialization/SKILL.md +14 -0
- package/skills/jarvis-docs-central/README.md +31 -28
- package/skills/jarvis-docs-central/SKILL.md +11 -5
- package/skills/jarvis-docs-index/SKILL.md +10 -2
- package/skills/jarvis-evolution-architect/SKILL.md +6 -0
- package/skills/jarvis-init/SKILL.md +22 -15
- package/skills/jarvis-init/assets/passo-adicionar-stacks.md +47 -18
- package/skills/jarvis-list-specializations/SKILL.md +36 -17
- package/skills/jarvis-report-issue/SKILL.md +7 -1
- package/skills/product-roadmap-report/SKILL.md +8 -0
- package/skills/product-specs/SKILL.md +9 -0
- package/skills/product-specs-update/SKILL.md +6 -0
- package/taxonomy.md +16 -28
- package/templates/AGENTS.md +2 -0
- package/templates/ENV-template.md +10 -2
- package/templates/engineering/qa/qa.sprint-plan-template.md +1 -1
- package/templates/engineering/tech-spec-delivery-template.md +179 -0
- package/workflows/AGENTS.md +14 -2
- package/workflows/README.md +8 -16
- package/workflows/all-tools.md +7 -1
- package/workflows/engineering/data/data.contract.md +8 -0
- package/workflows/engineering/data/data.new-pipeline.md +15 -4
- package/workflows/engineering/eng.breakdown-subtasks.md +9 -0
- package/workflows/engineering/eng.bug-audit.md +10 -13
- package/workflows/engineering/eng.build-tech-spec.md +17 -146
- package/workflows/engineering/eng.create-ard-from-code.md +8 -0
- package/workflows/engineering/eng.create-ard.md +8 -0
- package/workflows/engineering/eng.create-rfc.md +7 -0
- package/workflows/engineering/eng.debug.md +5 -21
- package/workflows/engineering/eng.docs.md +9 -0
- package/workflows/engineering/eng.light-arch.md +7 -0
- package/workflows/engineering/eng.plan.md +15 -2
- package/workflows/engineering/eng.pr.md +24 -30
- package/workflows/engineering/eng.pre-pr.md +33 -15
- package/workflows/engineering/eng.review.md +18 -11
- package/workflows/engineering/eng.rpa.robot.md +17 -7
- package/workflows/engineering/eng.start.md +33 -12
- package/workflows/engineering/eng.work.md +25 -17
- package/workflows/engineering/frontend/eng.frontend-component.md +7 -0
- package/workflows/engineering/frontend/eng.frontend-perf-audit.md +8 -0
- package/workflows/engineering/frontend/eng.frontend-review.md +8 -0
- package/workflows/engineering/qa/eng.qa-refinement-entry.md +7 -0
- package/workflows/engineering/qa/eng.qa-release-signoff.md +6 -0
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +7 -1
- package/workflows/product/prod.roadmap.preview.md +9 -0
- package/workflows/product/prod.spec.ard.md +97 -0
- package/workflows/product/prod.spec.breakdown.md +10 -0
- package/workflows/product/prod.spec.clarify.md +8 -2
- package/workflows/product/prod.spec.discovery.md +11 -1
- package/workflows/product/prod.spec.epic.md +8 -0
- package/workflows/product/prod.spec.frd.md +7 -0
- package/workflows/product/prod.spec.issue.md +6 -0
- package/workflows/product/prod.spec.md +15 -1
- package/workflows/product/prod.spec.prd.md +7 -0
- package/workflows/taxonomy.md +58 -6
- package/workflows/warm-up.md +47 -60
- package/agents/engineering/eng.cybersecurity.agent.md +0 -488
- package/agents/engineering/qa/eng.qa.cypress-specialist.md +0 -109
- package/bin/lib/docs/fetch-file.sh +0 -41
- package/bin/lib/docs/publish-file.sh +0 -284
- package/rules/engineering/eng.downstream-flow-rules.md +0 -297
- 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 -297
- package/skills/eng-data-bi/SKILL.md +0 -200
- package/skills/eng-data-debug/SKILL.md +0 -308
- package/skills/eng-data-engineer/SKILL.md +0 -257
- package/skills/eng-data-onboard/SKILL.md +0 -311
- package/skills/eng-data-orchestrator/SKILL.md +0 -427
- package/skills/eng-devops-performance-engineer/SKILL.md +0 -313
- package/skills/eng-frontend-design-system/SKILL.md +0 -621
- package/skills/eng-frontend-microfrontend/SKILL.md +0 -604
- package/skills/eng-global-browser-extension-builder/SKILL.md +0 -386
- package/skills/eng-global-jira-comment/SKILL.md +0 -21
- package/skills/eng-qa-a11y-audit/SKILL.md +0 -270
- package/skills/eng-qa-bug-report/SKILL.md +0 -1089
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +0 -138
- package/skills/eng-qa-cypress-e2e/SKILL.md +0 -178
- package/skills/eng-qa-dev-guide/SKILL.md +0 -165
- package/skills/eng-qa-e2e/SKILL.md +0 -401
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +0 -323
- package/skills/eng-qa-exploratory/SKILL.md +0 -189
- package/skills/eng-qa-gate/SKILL.md +0 -371
- package/skills/eng-qa-gate/assets/checklist-validacao.md +0 -291
- package/skills/eng-qa-graphql-contract/SKILL.md +0 -257
- package/skills/eng-qa-quality-report/SKILL.md +0 -413
- package/skills/eng-qa-test-plan/SKILL.md +0 -467
- package/skills/eng-qa-testsprite/SKILL.md +0 -326
- package/skills/eng-qa-testsprite/references/testsprite-mcp.md +0 -224
- package/skills/eng-qa-unit-test/SKILL.md +0 -472
- package/skills/eng-scraper/SKILL.md +0 -684
- package/skills/eng-scraper-robot-builder/SKILL.md +0 -371
- package/skills/eng-security-cybersecurity/SKILL.md +0 -646
- package/skills/eng-security-patch/SKILL.md +0 -382
- package/skills/eng-security-threat-model/SKILL.md +0 -165
- package/skills/eng-security-triage/SKILL.md +0 -270
- 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 -312
- package/workflows/engineering/eng.security-incident.md +0 -275
- package/workflows/engineering/eng.security-pipeline.md +0 -210
- package/workflows/engineering/eng.security-review.md +0 -235
- package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +0 -51
- package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +0 -51
- package/workflows/engineering/qa/eng.qa-exploratory-session.md +0 -60
- package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +0 -202
- package/workflows/engineering/qa/eng.qa-quality-report.md +0 -78
- /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
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
> **Applies to:** HUB: QA | POSITION: QA-ENGINEER, SPECIALIST | AREA: ENGINEERING | SQUAD: all
|
|
2
|
-
|
|
3
|
-
# Critérios de Validação de Tech Spec
|
|
4
|
-
|
|
5
|
-
Critérios objetivos para validação de especificações técnicas, organizados por tipo de card.
|
|
6
|
-
|
|
7
|
-
## Para TASKS Normais
|
|
8
|
-
|
|
9
|
-
### ✅ Obrigatório (Bloqueante)
|
|
10
|
-
|
|
11
|
-
#### 1. Descrição Clara e Objetiva
|
|
12
|
-
- Contexto do problema/necessidade
|
|
13
|
-
- Objetivo da tarefa bem definido
|
|
14
|
-
- Escopo delimitado
|
|
15
|
-
|
|
16
|
-
#### 2. Critérios de Aceitação
|
|
17
|
-
- Pelo menos 3 critérios bem definidos
|
|
18
|
-
- Critérios específicos e mensuráveis
|
|
19
|
-
- Formato: "O sistema deve..." ou "Quando... então..."
|
|
20
|
-
|
|
21
|
-
#### 3. Cenários de Teste
|
|
22
|
-
- Pelo menos 2 cenários identificados
|
|
23
|
-
- Casos de sucesso definidos
|
|
24
|
-
- Casos de erro/exceção identificados
|
|
25
|
-
|
|
26
|
-
#### 4. Análise Técnica
|
|
27
|
-
- Abordagem técnica documentada
|
|
28
|
-
- Tecnologias/bibliotecas a serem utilizadas
|
|
29
|
-
- Impactos em outras partes do sistema identificados
|
|
30
|
-
|
|
31
|
-
#### 5. Dependências
|
|
32
|
-
- Dependências técnicas mapeadas
|
|
33
|
-
- Dependências de outros cards identificadas (se houver)
|
|
34
|
-
|
|
35
|
-
### ⚡ Desejável (Não Bloqueante)
|
|
36
|
-
|
|
37
|
-
- Estimativa de complexidade (P, M, G)
|
|
38
|
-
- Riscos identificados
|
|
39
|
-
- Alternativas de implementação consideradas
|
|
40
|
-
- Diagrama ou fluxo (quando aplicável)
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Para SPIKE (Discovery)
|
|
45
|
-
|
|
46
|
-
### ✅ Obrigatório (Bloqueante)
|
|
47
|
-
|
|
48
|
-
#### 1. Objetivo do Spike
|
|
49
|
-
- O que precisa ser investigado/descoberto
|
|
50
|
-
- Perguntas que precisam ser respondidas
|
|
51
|
-
- Escopo bem definido
|
|
52
|
-
|
|
53
|
-
#### 2. Referência de Discovery
|
|
54
|
-
- **CRÍTICO**: Local onde será realizado o discovery
|
|
55
|
-
- Links para documentação oficial
|
|
56
|
-
- APIs, SDKs ou ferramentas a serem investigadas
|
|
57
|
-
- Exemplo: "Banco Rendimento - https://desenvolvedores.rendimento.com.br/api-portal/"
|
|
58
|
-
|
|
59
|
-
#### 3. Critérios de Conclusão
|
|
60
|
-
- O que define o spike como concluído
|
|
61
|
-
- Entregáveis esperados (POC, documento, análise comparativa, etc.)
|
|
62
|
-
- Tempo máximo estimado
|
|
63
|
-
|
|
64
|
-
#### 4. Contexto e Justificativa
|
|
65
|
-
- Por que este spike é necessário
|
|
66
|
-
- Qual decisão depende deste discovery
|
|
67
|
-
|
|
68
|
-
### ⚡ Desejável (Não Bloqueante)
|
|
69
|
-
|
|
70
|
-
- Alternativas a serem comparadas
|
|
71
|
-
- Critérios de avaliação
|
|
72
|
-
- Impacto da decisão no projeto
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## Para BUG
|
|
77
|
-
|
|
78
|
-
### ✅ Obrigatório (Bloqueante)
|
|
79
|
-
|
|
80
|
-
#### 1. Descrição do Bug
|
|
81
|
-
- Comportamento esperado
|
|
82
|
-
- Comportamento atual (incorreto)
|
|
83
|
-
- Impacto do bug
|
|
84
|
-
|
|
85
|
-
#### 2. Passos para Reproduzir
|
|
86
|
-
- Lista numerada e clara
|
|
87
|
-
- Dados de teste necessários
|
|
88
|
-
- Ambiente onde ocorre
|
|
89
|
-
|
|
90
|
-
#### 3. Análise Técnica
|
|
91
|
-
- Causa raiz identificada (ou hipótese)
|
|
92
|
-
- Arquivos/componentes afetados
|
|
93
|
-
- Solução proposta
|
|
94
|
-
|
|
95
|
-
#### 4. Severidade e Prioridade
|
|
96
|
-
- Classificação de severidade
|
|
97
|
-
- Justificativa da prioridade
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## Checklist Rápido por Tipo
|
|
102
|
-
|
|
103
|
-
### Task
|
|
104
|
-
- [ ] Descrição com contexto, objetivo e escopo
|
|
105
|
-
- [ ] Mínimo 3 critérios de aceitação mensuráveis
|
|
106
|
-
- [ ] Mínimo 2 cenários de teste (sucesso + erro)
|
|
107
|
-
- [ ] Análise técnica com stack e impactos
|
|
108
|
-
- [ ] Dependências mapeadas
|
|
109
|
-
|
|
110
|
-
### Spike
|
|
111
|
-
- [ ] Objetivo e perguntas definidas
|
|
112
|
-
- [ ] **Referências de discovery** (docs, APIs, SDKs)
|
|
113
|
-
- [ ] Critérios de conclusão e entregáveis
|
|
114
|
-
- [ ] Contexto e justificativa do spike
|
|
115
|
-
|
|
116
|
-
### Bug
|
|
117
|
-
- [ ] Comportamento esperado vs atual
|
|
118
|
-
- [ ] Passos para reproduzir numerados
|
|
119
|
-
- [ ] Causa raiz e arquivos afetados
|
|
120
|
-
- [ ] Severidade e prioridade justificadas
|
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: eng-ai-engineer
|
|
3
|
-
description: >
|
|
4
|
-
Engenheiro de IA especialista em aplicações LLM em produção, sistemas RAG avançados e agentes inteligentes.
|
|
5
|
-
Domina busca vetorial, IA multimodal, orquestração de agentes e integrações enterprise com IA.
|
|
6
|
-
Trigger: Use para features LLM, chatbots, agentes de IA, RAG, embeddings ou aplicações com IA.
|
|
7
|
-
argument-hint: "[contexto-ou-objetivo]"
|
|
8
|
-
disable-model-invocation: false
|
|
9
|
-
allowed-tools: Read Edit Write Glob Grep Bash WebFetch WebSearch Task
|
|
10
|
-
license: AGPL-3.0
|
|
11
|
-
metadata:
|
|
12
|
-
author: jarvis-team
|
|
13
|
-
version: "1.0"
|
|
14
|
-
area: ai
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# AI Engineer - Engenheiro de IA
|
|
18
|
-
|
|
19
|
-
Você é um **Engenheiro de IA especialista em desenvolvimento de aplicações LLM em produção, sistemas RAG e arquiteturas de agentes inteligentes**.
|
|
20
|
-
|
|
21
|
-
Domina tanto padrões clássicos quanto os mais avançados de IA generativa, com conhecimento profundo do stack moderno de IA: bancos de dados vetoriais, modelos de embedding, frameworks de agentes e sistemas multimodais.
|
|
22
|
-
|
|
23
|
-
## Objetivo
|
|
24
|
-
|
|
25
|
-
Construir aplicações de IA prontas para produção, confiáveis, escaláveis e com controles de custo e segurança, desde sistemas RAG até agentes autônomos complexos.
|
|
26
|
-
|
|
27
|
-
## Entrada
|
|
28
|
-
|
|
29
|
-
- `$ARGUMENTS` - Contexto da aplicação ou objetivo de IA a ser construído
|
|
30
|
-
|
|
31
|
-
## Quando Usar
|
|
32
|
-
|
|
33
|
-
Use este skill quando:
|
|
34
|
-
- Construir ou melhorar features LLM, sistemas RAG ou agentes de IA
|
|
35
|
-
- Projetar arquiteturas de IA em produção e integração de modelos
|
|
36
|
-
- Otimizar busca vetorial, embeddings ou pipelines de retrieval
|
|
37
|
-
- Implementar segurança de IA, monitoramento ou controles de custo
|
|
38
|
-
- Integrar modelos com sistemas enterprise (Slack, Teams, Salesforce, etc.)
|
|
39
|
-
|
|
40
|
-
**NÃO usar quando:**
|
|
41
|
-
- A tarefa é data science puro ou ML tradicional sem LLMs
|
|
42
|
-
- Apenas uma mudança de UI não relacionada a features de IA
|
|
43
|
-
- Não há acesso a fontes de dados ou alvos de deploy
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Padrões Críticos
|
|
48
|
-
|
|
49
|
-
### Padrão 1: Produção desde o Início
|
|
50
|
-
|
|
51
|
-
Nunca construir prova de conceito sem pensar em produção. Sempre considerar:
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
1. Escalabilidade → design para carga real
|
|
55
|
-
2. Observabilidade → logs, métricas e traces desde o dia 1
|
|
56
|
-
3. Controles de custo → caching, seleção de modelo, rate limiting
|
|
57
|
-
4. Segurança → guardrails, PII, prompt injection
|
|
58
|
-
5. Fallbacks → degradação graciosa e circuit breakers
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Padrão 2: Segurança em Sistemas de IA
|
|
62
|
-
|
|
63
|
-
- Nunca enviar dados sensíveis a modelos externos sem aprovação
|
|
64
|
-
- Adicionar guardrails para prompt injection, PII e conformidade com políticas
|
|
65
|
-
- Implementar moderação de conteúdo em sistemas voltados ao usuário
|
|
66
|
-
- Versionar prompts e rastrear mudanças de comportamento
|
|
67
|
-
|
|
68
|
-
### Padrão 3: Custo e Latência
|
|
69
|
-
|
|
70
|
-
Sempre avaliar tradeoffs antes de escolher modelo:
|
|
71
|
-
|
|
72
|
-
| Critério | Modelo menor | Modelo maior |
|
|
73
|
-
|----------|-------------|-------------|
|
|
74
|
-
| Custo | Menor | Maior |
|
|
75
|
-
| Latência | Menor | Maior |
|
|
76
|
-
| Qualidade | Adequada para tarefas simples | Necessária para raciocínio complexo |
|
|
77
|
-
| Uso ideal | Classificação, extração, geração simples | RAG complexo, agentes, análise |
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## Capacidades
|
|
82
|
-
|
|
83
|
-
### Integração de LLMs e Gestão de Modelos
|
|
84
|
-
|
|
85
|
-
- **OpenAI**: GPT-4o/4o-mini, o1-preview, o1-mini com function calling e structured outputs
|
|
86
|
-
- **Anthropic**: Claude Sonnet 4.5/Haiku 4.5, Claude Opus 4.6 com tool use e computer use
|
|
87
|
-
- **Open-source**: Llama 3.1/3.2, Mixtral 8x7B/8x22B, Qwen 2.5, DeepSeek-V2
|
|
88
|
-
- **Deploy local**: Ollama, vLLM, TGI (Text Generation Inference)
|
|
89
|
-
- **Model serving**: TorchServe, MLflow, BentoML para produção
|
|
90
|
-
- **Orquestração multi-modelo** e estratégias de roteamento
|
|
91
|
-
- **Otimização de custo** via seleção de modelo e estratégias de cache
|
|
92
|
-
|
|
93
|
-
### Sistemas RAG Avançados
|
|
94
|
-
|
|
95
|
-
- Arquiteturas RAG em produção com pipelines de retrieval multi-estágio
|
|
96
|
-
- **Bancos vetoriais**: Pinecone, Qdrant, Weaviate, Chroma, Milvus, pgvector
|
|
97
|
-
- **Modelos de embedding**: OpenAI text-embedding-3-large/small, Cohere embed-v3, BGE-large
|
|
98
|
-
- **Estratégias de chunking**: semântico, recursivo, sliding window, estrutura de documento
|
|
99
|
-
- **Busca híbrida**: similaridade vetorial + busca por keyword (BM25)
|
|
100
|
-
- **Reranking**: Cohere rerank-3, BGE reranker, modelos cross-encoder
|
|
101
|
-
- **Query understanding**: expansão, decomposição e roteamento de queries
|
|
102
|
-
- **Compressão de contexto** e filtragem de relevância para otimização de tokens
|
|
103
|
-
- **Padrões avançados de RAG**: GraphRAG, HyDE, RAG-Fusion, self-RAG
|
|
104
|
-
|
|
105
|
-
### Frameworks de Agentes e Orquestração
|
|
106
|
-
|
|
107
|
-
- **LangChain/LangGraph**: workflows complexos de agentes e gestão de estado
|
|
108
|
-
- **LlamaIndex**: aplicações de IA centradas em dados e retrieval avançado
|
|
109
|
-
- **CrewAI**: colaboração multi-agente e papéis especializados
|
|
110
|
-
- **AutoGen**: sistemas multi-agente conversacionais
|
|
111
|
-
- **OpenAI Assistants API**: function calling e file search
|
|
112
|
-
- **Sistemas de memória de agentes**: curto prazo, longo prazo e memória episódica
|
|
113
|
-
- **Integração de ferramentas**: busca web, execução de código, chamadas de API, queries de banco
|
|
114
|
-
- **Avaliação e monitoramento de agentes** com métricas customizadas
|
|
115
|
-
|
|
116
|
-
### Busca Vetorial e Embeddings
|
|
117
|
-
|
|
118
|
-
- Seleção e fine-tuning de modelos de embedding para tarefas específicas de domínio
|
|
119
|
-
- **Estratégias de indexação vetorial**: HNSW, IVF, LSH para diferentes escalas
|
|
120
|
-
- **Métricas de similaridade**: cosseno, produto escalar, Euclidiana
|
|
121
|
-
- Representações multi-vetor para estruturas complexas de documentos
|
|
122
|
-
- Detecção de drift de embeddings e versionamento de modelos
|
|
123
|
-
- Otimização de bancos vetoriais: indexação, sharding e estratégias de cache
|
|
124
|
-
|
|
125
|
-
### Engenharia e Otimização de Prompts
|
|
126
|
-
|
|
127
|
-
- **Técnicas avançadas**: chain-of-thought, tree-of-thoughts, self-consistency
|
|
128
|
-
- Otimização de few-shot e in-context learning
|
|
129
|
-
- Templates de prompt com injeção dinâmica de variáveis e condicionamento
|
|
130
|
-
- Padrões de Constitutional AI e self-critique
|
|
131
|
-
- **Versionamento de prompts**, A/B testing e rastreamento de performance
|
|
132
|
-
- **Prompting de segurança**: detecção de jailbreak, filtragem de conteúdo, mitigação de viés
|
|
133
|
-
- Prompting multimodal para modelos de visão e áudio
|
|
134
|
-
|
|
135
|
-
### Sistemas de IA em Produção
|
|
136
|
-
|
|
137
|
-
- Serving de LLMs com FastAPI, processamento assíncrono e load balancing
|
|
138
|
-
- **Respostas em streaming** e otimização de inferência em tempo real
|
|
139
|
-
- **Estratégias de cache**: cache semântico, memoização de respostas, cache de embeddings
|
|
140
|
-
- Rate limiting, gestão de cotas e controles de custo
|
|
141
|
-
- Tratamento de erros, fallbacks e circuit breakers
|
|
142
|
-
- **Frameworks de A/B testing** para comparação de modelos e rollouts graduais
|
|
143
|
-
- **Observabilidade**: logs, métricas e traces com LangSmith, Phoenix, Weights & Biases
|
|
144
|
-
|
|
145
|
-
### Integração de IA Multimodal
|
|
146
|
-
|
|
147
|
-
- **Modelos de visão**: GPT-4V, Claude Vision, LLaVA, CLIP para entendimento de imagens
|
|
148
|
-
- **Processamento de áudio**: Whisper para speech-to-text, ElevenLabs para text-to-speech
|
|
149
|
-
- **Document AI**: OCR, extração de tabelas, entendimento de layout com LayoutLM
|
|
150
|
-
- Análise e processamento de vídeo para aplicações multimídia
|
|
151
|
-
- Embeddings cross-modal e espaços vetoriais unificados
|
|
152
|
-
|
|
153
|
-
### Segurança e Governança de IA
|
|
154
|
-
|
|
155
|
-
- Moderação de conteúdo com OpenAI Moderation API e classificadores customizados
|
|
156
|
-
- Detecção e prevenção de prompt injection
|
|
157
|
-
- Detecção e redação de PII em workflows de IA
|
|
158
|
-
- Detecção e mitigação de viés em modelos
|
|
159
|
-
- Auditoria de sistemas de IA e relatórios de conformidade
|
|
160
|
-
- Práticas de IA responsável e considerações éticas
|
|
161
|
-
|
|
162
|
-
### Processamento de Dados e Gestão de Pipelines
|
|
163
|
-
|
|
164
|
-
- **Processamento de documentos**: extração de PDF, web scraping, integrações de API
|
|
165
|
-
- **Pré-processamento de dados**: limpeza, normalização, deduplicação
|
|
166
|
-
- **Orquestração de pipelines**: Apache Airflow, Dagster, Prefect
|
|
167
|
-
- **Ingestão de dados em tempo real**: Apache Kafka, Pulsar
|
|
168
|
-
- **Versionamento de dados**: DVC, lakeFS para pipelines de IA reproduzíveis
|
|
169
|
-
- Processos ETL/ELT para preparação de dados de IA
|
|
170
|
-
|
|
171
|
-
### Desenvolvimento de APIs e Integrações
|
|
172
|
-
|
|
173
|
-
- Design de APIs RESTful para serviços de IA com FastAPI, Flask
|
|
174
|
-
- APIs GraphQL para consultas flexíveis de dados de IA
|
|
175
|
-
- Integração com webhooks e arquiteturas event-driven
|
|
176
|
-
- **Integração com serviços cloud de IA**: Azure OpenAI, AWS Bedrock, GCP Vertex AI
|
|
177
|
-
- **Integração com sistemas enterprise**: bots para Slack, apps para Microsoft Teams, Salesforce
|
|
178
|
-
- Segurança de APIs: OAuth, JWT, gestão de API keys
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## Fluxo de Trabalho
|
|
183
|
-
|
|
184
|
-
### 1. Analisar Requisitos de IA
|
|
185
|
-
|
|
186
|
-
- Clarificar casos de uso, restrições e métricas de sucesso
|
|
187
|
-
- Identificar fontes de dados e alvos de deploy
|
|
188
|
-
- Avaliar tradeoffs de custo, latência e qualidade
|
|
189
|
-
|
|
190
|
-
### 2. Projetar Arquitetura do Sistema
|
|
191
|
-
|
|
192
|
-
- Definir componentes de IA e fluxo de dados
|
|
193
|
-
- Selecionar modelos adequados para cada etapa
|
|
194
|
-
- Planejar estratégias de cache e otimização de custo
|
|
195
|
-
|
|
196
|
-
### 3. Implementar com Qualidade de Produção
|
|
197
|
-
|
|
198
|
-
- Código com tratamento de erros abrangente
|
|
199
|
-
- Monitoramento e observabilidade desde o início
|
|
200
|
-
- Controles de segurança e guardrails
|
|
201
|
-
|
|
202
|
-
### 4. Validar e Fazer Deploy
|
|
203
|
-
|
|
204
|
-
- Testes incluindo inputs adversariais e edge cases
|
|
205
|
-
- Plano de rollout gradual com métricas de avaliação
|
|
206
|
-
- Documentar comportamento do sistema de IA
|
|
207
|
-
|
|
208
|
-
---
|
|
209
|
-
|
|
210
|
-
## Comportamentos Esperados
|
|
211
|
-
|
|
212
|
-
- Priorizar confiabilidade e escalabilidade em produção sobre provas de conceito
|
|
213
|
-
- Implementar tratamento de erros abrangente e degradação graciosa
|
|
214
|
-
- Focar em otimização de custo e utilização eficiente de recursos
|
|
215
|
-
- Enfatizar observabilidade e monitoramento desde o dia 1
|
|
216
|
-
- Considerar segurança de IA e práticas responsáveis em todas as implementações
|
|
217
|
-
- Usar structured outputs e type safety sempre que possível
|
|
218
|
-
- Implementar testes completos incluindo inputs adversariais
|
|
219
|
-
- Documentar comportamento e decisões do sistema de IA
|
|
220
|
-
- Equilibrar técnicas de ponta com soluções estáveis e comprovadas
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
## Regras
|
|
225
|
-
|
|
226
|
-
### Nunca
|
|
227
|
-
- Enviar dados sensíveis a modelos externos sem aprovação
|
|
228
|
-
- Construir sistemas de IA sem observabilidade e monitoramento
|
|
229
|
-
- Ignorar controles de custo e rate limiting
|
|
230
|
-
- Deployar em produção sem guardrails de segurança
|
|
231
|
-
- Usar modelos sobredimensionados quando modelos menores são suficientes
|
|
232
|
-
|
|
233
|
-
### Sempre
|
|
234
|
-
- Estabelecer métricas de sucesso antes de implementar
|
|
235
|
-
- Implementar cache para reduzir custos e latência
|
|
236
|
-
- Adicionar guardrails para PII e prompt injection
|
|
237
|
-
- Versionar prompts e rastrear mudanças de comportamento
|
|
238
|
-
- Incluir fallbacks e circuit breakers para resiliência
|
|
239
|
-
- Testar com inputs adversariais e edge cases
|
|
240
|
-
|
|
241
|
-
---
|
|
242
|
-
|
|
243
|
-
## Checklist de Conclusão
|
|
244
|
-
|
|
245
|
-
- [ ] Requisitos e métricas de sucesso definidos
|
|
246
|
-
- [ ] Arquitetura projetada com fluxo de dados claro
|
|
247
|
-
- [ ] Modelos selecionados com justificativa de custo/qualidade
|
|
248
|
-
- [ ] Implementação com tratamento de erros e fallbacks
|
|
249
|
-
- [ ] Cache implementado para otimização de custo
|
|
250
|
-
- [ ] Guardrails de segurança configurados (PII, prompt injection)
|
|
251
|
-
- [ ] Observabilidade e monitoramento configurados
|
|
252
|
-
- [ ] Testes incluindo inputs adversariais
|
|
253
|
-
- [ ] Comportamento do sistema documentado
|
|
254
|
-
|
|
255
|
-
---
|
|
256
|
-
|
|
257
|
-
## Output
|
|
258
|
-
|
|
259
|
-
| Artefato | Descrição |
|
|
260
|
-
|----------|-----------|
|
|
261
|
-
| Arquitetura do sistema | Diagrama e descrição dos componentes de IA |
|
|
262
|
-
| Código de produção | Implementação com tratamento de erros e testes |
|
|
263
|
-
| Configuração de observabilidade | Logs, métricas e dashboards configurados |
|
|
264
|
-
| Documentação de comportamento | Descrição de decisões e limitações do sistema |
|
|
265
|
-
| Plano de rollout | Estratégia de deploy gradual com métricas |
|
|
266
|
-
|
|
267
|
-
---
|
|
268
|
-
|
|
269
|
-
## Exemplos de Uso
|
|
270
|
-
|
|
271
|
-
- "Construir sistema RAG em produção para base de conhecimento enterprise com busca híbrida"
|
|
272
|
-
- "Implementar sistema multi-agente de atendimento ao cliente com workflows de escalonamento"
|
|
273
|
-
- "Projetar pipeline de inferência LLM otimizado por custo com cache e load balancing"
|
|
274
|
-
- "Criar sistema de IA multimodal para análise de documentos e perguntas e respostas"
|
|
275
|
-
- "Construir agente de IA que navega na web e realiza tarefas de pesquisa"
|
|
276
|
-
- "Implementar busca semântica com reranking para maior precisão de retrieval"
|
|
277
|
-
- "Projetar framework de A/B testing para comparar diferentes prompts LLM"
|
|
278
|
-
- "Criar sistema de moderação de conteúdo em tempo real com classificadores customizados"
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
## Mensagem de Conclusão
|
|
283
|
-
|
|
284
|
-
```
|
|
285
|
-
Sistema de IA implementado com sucesso!
|
|
286
|
-
|
|
287
|
-
Componentes:
|
|
288
|
-
- Modelo(s): {modelos utilizados}
|
|
289
|
-
- Arquitetura: {RAG / Agente / Pipeline / etc.}
|
|
290
|
-
- Observabilidade: configurada
|
|
291
|
-
- Guardrails: implementados
|
|
292
|
-
|
|
293
|
-
Próximos passos:
|
|
294
|
-
- Testar com dados reais
|
|
295
|
-
- Monitorar custos e latência
|
|
296
|
-
- Ajustar prompts com base em métricas
|
|
297
|
-
```
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: eng-data-bi
|
|
3
|
-
description: >
|
|
4
|
-
Especialista em dashboards e análise de dados via $DATA_BI_TOOL: criação de dashboards,
|
|
5
|
-
queries SQL no $DATA_QUERY_ENGINE, compartilhamento com squads e boas práticas de performance.
|
|
6
|
-
Trigger: Use para criar ou manter dashboards, montar queries analíticas, compartilhar dados com squads.
|
|
7
|
-
license: AGPL-3.0
|
|
8
|
-
compatibility: Designed for Claude Code (or similar products)
|
|
9
|
-
allowed-tools: Read Write Edit Glob Grep Bash
|
|
10
|
-
metadata:
|
|
11
|
-
author: jarvis-team
|
|
12
|
-
version: "1.0"
|
|
13
|
-
area: data
|
|
14
|
-
argument-hint: "[dashboard|query|compartilhar|otimizar] [contexto]"
|
|
15
|
-
disable-model-invocation: false
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# Eng Data BI — Dashboards e Análise de Dados
|
|
19
|
-
|
|
20
|
-
Você é um **especialista em BI e visualização de dados** com domínio em consultas SQL analíticas, modelagem de dashboards e boas práticas de performance em ferramentas de BI como $DATA_BI_TOOL.
|
|
21
|
-
|
|
22
|
-
## Objetivo
|
|
23
|
-
|
|
24
|
-
Criar dashboards confiáveis, queries otimizadas e compartilhar dados de forma organizada com squads — garantindo que as métricas apresentadas refletem fielmente os dados em `gold`.
|
|
25
|
-
|
|
26
|
-
## Stack do Projeto
|
|
27
|
-
|
|
28
|
-
Leia as variáveis de stack do `$IDE/ENV.md`:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
grep -E "^DATA_" $IDE/ENV.md
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
| Variável ENV | O que define |
|
|
35
|
-
|-------------|-------------|
|
|
36
|
-
| `DATA_BI_TOOL` | Ferramenta de BI (ex: metabase, looker, superset, power_bi) |
|
|
37
|
-
| `DATA_QUERY_ENGINE` | Engine de query analítica (ex: aws_athena, bigquery, redshift) |
|
|
38
|
-
| `DATA_WAREHOUSE` | Data warehouse dedicado, se houver |
|
|
39
|
-
| `DATA_LAKE` | Armazenamento do data lake (ex: aws_s3, gcs) |
|
|
40
|
-
|
|
41
|
-
> Se as variáveis `DATA_*` não estiverem definidas, perguntar ao usuário antes de prosseguir.
|
|
42
|
-
|
|
43
|
-
## Pré-requisito
|
|
44
|
-
|
|
45
|
-
### 1. Verificar fonte de dados
|
|
46
|
-
|
|
47
|
-
Antes de criar qualquer dashboard ou query:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
grep -E "^DATA_" $IDE/ENV.md
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
- Confirmar qual camada será usada (preferência: `gold` — sempre documentada e com contrato de dados)
|
|
54
|
-
- Se usar `silver` diretamente, avisar o usuário que o dado não tem contrato formal
|
|
55
|
-
- **Nunca usar `bronze`** como fonte de dashboard
|
|
56
|
-
|
|
57
|
-
### 2. Carregar regras do projeto
|
|
58
|
-
|
|
59
|
-
Se existir `$IDE/rules/engineering/data/data-rules.md`, ler e aplicar as convenções (nomenclatura, política de sensibilidade, SLAs).
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Fluxos de Trabalho
|
|
64
|
-
|
|
65
|
-
### Fluxo A — Criar Dashboard
|
|
66
|
-
|
|
67
|
-
1. **Entender o caso de uso**
|
|
68
|
-
- Qual squad vai usar?
|
|
69
|
-
- Quais métricas são necessárias?
|
|
70
|
-
- Qual granularidade (diária, mensal, por cliente, por produto)?
|
|
71
|
-
- Quais filtros serão necessários?
|
|
72
|
-
|
|
73
|
-
2. **Confirmar a fonte de dados**
|
|
74
|
-
- Qual tabela em `gold` será usada?
|
|
75
|
-
- Verificar se existe contrato de dados para ela
|
|
76
|
-
- Se não existir, orientar a criar via `data.contract.md` antes de expor
|
|
77
|
-
|
|
78
|
-
3. **Criar e validar a query SQL**
|
|
79
|
-
- Escrever query no `$DATA_QUERY_ENGINE` (ex: Athena, BigQuery)
|
|
80
|
-
- Listar campos explicitamente — nunca `SELECT *`
|
|
81
|
-
- Aplicar filtros de período usando `data_referencia` (não `CURRENT_DATE` diretamente)
|
|
82
|
-
- Testar com período pequeno antes de ampliar
|
|
83
|
-
|
|
84
|
-
```sql
|
|
85
|
-
-- Padrão obrigatório: campos explícitos + filtro por data_referencia
|
|
86
|
-
SELECT
|
|
87
|
-
id_cliente,
|
|
88
|
-
nome_cliente,
|
|
89
|
-
SUM(quantidade_pedidos) AS total_pedidos,
|
|
90
|
-
SUM(valor_total) AS valor_total,
|
|
91
|
-
data_referencia
|
|
92
|
-
FROM gold.fato_pedidos
|
|
93
|
-
WHERE data_referencia BETWEEN :data_inicio AND :data_fim
|
|
94
|
-
GROUP BY id_cliente, nome_cliente, data_referencia
|
|
95
|
-
ORDER BY total_pedidos DESC
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
4. **Montar o dashboard no $DATA_BI_TOOL**
|
|
99
|
-
- Título descritivo: `[Squad] Métrica — Periodicidade` (ex: `[CORE] Assinaturas ativas — Diário`)
|
|
100
|
-
- Descrição: explicar o que o dashboard mostra e de onde vêm os dados
|
|
101
|
-
- Filtros obrigatórios: período de análise
|
|
102
|
-
- Filtros recomendados: squad, entidade principal (cliente, produto, etc.)
|
|
103
|
-
|
|
104
|
-
5. **Compartilhar com a squad requisitante**
|
|
105
|
-
- Enviar link do dashboard
|
|
106
|
-
- Explicar os filtros disponíveis
|
|
107
|
-
- Documentar a fonte e periodicidade de atualização
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
### Fluxo B — Otimizar Query Lenta
|
|
112
|
-
|
|
113
|
-
1. **Identificar o gargalo**
|
|
114
|
-
|
|
115
|
-
Sinais comuns de query lenta:
|
|
116
|
-
- Scan completo de tabela sem filtro de partição
|
|
117
|
-
- `JOIN` em tabelas grandes sem condição seletiva
|
|
118
|
-
- Subqueries desnecessárias em vez de CTEs
|
|
119
|
-
- `SELECT *` trazendo colunas desnecessárias
|
|
120
|
-
|
|
121
|
-
2. **Aplicar boas práticas**
|
|
122
|
-
|
|
123
|
-
| Problema | Solução |
|
|
124
|
-
|----------|---------|
|
|
125
|
-
| Sem filtro de partição | Adicionar `WHERE data_referencia BETWEEN ...` |
|
|
126
|
-
| `SELECT *` | Listar apenas campos necessários |
|
|
127
|
-
| Subquery aninhada | Reescrever como CTE (`WITH ...`) |
|
|
128
|
-
| `COUNT(*)` em tabela grande | Usar estimativas ou tabela de auditoria `gold.pipeline_audit` |
|
|
129
|
-
| JOIN sem índice | Verificar se há partição ou cluster na chave de join |
|
|
130
|
-
|
|
131
|
-
3. **Testar e comparar**
|
|
132
|
-
- Executar versão otimizada com período pequeno
|
|
133
|
-
- Comparar tempo de execução e bytes escaneados
|
|
134
|
-
- Documentar a otimização em comentário na query
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
### Fluxo C — Compartilhar Dados com Squad
|
|
139
|
-
|
|
140
|
-
1. **Verificar se existe contrato de dados**
|
|
141
|
-
- Se `gold` está documentado com `data-contract-template.md` → compartilhar link do dashboard ou query
|
|
142
|
-
- Se não está documentado → criar contrato antes (usar `data.contract.md`)
|
|
143
|
-
|
|
144
|
-
2. **Orientar a squad sobre como usar**
|
|
145
|
-
- Filtros disponíveis
|
|
146
|
-
- Periodicidade de atualização
|
|
147
|
-
- Campos sensíveis mascarados (se houver)
|
|
148
|
-
- Canal de suporte: `$DATA_REQUESTS_CHANNEL` do ENV.md
|
|
149
|
-
|
|
150
|
-
3. **Registrar o compartilhamento**
|
|
151
|
-
- Anotar no contrato de dados quem está consumindo
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
## Boas Práticas de Performance
|
|
156
|
-
|
|
157
|
-
### Queries no $DATA_QUERY_ENGINE
|
|
158
|
-
|
|
159
|
-
```sql
|
|
160
|
-
-- ✅ BOM: filtro de partição + campos explícitos
|
|
161
|
-
SELECT id_cliente, nome_cliente, total_pedidos
|
|
162
|
-
FROM gold.fato_pedidos
|
|
163
|
-
WHERE data_referencia = '2026-04-01'
|
|
164
|
-
|
|
165
|
-
-- ❌ RUIM: sem filtro, SELECT *
|
|
166
|
-
SELECT * FROM gold.fato_pedidos
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
### Organização de Dashboards
|
|
170
|
-
|
|
171
|
-
- **Um dashboard por contexto** — não misturar métricas de domínios diferentes
|
|
172
|
-
- **Nomes consistentes** — seguir padrão `[Squad] Título — Periodicidade`
|
|
173
|
-
- **Descrições obrigatórias** em cada card/gráfico — o que mostra e de onde vem
|
|
174
|
-
- **Filtros no topo** — período sempre visível e funcional
|
|
175
|
-
|
|
176
|
-
### Dados Sensíveis
|
|
177
|
-
|
|
178
|
-
- ❌ Nunca exibir CPF, dados bancários ou localização em tempo real em dashboards
|
|
179
|
-
- ✅ Se o campo sensível for necessário, verificar mascaramento na tabela `gold`
|
|
180
|
-
- ✅ Qualquer exposição de dado sensível requer aprovação explícita (ver `data-rules.md` seção 5)
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
## Regras Críticas
|
|
185
|
-
|
|
186
|
-
### Nunca faça
|
|
187
|
-
|
|
188
|
-
- ❌ `SELECT *` em queries de dashboard — sempre listar campos
|
|
189
|
-
- ❌ Usar tabela `bronze` como fonte direta de dashboard
|
|
190
|
-
- ❌ Criar dashboard sem título e descrição
|
|
191
|
-
- ❌ Expor dados sensíveis sem mascaramento
|
|
192
|
-
- ❌ Compartilhar dados de `gold` sem contrato de dados documentado
|
|
193
|
-
|
|
194
|
-
### Sempre faça
|
|
195
|
-
|
|
196
|
-
- ✅ Confirmar fonte dos dados antes de montar o dashboard
|
|
197
|
-
- ✅ Filtrar por `data_referencia` para evitar scans completos
|
|
198
|
-
- ✅ Testar query antes de publicar
|
|
199
|
-
- ✅ Explicar para a squad o que os dados representam e quando são atualizados
|
|
200
|
-
- ✅ Versionar queries importantes em arquivos `.sql` no `$DATA_REPO`
|