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
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eng-qa-planner
|
|
3
|
+
description: >
|
|
4
|
+
Especialização de qa: analisa cobertura de testes da branch atual, identifica lacunas e estrutura
|
|
5
|
+
um plano priorizado para implementar os testes faltantes.
|
|
6
|
+
Trigger: Use quando precisar verificar se o código novo ou modificado possui testes adequados antes do merge.
|
|
7
|
+
argument-hint: "[caminho-opcional]"
|
|
8
|
+
allowed-tools: Read Grep Glob Bash
|
|
9
|
+
license: AGPL-3.0
|
|
10
|
+
metadata:
|
|
11
|
+
author: jarvis-team
|
|
12
|
+
version: "2.0"
|
|
13
|
+
area: qa
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Eng QA Planner - Planejamento de Testes
|
|
17
|
+
|
|
18
|
+
Você é um especialista em planejamento de testes, focado em analisar as mudanças de código na branch atual e identificar lacunas de cobertura.
|
|
19
|
+
|
|
20
|
+
## Objetivo
|
|
21
|
+
|
|
22
|
+
Garantir que todo código novo ou modificado possua cobertura de testes adequada antes do merge.
|
|
23
|
+
|
|
24
|
+
## Entrada
|
|
25
|
+
|
|
26
|
+
- `$ARGUMENTS` - (Opcional) Caminho específico ou nome da feature para análise focada
|
|
27
|
+
|
|
28
|
+
## Recursos
|
|
29
|
+
|
|
30
|
+
- **Base**: [eng-qa](../eng-qa/SKILL.md) — princípios de risco e priorização usados aqui vêm da base
|
|
31
|
+
- **Saída**: `$DOCS_FOLDER/engineering/qa/{task-id}-test_coverage_branch_report.md`
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Pré-requisito
|
|
36
|
+
|
|
37
|
+
A branch precisa ter uma base de comparação (`origin/main` ou equivalente) para o `git diff` funcionar:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
git diff origin/main...HEAD --name-only
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Quando Usar
|
|
46
|
+
|
|
47
|
+
Use esta skill quando:
|
|
48
|
+
- Precisar verificar cobertura de testes antes de um merge/PR
|
|
49
|
+
- Quiser identificar lacunas de testes no código modificado
|
|
50
|
+
- Necessitar de um plano estruturado para implementar testes faltantes
|
|
51
|
+
- Estiver fazendo code review e precisar avaliar a cobertura de testes
|
|
52
|
+
|
|
53
|
+
**NÃO usar quando:**
|
|
54
|
+
- A tarefa é escrever o teste em si (ver a especialização de execução registrada, ex: ferramenta E2E do projeto)
|
|
55
|
+
- Não há diff contra uma base — nesse caso avalie a cobertura do projeto como um todo, não desta skill
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Padrões Críticos
|
|
60
|
+
|
|
61
|
+
### Padrão 1: Sempre analisar o diff primeiro
|
|
62
|
+
|
|
63
|
+
Antes de qualquer análise, obtenha as mudanças da branch:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
git diff origin/main...HEAD --name-only
|
|
67
|
+
git diff origin/main...HEAD
|
|
68
|
+
git log origin/main..HEAD --oneline
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Foque especialmente em:
|
|
72
|
+
- Novas funções/métodos/classes
|
|
73
|
+
- Lógica modificada em código existente
|
|
74
|
+
- Novos endpoints ou interfaces de API
|
|
75
|
+
- Mudanças de configuração
|
|
76
|
+
- Breaking changes
|
|
77
|
+
|
|
78
|
+
### Padrão 2: Priorizar código crítico
|
|
79
|
+
|
|
80
|
+
Sempre priorize testes para:
|
|
81
|
+
- APIs públicas e endpoints
|
|
82
|
+
- Lógica de negócio e regras de validação
|
|
83
|
+
- Código de autenticação/autorização
|
|
84
|
+
- Manipulação de dados sensíveis
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Fluxo de Trabalho
|
|
89
|
+
|
|
90
|
+
### 1. Mapear código para testes
|
|
91
|
+
|
|
92
|
+
Para cada arquivo alterado, identifique o arquivo de teste correspondente:
|
|
93
|
+
|
|
94
|
+
| Padrão | Exemplo |
|
|
95
|
+
|--------|---------|
|
|
96
|
+
| `[filename].test.[ext]` | `user.test.ts` |
|
|
97
|
+
| `[filename].spec.[ext]` | `user.spec.ts` |
|
|
98
|
+
| `tests/[filename]_test.[ext]` | `tests/user_test.py` |
|
|
99
|
+
| `__tests__/[filename].[ext]` | `__tests__/user.ts` |
|
|
100
|
+
| `test_[filename].[ext]` | `test_user.py` |
|
|
101
|
+
|
|
102
|
+
### 2. Analisar cobertura existente
|
|
103
|
+
|
|
104
|
+
Para arquivos com testes existentes, verificar:
|
|
105
|
+
- Testes para novas funções/métodos
|
|
106
|
+
- Testes para comportamento modificado
|
|
107
|
+
- Casos de borda da nova lógica
|
|
108
|
+
- Tratamento de erros para novos caminhos
|
|
109
|
+
|
|
110
|
+
### 3. Identificar lacunas
|
|
111
|
+
|
|
112
|
+
Determinar quais testes estão faltando:
|
|
113
|
+
- Funcionalidades novas sem testes
|
|
114
|
+
- Comportamentos modificados não refletidos
|
|
115
|
+
- Casos de borda ausentes
|
|
116
|
+
- Cenários de erro não cobertos
|
|
117
|
+
- Pontos de integração não testados
|
|
118
|
+
|
|
119
|
+
### 4. Priorizar por criticidade
|
|
120
|
+
|
|
121
|
+
| Prioridade | Critério |
|
|
122
|
+
|------------|----------|
|
|
123
|
+
| Alta | APIs públicas, lógica de negócio crítica, código de segurança |
|
|
124
|
+
| Média | Utilitários compartilhados, tratamento de erros |
|
|
125
|
+
| Baixa | Código de apresentação, configurações simples |
|
|
126
|
+
|
|
127
|
+
### 5. Gerar o relatório
|
|
128
|
+
|
|
129
|
+
Gerar arquivo `$DOCS_FOLDER/engineering/qa/{task-id}-test_coverage_branch_report.md`:
|
|
130
|
+
|
|
131
|
+
```markdown
|
|
132
|
+
# Análise de Cobertura de Testes da Branch
|
|
133
|
+
|
|
134
|
+
## Informações da Branch
|
|
135
|
+
- **Branch:** [nome]
|
|
136
|
+
- **Base:** main
|
|
137
|
+
- **Arquivos alterados:** [número]
|
|
138
|
+
- **Arquivos com gaps de cobertura:** [número]
|
|
139
|
+
|
|
140
|
+
## Resumo Executivo
|
|
141
|
+
[Visão geral da cobertura e principais preocupações]
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Análise por Arquivo
|
|
146
|
+
|
|
147
|
+
### 1. `[caminho/do/arquivo.ts]`
|
|
148
|
+
|
|
149
|
+
**Mudanças Realizadas:**
|
|
150
|
+
- [Resumo das mudanças]
|
|
151
|
+
|
|
152
|
+
**Cobertura Atual:**
|
|
153
|
+
- Arquivo de teste: `[caminho]` ou ❌ Não encontrado
|
|
154
|
+
- Status: [✅ Totalmente coberto | ⚠️ Parcialmente coberto | ❌ Não coberto]
|
|
155
|
+
|
|
156
|
+
**Testes Ausentes:**
|
|
157
|
+
- [ ] [Cenário específico]
|
|
158
|
+
- [ ] [Outro cenário]
|
|
159
|
+
|
|
160
|
+
**Prioridade:** [Alta | Média | Baixa]
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Plano de Implementação
|
|
165
|
+
|
|
166
|
+
### Alta Prioridade
|
|
167
|
+
|
|
168
|
+
#### `[arquivo/funcionalidade]`
|
|
169
|
+
- **Arquivo de teste:** `[criar/atualizar em caminho]`
|
|
170
|
+
- **Cenários:**
|
|
171
|
+
1. [Caso de teste com descrição]
|
|
172
|
+
2. [Outro caso]
|
|
173
|
+
- **Estrutura sugerida:**
|
|
174
|
+
```[linguagem]
|
|
175
|
+
describe('[Funcionalidade]', () => {
|
|
176
|
+
it('should [comportamento esperado]', () => {
|
|
177
|
+
// arrange
|
|
178
|
+
// act
|
|
179
|
+
// assert
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Média Prioridade
|
|
185
|
+
[Mesma estrutura]
|
|
186
|
+
|
|
187
|
+
### Baixa Prioridade
|
|
188
|
+
[Mesma estrutura]
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Estatísticas
|
|
193
|
+
|
|
194
|
+
| Métrica | Valor |
|
|
195
|
+
|---------|-------|
|
|
196
|
+
| Arquivos analisados | X |
|
|
197
|
+
| Com cobertura adequada | X |
|
|
198
|
+
| Precisam de testes | X |
|
|
199
|
+
| Cenários identificados | X |
|
|
200
|
+
|
|
201
|
+
## Recomendações
|
|
202
|
+
|
|
203
|
+
1. [Recomendação principal]
|
|
204
|
+
2. [Outra recomendação]
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Skills invocados durante a execução do skill
|
|
208
|
+
|
|
209
|
+
| Passo | Skill | Condição |
|
|
210
|
+
|-------|-------|----------|
|
|
211
|
+
| — | Nenhuma — skill autocontida | — |
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Regras
|
|
216
|
+
|
|
217
|
+
### Nunca
|
|
218
|
+
- Reportar código existente não alterado como se fosse gap da branch atual
|
|
219
|
+
- Recomendar teste sem indicar prioridade e cenário concreto
|
|
220
|
+
- Confundir plano/relatório com a implementação do teste em si
|
|
221
|
+
|
|
222
|
+
### Sempre
|
|
223
|
+
- Analisar apenas arquivos modificados na branch (foco no diff)
|
|
224
|
+
- Priorizar caminhos críticos e casos de borda sobre quantidade de testes
|
|
225
|
+
- Respeitar padrões de teste e helpers já existentes no projeto
|
|
226
|
+
- Gerar o relatório mesmo quando a cobertura já está adequada (declarar isso explicitamente)
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Checklist de Conclusão
|
|
231
|
+
|
|
232
|
+
- [ ] Diff da branch analisado (`git diff origin/main...HEAD`)
|
|
233
|
+
- [ ] Cada arquivo alterado mapeado para seu teste correspondente (ou marcado como ausente)
|
|
234
|
+
- [ ] Lacunas priorizadas por criticidade (alta/média/baixa)
|
|
235
|
+
- [ ] Relatório gerado em `$DOCS_FOLDER/engineering/qa/{task-id}-test_coverage_branch_report.md`
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Output
|
|
240
|
+
|
|
241
|
+
| Artefato | Descrição |
|
|
242
|
+
|----------|-----------|
|
|
243
|
+
| `$DOCS_FOLDER/engineering/qa/{task-id}-test_coverage_branch_report.md` | Relatório de cobertura com plano de implementação priorizado |
|
|
244
|
+
|
|
245
|
+
> O artefato é gerado na raiz do projeto ou no diretório especificado em `$ARGUMENTS`.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Mensagem de Conclusão
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
Planejamento de testes concluído!
|
|
253
|
+
|
|
254
|
+
Branch: {nome da branch}
|
|
255
|
+
Arquivos analisados: {N}
|
|
256
|
+
Com gaps de cobertura: {N}
|
|
257
|
+
|
|
258
|
+
Prioridade alta: {N} cenários
|
|
259
|
+
Prioridade média: {N} cenários
|
|
260
|
+
Prioridade baixa: {N} cenários
|
|
261
|
+
|
|
262
|
+
Relatório: $DOCS_FOLDER/engineering/qa/{task-id}-test_coverage_branch_report.md
|
|
263
|
+
Próximo passo: implementar os testes do plano ou registrar uma especialização de execução em QA_SPECIALIZATIONS
|
|
264
|
+
```
|
|
@@ -260,6 +260,12 @@ CONTEXT_PROFILE:
|
|
|
260
260
|
| feature | * | padrão |
|
|
261
261
|
| refactor | * | alto |
|
|
262
262
|
|
|
263
|
+
### Skills invocados durante a execução do skill
|
|
264
|
+
|
|
265
|
+
| Passo | Skill | Condição |
|
|
266
|
+
|-------|-------|----------|
|
|
267
|
+
| — | Nenhuma — skill autocontida | — |
|
|
268
|
+
|
|
263
269
|
---
|
|
264
270
|
|
|
265
271
|
## Output
|
|
@@ -397,4 +403,4 @@ Se não existir ou for antigo, executar detecção novamente.
|
|
|
397
403
|
## Recursos Adicionais
|
|
398
404
|
|
|
399
405
|
- **Template**: Veja [assets/context-profile-template.md](assets/context-profile-template.md)
|
|
400
|
-
- **Documentação CDD**: Veja `$IDE/templates/
|
|
406
|
+
- **Documentação CDD**: Veja `$IDE/templates/cdd-aplicado-a-prompts.md`
|
|
@@ -124,4 +124,4 @@ Ou edite manualmente os valores acima e salve o arquivo.
|
|
|
124
124
|
---
|
|
125
125
|
|
|
126
126
|
> Este perfil é usado automaticamente pelos workflows do Framework Jarvis.
|
|
127
|
-
> Documentação: `$IDE/templates/
|
|
127
|
+
> Documentação: `$IDE/templates/cdd-aplicado-a-prompts.md`
|
|
@@ -26,6 +26,14 @@ Gerar uma especialização **fiel ao código do projeto** e deixá-la ligada sem
|
|
|
26
26
|
|
|
27
27
|
A especialização **soma-se** à skill base da área (`eng-backend` ou `eng-frontend`) e guarda só o que **depende da stack**. O que continua válido ao trocar de linguagem já está na base e não é repetido.
|
|
28
28
|
|
|
29
|
+
> **Por que só backend e frontend**: essas duas áreas têm universo de stack **aberto** — qualquer
|
|
30
|
+
> linguagem ou framework novo pode aparecer num projeto, então faz sentido ler o código e gerar
|
|
31
|
+
> uma especialização sob demanda. QA, data, automation e platform têm um **conjunto fixo** de
|
|
32
|
+
> especializações pré-construídas pelo framework (sem `metadata.stack`); registrar uma delas é
|
|
33
|
+
> só listar e marcar no `ENV.md` — não há o que detectar por código nem gerar. Ver
|
|
34
|
+
> `$IDE/skills/jarvis-list-specializations/SKILL.md` para listar/registrar as especializações
|
|
35
|
+
> dessas 4 áreas, e o passo 9 do `/jarvis-init` para o mesmo fluxo durante o onboarding.
|
|
36
|
+
|
|
29
37
|
## Entrada
|
|
30
38
|
|
|
31
39
|
- `$ARGUMENTS` - (Opcional) `[backend|frontend] [stack]`, por exemplo `backend golang`. O que faltar, pergunte (uma pergunta por vez).
|
|
@@ -151,6 +159,12 @@ awk 'BEGIN{fm=0} /^---[[:space:]]*$/{fm++; next} fm==1 && /^name:/{n=$2} fm==1 &
|
|
|
151
159
|
3. Edite **só a linha dessa variável** (nunca outra linha do `ENV.md`) e **releia** o `ENV.md` para confirmar o resultado
|
|
152
160
|
4. Se a gravação da lista falhar (skill gravado, lista não): diga que o skill existe mas **não** está registrado e mostre a linha a acrescentar à mão. **Nunca** registre um skill que não foi gravado
|
|
153
161
|
|
|
162
|
+
### Skills invocados durante a execução do skill
|
|
163
|
+
|
|
164
|
+
| Passo | Skill | Condição |
|
|
165
|
+
|-------|-------|----------|
|
|
166
|
+
| — | Nenhuma — skill autocontida | — |
|
|
167
|
+
|
|
154
168
|
---
|
|
155
169
|
|
|
156
170
|
## Regras
|
|
@@ -25,7 +25,7 @@ Esta skill permite:
|
|
|
25
25
|
CENTRAL_DOCS_REPO=https://gitlab.com/org/group/central-docs.git
|
|
26
26
|
CENTRAL_DOCS_REF=main
|
|
27
27
|
CENTRAL_DOCS_TARGET_BRANCH=dev
|
|
28
|
-
SQUAD=
|
|
28
|
+
SQUAD=core
|
|
29
29
|
WORKSPACE=meu-workspace
|
|
30
30
|
```
|
|
31
31
|
|
|
@@ -60,9 +60,9 @@ jarvis docs publish \
|
|
|
60
60
|
|
|
61
61
|
# Publicar PRD
|
|
62
62
|
jarvis docs publish \
|
|
63
|
-
--file ./docs/product/prd-gestao-
|
|
63
|
+
--file ./docs/product/prd-gestao-carteiras.md \
|
|
64
64
|
--tipo prd \
|
|
65
|
-
--feature gestao-
|
|
65
|
+
--feature gestao-carteiras
|
|
66
66
|
|
|
67
67
|
# Publicar Swagger/OpenAPI (YAML)
|
|
68
68
|
jarvis docs publish \
|
|
@@ -75,7 +75,7 @@ jarvis docs publish \
|
|
|
75
75
|
--file ./docs/engineering/ard-api-wallet.md \
|
|
76
76
|
--tipo ard \
|
|
77
77
|
--feature api-wallet-auth-jwt \
|
|
78
|
-
--squad
|
|
78
|
+
--squad core \
|
|
79
79
|
--workspace meu-workspace
|
|
80
80
|
```
|
|
81
81
|
|
|
@@ -102,16 +102,16 @@ central-docs/
|
|
|
102
102
|
|
|
103
103
|
```
|
|
104
104
|
central-docs/
|
|
105
|
-
└──
|
|
105
|
+
└── core/
|
|
106
106
|
├── index.md
|
|
107
107
|
├── product/
|
|
108
|
-
│ └── gestao-de-
|
|
109
|
-
│ ├── prd-gestao-
|
|
110
|
-
│ └── frd-gestao-
|
|
108
|
+
│ └── gestao-de-carteiras/
|
|
109
|
+
│ ├── prd-gestao-carteiras.md
|
|
110
|
+
│ └── frd-gestao-carteiras-onboarding.md
|
|
111
111
|
└── engineering/
|
|
112
|
-
└──
|
|
113
|
-
├── ard-
|
|
114
|
-
└── rfc-
|
|
112
|
+
└── api-wallet/
|
|
113
|
+
├── ard-api-wallet.md
|
|
114
|
+
└── rfc-api-wallet-idempotencia.md
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
## Formato do index.md
|
|
@@ -119,19 +119,19 @@ central-docs/
|
|
|
119
119
|
O `index.md` fica na raiz do squad (`{squad}/index.md`) e lista todos os documentos organizados por área e produto:
|
|
120
120
|
|
|
121
121
|
```markdown
|
|
122
|
-
#
|
|
122
|
+
# core
|
|
123
123
|
|
|
124
124
|
## product
|
|
125
125
|
|
|
126
|
-
### gestao-de-
|
|
127
|
-
- [prd-gestao-
|
|
128
|
-
- [frd-gestao-
|
|
126
|
+
### gestao-de-carteiras
|
|
127
|
+
- [prd-gestao-carteiras.md](product/gestao-de-carteiras/prd-gestao-carteiras.md) | v1.2.0 | in_progress | jira: WAL-001 | tags: carteiras,onboarding
|
|
128
|
+
- [frd-gestao-carteiras-onboarding.md](product/gestao-de-carteiras/frd-gestao-carteiras-onboarding.md) | v1.0.0 | in_review | jira: WAL-123 | tags: onboarding,cadastro
|
|
129
129
|
|
|
130
130
|
## engineering
|
|
131
131
|
|
|
132
|
-
###
|
|
133
|
-
- [ard-
|
|
134
|
-
- [rfc-
|
|
132
|
+
### api-wallet
|
|
133
|
+
- [ard-api-wallet.md](engineering/api-wallet/ard-api-wallet.md) | v2.1 | Finalizada | tags: arquitetura,rest,api
|
|
134
|
+
- [rfc-api-wallet-idempotencia.md](engineering/api-wallet/rfc-api-wallet-idempotencia.md) | Accepted | tags: idempotencia,redis
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
## Frontmatter Obrigatório
|
|
@@ -141,11 +141,11 @@ O `index.md` fica na raiz do squad (`{squad}/index.md`) e lista todos os documen
|
|
|
141
141
|
```yaml
|
|
142
142
|
---
|
|
143
143
|
id: PRD-001
|
|
144
|
-
name: Gestão de
|
|
144
|
+
name: Gestão de Carteiras
|
|
145
145
|
version: 1.2.0
|
|
146
146
|
status: in_progress
|
|
147
|
-
task_link: https://jira.com/
|
|
148
|
-
related_repo:
|
|
147
|
+
task_link: https://jira.com/WAL-001
|
|
148
|
+
related_repo: api-wallet,wallet-worker
|
|
149
149
|
---
|
|
150
150
|
```
|
|
151
151
|
|
|
@@ -199,7 +199,7 @@ Detecta docs desatualizados e oferece publicação.
|
|
|
199
199
|
### Arquivo não encontrado
|
|
200
200
|
|
|
201
201
|
```
|
|
202
|
-
❌ Arquivo não encontrado no central-docs:
|
|
202
|
+
❌ Arquivo não encontrado no central-docs: core/index.md
|
|
203
203
|
```
|
|
204
204
|
|
|
205
205
|
**Solução:** Verificar se o squad existe no central-docs ou criar o `index.md` do squad.
|
|
@@ -227,10 +227,13 @@ bin/
|
|
|
227
227
|
├── utils/
|
|
228
228
|
│ ├── npmrc-parser.js # Extrai token do .npmrc
|
|
229
229
|
│ └── git-parser.js # Parseia URL GitLab
|
|
230
|
+
├── vcs/
|
|
231
|
+
│ └── api.js # fetchRawFile/createMergeRequest/commitFiles — GitLab/GitHub/Bitbucket
|
|
230
232
|
└── docs/
|
|
231
233
|
├── validate-frontmatter.js # Valida YAML
|
|
232
|
-
├──
|
|
233
|
-
|
|
234
|
+
├── redis-cache.js # Cache best-effort via redis-cli (get/setex/del)
|
|
235
|
+
├── fetch-file.js # Busca via vcs/api.js — CLI: jarvis docs fetch
|
|
236
|
+
└── publish-file.js # Publica via vcs/api.js + MR — CLI: jarvis docs publish
|
|
234
237
|
```
|
|
235
238
|
|
|
236
239
|
### Fluxo de Publicação
|
|
@@ -280,7 +283,7 @@ jarvis docs sync
|
|
|
280
283
|
|
|
281
284
|
```bash
|
|
282
285
|
# 1. Criar ARD localmente
|
|
283
|
-
cat > docs/engineering/ard-
|
|
286
|
+
cat > docs/engineering/ard-api-wallet-auth.md << EOF
|
|
284
287
|
---
|
|
285
288
|
Status: Proposta
|
|
286
289
|
Data: 2026-03-10
|
|
@@ -295,12 +298,12 @@ EOF
|
|
|
295
298
|
|
|
296
299
|
# 2. Publicar
|
|
297
300
|
jarvis docs publish \
|
|
298
|
-
--file docs/engineering/ard-
|
|
301
|
+
--file docs/engineering/ard-api-wallet-auth.md \
|
|
299
302
|
--tipo ard \
|
|
300
|
-
--feature
|
|
303
|
+
--feature api-wallet-auth
|
|
301
304
|
|
|
302
305
|
# 3. Resultado
|
|
303
|
-
# ✅ MR criado: docs/
|
|
306
|
+
# ✅ MR criado: docs/core/engineering/api-wallet/ard-api-wallet-auth → dev
|
|
304
307
|
# URL: https://gitlab.com/.../merge_requests/42
|
|
305
308
|
```
|
|
306
309
|
|
|
@@ -145,8 +145,8 @@ O CI (`.gitlab-ci.yml`) **falha** se o `index.md` commitado divergir do que o sc
|
|
|
145
145
|
```bash
|
|
146
146
|
jarvis docs sync
|
|
147
147
|
|
|
148
|
-
# Internamente
|
|
149
|
-
|
|
148
|
+
# Internamente chama fetchFile() de bin/lib/docs/fetch-file.js, equivalente a:
|
|
149
|
+
jarvis docs fetch "${SQUAD}/index.md" "${CENTRAL_DOCS_REF}"
|
|
150
150
|
```
|
|
151
151
|
|
|
152
152
|
**Passo 1.b — Fallback: navegar árvore (quando index.md não existe)**
|
|
@@ -180,8 +180,8 @@ Com base no contexto da tarefa (`TASK_MANAGER_KEY`, tags, descrição):
|
|
|
180
180
|
**Passo 3 — Buscar arquivos identificados**
|
|
181
181
|
|
|
182
182
|
```bash
|
|
183
|
-
|
|
184
|
-
|
|
183
|
+
jarvis docs fetch "${SQUAD}/product/${WORKSPACE}/prd-feature.md" "main"
|
|
184
|
+
jarvis docs fetch "${SQUAD}/engineering/${WORKSPACE}/ard-feature.md" "main"
|
|
185
185
|
```
|
|
186
186
|
|
|
187
187
|
**Passo 4 — Retornar resultado**
|
|
@@ -284,6 +284,12 @@ URL: {url do MR/PR retornada pelo adapter}
|
|
|
284
284
|
URL: {CENTRAL_DOCS_REPO}/-/merge_requests/44
|
|
285
285
|
```
|
|
286
286
|
|
|
287
|
+
### Skills invocados durante a execução do skill
|
|
288
|
+
|
|
289
|
+
| Passo | Skill | Condição |
|
|
290
|
+
|-------|-------|----------|
|
|
291
|
+
| — | Nenhuma — skill autocontida | — |
|
|
292
|
+
|
|
287
293
|
---
|
|
288
294
|
|
|
289
295
|
## Regras
|
|
@@ -296,7 +302,7 @@ URL: {url do MR/PR retornada pelo adapter}
|
|
|
296
302
|
- Inventar metadados (version, status, id)
|
|
297
303
|
- Editar `{SQUAD}/index.md` manualmente — sempre via `build-index.sh`
|
|
298
304
|
- Usar path em campos `related_*` — sempre basename apenas
|
|
299
|
-
- Usar
|
|
305
|
+
- Usar squad em minúsculas (ex: `core`) — sempre ALL-CAPS-COM-HIFEN: `MEU-SQUAD`
|
|
300
306
|
- Criar subpastas `engineering/index.md` ou `product/index.md` (não existem neste repo)
|
|
301
307
|
|
|
302
308
|
### Sempre
|
|
@@ -334,8 +334,16 @@ Além do índice, gerar relatório de saúde:
|
|
|
334
334
|
|
|
335
335
|
## Integração com Outros Skills
|
|
336
336
|
|
|
337
|
-
|
|
338
|
-
|
|
337
|
+
### Skills invocados durante a execução do skill
|
|
338
|
+
|
|
339
|
+
| Passo | Skill | Condição |
|
|
340
|
+
|-------|-------|----------|
|
|
341
|
+
| — | Nenhuma — skill autocontida | — |
|
|
342
|
+
|
|
343
|
+
Relações com outras skills (não são chamadas do fluxo):
|
|
344
|
+
|
|
345
|
+
- `eng-global-docs-write`: após criar ou atualizar documentação, rodar `jarvis-docs-index` para atualizar o índice
|
|
346
|
+
- `eng-backend-arch-c4`: incluir diagramas C4 na seção de Arquitetura do índice
|
|
339
347
|
|
|
340
348
|
---
|
|
341
349
|
|
|
@@ -358,6 +358,12 @@ Recomendação arquitetural
|
|
|
358
358
|
- Vídeos
|
|
359
359
|
- Opiniões sem fonte
|
|
360
360
|
|
|
361
|
+
### Skills invocados durante a execução do skill
|
|
362
|
+
|
|
363
|
+
| Passo | Skill | Condição |
|
|
364
|
+
|-------|-------|----------|
|
|
365
|
+
| — | Nenhuma — skill autocontida | — |
|
|
366
|
+
|
|
361
367
|
---
|
|
362
368
|
|
|
363
369
|
## 🎯 Entrada Típica
|
|
@@ -234,7 +234,7 @@ Fluxo correto:
|
|
|
234
234
|
3. Se `HUB≠DATA`: remover o bloco DATA_* inteiro
|
|
235
235
|
4. Garantir `SESSIONS_DIR=.jarvis/sessions` e `JARVIS_PROJECT=https://github.com/phelipperibeiro/jarvis-framework` (ou URL que o usuário informar)
|
|
236
236
|
5. Escrever `$IDE/ENV.md` com o restante do template (incluindo variáveis vazias)
|
|
237
|
-
6. As chaves `
|
|
237
|
+
6. As 6 chaves de especialização ficam **vazias**, exceto `QA_SPECIALIZATIONS`, que vem com `eng-qa-planner` (único hoje, pré-registrado por padrão — ver `templates/ENV-template.md`): não são perguntadas aqui. O registro/ajuste é feito no **passo 9 (adicionar as stacks)**, ou depois, a qualquer momento: consulta com `jarvis-list-specializations` e criação com `jarvis-create-specialization` (só backend/frontend).
|
|
238
238
|
|
|
239
239
|
### 3. Coletar Variáveis Obrigatórias
|
|
240
240
|
|
|
@@ -908,13 +908,13 @@ Se não existir na raiz do projeto:
|
|
|
908
908
|
|
|
909
909
|
**Executar após gravar o ENV.md** (nos fluxos create, update B e upgrade C).
|
|
910
910
|
|
|
911
|
-
Objetivo: garantir que `$IDE/rules/`
|
|
911
|
+
Objetivo: garantir que `$IDE/rules/` e `$IDE/rules-on-demand/` contenham apenas as rules relevantes para o perfil do usuário, reduzindo tokens carregados em sessão. A pasta `rules/` é carregada no início da sessão; a `rules-on-demand/` guarda as rules de uma etapa só, que cada workflow lê quando precisa (o Claude Code não a carrega sozinho). O filtro é o mesmo nas duas pastas, e `bin/lib/core/profile-filter.js` o espelha em JS (usado por `jarvis tokens`): ao mudar a lógica aqui, mude lá e em `rules/AGENTS.md`.
|
|
912
912
|
|
|
913
913
|
**Passos:**
|
|
914
914
|
|
|
915
915
|
```
|
|
916
916
|
1. Ler HUB, POSITION, AREA, SQUAD do ENV.md recém-gravado
|
|
917
|
-
2.
|
|
917
|
+
2. Para cada uma das duas pastas (rules/ e rules-on-demand/), listar todos os arquivos .md (recursivo, exceto AGENTS.md)
|
|
918
918
|
3. Para cada arquivo:
|
|
919
919
|
a. Ler o bloco `> **Applies to:**` (primeira ocorrência no arquivo)
|
|
920
920
|
b. Se o bloco não existir → tratar como universal → copiar sempre
|
|
@@ -922,8 +922,8 @@ Objetivo: garantir que `$IDE/rules/` contenha apenas as rules relevantes para o
|
|
|
922
922
|
d. **Condição especial RTK**: se o arquivo for `rtk-rules.md`,
|
|
923
923
|
copiar APENAS se `RTK_ENABLED=true` no ENV.md
|
|
924
924
|
(mesmo que o perfil bata, RTK é opt-in)
|
|
925
|
-
e. Se bate com o perfil → copiar para $IDE/rules/
|
|
926
|
-
f. Se não bate → deletar de $IDE/
|
|
925
|
+
e. Se bate com o perfil → copiar para a mesma pasta em $IDE/ (rules/ → $IDE/rules/, rules-on-demand/ → $IDE/rules-on-demand/), preservando subpastas
|
|
926
|
+
f. Se não bate → deletar de $IDE/ se existir lá
|
|
927
927
|
4. Exibir resumo ao usuário
|
|
928
928
|
```
|
|
929
929
|
|
|
@@ -976,8 +976,9 @@ function parseAppliesTo(fileContent) {
|
|
|
976
976
|
```bash
|
|
977
977
|
# Exemplo: rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md
|
|
978
978
|
# Destino: $IDE/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md
|
|
979
|
-
|
|
980
|
-
|
|
979
|
+
# (o mesmo vale para rules-on-demand/ → $IDE/rules-on-demand/)
|
|
980
|
+
mkdir -p "$IDE/$pasta/$(dirname $relPath)"
|
|
981
|
+
cp "$pasta/$relPath" "$IDE/$pasta/$relPath" # $pasta = rules ou rules-on-demand
|
|
981
982
|
```
|
|
982
983
|
|
|
983
984
|
**Saída para o usuário:**
|
|
@@ -986,7 +987,7 @@ cp "rules/$relPath" "$IDE/rules/$relPath"
|
|
|
986
987
|
🔍 Sincronizando rules para o perfil: HUB={HUB} | POSITION={POSITION} | AREA={AREA} | SQUAD={SQUAD}
|
|
987
988
|
|
|
988
989
|
✅ Rules sincronizadas:
|
|
989
|
-
Copiadas : N arquivos
|
|
990
|
+
Copiadas : N arquivos (rules/: N | rules-on-demand/: N)
|
|
990
991
|
Removidas: N arquivos (não batem com o perfil)
|
|
991
992
|
Universais: N arquivos (sem applies_to — sempre copiadas)
|
|
992
993
|
```
|
|
@@ -999,13 +1000,13 @@ cp "rules/$relPath" "$IDE/rules/$relPath"
|
|
|
999
1000
|
|
|
1000
1001
|
Oferecido sempre que o `ENV.md` fica pronto: criação, atualização, **Upgrade (C)** e o caso "já atualizado". **Não** é oferecido ao cancelar (D). A pessoa pode **pular**; ao pular, as listas ficam como estão e o projeto usa só a skill base.
|
|
1001
1002
|
|
|
1002
|
-
|
|
1003
|
+
A **detecção de stack por código e a criação de skill novo** (sub-passos 9.4-9.6) tratam **somente backend e frontend** — são as únicas áreas com universo de stack aberto (qualquer linguagem/framework novo). **Listar o que já está instalado e registrar direto** (sub-passo 9.3) vale para as **6 áreas** com especialização (backend, frontend, qa, data, automation, platform): essas 4 últimas têm um conjunto fixo de skills pré-construídos, sem detecção por código nem criação — só listar e registrar (ver `architecture.md` da #63, Decisão 3.5). O passo:
|
|
1003
1004
|
|
|
1004
|
-
1. Confere que
|
|
1005
|
-
2. Lista as especializações instaladas, registradas ou não, e deixa registrar uma direto
|
|
1006
|
-
3. **Lê** o workspace (a análise **só lê**: não altera arquivos do projeto nem as listas), identifica as stacks de backend e de frontend, inclusive de vários projetos, e **mostra o que encontrou antes de sugerir**
|
|
1007
|
-
4. Para cada stack, sugere **registrar o skill que já existe** (mesmo `area` e `stack`) ou **criar um novo** com `/jarvis-create-specialization {área} {stack}`; a pessoa escolhe, e o que não aceita não muda
|
|
1008
|
-
5. Mostra um resumo das listas e do que foi registrado ou criado
|
|
1005
|
+
1. Confere que as 6 variáveis de especialização existem (acrescenta vazias as que faltarem)
|
|
1006
|
+
2. Lista as especializações instaladas de todas as 6 áreas, registradas ou não, e deixa registrar qualquer uma direto
|
|
1007
|
+
3. **Lê** o workspace (a análise **só lê**: não altera arquivos do projeto nem as listas), identifica as stacks de backend e de frontend, inclusive de vários projetos, e **mostra o que encontrou antes de sugerir** (só essas 2 áreas)
|
|
1008
|
+
4. Para cada stack de backend/frontend, sugere **registrar o skill que já existe** (mesmo `area` e `stack`) ou **criar um novo** com `/jarvis-create-specialization {área} {stack}`; a pessoa escolhe, e o que não aceita não muda
|
|
1009
|
+
5. Mostra um resumo das 6 listas e do que foi registrado ou criado
|
|
1009
1010
|
|
|
1010
1011
|
O tempo de ~10 minutos é referência, não limite. Nunca leia `.env*`, chaves ou credenciais.
|
|
1011
1012
|
|
|
@@ -1031,7 +1032,7 @@ O tempo de ~10 minutos é referência, não limite. Nunca leia `.env*`, chaves o
|
|
|
1031
1032
|
- Usuário: {USER}
|
|
1032
1033
|
- Cargo: {POSITION}
|
|
1033
1034
|
- Limite AI: {MAX_AI_EXECUTION_PERCENTAGE}%
|
|
1034
|
-
- Especializações: {
|
|
1035
|
+
- Especializações: {as 6 variáveis registradas, ou "só skill base" por área}
|
|
1035
1036
|
- CDD: habilitado
|
|
1036
1037
|
- JARVIS_PROJECT: {JARVIS_PROJECT}
|
|
1037
1038
|
|
|
@@ -1064,6 +1065,12 @@ Apresentar checklist de onboarding por período (Dia 1, Semana 1, Mês 1).
|
|
|
1064
1065
|
|
|
1065
1066
|
> **Checklists detalhados**: Ver `assets/onboarding-checklist.md`
|
|
1066
1067
|
|
|
1068
|
+
### Skills invocados durante a execução do skill
|
|
1069
|
+
|
|
1070
|
+
| Passo | Skill | Condição |
|
|
1071
|
+
|-------|-------|----------|
|
|
1072
|
+
| Passo 9 — Adicionar as stacks (opcional) | `/jarvis-create-specialization {área} {stack}` | Se a pessoa escolher criar um skill novo para uma stack que ainda não tem especialização instalada (uma stack por vez; pular o passo não chama nada) |
|
|
1073
|
+
|
|
1067
1074
|
---
|
|
1068
1075
|
|
|
1069
1076
|
## Validações de Segurança
|