jarvis-ai-framework 2.1.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +14 -115
- package/agents/AGENTS.md +11 -23
- package/agents/README.md +27 -129
- package/agents/engineering/data/eng.data-engineer.agent.md +11 -34
- package/agents/engineering/eng.advisor.agent.md +56 -0
- package/agents/engineering/eng.agent.md +14 -24
- package/agents/engineering/eng.bug-hunter.md +7 -15
- package/agents/engineering/eng.dev-code-reviewer.md +1 -1
- package/agents/engineering/eng.frontend.agent.md +3 -7
- package/agents/engineering/eng.rpa.agent.md +2 -8
- package/agents/engineering/qa/eng.qa.quality-strategist.md +6 -11
- package/agents/engineering/qa/eng.qa.test-architect.md +8 -18
- package/agents/engineering/qa/eng.qa.test-planner.md +10 -14
- package/agents/engineering/qa/eng.qa.testing-engineer.md +91 -24
- package/agents/product/prod.discovery-interviewer.md +3 -3
- package/bin/README.md +142 -0
- package/bin/commands/docs-publish.js +105 -141
- package/bin/commands/docs-sync.js +66 -104
- package/bin/commands/info.js +7 -27
- package/bin/commands/init.js +23 -51
- package/bin/commands/install-rtk.js +9 -3
- package/bin/commands/list.js +5 -18
- package/bin/commands/map.js +20 -5
- package/bin/commands/qa-signoff.js +58 -55
- package/bin/commands/tokens.js +14 -17
- package/bin/commands/whoami.js +30 -26
- package/bin/jarvis.js +9 -163
- package/bin/lib/auth/session.js +20 -20
- package/bin/lib/cli/program.js +219 -0
- package/bin/lib/cli/shared-options.js +29 -0
- package/bin/lib/config/constants.js +59 -2
- package/bin/lib/config/ide-config.js +4 -8
- package/bin/lib/core/profile-filter.js +4 -1
- package/bin/lib/core/scanner.js +3 -29
- package/bin/lib/core/sync-engine.js +21 -14
- package/bin/lib/core/token-report.js +12 -2
- package/bin/lib/docs/fetch-file.js +39 -0
- package/bin/lib/docs/publish-file.js +194 -0
- package/bin/lib/docs/redis-cache.js +49 -0
- package/bin/lib/docs/validate-frontmatter.js +9 -39
- package/bin/lib/env-loader.js +11 -34
- package/bin/lib/flow-map/parse.js +11 -5
- package/bin/lib/flow-map/render.js +5 -2
- package/bin/lib/flow-map/tree.js +59 -10
- package/bin/lib/tasks/comment.js +40 -35
- package/bin/lib/utils/frontmatter.js +57 -0
- package/bin/lib/utils/git-parser.js +4 -6
- package/bin/lib/utils/npmrc-parser.js +6 -13
- package/bin/lib/utils/paths.js +2 -4
- package/bin/lib/utils/ui.js +3 -9
- package/bin/lib/vcs/api.js +25 -41
- package/bin/lib/vcs/create-issue.js +49 -33
- package/bin/lib/vcs/create-merge.js +47 -31
- package/bin/lib/vcs/fetch-raw.js +35 -23
- package/package.json +14 -5
- package/rules/engineering/eng-rules.md +1 -1
- package/rules/engineering/eng-security-rules.md +18 -16
- package/rules/engineering/eng.bump-rules.md +3 -2
- package/rules/engineering/eng.docs-scraping-rules.md +4 -4
- package/rules/engineering/eng.integrations-rules.md +6 -4
- package/rules/engineering/eng.skills-rules.md +1 -1
- package/rules/engineering/eng.specializations-rules.md +18 -4
- package/rules/engineering/frontend/eng.frontend-rules.md +1 -4
- package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +1 -1
- package/rules/engineering/rpa/eng.rpa-rules.md +4 -9
- package/rules-on-demand/engineering/eng.pre-pr-rules.md +1 -1
- package/rules-on-demand/engineering/eng.start-rules.md +2 -0
- package/skills/AGENTS.md +52 -87
- package/skills/SKILLS-ROADMAP.md +47 -128
- package/skills/eng-ai/SKILL.md +270 -0
- package/skills/eng-ai/references/1-fundamentos-ml.md +24 -0
- package/skills/eng-ai/references/10-arquitetura-solucoes-ia.md +24 -0
- package/skills/eng-ai/references/11-governanca-ia.md +24 -0
- package/skills/eng-ai/references/12-seguranca-ia-responsavel.md +25 -0
- package/skills/eng-ai/references/2-matematica-estatistica.md +24 -0
- package/skills/eng-ai/references/3-dados-para-ia.md +24 -0
- package/skills/eng-ai/references/4-deep-learning-fundacionais.md +24 -0
- package/skills/eng-ai/references/5-llms-chatbots-agentes-rag.md +25 -0
- package/skills/eng-ai/references/6-avaliacao-experimentacao.md +24 -0
- package/skills/eng-ai/references/7-engenharia-sistemas-ia.md +24 -0
- package/skills/eng-ai/references/8-mlops-plataforma.md +24 -0
- package/skills/eng-ai/references/9-produto-ia.md +24 -0
- package/skills/eng-ai/references/especializacoes.md +17 -0
- package/skills/eng-automation/SKILL.md +290 -0
- package/skills/eng-automation/references/1-fundamentos-automacao.md +25 -0
- package/skills/eng-automation/references/10-ingestao-dados.md +25 -0
- package/skills/eng-automation/references/11-captcha-antibot.md +25 -0
- package/skills/eng-automation/references/12-limites-taxa-sessoes.md +25 -0
- package/skills/eng-automation/references/13-agendamento-orquestracao.md +24 -0
- package/skills/eng-automation/references/14-retentativa-erros.md +25 -0
- package/skills/eng-automation/references/15-autenticacao-credenciais.md +24 -0
- package/skills/eng-automation/references/16-observabilidade-confiabilidade.md +24 -0
- package/skills/eng-automation/references/2-aquisicao-dados.md +25 -0
- package/skills/eng-automation/references/3-automacao-navegador.md +24 -0
- package/skills/eng-automation/references/4-scraping-crawling.md +25 -0
- package/skills/eng-automation/references/5-apis-rest-graphql-soap.md +26 -0
- package/skills/eng-automation/references/6-webhooks-integracao.md +25 -0
- package/skills/eng-automation/references/7-rpa.md +25 -0
- package/skills/eng-automation/references/8-extracao-estruturada.md +25 -0
- package/skills/eng-automation/references/9-extracao-documentos.md +25 -0
- package/skills/eng-automation/references/especializacoes.md +18 -0
- package/skills/eng-backend-nestjs/SKILL.md +1 -1
- package/skills/eng-data/SKILL.md +271 -0
- package/skills/eng-data/references/1-fundamentos-dados.md +24 -0
- package/skills/eng-data/references/10-ciencia-dados.md +24 -0
- package/skills/eng-data/references/11-dataops-plataforma.md +24 -0
- package/skills/eng-data/references/12-seguranca-privacidade.md +24 -0
- package/skills/eng-data/references/2-modelagem-dados.md +24 -0
- package/skills/eng-data/references/3-bancos-dados.md +24 -0
- package/skills/eng-data/references/4-arquitetura-dados.md +24 -0
- package/skills/eng-data/references/5-pipelines-integracao.md +24 -0
- package/skills/eng-data/references/6-qualidade-dados.md +24 -0
- package/skills/eng-data/references/7-governanca-metadados.md +24 -0
- package/skills/eng-data/references/8-estatistica-analise.md +24 -0
- package/skills/eng-data/references/9-analytics-bi.md +24 -0
- package/skills/eng-data/references/especializacoes.md +20 -0
- package/skills/eng-frontend/SKILL.md +12 -5
- package/skills/eng-frontend/references/13-design-system.md +48 -0
- package/skills/eng-frontend/references/14-microfrontend.md +46 -0
- package/skills/eng-global-task-comment/SKILL.md +3 -3
- package/skills/eng-platform/SKILL.md +331 -0
- package/skills/eng-platform/references/1-fundamentos-sistemas.md +23 -0
- package/skills/eng-platform/references/10-resiliencia-arquitetura.md +24 -0
- package/skills/eng-platform/references/11-plataforma-devex.md +24 -0
- package/skills/eng-platform/references/12-finops-custos.md +24 -0
- package/skills/eng-platform/references/13-seguranca-fundamentos.md +26 -0
- package/skills/eng-platform/references/14-profiling-performance.md +23 -0
- package/skills/eng-platform/references/15-testes-carga-chaos.md +23 -0
- package/skills/eng-platform/references/16-cache-multicamada.md +22 -0
- package/skills/eng-platform/references/2-redes.md +23 -0
- package/skills/eng-platform/references/3-cloud.md +24 -0
- package/skills/eng-platform/references/4-iac-automacao.md +24 -0
- package/skills/eng-platform/references/5-containers-orquestracao.md +25 -0
- package/skills/eng-platform/references/6-cicd-entrega.md +24 -0
- package/skills/eng-platform/references/7-observabilidade.md +24 -0
- package/skills/eng-platform/references/8-confiabilidade-sre.md +24 -0
- package/skills/eng-platform/references/9-seguranca-infra.md +26 -0
- package/skills/eng-platform/references/especializacoes.md +34 -0
- package/skills/eng-qa/SKILL.md +283 -0
- package/skills/eng-qa/references/1-fundamentos-qualidade.md +25 -0
- package/skills/eng-qa/references/10-confiabilidade.md +25 -0
- package/skills/eng-qa/references/11-seguranca.md +24 -0
- package/skills/eng-qa/references/12-acessibilidade.md +24 -0
- package/skills/eng-qa/references/13-dados-testes.md +24 -0
- package/skills/eng-qa/references/14-gestao-testes-defeitos.md +25 -0
- package/skills/eng-qa/references/15-arquitetura-qa.md +25 -0
- package/skills/eng-qa/references/2-estrategia-planejamento.md +25 -0
- package/skills/eng-qa/references/3-design-testes.md +25 -0
- package/skills/eng-qa/references/4-manual-exploratorio.md +24 -0
- package/skills/eng-qa/references/5-automacao-testes.md +25 -0
- package/skills/eng-qa/references/6-api-integracao.md +25 -0
- package/skills/eng-qa/references/7-contrato.md +24 -0
- package/skills/eng-qa/references/8-interface-compat-mobile.md +24 -0
- package/skills/eng-qa/references/9-performance.md +24 -0
- package/skills/eng-qa/references/especializacoes.md +29 -0
- package/skills/eng-qa-planner/SKILL.md +264 -0
- package/skills/jarvis-context-detect/SKILL.md +1 -1
- package/skills/jarvis-context-detect/assets/context-profile-template.md +1 -1
- package/skills/jarvis-create-specialization/SKILL.md +8 -0
- package/skills/jarvis-docs-central/README.md +31 -28
- package/skills/jarvis-docs-central/SKILL.md +5 -5
- package/skills/jarvis-init/SKILL.md +9 -8
- package/skills/jarvis-init/assets/passo-adicionar-stacks.md +47 -18
- package/skills/jarvis-list-specializations/SKILL.md +30 -17
- package/skills/jarvis-report-issue/SKILL.md +1 -1
- package/taxonomy.md +4 -16
- package/templates/AGENTS.md +2 -0
- package/templates/ENV-template.md +20 -2
- package/templates/engineering/advisor-template.md +65 -0
- package/templates/engineering/architecture-template.md +52 -4
- package/templates/engineering/qa/qa.sprint-plan-template.md +1 -1
- package/workflows/AGENTS.md +3 -1
- package/workflows/README.md +0 -10
- package/workflows/engineering/data/data.new-pipeline.md +6 -5
- package/workflows/engineering/eng.bug-audit.md +4 -14
- package/workflows/engineering/eng.debug.md +4 -20
- package/workflows/engineering/eng.plan.md +4 -26
- package/workflows/engineering/eng.pr.md +13 -63
- package/workflows/engineering/eng.pre-pr.md +14 -51
- package/workflows/engineering/eng.review.md +7 -13
- package/workflows/engineering/eng.rpa.robot.md +3 -9
- package/workflows/engineering/eng.start.md +37 -32
- package/workflows/engineering/eng.work.md +17 -40
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +1 -1
- package/workflows/product/prod.spec.discovery.md +2 -2
- package/workflows/warm-up.md +35 -63
- package/agents/engineering/eng.cybersecurity.agent.md +0 -486
- package/agents/engineering/qa/eng.qa.cypress-specialist.md +0 -112
- package/bin/lib/docs/fetch-file.sh +0 -41
- package/bin/lib/docs/publish-file.sh +0 -284
- package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +0 -137
- package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +0 -181
- package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +0 -120
- package/skills/eng-ai-engineer/SKILL.md +0 -303
- package/skills/eng-data-bi/SKILL.md +0 -206
- package/skills/eng-data-debug/SKILL.md +0 -314
- package/skills/eng-data-engineer/SKILL.md +0 -266
- package/skills/eng-data-onboard/SKILL.md +0 -317
- package/skills/eng-data-orchestrator/SKILL.md +0 -433
- package/skills/eng-devops-performance-engineer/SKILL.md +0 -319
- package/skills/eng-frontend-design-system/SKILL.md +0 -155
- package/skills/eng-frontend-design-system/references/1-estrutura-pacote.md +0 -57
- package/skills/eng-frontend-design-system/references/2-tokens.md +0 -116
- package/skills/eng-frontend-design-system/references/3-componentes.md +0 -165
- package/skills/eng-frontend-design-system/references/4-storybook.md +0 -85
- package/skills/eng-frontend-design-system/references/5-auditoria-versionamento.md +0 -76
- package/skills/eng-frontend-microfrontend/SKILL.md +0 -164
- package/skills/eng-frontend-microfrontend/references/1-criando-remote.md +0 -109
- package/skills/eng-frontend-microfrontend/references/2-configurando-shell.md +0 -70
- package/skills/eng-frontend-microfrontend/references/3-contratos-interface.md +0 -73
- package/skills/eng-frontend-microfrontend/references/4-shared-dependencies.md +0 -48
- package/skills/eng-frontend-microfrontend/references/5-event-bus.md +0 -59
- package/skills/eng-frontend-microfrontend/references/6-monorepo-deploy.md +0 -77
- package/skills/eng-frontend-microfrontend/references/7-troubleshooting.md +0 -45
- package/skills/eng-global-browser-extension-builder/SKILL.md +0 -392
- package/skills/eng-global-jira-comment/SKILL.md +0 -27
- package/skills/eng-qa-a11y-audit/SKILL.md +0 -276
- package/skills/eng-qa-bug-report/SKILL.md +0 -877
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +0 -138
- package/skills/eng-qa-bug-report/references/1-integracao-task-managers.md +0 -148
- package/skills/eng-qa-bug-report/references/2-exemplos-de-uso.md +0 -46
- package/skills/eng-qa-bug-report/references/3-bug-to-test.md +0 -45
- package/skills/eng-qa-cypress-e2e/SKILL.md +0 -184
- package/skills/eng-qa-dev-guide/SKILL.md +0 -173
- package/skills/eng-qa-e2e/SKILL.md +0 -407
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +0 -329
- package/skills/eng-qa-exploratory/SKILL.md +0 -196
- package/skills/eng-qa-gate/SKILL.md +0 -377
- package/skills/eng-qa-gate/assets/checklist-validacao.md +0 -291
- package/skills/eng-qa-graphql-contract/SKILL.md +0 -263
- package/skills/eng-qa-quality-report/SKILL.md +0 -419
- package/skills/eng-qa-test-plan/SKILL.md +0 -473
- package/skills/eng-qa-testsprite/SKILL.md +0 -332
- package/skills/eng-qa-testsprite/references/testsprite-mcp.md +0 -224
- package/skills/eng-qa-unit-test/SKILL.md +0 -478
- package/skills/eng-scraper/SKILL.md +0 -260
- package/skills/eng-scraper/references/1-puppeteer.md +0 -140
- package/skills/eng-scraper/references/2-playwright-cheerio-pdf.md +0 -82
- package/skills/eng-scraper/references/3-anti-bot.md +0 -94
- package/skills/eng-scraper/references/4-resiliencia-etl-monitoramento.md +0 -137
- package/skills/eng-scraper-robot-builder/SKILL.md +0 -377
- package/skills/eng-security-cybersecurity/SKILL.md +0 -250
- package/skills/eng-security-cybersecurity/references/1-owasp-top-10.md +0 -331
- package/skills/eng-security-cybersecurity/references/2-secrets-management.md +0 -31
- package/skills/eng-security-cybersecurity/references/3-input-validation.md +0 -43
- package/skills/eng-security-cybersecurity/references/4-compliance.md +0 -20
- package/skills/eng-security-patch/SKILL.md +0 -388
- package/skills/eng-security-threat-model/SKILL.md +0 -171
- package/skills/eng-security-triage/SKILL.md +0 -276
- package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +0 -311
- package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +0 -249
- package/templates/engineering/qa/qa.cypress-test-template.md +0 -172
- package/templates/engineering/qa/qa.exploratory-session-template.md +0 -148
- package/templates/engineering/qa/qa.quality-report-template.md +0 -130
- package/workflows/engineering/eng.security-audit.md +0 -319
- package/workflows/engineering/eng.security-incident.md +0 -281
- package/workflows/engineering/eng.security-pipeline.md +0 -219
- package/workflows/engineering/eng.security-review.md +0 -241
- package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +0 -57
- package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +0 -57
- package/workflows/engineering/qa/eng.qa-exploratory-session.md +0 -68
- package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +0 -209
- package/workflows/engineering/qa/eng.qa-quality-report.md +0 -85
- /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-coverage-template.md +0 -0
- /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-patterns.md +0 -0
- /package/templates/{CDD aplicado a Prompts.md → cdd-aplicado-a-prompts.md} +0 -0
|
@@ -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).
|
|
@@ -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**
|
|
@@ -302,7 +302,7 @@ URL: {url do MR/PR retornada pelo adapter}
|
|
|
302
302
|
- Inventar metadados (version, status, id)
|
|
303
303
|
- Editar `{SQUAD}/index.md` manualmente — sempre via `build-index.sh`
|
|
304
304
|
- Usar path em campos `related_*` — sempre basename apenas
|
|
305
|
-
- Usar
|
|
305
|
+
- Usar squad em minúsculas (ex: `core`) — sempre ALL-CAPS-COM-HIFEN: `MEU-SQUAD`
|
|
306
306
|
- Criar subpastas `engineering/index.md` ou `product/index.md` (não existem neste repo)
|
|
307
307
|
|
|
308
308
|
### Sempre
|
|
@@ -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
|
|
|
@@ -588,6 +588,7 @@ Nunca grave TOKEN_VERSION_CONTROL (chave removida do template).
|
|
|
588
588
|
| `CENTRAL_DOCS_REPO` / `_REF` / `_TARGET_BRANCH` / `_REVIEWERS` / `_CACHE_TTL` | *(opcional)* | Docs centrais |
|
|
589
589
|
| `SESSIONS_DIR` | `.jarvis/sessions` | Não perguntar — gravar fixo |
|
|
590
590
|
| `RTK_ENABLED` | `false` (ou true se detectar `rtk`) | Token Killer |
|
|
591
|
+
| `ADVISOR_MODELS` | `"Sonnet 5.5,Opus 5.5,Opus 5,Fable 5.1"` | Advisor do `eng.start` — não perguntar, gravar o padrão |
|
|
591
592
|
|
|
592
593
|
#### 4.1 Detecção do RTK (Token Killer)
|
|
593
594
|
|
|
@@ -1000,13 +1001,13 @@ cp "$pasta/$relPath" "$IDE/$pasta/$relPath" # $pasta = rules ou rules-on-deman
|
|
|
1000
1001
|
|
|
1001
1002
|
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.
|
|
1002
1003
|
|
|
1003
|
-
|
|
1004
|
+
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:
|
|
1004
1005
|
|
|
1005
|
-
1. Confere que
|
|
1006
|
-
2. Lista as especializações instaladas, registradas ou não, e deixa registrar 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**
|
|
1008
|
-
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
|
|
1009
|
-
5. Mostra um resumo das listas e do que foi registrado ou criado
|
|
1006
|
+
1. Confere que as 6 variáveis de especialização existem (acrescenta vazias as que faltarem)
|
|
1007
|
+
2. Lista as especializações instaladas de todas as 6 áreas, registradas ou não, e deixa registrar qualquer uma direto
|
|
1008
|
+
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)
|
|
1009
|
+
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
|
|
1010
|
+
5. Mostra um resumo das 6 listas e do que foi registrado ou criado
|
|
1010
1011
|
|
|
1011
1012
|
O tempo de ~10 minutos é referência, não limite. Nunca leia `.env*`, chaves ou credenciais.
|
|
1012
1013
|
|
|
@@ -1032,7 +1033,7 @@ O tempo de ~10 minutos é referência, não limite. Nunca leia `.env*`, chaves o
|
|
|
1032
1033
|
- Usuário: {USER}
|
|
1033
1034
|
- Cargo: {POSITION}
|
|
1034
1035
|
- Limite AI: {MAX_AI_EXECUTION_PERCENTAGE}%
|
|
1035
|
-
- Especializações: {
|
|
1036
|
+
- Especializações: {as 6 variáveis registradas, ou "só skill base" por área}
|
|
1036
1037
|
- CDD: habilitado
|
|
1037
1038
|
- JARVIS_PROJECT: {JARVIS_PROJECT}
|
|
1038
1039
|
|
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
Deixar o projeto especializado em torno de 10 minutos (tempo de **referência**, não limite; o passo nunca é interrompido por passar dele), sem que a pessoa descreva a stack à mão: o framework lê o workspace, mostra as stacks que encontrou e, para cada uma, sugere registrar o skill que já existe ou criar um novo.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
A **detecção por código e a criação de skill novo** (9.4-9.6) valem **só para backend e frontend** —
|
|
10
|
+
são as únicas áreas com universo de stack aberto. **Listar o que já está instalado e registrar
|
|
11
|
+
direto** (9.3) vale para as **6 áreas** com especialização: backend, frontend, qa, data, automation
|
|
12
|
+
e platform. As 4 últimas têm um conjunto fixo de skills pré-construídos (sem `metadata.stack`,
|
|
13
|
+
sem detecção por manifesto, sem criador) — só listar e registrar o que a pessoa aceitar.
|
|
10
14
|
|
|
11
15
|
## Regras gerais
|
|
12
16
|
|
|
@@ -30,9 +34,10 @@ Vale **só para backend e frontend**.
|
|
|
30
34
|
|
|
31
35
|
## 9.1 Conferir as variáveis das listas
|
|
32
36
|
|
|
33
|
-
Leia o `$IDE/ENV.md` e confirme que
|
|
37
|
+
Leia o `$IDE/ENV.md` e confirme que as **6 variáveis** existem (vazias valem):
|
|
38
|
+
`BACKEND_SPECIALIZATIONS`, `FRONTEND_SPECIALIZATIONS`, `QA_SPECIALIZATIONS`, `DATA_SPECIALIZATIONS`, `AUTOMATION_SPECIALIZATIONS`, `PLATFORM_SPECIALIZATIONS`.
|
|
34
39
|
|
|
35
|
-
- Se **faltar**
|
|
40
|
+
- Se **faltar** alguma, acrescente-a ao final do `ENV.md` com o valor padrão do `templates/ENV-template.md` (vazia para todas, **exceto `QA_SPECIALIZATIONS=eng-qa-planner`**) **antes** de oferecer o passo. Não altere nenhuma outra linha.
|
|
36
41
|
- Se existirem, siga.
|
|
37
42
|
|
|
38
43
|
## 9.2 Oferecer o passo
|
|
@@ -40,19 +45,23 @@ Leia o `$IDE/ENV.md` e confirme que `BACKEND_SPECIALIZATIONS` e `FRONTEND_SPECIA
|
|
|
40
45
|
Pergunte, em texto:
|
|
41
46
|
|
|
42
47
|
```
|
|
43
|
-
Deseja adicionar
|
|
44
|
-
(Leva em torno de 10 minutos como referência
|
|
48
|
+
Deseja adicionar especializações ao projeto agora?
|
|
49
|
+
(Leva em torno de 10 minutos como referência.)
|
|
45
50
|
|
|
46
|
-
A: Sim, adicionar
|
|
47
|
-
B: Pular (o projeto usa só
|
|
51
|
+
A: Sim, adicionar especializações
|
|
52
|
+
B: Pular (o projeto usa só as skills base; dá para adicionar depois com
|
|
53
|
+
/jarvis-list-specializations e /jarvis-create-specialization)
|
|
48
54
|
```
|
|
49
55
|
|
|
50
56
|
- **B (pular):** informe que as listas **ficam como estão** e siga para o passo 10. Nada é alterado.
|
|
51
57
|
- **A:** siga para o 9.3.
|
|
52
58
|
|
|
53
|
-
## 9.3 Listar as especializações instaladas
|
|
59
|
+
## 9.3 Listar as especializações instaladas (6 áreas)
|
|
54
60
|
|
|
55
|
-
Leia o frontmatter de cada `$IDE/skills/*/SKILL.md` (comando de comparação em [sinais-de-stack.md](sinais-de-stack.md)) e mostre as **especializações
|
|
61
|
+
Leia o frontmatter de cada `$IDE/skills/*/SKILL.md` (comando de comparação em [sinais-de-stack.md](sinais-de-stack.md)) e mostre as **especializações das 6 áreas**, estejam ou não registradas nas listas:
|
|
62
|
+
|
|
63
|
+
- Backend e frontend: skills com `metadata.area` correspondente **e** `metadata.stack`
|
|
64
|
+
- QA, data, automation, platform: skills com `metadata.area` correspondente **e sem** `metadata.stack` (exceto a própria skill base da área)
|
|
56
65
|
|
|
57
66
|
```
|
|
58
67
|
### Backend
|
|
@@ -62,11 +71,27 @@ Leia o frontmatter de cada `$IDE/skills/*/SKILL.md` (comando de comparação em
|
|
|
62
71
|
|
|
63
72
|
### Frontend
|
|
64
73
|
(nenhuma instalada)
|
|
74
|
+
|
|
75
|
+
### QA
|
|
76
|
+
| Skill | Registrada |
|
|
77
|
+
|-------|------------|
|
|
78
|
+
| eng-qa-planner | ✅ (padrão) |
|
|
79
|
+
|
|
80
|
+
### Data
|
|
81
|
+
(nenhuma instalada)
|
|
82
|
+
|
|
83
|
+
### Automation
|
|
84
|
+
(nenhuma instalada)
|
|
85
|
+
|
|
86
|
+
### Platform
|
|
87
|
+
(nenhuma instalada)
|
|
65
88
|
```
|
|
66
89
|
|
|
67
|
-
Pergunte: **"Quer registrar alguma delas agora
|
|
90
|
+
Pergunte: **"Quer registrar alguma delas agora?"** Se sim, registre pelo 9.6 e siga.
|
|
91
|
+
|
|
92
|
+
> Sub-passos 9.4-9.6 (detecção por código e criação de skill novo) valem **só para backend e frontend** — para QA/data/automation/platform, este sub-passo 9.3 já é o fluxo inteiro (listar + registrar).
|
|
68
93
|
|
|
69
|
-
## 9.4 Detectar as stacks do workspace (só leitura)
|
|
94
|
+
## 9.4 Detectar as stacks do workspace (só leitura, só backend/frontend)
|
|
70
95
|
|
|
71
96
|
**Quais projetos analisar:**
|
|
72
97
|
|
|
@@ -112,31 +137,35 @@ Para backend / php: não há skill especializado. Sugiro criar (eng-backend-php)
|
|
|
112
137
|
|
|
113
138
|
A pessoa escolhe quais sugestões aceitar. **O que ela não aceita não é alterado.**
|
|
114
139
|
|
|
115
|
-
## 9.6 Aplicar o que foi aceito (
|
|
140
|
+
## 9.6 Aplicar o que foi aceito (um item por vez)
|
|
116
141
|
|
|
117
|
-
**Registrar um skill existente:**
|
|
142
|
+
**Registrar um skill existente (qualquer uma das 6 áreas):**
|
|
118
143
|
|
|
119
|
-
1. Leia a linha `VAR=...` da área e separe os itens (aceita colchetes, espaços e aspas):
|
|
120
|
-
`grep -E '^
|
|
144
|
+
1. Leia a linha `{VAR}=...` da área (`BACKEND_SPECIALIZATIONS`, `FRONTEND_SPECIALIZATIONS`, `QA_SPECIALIZATIONS`, `DATA_SPECIALIZATIONS`, `AUTOMATION_SPECIALIZATIONS` ou `PLATFORM_SPECIALIZATIONS`) e separe os itens (aceita colchetes, espaços e aspas):
|
|
145
|
+
`grep -E '^{VAR}=' $IDE/ENV.md | cut -d= -f2- | tr -d '[]" ' | tr ',' '\n' | grep -v '^$'`
|
|
121
146
|
2. Se o nome do skill **não está** na lista: acrescente ao **final**. Os demais itens ficam como estavam; só o formato da linha é normalizado (**separado por vírgula, sem colchetes**).
|
|
122
147
|
3. Se **já está**: não duplique e avise.
|
|
123
148
|
4. Edite **só a linha dessa variável** e **releia** o `ENV.md` para confirmar.
|
|
124
149
|
|
|
125
|
-
**Criar um skill novo:** chame `/jarvis-create-specialization {área} {stack}`. O criador lê o projeto, mostra o skill para revisão e só grava e registra depois da confirmação da pessoa. Faça **uma stack por vez** e espere o criador terminar antes da próxima.
|
|
150
|
+
**Criar um skill novo (só backend/frontend):** chame `/jarvis-create-specialization {área} {stack}`. O criador lê o projeto, mostra o skill para revisão e só grava e registra depois da confirmação da pessoa. Faça **uma stack por vez** e espere o criador terminar antes da próxima. Para QA/data/automation/platform não há criador — só registrar o que já existe (9.6, passo 1-4).
|
|
126
151
|
|
|
127
152
|
## 9.7 Resumo final
|
|
128
153
|
|
|
129
154
|
Mostre o que ficou configurado:
|
|
130
155
|
|
|
131
156
|
```
|
|
132
|
-
✅
|
|
157
|
+
✅ Especializações configuradas
|
|
133
158
|
|
|
134
159
|
📋 BACKEND_SPECIALIZATIONS={lista atual ou "(vazia: só a skill base)"}
|
|
135
160
|
📋 FRONTEND_SPECIALIZATIONS={lista atual ou "(vazia: só a skill base)"}
|
|
161
|
+
📋 QA_SPECIALIZATIONS={lista atual ou "(vazia: só a skill base)"}
|
|
162
|
+
📋 DATA_SPECIALIZATIONS={lista atual ou "(vazia: só a skill base)"}
|
|
163
|
+
📋 AUTOMATION_SPECIALIZATIONS={lista atual ou "(vazia: só a skill base)"}
|
|
164
|
+
📋 PLATFORM_SPECIALIZATIONS={lista atual ou "(vazia: só a skill base)"}
|
|
136
165
|
|
|
137
166
|
Registradas: {nomes registrados agora, ou "nenhuma"}
|
|
138
167
|
Criadas: {nomes criados agora, ou "nenhuma"}
|
|
139
|
-
Puladas: {
|
|
168
|
+
Puladas: {itens que a pessoa não aceitou, ou "nenhum"}
|
|
140
169
|
|
|
141
170
|
Para acrescentar outra especialização a qualquer momento: /jarvis-create-specialization
|
|
142
171
|
Para ver o que está instalado e registrado: /jarvis-list-specializations
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jarvis-list-specializations
|
|
3
3
|
description: >
|
|
4
|
-
Lista as especializações
|
|
5
|
-
|
|
6
|
-
o ENV.md, as listas nem nenhum skill.
|
|
4
|
+
Lista as especializações instaladas no projeto nas 6 áreas com especialização (backend, frontend,
|
|
5
|
+
qa, data, automation, platform), a área de cada uma e se está registrada na variável
|
|
6
|
+
`{ÁREA}_SPECIALIZATIONS` correspondente. Só lê: não altera o ENV.md, as listas nem nenhum skill.
|
|
7
7
|
Trigger: Use para ver quais especializações existem, quais estão registradas e quais skills estão
|
|
8
8
|
sem marcação de área.
|
|
9
9
|
license: AGPL-3.0
|
|
@@ -14,7 +14,7 @@ metadata:
|
|
|
14
14
|
version: "1.0"
|
|
15
15
|
area: global
|
|
16
16
|
# Campos Claude Code-specific (não fazem parte da spec oficial agentskills.io):
|
|
17
|
-
argument-hint: "[backend|frontend]"
|
|
17
|
+
argument-hint: "[backend|frontend|qa|data|automation|platform]"
|
|
18
18
|
disable-model-invocation: false
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -26,11 +26,11 @@ Mostrar, sem alterar nada, **todas as especializações instaladas** no projeto,
|
|
|
26
26
|
|
|
27
27
|
## Entrada
|
|
28
28
|
|
|
29
|
-
- `$ARGUMENTS` - (Opcional) `backend` ou `
|
|
29
|
+
- `$ARGUMENTS` - (Opcional) `backend`, `frontend`, `qa`, `data`, `automation` ou `platform`, para listar só uma área. Vazio lista as 6.
|
|
30
30
|
|
|
31
31
|
## Recursos
|
|
32
32
|
|
|
33
|
-
- **ENV**: `$IDE/ENV.md` (listas `BACKEND_SPECIALIZATIONS`
|
|
33
|
+
- **ENV**: `$IDE/ENV.md` (listas `BACKEND_SPECIALIZATIONS`, `FRONTEND_SPECIALIZATIONS`, `QA_SPECIALIZATIONS`, `DATA_SPECIALIZATIONS`, `AUTOMATION_SPECIALIZATIONS`, `PLATFORM_SPECIALIZATIONS`)
|
|
34
34
|
- **Skills instalados**: `$IDE/skills/*/SKILL.md` (só o frontmatter)
|
|
35
35
|
- **Regra relacionada**: `$IDE/rules/engineering/eng.specializations-rules.md`
|
|
36
36
|
- **Criação**: `$IDE/skills/jarvis-create-specialization/SKILL.md`
|
|
@@ -52,11 +52,15 @@ O arquivo ENV.md não existe. Execute /jarvis-init antes de continuar.
|
|
|
52
52
|
|
|
53
53
|
### Passo 1: Ler as listas
|
|
54
54
|
|
|
55
|
-
Para cada
|
|
55
|
+
Para cada uma das 6 áreas, leia a lista (aceita vírgula, colchetes, espaços e aspas):
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
58
|
grep -E '^BACKEND_SPECIALIZATIONS=' $IDE/ENV.md | cut -d= -f2- | tr -d '[]" ' | tr ',' '\n' | grep -v '^$'
|
|
59
59
|
grep -E '^FRONTEND_SPECIALIZATIONS=' $IDE/ENV.md | cut -d= -f2- | tr -d '[]" ' | tr ',' '\n' | grep -v '^$'
|
|
60
|
+
grep -E '^QA_SPECIALIZATIONS=' $IDE/ENV.md | cut -d= -f2- | tr -d '[]" ' | tr ',' '\n' | grep -v '^$'
|
|
61
|
+
grep -E '^DATA_SPECIALIZATIONS=' $IDE/ENV.md | cut -d= -f2- | tr -d '[]" ' | tr ',' '\n' | grep -v '^$'
|
|
62
|
+
grep -E '^AUTOMATION_SPECIALIZATIONS=' $IDE/ENV.md | cut -d= -f2- | tr -d '[]" ' | tr ',' '\n' | grep -v '^$'
|
|
63
|
+
grep -E '^PLATFORM_SPECIALIZATIONS=' $IDE/ENV.md | cut -d= -f2- | tr -d '[]" ' | tr ',' '\n' | grep -v '^$'
|
|
60
64
|
```
|
|
61
65
|
|
|
62
66
|
Se uma variável **não existir** no `ENV.md`, informe que ela falta (sem criá-la) e siga com o restante.
|
|
@@ -77,18 +81,22 @@ done
|
|
|
77
81
|
|
|
78
82
|
### Passo 3: Classificar
|
|
79
83
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
| `
|
|
83
|
-
|
|
84
|
-
| `
|
|
85
|
-
| ausente |
|
|
84
|
+
As 6 áreas com especialização têm uma skill base fixa: `eng-backend`, `eng-frontend`, `eng-qa`, `eng-data`, `eng-automation`, `eng-platform`.
|
|
85
|
+
|
|
86
|
+
| `metadata.area` | `metadata.stack` | `name` | Classificação |
|
|
87
|
+
|---|---|---|---|
|
|
88
|
+
| `backend` ou `frontend` | presente | — | **Especialização** da área |
|
|
89
|
+
| `backend` ou `frontend` | ausente | — | **Skill base** da área (não é especialização) |
|
|
90
|
+
| `qa`, `data`, `automation` ou `platform` | — | igual à skill base da área | **Skill base** da área |
|
|
91
|
+
| `qa`, `data`, `automation` ou `platform` | — | diferente da skill base | **Especialização** da área (nunca tem `stack`) |
|
|
92
|
+
| `global`, `product`, `ai`, `devops` ou outra | qualquer | — | Fora da listagem |
|
|
93
|
+
| ausente | qualquer | — | **Pendente** (sem marcação de área) |
|
|
86
94
|
|
|
87
95
|
### Passo 4: Cruzar com as listas
|
|
88
96
|
|
|
89
|
-
- Uma especialização está **registrada** se o `name` consta na lista da sua área.
|
|
97
|
+
- Uma especialização está **registrada** se o `name` consta na lista `{ÁREA}_SPECIALIZATIONS` da sua área.
|
|
90
98
|
- Um item da lista **sem skill instalado** aparece como "registrado sem skill instalado".
|
|
91
|
-
- Se `$ARGUMENTS` for
|
|
99
|
+
- Se `$ARGUMENTS` for uma das 6 áreas, mostre só essa área.
|
|
92
100
|
|
|
93
101
|
### Skills invocados durante a execução do skill
|
|
94
102
|
|
|
@@ -100,7 +108,7 @@ done
|
|
|
100
108
|
|
|
101
109
|
## Saída
|
|
102
110
|
|
|
103
|
-
Por área, uma tabela:
|
|
111
|
+
Por área, uma tabela (backend/frontend têm coluna "Stack"; qa/data/automation/platform não):
|
|
104
112
|
|
|
105
113
|
```
|
|
106
114
|
### Backend
|
|
@@ -110,12 +118,17 @@ Por área, uma tabela:
|
|
|
110
118
|
| eng-backend-php | php | ➖ |
|
|
111
119
|
|
|
112
120
|
Registrado sem skill instalado: eng-backend-naoexiste
|
|
121
|
+
|
|
122
|
+
### QA
|
|
123
|
+
| Skill | Registrada |
|
|
124
|
+
|-------|------------|
|
|
125
|
+
| eng-qa-planner | ✅ |
|
|
113
126
|
```
|
|
114
127
|
|
|
115
128
|
Depois, os **pendentes** em uma única linha:
|
|
116
129
|
|
|
117
130
|
```
|
|
118
|
-
Sem marcação de área (pendentes):
|
|
131
|
+
Sem marcação de área (pendentes): algum-skill-sem-area, outro-skill-sem-area, ...
|
|
119
132
|
```
|
|
120
133
|
|
|
121
134
|
Sem nenhuma especialização instalada, diga: `Nenhuma especialização instalada.`
|
|
@@ -114,7 +114,7 @@ BODY_FILE=$(mktemp)
|
|
|
114
114
|
|
|
115
115
|
REPO=$(grep -E '^(JARVIS_PROJECT|JARVIS_GITLAB_PROJECT)=' $IDE/ENV.md | tail -1 | cut -d= -f2-)
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
jarvis vcs create-issue \
|
|
118
118
|
--repo "$REPO" \
|
|
119
119
|
--title "$ISSUE_TITLE" \
|
|
120
120
|
--body-file "$BODY_FILE"
|
package/taxonomy.md
CHANGED
|
@@ -4,7 +4,7 @@ Define a estrutura organizacional, vocabulário e configurações do framework J
|
|
|
4
4
|
> **📝 Como usar**: Este arquivo define as opções válidas para variáveis do ENV.md.
|
|
5
5
|
> Edite este arquivo para customizar as opções da sua organização antes de instalar o framework.
|
|
6
6
|
>
|
|
7
|
-
> **Domínio de Email**:
|
|
7
|
+
> **Domínio de Email**: ver seção "Domain" abaixo.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -121,7 +121,7 @@ Designação secundária para devs com função parcial de qualidade dentro do s
|
|
|
121
121
|
Não é uma posição de senioridade — o dev mantém seu cargo (JUNIOR, PLENO, SENIOR, etc.).
|
|
122
122
|
Registrado no campo Posição do `members.md` junto com o cargo principal.
|
|
123
123
|
- Responsável por cobertura de testes em features de baixo/médio risco do squad
|
|
124
|
-
- Executa quality gates e orienta outros devs
|
|
124
|
+
- Executa quality gates e orienta outros devs com a base eng-qa
|
|
125
125
|
- NÃO substitui QA em features críticas, decisões de bloqueio ou sign-off de release
|
|
126
126
|
- Dedicação típica: ~30% do tempo em atividades de qualidade
|
|
127
127
|
- No card: apoia o QA-ENGINEER na cobertura — não toma decisões de bloqueio
|
|
@@ -165,26 +165,14 @@ DOMAIN:
|
|
|
165
165
|
|
|
166
166
|
## 🌐 Domain (Domínio de Email Corporativo)
|
|
167
167
|
|
|
168
|
-
Define o domínio de email corporativo para validação e padronização de emails.
|
|
168
|
+
Define o domínio de email corporativo para validação e padronização de emails. A instrução `DOMAIN:` fica numa única linha, logo após a seção Areas (ver acima) — não repita essa linha em outro lugar deste arquivo.
|
|
169
169
|
|
|
170
|
-
**ADICIONAR APENAS UMA LINHA APÓS AREAS:**
|
|
171
|
-
|
|
172
|
-
```markdown
|
|
173
|
-
DOMAIN:
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Como Funciona
|
|
177
170
|
- Todos os emails devem terminar com `@DOMAIN`
|
|
178
171
|
- Usado na validação de ENV.md durante `/jarvis-init`
|
|
179
172
|
- Garante que apenas emails corporativos sejam registrados
|
|
180
173
|
- Exemplo: `pedro@domain.com.br`, `ana@domain.com.br`
|
|
181
174
|
|
|
182
|
-
|
|
183
|
-
Deixe em branco ou remova a linha:
|
|
184
|
-
|
|
185
|
-
```markdown
|
|
186
|
-
DOMAIN:
|
|
187
|
-
```
|
|
175
|
+
**Para open source, sem restrição**: deixe a linha em branco (`DOMAIN:`) ou remova-a.
|
|
188
176
|
|
|
189
177
|
---
|
|
190
178
|
|
package/templates/AGENTS.md
CHANGED
|
@@ -16,6 +16,7 @@ A pasta `templates/` contem **modelos de documentos** usados pelo framework para
|
|
|
16
16
|
templates/
|
|
17
17
|
├── engineering/ # Templates tecnicos
|
|
18
18
|
│ ├── architecture-template.md # Template de arquitetura
|
|
19
|
+
│ ├── advisor-template.md # Prompts e auditoria do Advisor
|
|
19
20
|
│ ├── ARD-template.md # Architecture Review Document
|
|
20
21
|
│ ├── RFC-template.md # Request For Comments
|
|
21
22
|
│ ├── RFC-Playbook@1.0.0.md # Playbook para RFCs
|
|
@@ -105,6 +106,7 @@ Use chaves `{...}` para indicar campos a serem preenchidos:
|
|
|
105
106
|
| Template | Uso | Comando |
|
|
106
107
|
|----------|-----|---------|
|
|
107
108
|
| `architecture-template.md` | Design arquitetural | `/eng.start` |
|
|
109
|
+
| `advisor-template.md` | Prompts do Advisor e modelo de auditoria | `/eng.start` |
|
|
108
110
|
| `ARD-template.md` | Revisao de arquitetura | `/eng.create-ard` |
|
|
109
111
|
| `RFC-template.md` | Proposta de mudanca | `/eng.create-rfc` |
|
|
110
112
|
| `tech-spec-template.md` | Especificacao tecnica | `/eng.build-tech-spec` |
|
|
@@ -65,12 +65,20 @@ PROD_TEMPLATES=.$IDE/$TEMPLATES_FOLDER/$PROD_FOLDER_NAME
|
|
|
65
65
|
PROD_DOCS=$DOCS_FOLDER/$PROD_FOLDER_NAME
|
|
66
66
|
|
|
67
67
|
|
|
68
|
-
# --- Especializações
|
|
68
|
+
# --- Especializações por área -------------------------------------------------
|
|
69
69
|
# Skills especializados que o Jarvis carrega junto com o skill base de cada área.
|
|
70
70
|
# Lista de nomes de skill separados por vírgula. Ex: eng-backend-golang,eng-backend-nestjs
|
|
71
|
-
# Vazio = só o skill base (eng-backend
|
|
71
|
+
# Vazio = só o skill base de cada área (eng-backend, eng-frontend, eng-qa,
|
|
72
|
+
# eng-data, eng-automation, eng-platform). Toda variável precisa EXISTIR,
|
|
73
|
+
# mesmo vazia — ver rules/engineering/eng.specializations-rules.md.
|
|
74
|
+
# QA_SPECIALIZATIONS vem com eng-qa-planner por padrão: é a única especialização de QA hoje
|
|
75
|
+
# e cobre planejamento/gap de cobertura, útil pra quase todo projeto. Remova se não quiser.
|
|
72
76
|
BACKEND_SPECIALIZATIONS=
|
|
73
77
|
FRONTEND_SPECIALIZATIONS=
|
|
78
|
+
QA_SPECIALIZATIONS=eng-qa-planner
|
|
79
|
+
DATA_SPECIALIZATIONS=
|
|
80
|
+
AUTOMATION_SPECIALIZATIONS=
|
|
81
|
+
PLATFORM_SPECIALIZATIONS=
|
|
74
82
|
|
|
75
83
|
|
|
76
84
|
# --- Task manager (opcional) -------------------------------------------------
|
|
@@ -136,6 +144,16 @@ SMTP=[google, ses, sendgrid]
|
|
|
136
144
|
RTK_ENABLED=false
|
|
137
145
|
|
|
138
146
|
|
|
147
|
+
# --- Advisor (opcional) ------------------------------------------------------
|
|
148
|
+
# Modelos oferecidos quando o usuário escolhe usar o Advisor no início do eng.start,
|
|
149
|
+
# separados por vírgula. Até 4 viram opções da pergunta; o resto fica em "Outro".
|
|
150
|
+
# Vazio ou ausente = o Advisor usa "Sonnet 5.5" (fallback).
|
|
151
|
+
# Tradução para a IDE pela família (primeira palavra, em minúsculas: Sonnet → sonnet,
|
|
152
|
+
# Opus → opus, Fable → fable). No Claude Code só a família é respeitada: "Opus 5.5"
|
|
153
|
+
# e "Opus 5" abrem o mesmo modelo; remova um deles se quiser só opções distintas.
|
|
154
|
+
ADVISOR_MODELS="Sonnet 5.5,Opus 5.5,Opus 5,Fable 5.1"
|
|
155
|
+
|
|
156
|
+
|
|
139
157
|
# --- Data Engineering (só se HUB=DATA) ---------------------------------------
|
|
140
158
|
# Obrigatório quando HUB=DATA. Omitir o bloco inteiro se o HUB for outro.
|
|
141
159
|
DATA_ORCHESTRATOR=[airflow, prefect, dagster, glue-scheduler]
|