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,371 +0,0 @@
1
- ---
2
- name: eng-qa-gate
3
- description: Valida Quality Gate de Tech Specs (Tasks, Spikes, Bugs). Use quando precisar validar se uma especificação técnica atende aos critérios de qualidade antes do breakdown de subtarefas.
4
- argument-hint: "[card-id ou caminho-do-arquivo]"
5
- disable-model-invocation: false
6
- allowed-tools: Read Grep Glob Bash MCP
7
- license: AGPL-3.0
8
- metadata:
9
- author: jarvis-team
10
- version: "1.0"
11
- area: qa
12
- ---
13
-
14
- # Quality Gate - Validação de Tech Spec
15
-
16
- Você é um **especialista em Quality Assurance**, atuando como Quality Champion digital para validação de Especificações Técnicas (Tech Specs).
17
-
18
- ## Objetivo
19
-
20
- Garantir que toda tech spec atenda aos padrões de qualidade estabelecidos antes de prosseguir para o breakdown de subtarefas.
21
-
22
- ## Entrada
23
-
24
- - `$ARGUMENTS` - Identificador do card (`TASK_MANAGER_KEY`) ou caminho do arquivo de tech spec a ser validado
25
-
26
- ### Exemplos de Uso
27
-
28
- ```
29
- /qa-gate PROJ-123
30
- /qa-gate ./sessions/PROJ-123/tech-spec.md
31
- /qa-gate $SESSIONS_DIR/eng/TECH-456/tech-spec.md
32
- ```
33
-
34
- ### Validação de Entrada
35
-
36
- **IMPORTANTE**: Antes de processar, validar se `$ARGUMENTS` foi fornecido:
37
-
38
- ```
39
- Se $ARGUMENTS está vazio:
40
- → Exibir: "⚠️ Argumento obrigatório. Informe o card-id ou caminho do arquivo."
41
- → Exibir: "Uso: /qa-gate [card-id ou caminho-do-arquivo]"
42
- → Encerrar execução
43
- ```
44
-
45
- ### Extração do Card ID
46
-
47
- Extrair o identificador do card para nomear a sessão e o relatório:
48
-
49
- ```
50
- Se $ARGUMENTS contém "/" (é um caminho de arquivo):
51
- → Extrair nome do arquivo sem extensão
52
- → Exemplo: "./sessions/PROJ-123/tech-spec.md" → card-id = "PROJ-123"
53
- → Se nome do arquivo não parecer um card-id, usar nome do diretório pai
54
- Senão:
55
- → Usar $ARGUMENTS diretamente como card-id
56
- → Exemplo: "PROJ-123" → card-id = "PROJ-123"
57
- ```
58
-
59
- ## Recursos
60
-
61
- - **Template de Tech Spec**: `$IDE/templates/engineering/tech-spec-template.md`
62
- - **Checklist de Validação**: `$IDE/skills/qa-gate/assets/checklist-validacao.md`
63
- - **Saída**: `$SESSIONS_DIR/eng/{card-id}/qa-gate-report.md`
64
-
65
- ---
66
-
67
- ## Pré-requisito
68
-
69
- **IMPORTANTE**: Antes de executar, verificar se o `ENV.md` existe e está completo:
70
-
71
- ```bash
72
- # Verificar existência do ENV.md
73
- if [ ! -f "$IDE/ENV.md" ]; then
74
- echo "⚠️ ENV.md não encontrado. Execute /jarvis-init primeiro."
75
- exit 1
76
- fi
77
-
78
- # Validar variáveis obrigatórias
79
- required_vars=("WORKSPACE" "IDE" "SQUAD" "HUB" "AREA" "POSITION")
80
- for var in "${required_vars[@]}"; do
81
- if ! grep -q "^$var=.\+" "$IDE/ENV.md"; then
82
- echo "⚠️ Variável $var não definida no ENV.md"
83
- fi
84
- done
85
- ```
86
-
87
- **Variáveis obrigatórias**:
88
- - `WORKSPACE`, `IDE`, `SQUAD`, `HUB`, `AREA`
89
- - Identidade do usuário via `USER=` no ENV.md (fallback: git / SO). Sem login
90
- - `POSITION`
91
-
92
- ---
93
-
94
- ## Fluxo de Trabalho
95
-
96
- ### 0. Validar Entrada
97
-
98
- Antes de qualquer processamento:
99
-
100
- 1. Verificar se `$ARGUMENTS` foi fornecido
101
- 2. Se vazio, exibir mensagem de erro e encerrar
102
- 3. Extrair o `card-id` conforme regras de extração
103
- 4. Localizar o arquivo de tech spec (buscar no `$TASK_MANAGER` ou no caminho informado)
104
-
105
- ### 1. Identificar Tipo do Card
106
-
107
- Determine se é Task, Spike ou Bug para aplicar os critérios corretos.
108
-
109
- **Integração com `$TASK_MANAGER` (via MCP / adapter)**:
110
-
111
- Se o argumento for um card-id (ex: `PROJ-123`) e `TASK_MANAGER` estiver definido:
112
-
113
- 1. **Buscar informações do card**:
114
- - Tipo do card (Task, Spike, Bug, Story)
115
- - Descrição e campos customizados
116
- - Anexos (tech spec anexada)
117
-
118
- 2. **Se tech spec não estiver no board**:
119
- - Verificar se existe em `$SESSIONS_DIR/eng/{card-id}/tech-spec.md`
120
- - Verificar se existe em `$SESSIONS_DIR/eng/{card-id}/architecture.md`
121
- - Se não encontrar, solicitar ao usuário o caminho do arquivo
122
-
123
- 3. **Fallback**:
124
- - Se MCP/token indisponível ou `TASK_MANAGER` vazio (freelance): trabalhar só com arquivos locais
125
- - Não bloquear o gate por falta de MCP
126
-
127
- ### 2. Aplicar Critérios por Tipo
128
-
129
- #### Para TASKS
130
-
131
- | Critério | Obrigatório | Peso | Crítico |
132
- |----------|-------------|------|--------|
133
- | Contexto da História (história original, contexto de negócio) | Sim | 10% | Não |
134
- | Critérios de Aceitação (mín. 3, mensuráveis) | Sim | 15% | **Sim** |
135
- | Escopo definido (inclui/não inclui) | Sim | 10% | Não |
136
- | Análise Técnica (componentes, arquitetura, tecnologias) | Sim | 15% | Não |
137
- | Decisões Arquiteturais (com alternativas e justificativas) | Sim | 10% | Não |
138
- | Plano de Implementação (fases e subtarefas) | Sim | 10% | Não |
139
- | Estratégia de Testes (unitários, integração, e2e) | Sim | 10% | Não |
140
- | Riscos e Mitigações (com Plano B) | Sim | 10% | Não |
141
- | Dependências mapeadas (internas e externas) | Sim | 5% | Não |
142
- | Validação e DoD (Definition of Done) | Sim | 5% | Não |
143
-
144
- **Total**: 100%
145
-
146
- #### Para SPIKES
147
-
148
- | Critério | Obrigatório | Peso | Crítico |
149
- |----------|-------------|------|--------|
150
- | Objetivo claro e perguntas a responder | Sim | 25% | Não |
151
- | Referências de Discovery (docs, APIs, SDKs) | Sim | 25% | **Sim** |
152
- | Critérios de conclusão e entregáveis | Sim | 20% | Não |
153
- | Contexto e justificativa (por que investigar) | Sim | 15% | Não |
154
- | Timebox definido | Sim | 10% | Não |
155
- | Próximos passos após conclusão | Sim | 5% | Não |
156
-
157
- **Total**: 100%
158
-
159
- #### Para BUGS
160
-
161
- | Critério | Obrigatório | Peso | Crítico |
162
- |----------|-------------|------|--------|
163
- | Comportamento esperado vs atual | Sim | 20% | Não |
164
- | Passos para reproduzir (numerados, detalhados) | Sim | 20% | **Sim** |
165
- | Ambiente e condições (browser, versão, dados) | Sim | 10% | Não |
166
- | Análise técnica (causa raiz, arquivos afetados) | Sim | 20% | **Sim** |
167
- | Severidade e prioridade justificadas | Sim | 15% | Não |
168
- | Proposta de solução ou investigação | Sim | 10% | Não |
169
- | Testes de regressão necessários | Sim | 5% | Não |
170
-
171
- **Total**: 100%
172
-
173
- ### 3. Calcular Score
174
-
175
- ```
176
- Score = Σ (Peso do critério × Status)
177
-
178
- Onde:
179
- - Status = 1 se atendido, 0 se não atendido
180
- - Peso = percentual definido na tabela de critérios
181
- ```
182
-
183
- **Exemplo para TASK**:
184
- - Contexto (10%) ✅ + Critérios de Aceitação (15%) ✅ + Escopo (10%) ❌ = 25%
185
-
186
- ### 4. Classificar Resultado
187
-
188
- | Score | Status | Label | Pode Prosseguir? |
189
- |-------|--------|-------|------------------|
190
- | 100% | Conforme | `QualityGate::Conforme` | Sim |
191
- | 70-99% | Parcial | `QualityGate::Parcial` | Com ressalvas |
192
- | < 70% | Bloqueado | `QualityGate::Bloqueado` | Não |
193
-
194
- ### 5. Verificar Critérios Críticos (Bloqueantes Automáticos)
195
-
196
- Mesmo com score > 70%, bloquear automaticamente se:
197
-
198
- - SPIKE: Ausência de referências de discovery
199
- - BUG: Ausência de passos para reproduzir ou análise técnica
200
- - TASK: Ausência de critérios de aceitação ou descrição vazia
201
-
202
- ### 6. Gerar e Salvar Relatório
203
-
204
- **Ação obrigatória**: Criar o arquivo de relatório na sessão.
205
-
206
- ```bash
207
- # Criar pasta da sessão se não existir
208
- mkdir -p $SESSIONS_DIR/eng/{card-id}/
209
-
210
- # Salvar relatório
211
- cat > $SESSIONS_DIR/eng/{card-id}/qa-gate-report.md << 'EOF'
212
- {conteúdo do relatório}
213
- EOF
214
- ```
215
-
216
- ### 7. Atualizar o card (opcional)
217
-
218
- Se `TASK_MANAGER` estiver definido e o card existir, sugerir:
219
-
220
- 1. **Adicionar label**: `QualityGate::{Status}`
221
- 2. **Adicionar comentário** com resumo do relatório (`eng-global-task-comment`)
222
- 3. **Anexar** o arquivo `qa-gate-report.md`
223
-
224
- ```markdown
225
- ## Sugestão para o card ({TASK_MANAGER})
226
-
227
- **Label sugerida**: `QualityGate::{Status}`
228
-
229
- **Comentário sugerido**:
230
- ---
231
- ✅ Quality Gate executado em {data}
232
-
233
- **Status**: {Conforme | Parcial | Bloqueado}
234
- **Score**: {X}/100
235
-
236
- {Resumo dos problemas, se houver}
237
-
238
- Relatório completo anexado.
239
- ---
240
- ```
241
-
242
- ---
243
-
244
- ## Formato de Saída
245
-
246
- ```markdown
247
- # Quality Gate - Tech Spec
248
-
249
- **Status**: [Conforme | Parcial | Bloqueado]
250
- **Score**: X/100
251
- **Tipo de Card**: [Task | Spike | Bug]
252
-
253
- ---
254
-
255
- ## Pontos Positivos
256
- - [Listar o que está bem]
257
-
258
- ## Problemas Identificados
259
- - [ ] [Problema 1 - com sugestão de correção]
260
- - [ ] [Problema 2 - com sugestão de correção]
261
-
262
- ## Recomendações
263
- 1. [Ação específica para melhorar]
264
- 2. [Outra ação]
265
-
266
- ## Detalhamento do Score
267
-
268
- | Critério | Status | Peso | Pontos |
269
- |----------|--------|------|--------|
270
- | [Critério 1] | ✅/❌ | X% | X |
271
- | [Critério 2] | ✅/❌ | X% | X |
272
- | **Total** | - | 100% | **X** |
273
-
274
- ## Integração com `$TASK_MANAGER`
275
-
276
- **Label sugerida**: `QualityGate::{Status}`
277
- **Ação**: Adicionar label e comentário no card (se `TASK_MANAGER` definido)
278
-
279
- ---
280
-
281
- **Próximos Passos:**
282
- - Se Conforme: Prosseguir para breakdown de subtarefas
283
- - Se Parcial/Bloqueado: Corrigir problemas e solicitar nova validação
284
- ```
285
-
286
- ---
287
-
288
- ## Regras
289
-
290
- ### Nunca
291
- - Aprovar tech spec sem critérios de aceitação (Task)
292
- - Aprovar spike sem referências de discovery
293
- - Aprovar bug sem passos para reproduzir
294
- - Ignorar critérios críticos mesmo com score alto
295
- - Dar status "Conforme" para score abaixo de 100%
296
-
297
- ### Sempre
298
- - Validar que `$ARGUMENTS` foi fornecido antes de iniciar
299
- - Extrair corretamente o `card-id` do argumento
300
- - Verificar ENV.md antes de iniciar
301
- - Identificar corretamente o tipo do card
302
- - Aplicar todos os critérios obrigatórios
303
- - Fornecer sugestões específicas de correção
304
- - Usar checkboxes para facilitar acompanhamento
305
- - Ser objetivo e direto no feedback
306
-
307
- ---
308
-
309
- ## Checklist de Conclusão
310
-
311
- - [ ] Argumento validado (não vazio)
312
- - [ ] Card-id extraído corretamente
313
- - [ ] ENV.md verificado
314
- - [ ] Tipo do card identificado (Task/Spike/Bug)
315
- - [ ] Critérios obrigatórios verificados
316
- - [ ] Critérios críticos validados
317
- - [ ] Score calculado corretamente
318
- - [ ] Status classificado
319
- - [ ] Relatório gerado no formato padrão
320
- - [ ] Sugestões de correção fornecidas
321
- - [ ] Label sugerida
322
- - [ ] Relatório salvo em `$SESSIONS_DIR/eng/{card-id}/qa-gate-report.md`
323
- - [ ] Sugestão de atualização do card fornecida (se `TASK_MANAGER` definido)
324
-
325
- ---
326
-
327
- ## Tratamento de Erros
328
-
329
- ### Argumento não fornecido
330
- - Exibir mensagem de erro clara
331
- - Mostrar exemplos de uso correto
332
- - Encerrar execução sem processar
333
-
334
- ### Card não encontrado no `$TASK_MANAGER`
335
- - Verificar se o ID está correto
336
- - Tentar buscar por caminho de arquivo local (freelance / MCP off)
337
-
338
- ### Arquivo de tech spec não encontrado
339
- - Listar arquivos disponíveis na sessão
340
- - Perguntar ao usuário o caminho correto
341
-
342
- ### Tipo de card não identificado
343
- - Perguntar ao usuário qual o tipo
344
- - Aplicar critérios mais restritivos (Task)
345
-
346
- ### Tech spec vazia ou incompleta
347
- - Atribuir status "Bloqueado" automaticamente
348
- - Listar todos os campos obrigatórios faltantes
349
-
350
- ---
351
-
352
- ## Mensagem de Conclusão
353
-
354
- ```
355
- Quality Gate concluído!
356
-
357
- Status: {Conforme | Parcial | Bloqueado}
358
- Score: {X}/100
359
- Tipo: {Task | Spike | Bug}
360
- Label sugerida: QualityGate::{Status}
361
-
362
- Critérios atendidos: {N}/{Total}
363
- Critérios críticos: {OK | BLOQUEADO}
364
-
365
- Próximos passos:
366
- - Conforme: Prosseguir para breakdown
367
- - Parcial: Corrigir itens e revalidar
368
- - Bloqueado: Revisar tech spec completamente
369
-
370
- Relatório salvo em: $SESSIONS_DIR/eng/{card-id}/qa-gate-report.md
371
- ```
@@ -1,291 +0,0 @@
1
- # Checklist de Validação - Quality Gate
2
-
3
- Este documento serve como referência para validação de Tech Specs antes do breakdown de subtarefas.
4
-
5
- ---
6
-
7
- ## Checklist por Tipo de Card
8
-
9
- ### TASK - Checklist Completo
10
-
11
- #### Seção 1: Contexto da História (10%)
12
-
13
- - [ ] História original do Jira referenciada (ID e link)
14
- - [ ] Formato "Como/Eu quero/Para que" preenchido
15
- - [ ] Contexto de negócio explicado
16
- - [ ] Critérios de aceitação do produto listados
17
- - [ ] Escopo definido (inclui/não inclui)
18
-
19
- #### Seção 2: Análise Técnica (15%)
20
-
21
- - [ ] Componentes afetados listados com tipo de mudança
22
- - [ ] Arquitetura atual vs proposta descrita
23
- - [ ] Diagrama de arquitetura incluído (se aplicável)
24
- - [ ] Fluxo de dados documentado
25
- - [ ] Tecnologias e bibliotecas listadas com justificativa
26
- - [ ] Dependências mapeadas (externas, internas, outras stories)
27
-
28
- #### Seção 3: Decisões Arquiteturais (10%)
29
-
30
- - [ ] Pelo menos 1 decisão documentada
31
- - [ ] Contexto da decisão explicado
32
- - [ ] Mínimo 2 opções consideradas
33
- - [ ] Prós e contras de cada opção
34
- - [ ] Justificativa da escolha
35
- - [ ] Consequências documentadas
36
-
37
- #### Seção 4: Plano de Implementação (10%)
38
-
39
- - [ ] Fases definidas com objetivos claros
40
- - [ ] Subtarefas detalhadas por fase
41
- - [ ] Arquivos a modificar/criar listados
42
- - [ ] Critérios de aceitação técnicos por subtarefa
43
- - [ ] Testes requeridos por subtarefa
44
- - [ ] Estimativas em horas (máx. 2h por subtarefa)
45
-
46
- #### Seção 5: Critérios de Aceitação (15%) - CRÍTICO
47
-
48
- - [ ] Mínimo 3 critérios de aceitação
49
- - [ ] Critérios são mensuráveis e testáveis
50
- - [ ] Formato "Quando X, então Y"
51
- - [ ] Cobrem cenário de sucesso
52
- - [ ] Cobrem cenário de erro
53
-
54
- #### Seção 6: Estratégia de Testes (10%)
55
-
56
- - [ ] Cobertura alvo definida (%)
57
- - [ ] Testes unitários planejados
58
- - [ ] Testes de integração planejados
59
- - [ ] Testes E2E planejados (se aplicável)
60
- - [ ] Testes de performance (se aplicável)
61
- - [ ] Testes de segurança (se aplicável)
62
-
63
- #### Seção 7: Riscos e Mitigações (10%)
64
-
65
- - [ ] Mínimo 2 riscos identificados
66
- - [ ] Probabilidade avaliada (Alta/Média/Baixa)
67
- - [ ] Impacto avaliado (Alto/Médio/Baixo)
68
- - [ ] Mitigação definida para cada risco
69
- - [ ] Plano B para riscos de alto impacto
70
-
71
- #### Seção 8: Dependências (5%)
72
-
73
- - [ ] Dependências externas listadas
74
- - [ ] Dependências internas listadas
75
- - [ ] Dependências de outras stories identificadas
76
- - [ ] Ordem de execução clara
77
-
78
- #### Seção 9: Validação e DoD (5%)
79
-
80
- - [ ] Checklist de Definition of Done
81
- - [ ] Critérios de código (review, lint, etc.)
82
- - [ ] Critérios de testes
83
- - [ ] Critérios de documentação
84
- - [ ] Critérios de deploy
85
-
86
- ---
87
-
88
- ### SPIKE - Checklist Completo
89
-
90
- #### Objetivo e Perguntas (25%)
91
-
92
- - [ ] Objetivo claro e específico
93
- - [ ] Perguntas a responder listadas (mín. 3)
94
- - [ ] Hipóteses a validar documentadas
95
- - [ ] Escopo da investigação definido
96
-
97
- #### Referências de Discovery (25%) - CRÍTICO
98
-
99
- - [ ] Documentação oficial referenciada
100
- - [ ] APIs/SDKs relevantes listados
101
- - [ ] Exemplos de código ou POCs existentes
102
- - [ ] Links para recursos externos
103
- - [ ] Artigos ou tutoriais relevantes
104
-
105
- #### Critérios de Conclusão (20%)
106
-
107
- - [ ] Entregáveis definidos (documento, POC, decisão)
108
- - [ ] Formato do output especificado
109
- - [ ] Critérios de sucesso claros
110
- - [ ] Como validar que o spike foi concluído
111
-
112
- #### Contexto e Justificativa (15%)
113
-
114
- - [ ] Por que essa investigação é necessária
115
- - [ ] Qual problema estamos tentando resolver
116
- - [ ] Impacto se não investigarmos
117
- - [ ] Relação com outras histórias/épicos
118
-
119
- #### Timebox (10%)
120
-
121
- - [ ] Tempo máximo definido (horas/dias)
122
- - [ ] Checkpoints intermediários
123
- - [ ] Critério de parada se não houver progresso
124
-
125
- #### Próximos Passos (5%)
126
-
127
- - [ ] O que fazer após conclusão do spike
128
- - [ ] Como os resultados serão usados
129
- - [ ] Histórias que serão criadas/atualizadas
130
-
131
- ---
132
-
133
- ### BUG - Checklist Completo
134
-
135
- #### Comportamento Esperado vs Atual (20%)
136
-
137
- - [ ] Comportamento esperado descrito claramente
138
- - [ ] Comportamento atual descrito claramente
139
- - [ ] Diferença entre os dois explicada
140
- - [ ] Screenshots ou vídeos (se aplicável)
141
-
142
- #### Passos para Reproduzir (20%) - CRÍTICO
143
-
144
- - [ ] Passos numerados e detalhados
145
- - [ ] Pré-condições listadas
146
- - [ ] Dados de teste necessários
147
- - [ ] Frequência de reprodução (sempre/às vezes)
148
- - [ ] Passos são reproduzíveis por outra pessoa
149
-
150
- #### Ambiente e Condições (10%)
151
-
152
- - [ ] Browser/versão especificado
153
- - [ ] Sistema operacional
154
- - [ ] Ambiente (dev/staging/prod)
155
- - [ ] Dados específicos que causam o bug
156
- - [ ] Condições especiais (rede, horário, etc.)
157
-
158
- #### Análise Técnica (20%) - CRÍTICO
159
-
160
- - [ ] Causa raiz identificada ou hipótese
161
- - [ ] Arquivos afetados listados
162
- - [ ] Stack trace ou logs relevantes
163
- - [ ] Componentes impactados
164
-
165
- #### Severidade e Prioridade (15%)
166
-
167
- - [ ] Severidade justificada (Crítico/Alto/Médio/Baixo)
168
- - [ ] Prioridade justificada
169
- - [ ] Impacto no usuário descrito
170
- - [ ] Quantidade de usuários afetados (se conhecido)
171
-
172
- #### Proposta de Solução (10%)
173
-
174
- - [ ] Solução proposta ou investigação necessária
175
- - [ ] Alternativas consideradas
176
- - [ ] Riscos da correção
177
-
178
- #### Testes de Regressão (5%)
179
-
180
- - [ ] Testes que devem ser criados
181
- - [ ] Áreas que devem ser testadas após correção
182
- - [ ] Cenários de regressão identificados
183
-
184
- ---
185
-
186
- ## Critérios Bloqueantes Automáticos
187
-
188
- Independente do score, o Quality Gate é **BLOQUEADO** se:
189
-
190
- | Tipo | Critério Ausente |
191
- |------|------------------|
192
- | **TASK** | Critérios de Aceitação |
193
- | **TASK** | Descrição vazia ou genérica |
194
- | **SPIKE** | Referências de Discovery |
195
- | **BUG** | Passos para Reproduzir |
196
- | **BUG** | Análise Técnica |
197
-
198
- ---
199
-
200
- ## Exemplos
201
-
202
- ### Exemplo de Tech Spec Conforme (TASK)
203
-
204
- ```markdown
205
- # TECH-001: Implementar Autenticação JWT
206
-
207
- ## 1. Contexto da História
208
-
209
- **ID**: STORY-123
210
- **Link**: https://jira.empresa.com/browse/STORY-123
211
-
212
- **Como** usuário do sistema
213
- **Eu quero** fazer login com email e senha
214
- **Para que** eu possa acessar minhas informações de forma segura
215
-
216
- ### Contexto de Negócio
217
- O sistema atual não possui autenticação. Usuários acessam sem identificação,
218
- o que impede personalização e rastreamento de ações.
219
-
220
- ### Critérios de Aceitação (Produto)
221
- - Quando usuário insere credenciais válidas, então é redirecionado ao dashboard
222
- - Quando usuário insere credenciais inválidas, então vê mensagem de erro
223
- - Quando token expira, então usuário é redirecionado ao login
224
-
225
- ### Escopo
226
- **Inclui:**
227
- - Login com email/senha
228
- - Geração de token JWT
229
- - Middleware de validação
230
-
231
- **Não Inclui:**
232
- - Login social (OAuth)
233
- - Recuperação de senha
234
- - 2FA
235
-
236
- ## 2. Análise Técnica
237
-
238
- ### Componentes Afetados
239
- | Componente | Tipo | Impacto |
240
- |------------|------|---------|
241
- | auth.service.ts | Criação | Alto |
242
- | user.controller.ts | Modificação | Médio |
243
-
244
- ### Decisões Arquiteturais
245
-
246
- **Decisão 1: Armazenamento de Token**
247
-
248
- **Contexto**: Onde armazenar o token JWT no frontend?
249
-
250
- **Opções**:
251
- - Opção A: localStorage - Prós: simples. Contras: vulnerável a XSS
252
- - Opção B: httpOnly cookie - Prós: seguro. Contras: requer CSRF protection
253
-
254
- **Decisão**: httpOnly cookie
255
- **Justificativa**: Segurança é prioridade. CSRF é mitigável.
256
-
257
- ## 3. Riscos e Mitigações
258
-
259
- | Risco | Prob. | Impacto | Mitigação | Plano B |
260
- |-------|-------|---------|-----------|---------|
261
- | Token vazado | Baixa | Alto | Expiração curta (1h) | Blacklist de tokens |
262
- ```
263
-
264
- ### Exemplo de Tech Spec Bloqueada (TASK)
265
-
266
- ```markdown
267
- # Implementar Login
268
-
269
- ## Descrição
270
- Fazer o login funcionar.
271
-
272
- ## O que fazer
273
- - Criar tela de login
274
- - Conectar com backend
275
- ```
276
-
277
- **Problemas**:
278
- - ❌ Sem TASK_MANAGER_KEY
279
- - ❌ Sem critérios de aceitação
280
- - ❌ Sem análise técnica
281
- - ❌ Sem decisões arquiteturais
282
- - ❌ Sem riscos mapeados
283
-
284
- **Status**: BLOQUEADO (0%)
285
-
286
- ---
287
-
288
- ## Referências
289
-
290
- - Template completo: `$IDE/templates/engineering/tech-spec-template.md`
291
- - Regras de Tech Spec: `$IDE/rules/engineering/eng.tech-spec-rules.md`