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
@@ -1,27 +0,0 @@
1
- ---
2
- name: eng-global-jira-comment
3
- description: >
4
- Alias de eng-global-task-comment. Adiciona comentário no card do TASK_MANAGER
5
- (Jira, Linear, GitHub Issues ou Asana).
6
- argument-hint: "{TASK_MANAGER_KEY} {mensagem}"
7
- disable-model-invocation: false
8
- allowed-tools: Read Bash MCP
9
- metadata:
10
- author: jarvis-team
11
- version: "1.0"
12
- area: global
13
- ---
14
-
15
- # eng-global-jira-comment (alias)
16
-
17
- Este skill foi unificado em **`eng-global-task-comment`**.
18
-
19
- Execute o playbook de `$IDE/skills/eng-global-task-comment/SKILL.md` com os mesmos argumentos `{TASK_MANAGER_KEY} {mensagem}`.
20
-
21
- `{TASK_MANAGER_KEY}` — identificador do card no `TASK_MANAGER` do ENV.md.
22
-
23
- ### Skills invocados durante a execução do skill
24
-
25
- | Passo | Skill | Condição |
26
- |-------|-------|----------|
27
- | Único passo (alias) | `/eng-global-task-comment` | Sempre — o alias executa o playbook da skill alvo com os mesmos argumentos `{TASK_MANAGER_KEY} {mensagem}` |
@@ -1,276 +0,0 @@
1
- ---
2
- name: eng-qa-a11y-audit
3
- description: Integra jest-axe nos testes unitários existentes de componentes React para validar acessibilidade WCAG 2.1 AA automaticamente. Adiciona assertions axe em cada componente e reporta violações.
4
- argument-hint: "[caminho do componente ou diretório — ex: src/components/]"
5
- disable-model-invocation: false
6
- allowed-tools: Read Write Edit Grep Glob Bash AskUserQuestion
7
- license: AGPL-3.0
8
- compatibility: Designed for Claude Code (or similar products)
9
- metadata:
10
- author: jarvis-framework
11
- version: "1.0"
12
- area: qa
13
- ---
14
-
15
- # eng-qa-a11y-audit
16
-
17
- Você é um especialista em acessibilidade web (a11y). Sua função é integrar
18
- `jest-axe` nos testes unitários existentes de componentes para validar
19
- conformidade WCAG 2.1 AA automaticamente, sem exigir expertise em a11y do dev.
20
-
21
- ---
22
-
23
- ## Objetivo
24
-
25
- Adicionar testes de acessibilidade automatizados nos testes unitários existentes
26
- usando jest-axe. Detectar violações WCAG reais (aria, roles, contraste, semântica)
27
- e gerar report com correções sugeridas.
28
-
29
- ---
30
-
31
- ## Entrada
32
-
33
- ```
34
- /eng-qa-a11y-audit [caminho]
35
- ```
36
-
37
- - `caminho` (opcional) — diretório ou arquivo de componente
38
- - Se omitido, detectar automaticamente a partir da estrutura do projeto (ex: `src/components/`, `app/`, `lib/`)
39
-
40
- ---
41
-
42
- ## Recursos
43
-
44
- | Recurso | Caminho |
45
- |---------|---------|
46
- | Testes existentes | `$TEST_FOLDER` ou colocated (`*.test.tsx`, `*.spec.tsx`) |
47
- | Config de testes | `jest.config.*`, `vitest.config.*`, `setupTests.*` |
48
-
49
- ---
50
-
51
- ## Pré-requisito
52
-
53
- 1. **ENV.md** válido
54
- 2. **Projeto com testes unitários existentes** (Jest ou Vitest)
55
- 3. **Componentes renderizáveis** (React, Vue, Svelte — que produzam DOM)
56
-
57
- ---
58
-
59
- ## Quando Usar
60
-
61
- **Usar quando:**
62
- - Projeto precisa de conformidade WCAG 2.1 AA
63
- - Code review identificou problemas de acessibilidade
64
- - Sprint inclui melhorias de a11y
65
- - Onboarding de a11y em projeto que nunca teve
66
-
67
- **NÃO usar quando:**
68
- - Projeto não tem testes unitários (criar testes primeiro com `eng-qa-unit-test`)
69
- - Componentes não renderizam DOM (hooks, utils, serviços)
70
- - Objetivo é teste E2E de a11y (usar Lighthouse/axe-core no E2E)
71
-
72
- ---
73
-
74
- ## Padrões Críticos
75
-
76
- 1. **Não sobrescrever testes existentes** — adicionar assertions axe nos testes que já existem, não reescrever
77
- 2. **Setup uma vez, test N vezes** — configurar `toHaveNoViolations` no setup global, não em cada arquivo
78
- 3. **Cada componente com render = test axe** — todo componente que já tem teste de render recebe assertion axe
79
- 4. **Report com fix sugerido** — não apenas reportar violação, mas sugerir a correção HTML/JSX
80
-
81
- ---
82
-
83
- ## Fluxo de Trabalho
84
-
85
- ### Fase 1 — Detecção do ambiente
86
-
87
- **1.1** Detectar framework de teste:
88
- ```bash
89
- # Jest
90
- grep -l "jest" package.json
91
- # Vitest
92
- grep -l "vitest" package.json
93
- ```
94
-
95
- **1.2** Detectar framework UI:
96
- - `react` / `react-dom` → React
97
- - `vue` → Vue
98
- - `svelte` → Svelte
99
-
100
- **1.3** Localizar config de setup:
101
- ```bash
102
- # Jest
103
- grep -r "setupFilesAfterSetup\|setupTests" jest.config.* package.json
104
- # Vitest
105
- grep -r "setupFiles" vitest.config.*
106
- ```
107
-
108
- ### Fase 2 — Instalação de dependências
109
-
110
- **2.1** Verificar se jest-axe já está instalado:
111
- ```bash
112
- grep "jest-axe" package.json
113
- ```
114
-
115
- **2.2** Se não instalado, apresentar ao usuário:
116
- ```
117
- Para testes de acessibilidade, preciso instalar:
118
- - jest-axe (assertions axe para Jest/Vitest)
119
- - @types/jest-axe (tipos TypeScript, se aplicável)
120
-
121
- Instalar? (Sim / Não)
122
- ```
123
-
124
- **2.3** Se sim:
125
- ```bash
126
- npm install --save-dev jest-axe @types/jest-axe
127
- ```
128
-
129
- ### Fase 3 — Configuração global
130
-
131
- **3.1** Adicionar `toHaveNoViolations` no arquivo de setup:
132
-
133
- ```typescript
134
- // No setupTests.ts ou equivalente
135
- import 'jest-axe/extend-expect';
136
- ```
137
-
138
- > Se o arquivo de setup não existir, criar e registrar no config do Jest/Vitest.
139
-
140
- ### Fase 4 — Scan de componentes
141
-
142
- **4.1** Listar todos os arquivos de teste no escopo:
143
- ```bash
144
- find {caminho} -name "*.test.tsx" -o -name "*.spec.tsx" -o -name "*.test.ts" -o -name "*.spec.ts"
145
- ```
146
-
147
- **4.2** Para cada arquivo de teste, verificar se já tem assertion axe:
148
- ```bash
149
- grep -l "toHaveNoViolations\|jest-axe\|axe" {arquivo}
150
- ```
151
-
152
- **4.3** Filtrar apenas os que renderizam componentes (contêm `render(`) e não têm axe.
153
-
154
- **4.4** Reportar ao usuário:
155
- ```
156
- Encontrados {N} arquivos de teste com render.
157
- {M} já têm assertions axe.
158
- {K} serão atualizados.
159
- ```
160
-
161
- ### Fase 5 — Adicionar assertions axe
162
-
163
- **5.1** Para cada arquivo de teste sem assertions axe:
164
-
165
- 1. Adicionar import:
166
- ```typescript
167
- import { axe } from 'jest-axe';
168
- ```
169
-
170
- 2. Adicionar test case após o último `it`/`test` do describe principal:
171
- ```typescript
172
- it('não possui violações de acessibilidade', async () => {
173
- const { container } = render(<Componente {...defaultProps} />);
174
- const results = await axe(container);
175
- expect(results).toHaveNoViolations();
176
- });
177
- ```
178
-
179
- 3. Se o componente precisa de providers/contexto (detectar pelo render existente), replicar o setup.
180
-
181
- **5.2** Não alterar testes existentes — apenas adicionar o novo test case.
182
-
183
- ### Fase 6 — Executar e reportar
184
-
185
- **6.1** Executar os testes modificados usando o runner detectado na Fase 1:
186
- ```bash
187
- # Jest
188
- npx jest --testPathPattern="{padrão}" --no-coverage
189
- # Vitest
190
- npx vitest run {padrão}
191
- ```
192
- > Usar o runner que o projeto já utiliza — nunca forçar um runner diferente.
193
-
194
- **6.2** Para cada violação encontrada, gerar report:
195
-
196
- ```markdown
197
- ### Violação: {rule-id} ({impact})
198
-
199
- **Componente:** `{nome}`
200
- **Elemento:** `{selector}`
201
- **Problema:** {description}
202
- **Correção sugerida:**
203
- ```jsx
204
- // Antes
205
- <div aria-label="Menu">...</div>
206
-
207
- // Depois
208
- <nav aria-label="Menu">...</nav>
209
- ```
210
- ```
211
-
212
- **6.3** Apresentar resumo ao usuário:
213
- ```
214
- ── a11y Audit ────────────────────────────────────────────
215
- Componentes testados : {N}
216
- Sem violações : {OK}
217
- Com violações : {FAIL}
218
- Total de violações : {V} ({critical}, {serious}, {moderate}, {minor})
219
- ──────────────────────────────────────────────────────────
220
- ```
221
-
222
- ### Skills invocados durante a execução do skill
223
-
224
- | Passo | Skill | Condição |
225
- |-------|-------|----------|
226
- | — | Nenhuma — skill autocontida | — |
227
-
228
- ---
229
-
230
- ## Regras
231
-
232
- ### Nunca
233
- - Sobrescrever ou deletar testes existentes
234
- - Instalar dependências sem confirmação do usuário
235
- - Ignorar violações de impacto `critical` ou `serious`
236
- - Hardcodar paths de componentes — usar `$TEST_FOLDER` ou argumento
237
-
238
- ### Sempre
239
- - Configurar `toHaveNoViolations` no setup global (não em cada arquivo)
240
- - Replicar providers/contexto do render existente no test axe
241
- - Sugerir fix para cada violação (não apenas reportar)
242
- - Executar os testes após adicionar assertions para validar
243
-
244
- ---
245
-
246
- ## Checklist de Conclusão
247
-
248
- - [ ] Framework de teste detectado (Jest/Vitest)
249
- - [ ] jest-axe instalado
250
- - [ ] Setup global configurado
251
- - [ ] Componentes escaneados e filtrados
252
- - [ ] Assertions axe adicionadas
253
- - [ ] Testes executados
254
- - [ ] Violações reportadas com sugestões de fix
255
-
256
- ---
257
-
258
- ## Output
259
-
260
- | Artefato | Destino |
261
- |----------|---------|
262
- | Testes modificados com assertions axe | Arquivos `.test.tsx` / `.spec.tsx` existentes |
263
- | Report de violações | Output no terminal + opcional markdown |
264
-
265
- ---
266
-
267
- ## Mensagem de Conclusão
268
-
269
- ```
270
- ── eng-qa-a11y-audit concluído ───────────────────────────────
271
- Componentes : {N} testados
272
- Violações : {V} encontradas ({C} critical, {S} serious)
273
- Arquivos : {M} modificados
274
- Setup : jest-axe configurado globalmente
275
- ──────────────────────────────────────────────────────────
276
- ```