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.
Files changed (266) hide show
  1. package/AGENTS.md +14 -115
  2. package/agents/AGENTS.md +11 -23
  3. package/agents/README.md +27 -129
  4. package/agents/engineering/data/eng.data-engineer.agent.md +11 -34
  5. package/agents/engineering/eng.advisor.agent.md +56 -0
  6. package/agents/engineering/eng.agent.md +14 -24
  7. package/agents/engineering/eng.bug-hunter.md +7 -15
  8. package/agents/engineering/eng.dev-code-reviewer.md +1 -1
  9. package/agents/engineering/eng.frontend.agent.md +3 -7
  10. package/agents/engineering/eng.rpa.agent.md +2 -8
  11. package/agents/engineering/qa/eng.qa.quality-strategist.md +6 -11
  12. package/agents/engineering/qa/eng.qa.test-architect.md +8 -18
  13. package/agents/engineering/qa/eng.qa.test-planner.md +10 -14
  14. package/agents/engineering/qa/eng.qa.testing-engineer.md +91 -24
  15. package/agents/product/prod.discovery-interviewer.md +3 -3
  16. package/bin/README.md +142 -0
  17. package/bin/commands/docs-publish.js +105 -141
  18. package/bin/commands/docs-sync.js +66 -104
  19. package/bin/commands/info.js +7 -27
  20. package/bin/commands/init.js +23 -51
  21. package/bin/commands/install-rtk.js +9 -3
  22. package/bin/commands/list.js +5 -18
  23. package/bin/commands/map.js +20 -5
  24. package/bin/commands/qa-signoff.js +58 -55
  25. package/bin/commands/tokens.js +14 -17
  26. package/bin/commands/whoami.js +30 -26
  27. package/bin/jarvis.js +9 -163
  28. package/bin/lib/auth/session.js +20 -20
  29. package/bin/lib/cli/program.js +219 -0
  30. package/bin/lib/cli/shared-options.js +29 -0
  31. package/bin/lib/config/constants.js +59 -2
  32. package/bin/lib/config/ide-config.js +4 -8
  33. package/bin/lib/core/profile-filter.js +4 -1
  34. package/bin/lib/core/scanner.js +3 -29
  35. package/bin/lib/core/sync-engine.js +21 -14
  36. package/bin/lib/core/token-report.js +12 -2
  37. package/bin/lib/docs/fetch-file.js +39 -0
  38. package/bin/lib/docs/publish-file.js +194 -0
  39. package/bin/lib/docs/redis-cache.js +49 -0
  40. package/bin/lib/docs/validate-frontmatter.js +9 -39
  41. package/bin/lib/env-loader.js +11 -34
  42. package/bin/lib/flow-map/parse.js +11 -5
  43. package/bin/lib/flow-map/render.js +5 -2
  44. package/bin/lib/flow-map/tree.js +59 -10
  45. package/bin/lib/tasks/comment.js +40 -35
  46. package/bin/lib/utils/frontmatter.js +57 -0
  47. package/bin/lib/utils/git-parser.js +4 -6
  48. package/bin/lib/utils/npmrc-parser.js +6 -13
  49. package/bin/lib/utils/paths.js +2 -4
  50. package/bin/lib/utils/ui.js +3 -9
  51. package/bin/lib/vcs/api.js +25 -41
  52. package/bin/lib/vcs/create-issue.js +49 -33
  53. package/bin/lib/vcs/create-merge.js +47 -31
  54. package/bin/lib/vcs/fetch-raw.js +35 -23
  55. package/package.json +14 -5
  56. package/rules/engineering/eng-rules.md +1 -1
  57. package/rules/engineering/eng-security-rules.md +18 -16
  58. package/rules/engineering/eng.bump-rules.md +3 -2
  59. package/rules/engineering/eng.docs-scraping-rules.md +4 -4
  60. package/rules/engineering/eng.integrations-rules.md +6 -4
  61. package/rules/engineering/eng.skills-rules.md +1 -1
  62. package/rules/engineering/eng.specializations-rules.md +18 -4
  63. package/rules/engineering/frontend/eng.frontend-rules.md +1 -4
  64. package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +1 -1
  65. package/rules/engineering/rpa/eng.rpa-rules.md +4 -9
  66. package/rules-on-demand/engineering/eng.pre-pr-rules.md +1 -1
  67. package/rules-on-demand/engineering/eng.start-rules.md +2 -0
  68. package/skills/AGENTS.md +52 -87
  69. package/skills/SKILLS-ROADMAP.md +47 -128
  70. package/skills/eng-ai/SKILL.md +270 -0
  71. package/skills/eng-ai/references/1-fundamentos-ml.md +24 -0
  72. package/skills/eng-ai/references/10-arquitetura-solucoes-ia.md +24 -0
  73. package/skills/eng-ai/references/11-governanca-ia.md +24 -0
  74. package/skills/eng-ai/references/12-seguranca-ia-responsavel.md +25 -0
  75. package/skills/eng-ai/references/2-matematica-estatistica.md +24 -0
  76. package/skills/eng-ai/references/3-dados-para-ia.md +24 -0
  77. package/skills/eng-ai/references/4-deep-learning-fundacionais.md +24 -0
  78. package/skills/eng-ai/references/5-llms-chatbots-agentes-rag.md +25 -0
  79. package/skills/eng-ai/references/6-avaliacao-experimentacao.md +24 -0
  80. package/skills/eng-ai/references/7-engenharia-sistemas-ia.md +24 -0
  81. package/skills/eng-ai/references/8-mlops-plataforma.md +24 -0
  82. package/skills/eng-ai/references/9-produto-ia.md +24 -0
  83. package/skills/eng-ai/references/especializacoes.md +17 -0
  84. package/skills/eng-automation/SKILL.md +290 -0
  85. package/skills/eng-automation/references/1-fundamentos-automacao.md +25 -0
  86. package/skills/eng-automation/references/10-ingestao-dados.md +25 -0
  87. package/skills/eng-automation/references/11-captcha-antibot.md +25 -0
  88. package/skills/eng-automation/references/12-limites-taxa-sessoes.md +25 -0
  89. package/skills/eng-automation/references/13-agendamento-orquestracao.md +24 -0
  90. package/skills/eng-automation/references/14-retentativa-erros.md +25 -0
  91. package/skills/eng-automation/references/15-autenticacao-credenciais.md +24 -0
  92. package/skills/eng-automation/references/16-observabilidade-confiabilidade.md +24 -0
  93. package/skills/eng-automation/references/2-aquisicao-dados.md +25 -0
  94. package/skills/eng-automation/references/3-automacao-navegador.md +24 -0
  95. package/skills/eng-automation/references/4-scraping-crawling.md +25 -0
  96. package/skills/eng-automation/references/5-apis-rest-graphql-soap.md +26 -0
  97. package/skills/eng-automation/references/6-webhooks-integracao.md +25 -0
  98. package/skills/eng-automation/references/7-rpa.md +25 -0
  99. package/skills/eng-automation/references/8-extracao-estruturada.md +25 -0
  100. package/skills/eng-automation/references/9-extracao-documentos.md +25 -0
  101. package/skills/eng-automation/references/especializacoes.md +18 -0
  102. package/skills/eng-backend-nestjs/SKILL.md +1 -1
  103. package/skills/eng-data/SKILL.md +271 -0
  104. package/skills/eng-data/references/1-fundamentos-dados.md +24 -0
  105. package/skills/eng-data/references/10-ciencia-dados.md +24 -0
  106. package/skills/eng-data/references/11-dataops-plataforma.md +24 -0
  107. package/skills/eng-data/references/12-seguranca-privacidade.md +24 -0
  108. package/skills/eng-data/references/2-modelagem-dados.md +24 -0
  109. package/skills/eng-data/references/3-bancos-dados.md +24 -0
  110. package/skills/eng-data/references/4-arquitetura-dados.md +24 -0
  111. package/skills/eng-data/references/5-pipelines-integracao.md +24 -0
  112. package/skills/eng-data/references/6-qualidade-dados.md +24 -0
  113. package/skills/eng-data/references/7-governanca-metadados.md +24 -0
  114. package/skills/eng-data/references/8-estatistica-analise.md +24 -0
  115. package/skills/eng-data/references/9-analytics-bi.md +24 -0
  116. package/skills/eng-data/references/especializacoes.md +20 -0
  117. package/skills/eng-frontend/SKILL.md +12 -5
  118. package/skills/eng-frontend/references/13-design-system.md +48 -0
  119. package/skills/eng-frontend/references/14-microfrontend.md +46 -0
  120. package/skills/eng-global-task-comment/SKILL.md +3 -3
  121. package/skills/eng-platform/SKILL.md +331 -0
  122. package/skills/eng-platform/references/1-fundamentos-sistemas.md +23 -0
  123. package/skills/eng-platform/references/10-resiliencia-arquitetura.md +24 -0
  124. package/skills/eng-platform/references/11-plataforma-devex.md +24 -0
  125. package/skills/eng-platform/references/12-finops-custos.md +24 -0
  126. package/skills/eng-platform/references/13-seguranca-fundamentos.md +26 -0
  127. package/skills/eng-platform/references/14-profiling-performance.md +23 -0
  128. package/skills/eng-platform/references/15-testes-carga-chaos.md +23 -0
  129. package/skills/eng-platform/references/16-cache-multicamada.md +22 -0
  130. package/skills/eng-platform/references/2-redes.md +23 -0
  131. package/skills/eng-platform/references/3-cloud.md +24 -0
  132. package/skills/eng-platform/references/4-iac-automacao.md +24 -0
  133. package/skills/eng-platform/references/5-containers-orquestracao.md +25 -0
  134. package/skills/eng-platform/references/6-cicd-entrega.md +24 -0
  135. package/skills/eng-platform/references/7-observabilidade.md +24 -0
  136. package/skills/eng-platform/references/8-confiabilidade-sre.md +24 -0
  137. package/skills/eng-platform/references/9-seguranca-infra.md +26 -0
  138. package/skills/eng-platform/references/especializacoes.md +34 -0
  139. package/skills/eng-qa/SKILL.md +283 -0
  140. package/skills/eng-qa/references/1-fundamentos-qualidade.md +25 -0
  141. package/skills/eng-qa/references/10-confiabilidade.md +25 -0
  142. package/skills/eng-qa/references/11-seguranca.md +24 -0
  143. package/skills/eng-qa/references/12-acessibilidade.md +24 -0
  144. package/skills/eng-qa/references/13-dados-testes.md +24 -0
  145. package/skills/eng-qa/references/14-gestao-testes-defeitos.md +25 -0
  146. package/skills/eng-qa/references/15-arquitetura-qa.md +25 -0
  147. package/skills/eng-qa/references/2-estrategia-planejamento.md +25 -0
  148. package/skills/eng-qa/references/3-design-testes.md +25 -0
  149. package/skills/eng-qa/references/4-manual-exploratorio.md +24 -0
  150. package/skills/eng-qa/references/5-automacao-testes.md +25 -0
  151. package/skills/eng-qa/references/6-api-integracao.md +25 -0
  152. package/skills/eng-qa/references/7-contrato.md +24 -0
  153. package/skills/eng-qa/references/8-interface-compat-mobile.md +24 -0
  154. package/skills/eng-qa/references/9-performance.md +24 -0
  155. package/skills/eng-qa/references/especializacoes.md +29 -0
  156. package/skills/eng-qa-planner/SKILL.md +264 -0
  157. package/skills/jarvis-context-detect/SKILL.md +1 -1
  158. package/skills/jarvis-context-detect/assets/context-profile-template.md +1 -1
  159. package/skills/jarvis-create-specialization/SKILL.md +8 -0
  160. package/skills/jarvis-docs-central/README.md +31 -28
  161. package/skills/jarvis-docs-central/SKILL.md +5 -5
  162. package/skills/jarvis-init/SKILL.md +9 -8
  163. package/skills/jarvis-init/assets/passo-adicionar-stacks.md +47 -18
  164. package/skills/jarvis-list-specializations/SKILL.md +30 -17
  165. package/skills/jarvis-report-issue/SKILL.md +1 -1
  166. package/taxonomy.md +4 -16
  167. package/templates/AGENTS.md +2 -0
  168. package/templates/ENV-template.md +20 -2
  169. package/templates/engineering/advisor-template.md +65 -0
  170. package/templates/engineering/architecture-template.md +52 -4
  171. package/templates/engineering/qa/qa.sprint-plan-template.md +1 -1
  172. package/workflows/AGENTS.md +3 -1
  173. package/workflows/README.md +0 -10
  174. package/workflows/engineering/data/data.new-pipeline.md +6 -5
  175. package/workflows/engineering/eng.bug-audit.md +4 -14
  176. package/workflows/engineering/eng.debug.md +4 -20
  177. package/workflows/engineering/eng.plan.md +4 -26
  178. package/workflows/engineering/eng.pr.md +13 -63
  179. package/workflows/engineering/eng.pre-pr.md +14 -51
  180. package/workflows/engineering/eng.review.md +7 -13
  181. package/workflows/engineering/eng.rpa.robot.md +3 -9
  182. package/workflows/engineering/eng.start.md +37 -32
  183. package/workflows/engineering/eng.work.md +17 -40
  184. package/workflows/engineering/qa/eng.qa-sprint-planning.md +1 -1
  185. package/workflows/product/prod.spec.discovery.md +2 -2
  186. package/workflows/warm-up.md +35 -63
  187. package/agents/engineering/eng.cybersecurity.agent.md +0 -486
  188. package/agents/engineering/qa/eng.qa.cypress-specialist.md +0 -112
  189. package/bin/lib/docs/fetch-file.sh +0 -41
  190. package/bin/lib/docs/publish-file.sh +0 -284
  191. package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +0 -137
  192. package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +0 -181
  193. package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +0 -120
  194. package/skills/eng-ai-engineer/SKILL.md +0 -303
  195. package/skills/eng-data-bi/SKILL.md +0 -206
  196. package/skills/eng-data-debug/SKILL.md +0 -314
  197. package/skills/eng-data-engineer/SKILL.md +0 -266
  198. package/skills/eng-data-onboard/SKILL.md +0 -317
  199. package/skills/eng-data-orchestrator/SKILL.md +0 -433
  200. package/skills/eng-devops-performance-engineer/SKILL.md +0 -319
  201. package/skills/eng-frontend-design-system/SKILL.md +0 -155
  202. package/skills/eng-frontend-design-system/references/1-estrutura-pacote.md +0 -57
  203. package/skills/eng-frontend-design-system/references/2-tokens.md +0 -116
  204. package/skills/eng-frontend-design-system/references/3-componentes.md +0 -165
  205. package/skills/eng-frontend-design-system/references/4-storybook.md +0 -85
  206. package/skills/eng-frontend-design-system/references/5-auditoria-versionamento.md +0 -76
  207. package/skills/eng-frontend-microfrontend/SKILL.md +0 -164
  208. package/skills/eng-frontend-microfrontend/references/1-criando-remote.md +0 -109
  209. package/skills/eng-frontend-microfrontend/references/2-configurando-shell.md +0 -70
  210. package/skills/eng-frontend-microfrontend/references/3-contratos-interface.md +0 -73
  211. package/skills/eng-frontend-microfrontend/references/4-shared-dependencies.md +0 -48
  212. package/skills/eng-frontend-microfrontend/references/5-event-bus.md +0 -59
  213. package/skills/eng-frontend-microfrontend/references/6-monorepo-deploy.md +0 -77
  214. package/skills/eng-frontend-microfrontend/references/7-troubleshooting.md +0 -45
  215. package/skills/eng-global-browser-extension-builder/SKILL.md +0 -392
  216. package/skills/eng-global-jira-comment/SKILL.md +0 -27
  217. package/skills/eng-qa-a11y-audit/SKILL.md +0 -276
  218. package/skills/eng-qa-bug-report/SKILL.md +0 -877
  219. package/skills/eng-qa-bug-report/TASK_MANAGERS.md +0 -138
  220. package/skills/eng-qa-bug-report/references/1-integracao-task-managers.md +0 -148
  221. package/skills/eng-qa-bug-report/references/2-exemplos-de-uso.md +0 -46
  222. package/skills/eng-qa-bug-report/references/3-bug-to-test.md +0 -45
  223. package/skills/eng-qa-cypress-e2e/SKILL.md +0 -184
  224. package/skills/eng-qa-dev-guide/SKILL.md +0 -173
  225. package/skills/eng-qa-e2e/SKILL.md +0 -407
  226. package/skills/eng-qa-e2e-spec-writer/SKILL.md +0 -329
  227. package/skills/eng-qa-exploratory/SKILL.md +0 -196
  228. package/skills/eng-qa-gate/SKILL.md +0 -377
  229. package/skills/eng-qa-gate/assets/checklist-validacao.md +0 -291
  230. package/skills/eng-qa-graphql-contract/SKILL.md +0 -263
  231. package/skills/eng-qa-quality-report/SKILL.md +0 -419
  232. package/skills/eng-qa-test-plan/SKILL.md +0 -473
  233. package/skills/eng-qa-testsprite/SKILL.md +0 -332
  234. package/skills/eng-qa-testsprite/references/testsprite-mcp.md +0 -224
  235. package/skills/eng-qa-unit-test/SKILL.md +0 -478
  236. package/skills/eng-scraper/SKILL.md +0 -260
  237. package/skills/eng-scraper/references/1-puppeteer.md +0 -140
  238. package/skills/eng-scraper/references/2-playwright-cheerio-pdf.md +0 -82
  239. package/skills/eng-scraper/references/3-anti-bot.md +0 -94
  240. package/skills/eng-scraper/references/4-resiliencia-etl-monitoramento.md +0 -137
  241. package/skills/eng-scraper-robot-builder/SKILL.md +0 -377
  242. package/skills/eng-security-cybersecurity/SKILL.md +0 -250
  243. package/skills/eng-security-cybersecurity/references/1-owasp-top-10.md +0 -331
  244. package/skills/eng-security-cybersecurity/references/2-secrets-management.md +0 -31
  245. package/skills/eng-security-cybersecurity/references/3-input-validation.md +0 -43
  246. package/skills/eng-security-cybersecurity/references/4-compliance.md +0 -20
  247. package/skills/eng-security-patch/SKILL.md +0 -388
  248. package/skills/eng-security-threat-model/SKILL.md +0 -171
  249. package/skills/eng-security-triage/SKILL.md +0 -276
  250. package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +0 -311
  251. package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +0 -249
  252. package/templates/engineering/qa/qa.cypress-test-template.md +0 -172
  253. package/templates/engineering/qa/qa.exploratory-session-template.md +0 -148
  254. package/templates/engineering/qa/qa.quality-report-template.md +0 -130
  255. package/workflows/engineering/eng.security-audit.md +0 -319
  256. package/workflows/engineering/eng.security-incident.md +0 -281
  257. package/workflows/engineering/eng.security-pipeline.md +0 -219
  258. package/workflows/engineering/eng.security-review.md +0 -241
  259. package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +0 -57
  260. package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +0 -57
  261. package/workflows/engineering/qa/eng.qa-exploratory-session.md +0 -68
  262. package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +0 -209
  263. package/workflows/engineering/qa/eng.qa-quality-report.md +0 -85
  264. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-coverage-template.md +0 -0
  265. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-patterns.md +0 -0
  266. /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/CDD aplicado a Prompts.md`
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=squad-driver
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-condutores.md \
63
+ --file ./docs/product/prd-gestao-carteiras.md \
64
64
  --tipo prd \
65
- --feature gestao-condutores
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 squad-driver \
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
- └── drivers/
105
+ └── core/
106
106
  ├── index.md
107
107
  ├── product/
108
- │ └── gestao-de-condutores/
109
- │ ├── prd-gestao-condutores.md
110
- │ └── frd-gestao-condutores-onboarding.md
108
+ │ └── gestao-de-carteiras/
109
+ │ ├── prd-gestao-carteiras.md
110
+ │ └── frd-gestao-carteiras-onboarding.md
111
111
  └── engineering/
112
- └── drivers-api/
113
- ├── ard-drivers-api.md
114
- └── rfc-drivers-api-idempotencia.md
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
- # squad-driver
122
+ # core
123
123
 
124
124
  ## product
125
125
 
126
- ### gestao-de-condutores
127
- - [prd-gestao-condutores.md](product/gestao-de-condutores/prd-gestao-condutores.md) | v1.2.0 | in_progress | jira: DRV-001 | tags: condutores,onboarding
128
- - [frd-gestao-condutores-onboarding.md](product/gestao-de-condutores/frd-gestao-condutores-onboarding.md) | v1.0.0 | in_review | jira: DRV-123 | tags: onboarding,cadastro
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
- ### drivers-api
133
- - [ard-drivers-api.md](engineering/drivers-api/ard-drivers-api.md) | v2.1 | Finalizada | tags: arquitetura,rest,api
134
- - [rfc-drivers-api-idempotencia.md](engineering/drivers-api/rfc-drivers-api-idempotencia.md) | Accepted | tags: idempotencia,redis
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 Condutores
144
+ name: Gestão de Carteiras
145
145
  version: 1.2.0
146
146
  status: in_progress
147
- task_link: https://jira.com/DRV-001
148
- related_repo: drivers-api,drivers-worker
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: squad-driver/index.md
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
- ├── fetch-file.sh # Busca via API (cache redis-cli opcional)
233
- └── publish-file.sh # Publica via API + MR
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-drivers-api-auth.md << EOF
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-drivers-api-auth.md \
301
+ --file docs/engineering/ard-api-wallet-auth.md \
299
302
  --tipo ard \
300
- --feature drivers-api-auth
303
+ --feature api-wallet-auth
301
304
 
302
305
  # 3. Resultado
303
- # ✅ MR criado: docs/squad-driver/engineering/drivers-api/ard-drivers-api-auth → dev
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 executa:
149
- bash bin/lib/docs/fetch-file.sh "${SQUAD}/index.md" "${CENTRAL_DOCS_REF}"
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
- bash bin/lib/docs/fetch-file.sh "${SQUAD}/product/${WORKSPACE}/prd-feature.md" "main"
184
- bash bin/lib/docs/fetch-file.sh "${SQUAD}/engineering/${WORKSPACE}/ard-feature.md" "main"
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 formato `squad-driver` — sempre ALL-CAPS-COM-HIFEN: `MEU-SQUAD`
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 `BACKEND_SPECIALIZATIONS` e `FRONTEND_SPECIALIZATIONS` ficam **vazias**: não são perguntadas aqui. O registro de especializações é feito no **passo 9 (adicionar as stacks)**, ou depois, a qualquer momento: consulta com `jarvis-list-specializations` e criação com `jarvis-create-specialization`.
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
- Trata **somente backend e frontend**. O passo:
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 `BACKEND_SPECIALIZATIONS` e `FRONTEND_SPECIALIZATIONS` existem (acrescenta vazias se faltarem)
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: {BACKEND_SPECIALIZATIONS e FRONTEND_SPECIALIZATIONS, ou "só skill base"}
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
- Vale **só para backend e frontend**.
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 `BACKEND_SPECIALIZATIONS` e `FRONTEND_SPECIALIZATIONS` existem (vazias valem).
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** uma delas, acrescente-a **vazia** ao final do `ENV.md` (com a mesma linha do `templates/ENV-template.md`) **antes** de oferecer o passo. Não altere nenhuma outra linha.
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 as stacks do projeto agora?
44
- (Leva em torno de 10 minutos como referência; só backend e frontend.)
48
+ Deseja adicionar especializações ao projeto agora?
49
+ (Leva em torno de 10 minutos como referência.)
45
50
 
46
- A: Sim, adicionar as stacks
47
- B: Pular (o projeto usa só a skill base; dá para adicionar depois com /jarvis-create-specialization)
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**: skills com `metadata.area` de backend ou frontend **e** `metadata.stack`, estejam ou não registradas nas listas.
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, sem passar pela detecção?"** Se sim, registre pelo 9.6 e siga.
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 (uma stack por vez)
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 '^BACKEND_SPECIALIZATIONS=' $IDE/ENV.md | cut -d= -f2- | tr -d '[]" ' | tr ',' '\n' | grep -v '^$'`
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
- ✅ Stacks configuradas
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: {stacks que a pessoa não aceitou, ou "nenhuma"}
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 de stack instaladas no projeto (backend e frontend), a área de cada uma
5
- e se ela está registrada em BACKEND_SPECIALIZATIONS ou FRONTEND_SPECIALIZATIONS. Só lê: não altera
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 `frontend`, para listar só uma área. Vazio lista as duas.
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` e `FRONTEND_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 área, leia a lista (aceita vírgula, colchetes, espaços e aspas):
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
- | `metadata.area` | `metadata.stack` | Classificação |
81
- |---|---|---|
82
- | `backend` ou `frontend` | presente | **Especialização** da área |
83
- | `backend` ou `frontend` | ausente | **Skill base** da área (não é especialização) |
84
- | `global`, `product` ou outra | qualquer | Fora da listagem |
85
- | ausente | qualquer | **Pendente** (sem marcação de área) |
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 `backend` ou `frontend`, mostre só essa área.
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): eng-global-pr, eng-qa-gate, jarvis-context-detect, ...
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
- node bin/lib/vcs/create-issue.js \
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**: Configure `DOMAIN:` para validar emails corporativos (ex: `DOMAIN: suaempresa.com.br`)
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 via eng-qa-dev-guide
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
- ### Para Open Source (Sem Restrição)
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
 
@@ -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 de stack ------------------------------------------------
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 / eng-frontend). A variável precisa EXISTIR, mesmo vazia.
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]