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,377 +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
- /eng-qa-gate PROJ-123
30
- /eng-qa-gate ./sessions/PROJ-123/tech-spec.md
31
- /eng-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: /eng-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/eng-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
- ### Skills invocados durante a execução do skill
243
-
244
- | Passo | Skill | Condição |
245
- |-------|-------|----------|
246
- | Passo 7 — Atualizar o card (opcional) | `/eng-global-task-comment` | Se `TASK_MANAGER` estiver definido e o card existir (sugerido ao usuário, opcional) |
247
-
248
- ---
249
-
250
- ## Formato de Saída
251
-
252
- ```markdown
253
- # Quality Gate - Tech Spec
254
-
255
- **Status**: [Conforme | Parcial | Bloqueado]
256
- **Score**: X/100
257
- **Tipo de Card**: [Task | Spike | Bug]
258
-
259
- ---
260
-
261
- ## Pontos Positivos
262
- - [Listar o que está bem]
263
-
264
- ## Problemas Identificados
265
- - [ ] [Problema 1 - com sugestão de correção]
266
- - [ ] [Problema 2 - com sugestão de correção]
267
-
268
- ## Recomendações
269
- 1. [Ação específica para melhorar]
270
- 2. [Outra ação]
271
-
272
- ## Detalhamento do Score
273
-
274
- | Critério | Status | Peso | Pontos |
275
- |----------|--------|------|--------|
276
- | [Critério 1] | ✅/❌ | X% | X |
277
- | [Critério 2] | ✅/❌ | X% | X |
278
- | **Total** | - | 100% | **X** |
279
-
280
- ## Integração com `$TASK_MANAGER`
281
-
282
- **Label sugerida**: `QualityGate::{Status}`
283
- **Ação**: Adicionar label e comentário no card (se `TASK_MANAGER` definido)
284
-
285
- ---
286
-
287
- **Próximos Passos:**
288
- - Se Conforme: Prosseguir para breakdown de subtarefas
289
- - Se Parcial/Bloqueado: Corrigir problemas e solicitar nova validação
290
- ```
291
-
292
- ---
293
-
294
- ## Regras
295
-
296
- ### Nunca
297
- - Aprovar tech spec sem critérios de aceitação (Task)
298
- - Aprovar spike sem referências de discovery
299
- - Aprovar bug sem passos para reproduzir
300
- - Ignorar critérios críticos mesmo com score alto
301
- - Dar status "Conforme" para score abaixo de 100%
302
-
303
- ### Sempre
304
- - Validar que `$ARGUMENTS` foi fornecido antes de iniciar
305
- - Extrair corretamente o `card-id` do argumento
306
- - Verificar ENV.md antes de iniciar
307
- - Identificar corretamente o tipo do card
308
- - Aplicar todos os critérios obrigatórios
309
- - Fornecer sugestões específicas de correção
310
- - Usar checkboxes para facilitar acompanhamento
311
- - Ser objetivo e direto no feedback
312
-
313
- ---
314
-
315
- ## Checklist de Conclusão
316
-
317
- - [ ] Argumento validado (não vazio)
318
- - [ ] Card-id extraído corretamente
319
- - [ ] ENV.md verificado
320
- - [ ] Tipo do card identificado (Task/Spike/Bug)
321
- - [ ] Critérios obrigatórios verificados
322
- - [ ] Critérios críticos validados
323
- - [ ] Score calculado corretamente
324
- - [ ] Status classificado
325
- - [ ] Relatório gerado no formato padrão
326
- - [ ] Sugestões de correção fornecidas
327
- - [ ] Label sugerida
328
- - [ ] Relatório salvo em `$SESSIONS_DIR/eng/{card-id}/qa-gate-report.md`
329
- - [ ] Sugestão de atualização do card fornecida (se `TASK_MANAGER` definido)
330
-
331
- ---
332
-
333
- ## Tratamento de Erros
334
-
335
- ### Argumento não fornecido
336
- - Exibir mensagem de erro clara
337
- - Mostrar exemplos de uso correto
338
- - Encerrar execução sem processar
339
-
340
- ### Card não encontrado no `$TASK_MANAGER`
341
- - Verificar se o ID está correto
342
- - Tentar buscar por caminho de arquivo local (freelance / MCP off)
343
-
344
- ### Arquivo de tech spec não encontrado
345
- - Listar arquivos disponíveis na sessão
346
- - Perguntar ao usuário o caminho correto
347
-
348
- ### Tipo de card não identificado
349
- - Perguntar ao usuário qual o tipo
350
- - Aplicar critérios mais restritivos (Task)
351
-
352
- ### Tech spec vazia ou incompleta
353
- - Atribuir status "Bloqueado" automaticamente
354
- - Listar todos os campos obrigatórios faltantes
355
-
356
- ---
357
-
358
- ## Mensagem de Conclusão
359
-
360
- ```
361
- Quality Gate concluído!
362
-
363
- Status: {Conforme | Parcial | Bloqueado}
364
- Score: {X}/100
365
- Tipo: {Task | Spike | Bug}
366
- Label sugerida: QualityGate::{Status}
367
-
368
- Critérios atendidos: {N}/{Total}
369
- Critérios críticos: {OK | BLOQUEADO}
370
-
371
- Próximos passos:
372
- - Conforme: Prosseguir para breakdown
373
- - Parcial: Corrigir itens e revalidar
374
- - Bloqueado: Revisar tech spec completamente
375
-
376
- Relatório salvo em: $SESSIONS_DIR/eng/{card-id}/qa-gate-report.md
377
- ```
@@ -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-on-demand/engineering/eng.tech-spec-rules.md`