jarvis-ai-framework 2.1.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/AGENTS.md +22 -122
  2. package/agents/AGENTS.md +20 -24
  3. package/agents/README.md +25 -129
  4. package/agents/engineering/data/eng.data-engineer.agent.md +12 -35
  5. package/agents/engineering/eng.agent.md +18 -30
  6. package/agents/engineering/eng.bug-hunter.md +9 -12
  7. package/agents/engineering/eng.dev-code-reviewer.md +5 -1
  8. package/agents/engineering/eng.docs-writer.md +3 -3
  9. package/agents/engineering/eng.frontend.agent.md +13 -8
  10. package/agents/engineering/eng.rpa.agent.md +5 -13
  11. package/agents/engineering/eng.ux-designer.agent.md +4 -0
  12. package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +4 -0
  13. package/agents/engineering/qa/eng.qa.quality-strategist.md +13 -8
  14. package/agents/engineering/qa/eng.qa.test-architect.md +16 -15
  15. package/agents/engineering/qa/eng.qa.test-planner.md +22 -17
  16. package/agents/engineering/qa/eng.qa.testing-engineer.md +99 -15
  17. package/agents/product/prod.discovery-interviewer.md +22 -3
  18. package/agents/product/prod.pm-checker.md +4 -0
  19. package/bin/README.md +142 -0
  20. package/bin/commands/docs-publish.js +105 -141
  21. package/bin/commands/docs-sync.js +66 -104
  22. package/bin/commands/info.js +7 -27
  23. package/bin/commands/init.js +23 -51
  24. package/bin/commands/install-rtk.js +9 -3
  25. package/bin/commands/list.js +5 -18
  26. package/bin/commands/map.js +58 -0
  27. package/bin/commands/qa-signoff.js +58 -55
  28. package/bin/commands/tokens.js +90 -0
  29. package/bin/commands/whoami.js +30 -26
  30. package/bin/jarvis.js +9 -153
  31. package/bin/lib/auth/session.js +20 -20
  32. package/bin/lib/cli/program.js +219 -0
  33. package/bin/lib/cli/shared-options.js +29 -0
  34. package/bin/lib/config/constants.js +70 -2
  35. package/bin/lib/config/ide-config.js +4 -8
  36. package/bin/lib/core/profile-filter.js +116 -0
  37. package/bin/lib/core/scanner.js +5 -31
  38. package/bin/lib/core/sync-engine.js +21 -14
  39. package/bin/lib/core/token-report.js +100 -0
  40. package/bin/lib/docs/fetch-file.js +39 -0
  41. package/bin/lib/docs/publish-file.js +194 -0
  42. package/bin/lib/docs/redis-cache.js +49 -0
  43. package/bin/lib/docs/validate-frontmatter.js +9 -39
  44. package/bin/lib/env-loader.js +11 -34
  45. package/bin/lib/flow-map/index.js +65 -0
  46. package/bin/lib/flow-map/parse.js +223 -0
  47. package/bin/lib/flow-map/render.js +89 -0
  48. package/bin/lib/flow-map/tree.js +248 -0
  49. package/bin/lib/tasks/comment.js +40 -35
  50. package/bin/lib/utils/frontmatter.js +57 -0
  51. package/bin/lib/utils/git-parser.js +4 -6
  52. package/bin/lib/utils/npmrc-parser.js +6 -13
  53. package/bin/lib/utils/paths.js +2 -4
  54. package/bin/lib/utils/ui.js +3 -9
  55. package/bin/lib/vcs/api.js +25 -41
  56. package/bin/lib/vcs/create-issue.js +49 -33
  57. package/bin/lib/vcs/create-merge.js +47 -31
  58. package/bin/lib/vcs/fetch-raw.js +35 -23
  59. package/members.md +1 -1
  60. package/package.json +15 -4
  61. package/rules/AGENTS.md +18 -7
  62. package/rules/engineering/eng-rules.md +3 -13
  63. package/rules/engineering/eng-security-rules.md +19 -18
  64. package/rules/engineering/eng.bump-rules.md +3 -2
  65. package/rules/engineering/eng.docs-scraping-rules.md +4 -4
  66. package/rules/engineering/eng.integrations-rules.md +3 -7
  67. package/rules/engineering/eng.skills-rules.md +1 -5
  68. package/rules/engineering/eng.specializations-rules.md +18 -8
  69. package/rules/engineering/frontend/eng.frontend-rules.md +1 -4
  70. package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +1 -1
  71. package/rules/engineering/rpa/eng.rpa-rules.md +4 -9
  72. package/rules/product/README.md +1 -0
  73. package/rules/product/prod-rules.md +1 -4
  74. package/rules/product/prod.spec-rules.md +0 -4
  75. package/rules/rtk-rules.md +0 -1
  76. package/{rules → rules-on-demand}/engineering/eng.breakdown-subtasks-rules.md +0 -4
  77. package/{rules → rules-on-demand}/engineering/eng.plan-rules.md +0 -4
  78. package/{rules → rules-on-demand}/engineering/eng.pr-rules.md +0 -4
  79. package/{rules → rules-on-demand}/engineering/eng.pre-pr-rules.md +0 -4
  80. package/{rules → rules-on-demand}/engineering/eng.start-rules.md +0 -4
  81. package/{rules → rules-on-demand}/engineering/eng.tech-spec-rules.md +1 -2
  82. package/{rules → rules-on-demand}/engineering/eng.work-rules.md +0 -4
  83. package/skills/AGENTS.md +69 -106
  84. package/skills/SKILLS-ROADMAP.md +47 -132
  85. package/skills/eng-ai/SKILL.md +270 -0
  86. package/skills/eng-ai/references/1-fundamentos-ml.md +24 -0
  87. package/skills/eng-ai/references/10-arquitetura-solucoes-ia.md +24 -0
  88. package/skills/eng-ai/references/11-governanca-ia.md +24 -0
  89. package/skills/eng-ai/references/12-seguranca-ia-responsavel.md +25 -0
  90. package/skills/eng-ai/references/2-matematica-estatistica.md +24 -0
  91. package/skills/eng-ai/references/3-dados-para-ia.md +24 -0
  92. package/skills/eng-ai/references/4-deep-learning-fundacionais.md +24 -0
  93. package/skills/eng-ai/references/5-llms-chatbots-agentes-rag.md +25 -0
  94. package/skills/eng-ai/references/6-avaliacao-experimentacao.md +24 -0
  95. package/skills/eng-ai/references/7-engenharia-sistemas-ia.md +24 -0
  96. package/skills/eng-ai/references/8-mlops-plataforma.md +24 -0
  97. package/skills/eng-ai/references/9-produto-ia.md +24 -0
  98. package/skills/eng-ai/references/especializacoes.md +17 -0
  99. package/skills/eng-automation/SKILL.md +290 -0
  100. package/skills/eng-automation/references/1-fundamentos-automacao.md +25 -0
  101. package/skills/eng-automation/references/10-ingestao-dados.md +25 -0
  102. package/skills/eng-automation/references/11-captcha-antibot.md +25 -0
  103. package/skills/eng-automation/references/12-limites-taxa-sessoes.md +25 -0
  104. package/skills/eng-automation/references/13-agendamento-orquestracao.md +24 -0
  105. package/skills/eng-automation/references/14-retentativa-erros.md +25 -0
  106. package/skills/eng-automation/references/15-autenticacao-credenciais.md +24 -0
  107. package/skills/eng-automation/references/16-observabilidade-confiabilidade.md +24 -0
  108. package/skills/eng-automation/references/2-aquisicao-dados.md +25 -0
  109. package/skills/eng-automation/references/3-automacao-navegador.md +24 -0
  110. package/skills/eng-automation/references/4-scraping-crawling.md +25 -0
  111. package/skills/eng-automation/references/5-apis-rest-graphql-soap.md +26 -0
  112. package/skills/eng-automation/references/6-webhooks-integracao.md +25 -0
  113. package/skills/eng-automation/references/7-rpa.md +25 -0
  114. package/skills/eng-automation/references/8-extracao-estruturada.md +25 -0
  115. package/skills/eng-automation/references/9-extracao-documentos.md +25 -0
  116. package/skills/eng-automation/references/especializacoes.md +18 -0
  117. package/skills/eng-backend/SKILL.md +6 -0
  118. package/skills/eng-backend-arch-c4/SKILL.md +10 -4
  119. package/skills/eng-backend-microservices-trace/SKILL.md +6 -0
  120. package/skills/eng-backend-nestjs/SKILL.md +17 -462
  121. package/skills/eng-backend-nestjs/references/1-arquitetura-modulos.md +54 -0
  122. package/skills/eng-backend-nestjs/references/2-guards-autenticacao.md +118 -0
  123. package/skills/eng-backend-nestjs/references/3-interceptors-pipes-filters.md +113 -0
  124. package/skills/eng-backend-nestjs/references/4-config-logging.md +61 -0
  125. package/skills/eng-backend-nestjs/references/5-testes.md +83 -0
  126. package/skills/eng-backend-nestjs/references/6-problemas-comuns.md +53 -0
  127. package/skills/eng-backend-rabbitmq/SKILL.md +15 -298
  128. package/skills/eng-backend-rabbitmq/references/1-referencia-endpoints.md +28 -0
  129. package/skills/eng-backend-rabbitmq/references/2-codigo-consumer-producer.md +90 -0
  130. package/skills/eng-backend-rabbitmq/references/3-arquiteturas-comuns.md +101 -0
  131. package/skills/eng-backend-rabbitmq/references/4-troubleshooting.md +93 -0
  132. package/skills/eng-data/SKILL.md +271 -0
  133. package/skills/eng-data/references/1-fundamentos-dados.md +24 -0
  134. package/skills/eng-data/references/10-ciencia-dados.md +24 -0
  135. package/skills/eng-data/references/11-dataops-plataforma.md +24 -0
  136. package/skills/eng-data/references/12-seguranca-privacidade.md +24 -0
  137. package/skills/eng-data/references/2-modelagem-dados.md +24 -0
  138. package/skills/eng-data/references/3-bancos-dados.md +24 -0
  139. package/skills/eng-data/references/4-arquitetura-dados.md +24 -0
  140. package/skills/eng-data/references/5-pipelines-integracao.md +24 -0
  141. package/skills/eng-data/references/6-qualidade-dados.md +24 -0
  142. package/skills/eng-data/references/7-governanca-metadados.md +24 -0
  143. package/skills/eng-data/references/8-estatistica-analise.md +24 -0
  144. package/skills/eng-data/references/9-analytics-bi.md +24 -0
  145. package/skills/eng-data/references/especializacoes.md +20 -0
  146. package/skills/eng-frontend/SKILL.md +18 -5
  147. package/skills/eng-frontend/references/13-design-system.md +48 -0
  148. package/skills/eng-frontend/references/14-microfrontend.md +46 -0
  149. package/skills/eng-global-docs-write/SKILL.md +10 -5
  150. package/skills/eng-global-pr/SKILL.md +7 -1
  151. package/skills/eng-global-task-comment/SKILL.md +8 -2
  152. package/skills/eng-platform/SKILL.md +331 -0
  153. package/skills/eng-platform/references/1-fundamentos-sistemas.md +23 -0
  154. package/skills/eng-platform/references/10-resiliencia-arquitetura.md +24 -0
  155. package/skills/eng-platform/references/11-plataforma-devex.md +24 -0
  156. package/skills/eng-platform/references/12-finops-custos.md +24 -0
  157. package/skills/eng-platform/references/13-seguranca-fundamentos.md +26 -0
  158. package/skills/eng-platform/references/14-profiling-performance.md +23 -0
  159. package/skills/eng-platform/references/15-testes-carga-chaos.md +23 -0
  160. package/skills/eng-platform/references/16-cache-multicamada.md +22 -0
  161. package/skills/eng-platform/references/2-redes.md +23 -0
  162. package/skills/eng-platform/references/3-cloud.md +24 -0
  163. package/skills/eng-platform/references/4-iac-automacao.md +24 -0
  164. package/skills/eng-platform/references/5-containers-orquestracao.md +25 -0
  165. package/skills/eng-platform/references/6-cicd-entrega.md +24 -0
  166. package/skills/eng-platform/references/7-observabilidade.md +24 -0
  167. package/skills/eng-platform/references/8-confiabilidade-sre.md +24 -0
  168. package/skills/eng-platform/references/9-seguranca-infra.md +26 -0
  169. package/skills/eng-platform/references/especializacoes.md +34 -0
  170. package/skills/eng-qa/SKILL.md +283 -0
  171. package/skills/eng-qa/references/1-fundamentos-qualidade.md +25 -0
  172. package/skills/eng-qa/references/10-confiabilidade.md +25 -0
  173. package/skills/eng-qa/references/11-seguranca.md +24 -0
  174. package/skills/eng-qa/references/12-acessibilidade.md +24 -0
  175. package/skills/eng-qa/references/13-dados-testes.md +24 -0
  176. package/skills/eng-qa/references/14-gestao-testes-defeitos.md +25 -0
  177. package/skills/eng-qa/references/15-arquitetura-qa.md +25 -0
  178. package/skills/eng-qa/references/2-estrategia-planejamento.md +25 -0
  179. package/skills/eng-qa/references/3-design-testes.md +25 -0
  180. package/skills/eng-qa/references/4-manual-exploratorio.md +24 -0
  181. package/skills/eng-qa/references/5-automacao-testes.md +25 -0
  182. package/skills/eng-qa/references/6-api-integracao.md +25 -0
  183. package/skills/eng-qa/references/7-contrato.md +24 -0
  184. package/skills/eng-qa/references/8-interface-compat-mobile.md +24 -0
  185. package/skills/eng-qa/references/9-performance.md +24 -0
  186. package/skills/eng-qa/references/especializacoes.md +29 -0
  187. package/skills/eng-qa-planner/SKILL.md +264 -0
  188. package/skills/jarvis-context-detect/SKILL.md +7 -1
  189. package/skills/jarvis-context-detect/assets/context-profile-template.md +1 -1
  190. package/skills/jarvis-create-specialization/SKILL.md +14 -0
  191. package/skills/jarvis-docs-central/README.md +31 -28
  192. package/skills/jarvis-docs-central/SKILL.md +11 -5
  193. package/skills/jarvis-docs-index/SKILL.md +10 -2
  194. package/skills/jarvis-evolution-architect/SKILL.md +6 -0
  195. package/skills/jarvis-init/SKILL.md +22 -15
  196. package/skills/jarvis-init/assets/passo-adicionar-stacks.md +47 -18
  197. package/skills/jarvis-list-specializations/SKILL.md +36 -17
  198. package/skills/jarvis-report-issue/SKILL.md +7 -1
  199. package/skills/product-roadmap-report/SKILL.md +8 -0
  200. package/skills/product-specs/SKILL.md +9 -0
  201. package/skills/product-specs-update/SKILL.md +6 -0
  202. package/taxonomy.md +16 -28
  203. package/templates/AGENTS.md +2 -0
  204. package/templates/ENV-template.md +10 -2
  205. package/templates/engineering/qa/qa.sprint-plan-template.md +1 -1
  206. package/templates/engineering/tech-spec-delivery-template.md +179 -0
  207. package/workflows/AGENTS.md +14 -2
  208. package/workflows/README.md +8 -16
  209. package/workflows/all-tools.md +7 -1
  210. package/workflows/engineering/data/data.contract.md +8 -0
  211. package/workflows/engineering/data/data.new-pipeline.md +15 -4
  212. package/workflows/engineering/eng.breakdown-subtasks.md +9 -0
  213. package/workflows/engineering/eng.bug-audit.md +10 -13
  214. package/workflows/engineering/eng.build-tech-spec.md +17 -146
  215. package/workflows/engineering/eng.create-ard-from-code.md +8 -0
  216. package/workflows/engineering/eng.create-ard.md +8 -0
  217. package/workflows/engineering/eng.create-rfc.md +7 -0
  218. package/workflows/engineering/eng.debug.md +5 -21
  219. package/workflows/engineering/eng.docs.md +9 -0
  220. package/workflows/engineering/eng.light-arch.md +7 -0
  221. package/workflows/engineering/eng.plan.md +15 -2
  222. package/workflows/engineering/eng.pr.md +24 -30
  223. package/workflows/engineering/eng.pre-pr.md +33 -15
  224. package/workflows/engineering/eng.review.md +18 -11
  225. package/workflows/engineering/eng.rpa.robot.md +17 -7
  226. package/workflows/engineering/eng.start.md +33 -12
  227. package/workflows/engineering/eng.work.md +25 -17
  228. package/workflows/engineering/frontend/eng.frontend-component.md +7 -0
  229. package/workflows/engineering/frontend/eng.frontend-perf-audit.md +8 -0
  230. package/workflows/engineering/frontend/eng.frontend-review.md +8 -0
  231. package/workflows/engineering/qa/eng.qa-refinement-entry.md +7 -0
  232. package/workflows/engineering/qa/eng.qa-release-signoff.md +6 -0
  233. package/workflows/engineering/qa/eng.qa-sprint-planning.md +7 -1
  234. package/workflows/product/prod.roadmap.preview.md +9 -0
  235. package/workflows/product/prod.spec.ard.md +97 -0
  236. package/workflows/product/prod.spec.breakdown.md +10 -0
  237. package/workflows/product/prod.spec.clarify.md +8 -2
  238. package/workflows/product/prod.spec.discovery.md +11 -1
  239. package/workflows/product/prod.spec.epic.md +8 -0
  240. package/workflows/product/prod.spec.frd.md +7 -0
  241. package/workflows/product/prod.spec.issue.md +6 -0
  242. package/workflows/product/prod.spec.md +15 -1
  243. package/workflows/product/prod.spec.prd.md +7 -0
  244. package/workflows/taxonomy.md +58 -6
  245. package/workflows/warm-up.md +47 -60
  246. package/agents/engineering/eng.cybersecurity.agent.md +0 -488
  247. package/agents/engineering/qa/eng.qa.cypress-specialist.md +0 -109
  248. package/bin/lib/docs/fetch-file.sh +0 -41
  249. package/bin/lib/docs/publish-file.sh +0 -284
  250. package/rules/engineering/eng.downstream-flow-rules.md +0 -297
  251. package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +0 -137
  252. package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +0 -181
  253. package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +0 -120
  254. package/skills/eng-ai-engineer/SKILL.md +0 -297
  255. package/skills/eng-data-bi/SKILL.md +0 -200
  256. package/skills/eng-data-debug/SKILL.md +0 -308
  257. package/skills/eng-data-engineer/SKILL.md +0 -257
  258. package/skills/eng-data-onboard/SKILL.md +0 -311
  259. package/skills/eng-data-orchestrator/SKILL.md +0 -427
  260. package/skills/eng-devops-performance-engineer/SKILL.md +0 -313
  261. package/skills/eng-frontend-design-system/SKILL.md +0 -621
  262. package/skills/eng-frontend-microfrontend/SKILL.md +0 -604
  263. package/skills/eng-global-browser-extension-builder/SKILL.md +0 -386
  264. package/skills/eng-global-jira-comment/SKILL.md +0 -21
  265. package/skills/eng-qa-a11y-audit/SKILL.md +0 -270
  266. package/skills/eng-qa-bug-report/SKILL.md +0 -1089
  267. package/skills/eng-qa-bug-report/TASK_MANAGERS.md +0 -138
  268. package/skills/eng-qa-cypress-e2e/SKILL.md +0 -178
  269. package/skills/eng-qa-dev-guide/SKILL.md +0 -165
  270. package/skills/eng-qa-e2e/SKILL.md +0 -401
  271. package/skills/eng-qa-e2e-spec-writer/SKILL.md +0 -323
  272. package/skills/eng-qa-exploratory/SKILL.md +0 -189
  273. package/skills/eng-qa-gate/SKILL.md +0 -371
  274. package/skills/eng-qa-gate/assets/checklist-validacao.md +0 -291
  275. package/skills/eng-qa-graphql-contract/SKILL.md +0 -257
  276. package/skills/eng-qa-quality-report/SKILL.md +0 -413
  277. package/skills/eng-qa-test-plan/SKILL.md +0 -467
  278. package/skills/eng-qa-testsprite/SKILL.md +0 -326
  279. package/skills/eng-qa-testsprite/references/testsprite-mcp.md +0 -224
  280. package/skills/eng-qa-unit-test/SKILL.md +0 -472
  281. package/skills/eng-scraper/SKILL.md +0 -684
  282. package/skills/eng-scraper-robot-builder/SKILL.md +0 -371
  283. package/skills/eng-security-cybersecurity/SKILL.md +0 -646
  284. package/skills/eng-security-patch/SKILL.md +0 -382
  285. package/skills/eng-security-threat-model/SKILL.md +0 -165
  286. package/skills/eng-security-triage/SKILL.md +0 -270
  287. package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +0 -311
  288. package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +0 -249
  289. package/templates/engineering/qa/qa.cypress-test-template.md +0 -172
  290. package/templates/engineering/qa/qa.exploratory-session-template.md +0 -148
  291. package/templates/engineering/qa/qa.quality-report-template.md +0 -130
  292. package/workflows/engineering/eng.security-audit.md +0 -312
  293. package/workflows/engineering/eng.security-incident.md +0 -275
  294. package/workflows/engineering/eng.security-pipeline.md +0 -210
  295. package/workflows/engineering/eng.security-review.md +0 -235
  296. package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +0 -51
  297. package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +0 -51
  298. package/workflows/engineering/qa/eng.qa-exploratory-session.md +0 -60
  299. package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +0 -202
  300. package/workflows/engineering/qa/eng.qa-quality-report.md +0 -78
  301. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-coverage-template.md +0 -0
  302. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-patterns.md +0 -0
  303. /package/templates/{CDD aplicado a Prompts.md → cdd-aplicado-a-prompts.md} +0 -0
@@ -1,323 +0,0 @@
1
- ---
2
- name: eng-qa-e2e-spec-writer
3
- description: Gera documentação completa de especificação E2E para handoff entre squads — cenários tabelados, Page Objects, fixtures, intercepts e setup de ambiente. Não gera código de teste.
4
- argument-hint: "[rota ou feature — ex: /dashboard, login flow, checkout]"
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
- # qa-e2e-spec-writer
16
-
17
- Você é um QA architect especializado em especificação de testes E2E. Sua função
18
- é gerar documentação de handoff completa para que outro time (QA, SDET) possa
19
- implementar os testes sem precisar ler o código-fonte do frontend.
20
-
21
- > **Diferença dos outros skills QA:**
22
- > - `qa-cypress-e2e` → gera **código** `.cy.ts`
23
- > - `qa-test-plan` → gera **estratégia** de testes
24
- > - `qa-e2e-spec-writer` → gera **especificação detalhada** com fixtures, Page Objects e setup
25
-
26
- ---
27
-
28
- ## Objetivo
29
-
30
- Produzir documento markdown com especificação E2E completa: cenários tabelados
31
- por prioridade, Page Objects, fixtures JSON, intercepts de API, setup de ambiente
32
- — tudo que o time de QA precisa para implementar os testes sem ambiguidade.
33
-
34
- ---
35
-
36
- ## Entrada
37
-
38
- ```
39
- /qa-e2e-spec-writer [rota ou feature]
40
- ```
41
-
42
- - `rota ou feature` (opcional) — escopo da especificação
43
- - Rota: `/dashboard`, `/settings/profile`
44
- - Feature: `login flow`, `checkout`, `onboarding`
45
- - Se omitido, perguntar ao usuário
46
-
47
- ---
48
-
49
- ## Recursos
50
-
51
- | Recurso | Caminho |
52
- |---------|---------|
53
- | Rotas do projeto | `src/routes.*`, `src/app/`, `pages/` |
54
- | Componentes | `src/components/`, `src/features/` |
55
- | APIs/queries | `src/**/*.graphql`, `src/api/`, `src/services/` |
56
- | Tipos/interfaces | `src/types/`, `src/**/*.d.ts` |
57
-
58
- ---
59
-
60
- ## Pré-requisito
61
-
62
- 1. **ENV.md** válido
63
- 2. **Código-fonte do frontend acessível** (rotas, componentes, APIs)
64
- 3. Não requer framework de teste instalado (output é documentação)
65
-
66
- ---
67
-
68
- ## Quando Usar
69
-
70
- **Usar quando:**
71
- - Squad de dev entrega feature e precisa de handoff para QA
72
- - Time de QA vai implementar E2E em repo separado
73
- - Novo QA precisa de contexto completo para criar testes
74
- - Sprint planning precisa estimar esforço de E2E
75
-
76
- **NÃO usar quando:**
77
- - Objetivo é gerar código de teste diretamente (usar `qa-cypress-e2e`)
78
- - Objetivo é planejar estratégia de teste (usar `qa-test-plan`)
79
- - Feature ainda não foi implementada (spec precisa de código real)
80
-
81
- ---
82
-
83
- ## Padrões Críticos
84
-
85
- 1. **Documentação, não código** — output é markdown, não `.cy.ts`
86
- 2. **Auto-suficiente** — quem ler a spec deve conseguir implementar os testes sem ler o código-fonte
87
- 3. **Cenários priorizados** — P0 (smoke), P1 (core), P2 (edge cases), P3 (nice-to-have)
88
- 4. **Page Objects concretos** — seletores reais extraídos do código (`data-testid`, IDs, roles)
89
-
90
- ---
91
-
92
- ## Fluxo de Trabalho
93
-
94
- ### Fase 1 — Análise do código-fonte
95
-
96
- **1.1** Mapear rotas e componentes do escopo:
97
- - Identificar a rota/feature solicitada
98
- - Listar todos os componentes renderizados nessa rota
99
- - Identificar sub-rotas e navegação
100
-
101
- **1.2** Mapear APIs consumidas:
102
- - Queries GraphQL / endpoints REST
103
- - Payloads de request e response
104
- - Estados de erro tratados
105
-
106
- **1.3** Mapear estados da UI:
107
- - Loading, empty, error, success
108
- - Permissões / roles que alteram a UI
109
- - Feature flags (se existirem)
110
-
111
- **1.4** Extrair seletores:
112
- ```bash
113
- grep -rn "data-testid\|data-cy\|aria-label\|role=" src/ --include="*.tsx" --include="*.jsx"
114
- ```
115
-
116
- ### Fase 2 — Gerar cenários
117
-
118
- **2.1** Para cada fluxo identificado, gerar cenários tabelados:
119
-
120
- ```markdown
121
- | # | Cenário | Prioridade | Pré-condição | Steps | Resultado Esperado |
122
- |---|---------|------------|--------------|-------|--------------------|
123
- | 1 | Login com credenciais válidas | P0 | Usuário cadastrado | ... | Redirect para /dashboard |
124
- ```
125
-
126
- **2.2** Organizar por prioridade:
127
- - **P0 — Smoke**: fluxos que se falharem = app inutilizável
128
- - **P1 — Core**: fluxos principais que definem o valor da feature
129
- - **P2 — Edge cases**: erros, limites, estados incomuns
130
- - **P3 — Nice-to-have**: UX refinada, animações, micro-interações
131
-
132
- ### Fase 3 — Gerar Page Objects
133
-
134
- **3.1** Para cada página/componente, gerar Page Object:
135
-
136
- ```markdown
137
- ### Page: Dashboard
138
-
139
- | Elemento | Seletor | Tipo |
140
- |----------|---------|------|
141
- | Botão de filtro | `[data-testid="filter-btn"]` | button |
142
- | Tabela principal | `[data-testid="data-table"]` | table |
143
- | Loading spinner | `[role="progressbar"]` | div |
144
- | Empty state | `[data-testid="empty-state"]` | div |
145
-
146
- **Ações:**
147
- - `clickFilter(name)` → clica no botão de filtro e seleciona opção
148
- - `waitForTable()` → aguarda tabela carregar (spinner desaparecer)
149
- - `getRowCount()` → retorna número de linhas da tabela
150
- ```
151
-
152
- **3.2** Priorizar seletores na ordem: `data-testid` > `data-cy` > `role` > `aria-label` > CSS class (último recurso).
153
-
154
- ### Fase 4 — Gerar fixtures e intercepts
155
-
156
- **4.1** Para cada API consumida, gerar fixture JSON:
157
-
158
- ```markdown
159
- ### Fixture: GET /api/dashboard
160
-
161
- **Arquivo:** `fixtures/dashboard/success.json`
162
- ```json
163
- {
164
- "data": { ... },
165
- "status": 200
166
- }
167
- ```
168
-
169
- **Arquivo:** `fixtures/dashboard/empty.json`
170
- ```json
171
- {
172
- "data": [],
173
- "status": 200
174
- }
175
- ```
176
-
177
- **Arquivo:** `fixtures/dashboard/error.json`
178
- ```json
179
- {
180
- "error": "Internal Server Error",
181
- "status": 500
182
- }
183
- ```
184
- ```
185
-
186
- **4.2** Para cada fixture, gerar intercept correspondente:
187
-
188
- ```markdown
189
- ### Intercepts
190
-
191
- | Rota API | Alias | Fixture | Cenário |
192
- |----------|-------|---------|---------|
193
- | `GET /api/dashboard` | `@getDashboard` | `success.json` | Happy path |
194
- | `GET /api/dashboard` | `@getDashboardEmpty` | `empty.json` | Empty state |
195
- | `GET /api/dashboard` | `@getDashboardError` | `error.json` | Error state |
196
- ```
197
-
198
- ### Fase 5 — Setup de ambiente
199
-
200
- **5.1** Documentar pré-requisitos do ambiente de teste:
201
-
202
- ```markdown
203
- ## Setup de Ambiente
204
-
205
- ### Dependências
206
- - Node.js >= {versão do projeto}
207
- - {framework de teste} instalado
208
-
209
- ### Variáveis de ambiente
210
- - `BASE_URL`: URL da aplicação em teste
211
- - `API_URL`: URL do BFF/backend (para intercepts reais)
212
-
213
- ### Seed de dados (se aplicável)
214
- - Usuário de teste: {como criar}
215
- - Dados pré-populados: {o que precisa existir}
216
-
217
- ### Comandos
218
- ```bash
219
- # Rodar testes E2E
220
- npm run test:e2e
221
-
222
- # Rodar apenas cenários P0
223
- npm run test:e2e -- --tag @smoke
224
- ```
225
- ```
226
-
227
- **5.2** Se o projeto usa Module Federation ou micro frontend, documentar setup standalone vs integrado.
228
-
229
- ### Fase 6 — Montar documento final
230
-
231
- **6.1** Gerar documento completo em:
232
- ```
233
- $SESSIONS_DIR/qa/{TASK_MANAGER_KEY}/e2e-spec-{feature-slug}.md
234
- ```
235
- > Se não houver sessão ativa, salvar em `docs/e2e-spec-{feature-slug}.md`
236
-
237
- **6.2** Estrutura do documento:
238
-
239
- ```markdown
240
- # Especificação E2E — {Feature}
241
-
242
- > Gerado por qa-e2e-spec-writer | {data}
243
- > Escopo: {rota ou feature}
244
-
245
- ## Resumo
246
- - {N} cenários ({P0}, {P1}, {P2}, {P3})
247
- - {M} Page Objects
248
- - {F} fixtures
249
- - {I} intercepts
250
-
251
- ## Cenários
252
- {tabelas de cenários organizadas por prioridade}
253
-
254
- ## Page Objects
255
- {Page Objects com seletores e ações}
256
-
257
- ## Fixtures
258
- {fixtures JSON por API}
259
-
260
- ## Intercepts
261
- {tabela de intercepts}
262
-
263
- ## Setup de Ambiente
264
- {instruções de setup}
265
-
266
- ## Notas para QA
267
- {observações relevantes: flaky risks, timings, race conditions}
268
- ```
269
-
270
- **6.3** Apresentar ao usuário para revisão.
271
-
272
- ---
273
-
274
- ## Regras
275
-
276
- ### Nunca
277
- - Gerar código de teste (`.cy.ts`, `.spec.ts`) — output é documentação
278
- - Inventar seletores que não existem no código — extrair do código real
279
- - Omitir cenários de erro — se a API tem estado de erro, precisa de cenário
280
- - Hardcodar URLs, credenciais ou dados de teste sensíveis
281
-
282
- ### Sempre
283
- - Extrair seletores reais do código-fonte (não inventar)
284
- - Priorizar cenários (P0-P3)
285
- - Incluir fixtures para happy path, empty e error de cada API
286
- - Documentar setup de ambiente completo
287
- - Gerar fixtures com payloads realistas (baseados nos tipos do código)
288
-
289
- ---
290
-
291
- ## Checklist de Conclusão
292
-
293
- - [ ] Rotas e componentes mapeados
294
- - [ ] APIs e estados identificados
295
- - [ ] Seletores extraídos do código
296
- - [ ] Cenários tabelados e priorizados
297
- - [ ] Page Objects gerados
298
- - [ ] Fixtures JSON criadas
299
- - [ ] Intercepts documentados
300
- - [ ] Setup de ambiente documentado
301
- - [ ] Documento final gerado e revisado
302
-
303
- ---
304
-
305
- ## Output
306
-
307
- | Artefato | Destino |
308
- |----------|---------|
309
- | Spec E2E completa (markdown) | `$SESSIONS_DIR/qa/{TASK_MANAGER_KEY}/e2e-spec-{slug}.md` ou `docs/` |
310
-
311
- ---
312
-
313
- ## Mensagem de Conclusão
314
-
315
- ```
316
- ── qa-e2e-spec-writer concluído ──────────────────────────
317
- Feature : {nome}
318
- Cenários : {N} ({P0} smoke, {P1} core, {P2} edge, {P3} extra)
319
- Pages : {M} Page Objects
320
- Fixtures : {F} fixtures ({I} intercepts)
321
- Documento : {path}
322
- ──────────────────────────────────────────────────────────
323
- ```
@@ -1,189 +0,0 @@
1
- ---
2
- name: eng-qa-exploratory
3
- description: >
4
- Conduz sessões de teste exploratório estruturadas: define charter, gera roteiro baseado
5
- em risco, registra achados no template padrão e aciona qa-bug-report para cada bug encontrado.
6
- Pressupõe que eng.qa.exploratory-session-rules.md foi carregado pelo warm-up (HUB=QA).
7
- Trigger: Use quando o QA precisar conduzir ou documentar uma sessão de teste exploratório.
8
- license: AGPL-3.0
9
- compatibility: Designed for Claude Code (or similar products)
10
- allowed-tools: Read Write Edit Grep Glob Bash
11
- metadata:
12
- author: jarvis-framework
13
- version: "1.0"
14
- area: qa
15
- argument-hint: "[feature ou módulo a explorar]"
16
- disable-model-invocation: false
17
- ---
18
-
19
- # QA Exploratório — Sessão de Teste Estruturada
20
-
21
- Você é um **QA Engineer** que conduz sessões de teste exploratório com rigor metodológico.
22
- Seu papel é estruturar a sessão, maximizar a descoberta de riscos e garantir rastreabilidade
23
- completa dos achados.
24
-
25
- > ⚠️ **Pré-condição de sessão**: esta skill assume que
26
- > `$RULES_FOLDER/engineering/qa/eng.qa.exploratory-session-rules.md` foi carregado pelo warm-up.
27
-
28
- ---
29
-
30
- ## Modos de Operação
31
-
32
- ### Modo 1: `plan` — Planejar sessão (antes de executar)
33
- ```
34
- /qa-exploratory plan [feature ou módulo]
35
- ```
36
-
37
- ### Modo 2: `document` — Documentar sessão já realizada
38
- ```
39
- /qa-exploratory document [feature] [achados em linguagem natural]
40
- ```
41
-
42
- ### Modo 3: `report` — Processar doc de sessão e criar bug cards
43
- ```
44
- /qa-exploratory report [caminho do documento de sessão]
45
- ```
46
-
47
- **Se não receber modo**, perguntar qual dos três o QA deseja executar.
48
-
49
- ---
50
-
51
- ## Modo 1 — plan
52
-
53
- ### Fase 1: Entender o escopo
54
-
55
- Perguntar ao usuário (1 pergunta por vez):
56
-
57
- 1. Qual feature ou módulo será explorado?
58
- 2. Qual o contexto? (feature nova / alteração existente / pré-release / suspeita de bug)
59
- 3. Quanto tempo disponível? (30 / 60 / 90 min)
60
- 4. Qual o ambiente? (staging / homologação / outra)
61
-
62
- ### Fase 2: Análise de risco
63
-
64
- A partir do escopo, mapear riscos priorizados:
65
-
66
- ```
67
- Analisar:
68
- - Complexidade do fluxo (quantas etapas, integrações, validações)
69
- - Histórico de bugs na área (buscar por commits/issues recentes se disponível)
70
- - Tipo de mudança (nova feature tem mais risco que pequeno ajuste)
71
- - Dependências externas (quantas APIs/serviços envolvidos)
72
- ```
73
-
74
- Gerar roteiro de hipóteses de risco ordenadas por prioridade.
75
-
76
- ### Fase 3: Gerar documento de sessão
77
-
78
- Criar arquivo usando `$TEMPLATES_FOLDER/engineering/qa/qa.exploratory-session-template.md`:
79
-
80
- ```
81
- $SESSIONS_DIR/qa/EXP-{YYYYMMDD}-{N}.md
82
- ```
83
-
84
- Preencher:
85
- - Charter baseado no escopo e objetivo identificados
86
- - Roteiro de risco com as hipóteses mapeadas
87
- - Dimensões de qualidade selecionadas (máximo 2)
88
- - Escopo (incluído / excluído)
89
-
90
- Exibir o documento gerado e perguntar:
91
- ```
92
- Documento de sessão criado: {caminho}
93
- Você pode executar a sessão e depois rodar:
94
- /qa-exploratory document {caminho}
95
- para registrar os achados.
96
- ```
97
-
98
- ---
99
-
100
- ## Modo 2 — document
101
-
102
- ### Fase 1: Carregar doc da sessão
103
-
104
- ```bash
105
- cat {caminho do doc de sessão}
106
- ```
107
-
108
- Se não fornecido, perguntar o caminho ou listar sessões disponíveis:
109
- ```bash
110
- ls $SESSIONS_DIR/qa/ 2>/dev/null | sort -r | head -10
111
- ```
112
-
113
- ### Fase 2: Coletar achados
114
-
115
- Perguntar ao usuário pelos achados em formato livre — ele pode:
116
- - Descrever em linguagem natural
117
- - Fornecer lista de comportamentos observados
118
- - Colar notas tiradas durante a sessão
119
-
120
- Para cada achado identificado, classificar severidade conforme as regras:
121
- - Fazer 1 pergunta confirmatória por achado S1/S2 (alto impacto)
122
- - Classificar S3/S4 autonomamente com justificativa curta
123
-
124
- ### Fase 3: Atualizar documento de sessão
125
-
126
- Preencher no doc:
127
- - Log de execução (baseado nos achados coletados)
128
- - Tabela de achados com severidade
129
- - Detalhamento de cada bug (B01, B02...)
130
- - Cobertura das hipóteses
131
- - Status do charter
132
- - Métricas da sessão
133
-
134
- ### Fase 4: Identificar bugs para card
135
-
136
- Listar todos os achados S1–S4 e perguntar:
137
- ```
138
- Achados identificados para criar cards:
139
- B01 — S2 — {título}
140
- B02 — S3 — {título}
141
- B03 — S4 — {título}
142
-
143
- Criar cards via qa-bug-report? (S/N)
144
- ```
145
-
146
- Se confirmado, acionar `qa-bug-report` para cada um.
147
-
148
- ---
149
-
150
- ## Modo 3 — report
151
-
152
- ### Ler e processar doc de sessão
153
-
154
- ```bash
155
- cat {caminho}
156
- ```
157
-
158
- Extrair todos os bugs S1–S4 documentados e acionar `qa-bug-report` em batch:
159
-
160
- ```
161
- Para cada bug B{N} no documento:
162
- → Skill: qa-bug-report
163
- → Modo: create
164
- → Campos: title, severity, description, steps, session_id
165
- ```
166
-
167
- Exibir ao final:
168
- ```
169
- Processamento concluído:
170
- Cards criados: {N}
171
- S1: {N} · S2: {N} · S3: {N} · S4: {N}
172
- Sessão: {caminho do doc}
173
- ```
174
-
175
- ---
176
-
177
- ## Regras
178
-
179
- ### Nunca
180
- - Criar doc de sessão sem charter definido
181
- - Classificar automaticamente bugs S1/S2 sem confirmar com o QA
182
- - Registrar achados S5 (melhorias) como bugs no $TASK_MANAGER
183
- - Inventar achados — documentar apenas o que o QA relatou
184
-
185
- ### Sempre
186
- - Seguir as regras de severidade de `eng.qa.exploratory-session-rules.md`
187
- - Separar claramente bugs (S1–S4) de melhorias (S5)
188
- - Identificar quando o charter foi atingido vs. bloqueado
189
- - Registrar evidências mencionadas pelo QA no documento