jarvis-ai-framework 2.1.1 → 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 (259) hide show
  1. package/AGENTS.md +14 -115
  2. package/agents/AGENTS.md +11 -23
  3. package/agents/README.md +25 -129
  4. package/agents/engineering/data/eng.data-engineer.agent.md +11 -34
  5. package/agents/engineering/eng.agent.md +14 -24
  6. package/agents/engineering/eng.bug-hunter.md +7 -15
  7. package/agents/engineering/eng.dev-code-reviewer.md +1 -1
  8. package/agents/engineering/eng.frontend.agent.md +3 -7
  9. package/agents/engineering/eng.rpa.agent.md +2 -8
  10. package/agents/engineering/qa/eng.qa.quality-strategist.md +6 -11
  11. package/agents/engineering/qa/eng.qa.test-architect.md +8 -18
  12. package/agents/engineering/qa/eng.qa.test-planner.md +10 -14
  13. package/agents/engineering/qa/eng.qa.testing-engineer.md +91 -24
  14. package/agents/product/prod.discovery-interviewer.md +3 -3
  15. package/bin/README.md +142 -0
  16. package/bin/commands/docs-publish.js +105 -141
  17. package/bin/commands/docs-sync.js +66 -104
  18. package/bin/commands/info.js +7 -27
  19. package/bin/commands/init.js +23 -51
  20. package/bin/commands/install-rtk.js +9 -3
  21. package/bin/commands/list.js +5 -18
  22. package/bin/commands/map.js +20 -5
  23. package/bin/commands/qa-signoff.js +58 -55
  24. package/bin/commands/tokens.js +14 -17
  25. package/bin/commands/whoami.js +30 -26
  26. package/bin/jarvis.js +9 -163
  27. package/bin/lib/auth/session.js +20 -20
  28. package/bin/lib/cli/program.js +219 -0
  29. package/bin/lib/cli/shared-options.js +29 -0
  30. package/bin/lib/config/constants.js +59 -2
  31. package/bin/lib/config/ide-config.js +4 -8
  32. package/bin/lib/core/profile-filter.js +4 -1
  33. package/bin/lib/core/scanner.js +3 -29
  34. package/bin/lib/core/sync-engine.js +21 -14
  35. package/bin/lib/core/token-report.js +12 -2
  36. package/bin/lib/docs/fetch-file.js +39 -0
  37. package/bin/lib/docs/publish-file.js +194 -0
  38. package/bin/lib/docs/redis-cache.js +49 -0
  39. package/bin/lib/docs/validate-frontmatter.js +9 -39
  40. package/bin/lib/env-loader.js +11 -34
  41. package/bin/lib/flow-map/parse.js +11 -5
  42. package/bin/lib/flow-map/render.js +5 -2
  43. package/bin/lib/flow-map/tree.js +59 -10
  44. package/bin/lib/tasks/comment.js +40 -35
  45. package/bin/lib/utils/frontmatter.js +57 -0
  46. package/bin/lib/utils/git-parser.js +4 -6
  47. package/bin/lib/utils/npmrc-parser.js +6 -13
  48. package/bin/lib/utils/paths.js +2 -4
  49. package/bin/lib/utils/ui.js +3 -9
  50. package/bin/lib/vcs/api.js +25 -41
  51. package/bin/lib/vcs/create-issue.js +49 -33
  52. package/bin/lib/vcs/create-merge.js +47 -31
  53. package/bin/lib/vcs/fetch-raw.js +35 -23
  54. package/package.json +14 -5
  55. package/rules/engineering/eng-rules.md +1 -1
  56. package/rules/engineering/eng-security-rules.md +18 -16
  57. package/rules/engineering/eng.bump-rules.md +3 -2
  58. package/rules/engineering/eng.docs-scraping-rules.md +4 -4
  59. package/rules/engineering/eng.integrations-rules.md +3 -3
  60. package/rules/engineering/eng.skills-rules.md +1 -1
  61. package/rules/engineering/eng.specializations-rules.md +18 -4
  62. package/rules/engineering/frontend/eng.frontend-rules.md +1 -4
  63. package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +1 -1
  64. package/rules/engineering/rpa/eng.rpa-rules.md +4 -9
  65. package/skills/AGENTS.md +52 -87
  66. package/skills/SKILLS-ROADMAP.md +47 -128
  67. package/skills/eng-ai/SKILL.md +270 -0
  68. package/skills/eng-ai/references/1-fundamentos-ml.md +24 -0
  69. package/skills/eng-ai/references/10-arquitetura-solucoes-ia.md +24 -0
  70. package/skills/eng-ai/references/11-governanca-ia.md +24 -0
  71. package/skills/eng-ai/references/12-seguranca-ia-responsavel.md +25 -0
  72. package/skills/eng-ai/references/2-matematica-estatistica.md +24 -0
  73. package/skills/eng-ai/references/3-dados-para-ia.md +24 -0
  74. package/skills/eng-ai/references/4-deep-learning-fundacionais.md +24 -0
  75. package/skills/eng-ai/references/5-llms-chatbots-agentes-rag.md +25 -0
  76. package/skills/eng-ai/references/6-avaliacao-experimentacao.md +24 -0
  77. package/skills/eng-ai/references/7-engenharia-sistemas-ia.md +24 -0
  78. package/skills/eng-ai/references/8-mlops-plataforma.md +24 -0
  79. package/skills/eng-ai/references/9-produto-ia.md +24 -0
  80. package/skills/eng-ai/references/especializacoes.md +17 -0
  81. package/skills/eng-automation/SKILL.md +290 -0
  82. package/skills/eng-automation/references/1-fundamentos-automacao.md +25 -0
  83. package/skills/eng-automation/references/10-ingestao-dados.md +25 -0
  84. package/skills/eng-automation/references/11-captcha-antibot.md +25 -0
  85. package/skills/eng-automation/references/12-limites-taxa-sessoes.md +25 -0
  86. package/skills/eng-automation/references/13-agendamento-orquestracao.md +24 -0
  87. package/skills/eng-automation/references/14-retentativa-erros.md +25 -0
  88. package/skills/eng-automation/references/15-autenticacao-credenciais.md +24 -0
  89. package/skills/eng-automation/references/16-observabilidade-confiabilidade.md +24 -0
  90. package/skills/eng-automation/references/2-aquisicao-dados.md +25 -0
  91. package/skills/eng-automation/references/3-automacao-navegador.md +24 -0
  92. package/skills/eng-automation/references/4-scraping-crawling.md +25 -0
  93. package/skills/eng-automation/references/5-apis-rest-graphql-soap.md +26 -0
  94. package/skills/eng-automation/references/6-webhooks-integracao.md +25 -0
  95. package/skills/eng-automation/references/7-rpa.md +25 -0
  96. package/skills/eng-automation/references/8-extracao-estruturada.md +25 -0
  97. package/skills/eng-automation/references/9-extracao-documentos.md +25 -0
  98. package/skills/eng-automation/references/especializacoes.md +18 -0
  99. package/skills/eng-backend-nestjs/SKILL.md +1 -1
  100. package/skills/eng-data/SKILL.md +271 -0
  101. package/skills/eng-data/references/1-fundamentos-dados.md +24 -0
  102. package/skills/eng-data/references/10-ciencia-dados.md +24 -0
  103. package/skills/eng-data/references/11-dataops-plataforma.md +24 -0
  104. package/skills/eng-data/references/12-seguranca-privacidade.md +24 -0
  105. package/skills/eng-data/references/2-modelagem-dados.md +24 -0
  106. package/skills/eng-data/references/3-bancos-dados.md +24 -0
  107. package/skills/eng-data/references/4-arquitetura-dados.md +24 -0
  108. package/skills/eng-data/references/5-pipelines-integracao.md +24 -0
  109. package/skills/eng-data/references/6-qualidade-dados.md +24 -0
  110. package/skills/eng-data/references/7-governanca-metadados.md +24 -0
  111. package/skills/eng-data/references/8-estatistica-analise.md +24 -0
  112. package/skills/eng-data/references/9-analytics-bi.md +24 -0
  113. package/skills/eng-data/references/especializacoes.md +20 -0
  114. package/skills/eng-frontend/SKILL.md +12 -5
  115. package/skills/eng-frontend/references/13-design-system.md +48 -0
  116. package/skills/eng-frontend/references/14-microfrontend.md +46 -0
  117. package/skills/eng-global-task-comment/SKILL.md +2 -2
  118. package/skills/eng-platform/SKILL.md +331 -0
  119. package/skills/eng-platform/references/1-fundamentos-sistemas.md +23 -0
  120. package/skills/eng-platform/references/10-resiliencia-arquitetura.md +24 -0
  121. package/skills/eng-platform/references/11-plataforma-devex.md +24 -0
  122. package/skills/eng-platform/references/12-finops-custos.md +24 -0
  123. package/skills/eng-platform/references/13-seguranca-fundamentos.md +26 -0
  124. package/skills/eng-platform/references/14-profiling-performance.md +23 -0
  125. package/skills/eng-platform/references/15-testes-carga-chaos.md +23 -0
  126. package/skills/eng-platform/references/16-cache-multicamada.md +22 -0
  127. package/skills/eng-platform/references/2-redes.md +23 -0
  128. package/skills/eng-platform/references/3-cloud.md +24 -0
  129. package/skills/eng-platform/references/4-iac-automacao.md +24 -0
  130. package/skills/eng-platform/references/5-containers-orquestracao.md +25 -0
  131. package/skills/eng-platform/references/6-cicd-entrega.md +24 -0
  132. package/skills/eng-platform/references/7-observabilidade.md +24 -0
  133. package/skills/eng-platform/references/8-confiabilidade-sre.md +24 -0
  134. package/skills/eng-platform/references/9-seguranca-infra.md +26 -0
  135. package/skills/eng-platform/references/especializacoes.md +34 -0
  136. package/skills/eng-qa/SKILL.md +283 -0
  137. package/skills/eng-qa/references/1-fundamentos-qualidade.md +25 -0
  138. package/skills/eng-qa/references/10-confiabilidade.md +25 -0
  139. package/skills/eng-qa/references/11-seguranca.md +24 -0
  140. package/skills/eng-qa/references/12-acessibilidade.md +24 -0
  141. package/skills/eng-qa/references/13-dados-testes.md +24 -0
  142. package/skills/eng-qa/references/14-gestao-testes-defeitos.md +25 -0
  143. package/skills/eng-qa/references/15-arquitetura-qa.md +25 -0
  144. package/skills/eng-qa/references/2-estrategia-planejamento.md +25 -0
  145. package/skills/eng-qa/references/3-design-testes.md +25 -0
  146. package/skills/eng-qa/references/4-manual-exploratorio.md +24 -0
  147. package/skills/eng-qa/references/5-automacao-testes.md +25 -0
  148. package/skills/eng-qa/references/6-api-integracao.md +25 -0
  149. package/skills/eng-qa/references/7-contrato.md +24 -0
  150. package/skills/eng-qa/references/8-interface-compat-mobile.md +24 -0
  151. package/skills/eng-qa/references/9-performance.md +24 -0
  152. package/skills/eng-qa/references/especializacoes.md +29 -0
  153. package/skills/eng-qa-planner/SKILL.md +264 -0
  154. package/skills/jarvis-context-detect/SKILL.md +1 -1
  155. package/skills/jarvis-context-detect/assets/context-profile-template.md +1 -1
  156. package/skills/jarvis-create-specialization/SKILL.md +8 -0
  157. package/skills/jarvis-docs-central/README.md +31 -28
  158. package/skills/jarvis-docs-central/SKILL.md +5 -5
  159. package/skills/jarvis-init/SKILL.md +8 -8
  160. package/skills/jarvis-init/assets/passo-adicionar-stacks.md +47 -18
  161. package/skills/jarvis-list-specializations/SKILL.md +30 -17
  162. package/skills/jarvis-report-issue/SKILL.md +1 -1
  163. package/taxonomy.md +4 -16
  164. package/templates/ENV-template.md +10 -2
  165. package/templates/engineering/qa/qa.sprint-plan-template.md +1 -1
  166. package/workflows/AGENTS.md +3 -1
  167. package/workflows/README.md +0 -10
  168. package/workflows/engineering/data/data.new-pipeline.md +6 -5
  169. package/workflows/engineering/eng.bug-audit.md +4 -14
  170. package/workflows/engineering/eng.debug.md +4 -20
  171. package/workflows/engineering/eng.pr.md +10 -28
  172. package/workflows/engineering/eng.pre-pr.md +11 -19
  173. package/workflows/engineering/eng.review.md +7 -13
  174. package/workflows/engineering/eng.rpa.robot.md +3 -9
  175. package/workflows/engineering/eng.start.md +16 -11
  176. package/workflows/engineering/eng.work.md +10 -18
  177. package/workflows/engineering/qa/eng.qa-sprint-planning.md +1 -1
  178. package/workflows/product/prod.spec.discovery.md +2 -2
  179. package/workflows/warm-up.md +35 -63
  180. package/agents/engineering/eng.cybersecurity.agent.md +0 -486
  181. package/agents/engineering/qa/eng.qa.cypress-specialist.md +0 -112
  182. package/bin/lib/docs/fetch-file.sh +0 -41
  183. package/bin/lib/docs/publish-file.sh +0 -284
  184. package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +0 -137
  185. package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +0 -181
  186. package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +0 -120
  187. package/skills/eng-ai-engineer/SKILL.md +0 -303
  188. package/skills/eng-data-bi/SKILL.md +0 -206
  189. package/skills/eng-data-debug/SKILL.md +0 -314
  190. package/skills/eng-data-engineer/SKILL.md +0 -266
  191. package/skills/eng-data-onboard/SKILL.md +0 -317
  192. package/skills/eng-data-orchestrator/SKILL.md +0 -433
  193. package/skills/eng-devops-performance-engineer/SKILL.md +0 -319
  194. package/skills/eng-frontend-design-system/SKILL.md +0 -155
  195. package/skills/eng-frontend-design-system/references/1-estrutura-pacote.md +0 -57
  196. package/skills/eng-frontend-design-system/references/2-tokens.md +0 -116
  197. package/skills/eng-frontend-design-system/references/3-componentes.md +0 -165
  198. package/skills/eng-frontend-design-system/references/4-storybook.md +0 -85
  199. package/skills/eng-frontend-design-system/references/5-auditoria-versionamento.md +0 -76
  200. package/skills/eng-frontend-microfrontend/SKILL.md +0 -164
  201. package/skills/eng-frontend-microfrontend/references/1-criando-remote.md +0 -109
  202. package/skills/eng-frontend-microfrontend/references/2-configurando-shell.md +0 -70
  203. package/skills/eng-frontend-microfrontend/references/3-contratos-interface.md +0 -73
  204. package/skills/eng-frontend-microfrontend/references/4-shared-dependencies.md +0 -48
  205. package/skills/eng-frontend-microfrontend/references/5-event-bus.md +0 -59
  206. package/skills/eng-frontend-microfrontend/references/6-monorepo-deploy.md +0 -77
  207. package/skills/eng-frontend-microfrontend/references/7-troubleshooting.md +0 -45
  208. package/skills/eng-global-browser-extension-builder/SKILL.md +0 -392
  209. package/skills/eng-global-jira-comment/SKILL.md +0 -27
  210. package/skills/eng-qa-a11y-audit/SKILL.md +0 -276
  211. package/skills/eng-qa-bug-report/SKILL.md +0 -877
  212. package/skills/eng-qa-bug-report/TASK_MANAGERS.md +0 -138
  213. package/skills/eng-qa-bug-report/references/1-integracao-task-managers.md +0 -148
  214. package/skills/eng-qa-bug-report/references/2-exemplos-de-uso.md +0 -46
  215. package/skills/eng-qa-bug-report/references/3-bug-to-test.md +0 -45
  216. package/skills/eng-qa-cypress-e2e/SKILL.md +0 -184
  217. package/skills/eng-qa-dev-guide/SKILL.md +0 -173
  218. package/skills/eng-qa-e2e/SKILL.md +0 -407
  219. package/skills/eng-qa-e2e-spec-writer/SKILL.md +0 -329
  220. package/skills/eng-qa-exploratory/SKILL.md +0 -196
  221. package/skills/eng-qa-gate/SKILL.md +0 -377
  222. package/skills/eng-qa-gate/assets/checklist-validacao.md +0 -291
  223. package/skills/eng-qa-graphql-contract/SKILL.md +0 -263
  224. package/skills/eng-qa-quality-report/SKILL.md +0 -419
  225. package/skills/eng-qa-test-plan/SKILL.md +0 -473
  226. package/skills/eng-qa-testsprite/SKILL.md +0 -332
  227. package/skills/eng-qa-testsprite/references/testsprite-mcp.md +0 -224
  228. package/skills/eng-qa-unit-test/SKILL.md +0 -478
  229. package/skills/eng-scraper/SKILL.md +0 -260
  230. package/skills/eng-scraper/references/1-puppeteer.md +0 -140
  231. package/skills/eng-scraper/references/2-playwright-cheerio-pdf.md +0 -82
  232. package/skills/eng-scraper/references/3-anti-bot.md +0 -94
  233. package/skills/eng-scraper/references/4-resiliencia-etl-monitoramento.md +0 -137
  234. package/skills/eng-scraper-robot-builder/SKILL.md +0 -377
  235. package/skills/eng-security-cybersecurity/SKILL.md +0 -250
  236. package/skills/eng-security-cybersecurity/references/1-owasp-top-10.md +0 -331
  237. package/skills/eng-security-cybersecurity/references/2-secrets-management.md +0 -31
  238. package/skills/eng-security-cybersecurity/references/3-input-validation.md +0 -43
  239. package/skills/eng-security-cybersecurity/references/4-compliance.md +0 -20
  240. package/skills/eng-security-patch/SKILL.md +0 -388
  241. package/skills/eng-security-threat-model/SKILL.md +0 -171
  242. package/skills/eng-security-triage/SKILL.md +0 -276
  243. package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +0 -311
  244. package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +0 -249
  245. package/templates/engineering/qa/qa.cypress-test-template.md +0 -172
  246. package/templates/engineering/qa/qa.exploratory-session-template.md +0 -148
  247. package/templates/engineering/qa/qa.quality-report-template.md +0 -130
  248. package/workflows/engineering/eng.security-audit.md +0 -319
  249. package/workflows/engineering/eng.security-incident.md +0 -281
  250. package/workflows/engineering/eng.security-pipeline.md +0 -219
  251. package/workflows/engineering/eng.security-review.md +0 -241
  252. package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +0 -57
  253. package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +0 -57
  254. package/workflows/engineering/qa/eng.qa-exploratory-session.md +0 -68
  255. package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +0 -209
  256. package/workflows/engineering/qa/eng.qa-quality-report.md +0 -85
  257. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-coverage-template.md +0 -0
  258. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-patterns.md +0 -0
  259. /package/templates/{CDD aplicado a Prompts.md → cdd-aplicado-a-prompts.md} +0 -0
@@ -1,219 +0,0 @@
1
- ---
2
- description: Orquestrador do pipeline defensivo de segurança — encadeia threat-model, audit, triage e patch em um único fluxo guiado
3
- globs:
4
- alwaysApply: false
5
- recommended_model: claude-opus-4-6-20250529
6
- model_tier: very_high
7
- model_justification: Orquestração do pipeline completo exige raciocínio profundo para avaliar estado, decidir fases e interpretar outputs encadeados
8
- ---
9
-
10
- # Workflow de Engenharia – Security Pipeline (Orquestrador)
11
-
12
- ## Objetivo
13
-
14
- Guiar o SENTINEL pelo pipeline defensivo completo de segurança, encadeando os 4 estágios em um fluxo único. Elimina a necessidade de lembrar a sequência de comandos — o usuário informa onde quer começar e o orquestrador conduz.
15
-
16
- ---
17
-
18
- ## Quando Usar Este Workflow
19
-
20
- - Auditoria de segurança completa de um projeto ou feature
21
- - Retomada de pipeline interrompido em sessão anterior
22
- - Onboarding de segurança em projeto sem histórico de audit
23
- - Quando o usuário pede "auditar segurança", "pipeline completo" ou "fechar o loop"
24
-
25
- ### Skills invocados durante o workflow
26
-
27
- | Passo | Skill | Condição |
28
- |-------|-------|----------|
29
- | Passo 2 › Estágio 1 — Threat Model | `/eng-security-threat-model` | Se o estágio 1 for selecionado no menu de entrada (modo bootstrap, interview ou bootstrap-then-interview, escolhido pelo usuário) |
30
- | Passo 2 › Estágio 2 — Security Audit | `/eng.security-audit` | Se o estágio 2 for selecionado no menu de entrada (usa o `THREAT_MODEL.md` como contexto, se existir) |
31
- | Passo 2 › Estágio 3 — Triage | `/eng-security-triage` | Se o estágio 3 for selecionado no menu de entrada (entrada: `security-findings.json`) |
32
- | Passo 2 › Estágio 4 — Patch | `/eng-security-patch` | Se o estágio 4 for selecionado no menu de entrada (entrada: `triage.json`) |
33
-
34
- ---
35
-
36
- ## Passo 0 — Detectar estado do pipeline
37
-
38
- Antes de perguntar qualquer coisa, verificar o que já existe:
39
-
40
- ```bash
41
- # Artefatos de output
42
- ls .security/outputs/ 2>/dev/null
43
- # State de sessões anteriores
44
- ls .security/state/ 2>/dev/null
45
- ```
46
-
47
- | Artefato encontrado | Fase concluída |
48
- |---------------------|----------------|
49
- | `THREAT_MODEL.md` | Estágio 1 feito |
50
- | `security-findings.json` | Estágio 2 feito |
51
- | `triage.json` | Estágio 3 feito |
52
- | `PATCHES/` com conteúdo | Estágio 4 feito |
53
-
54
- Exibir o estado detectado antes de mostrar o menu.
55
-
56
- ---
57
-
58
- ## Passo 1 — Menu de entrada
59
-
60
- ```
61
- Pipeline de Segurança — SENTINEL
62
-
63
- Estado atual:
64
- [✓/–] Estágio 1: Threat Model (.security/outputs/THREAT_MODEL.md)
65
- [✓/–] Estágio 2: Audit (.security/outputs/security-findings.json)
66
- [✓/–] Estágio 3: Triage (.security/outputs/triage.json)
67
- [✓/–] Estágio 4: Patch (.security/outputs/PATCHES/)
68
-
69
- Onde iniciar?
70
-
71
- 1. Completo — estágio 1 → 2 → 3 → 4
72
- 2. Audit+ — estágio 2 → 3 → 4 (já tenho ou pulo threat model)
73
- 3. Triage+ — estágio 3 → 4 (já tenho security-findings.json)
74
- 4. Só patch — estágio 4 (já tenho triage.json)
75
- 5. Retomar — continuar de onde parou (detectar pelo state/)
76
- ```
77
-
78
- > Se todos os artefatos existem, perguntar: "Pipeline completo encontrado. Reexecutar do início (--fresh) ou revisar outputs existentes?"
79
-
80
- ---
81
-
82
- ## Passo 2 — Executar os estágios selecionados
83
-
84
- Executar cada estágio em sequência. Ao final de cada um, confirmar com o usuário antes de prosseguir para o próximo.
85
-
86
- ---
87
-
88
- ### Estágio 1 — Threat Model (`/eng-security-threat-model`)
89
-
90
- **Skill**: `$IDE/skills/eng-security-threat-model/SKILL.md`
91
-
92
- Perguntar modo de operação:
93
- ```
94
- Modo do threat model:
95
- 1. bootstrap — deriva o modelo do código automaticamente
96
- 2. interview — walk interativo com você como owner do sistema
97
- 3. bootstrap-then-interview — bootstrap primeiro, entrevista refinadora depois
98
- ```
99
-
100
- Invocar o skill com o modo escolhido. Output esperado: `.security/outputs/THREAT_MODEL.md`.
101
-
102
- Ao concluir:
103
- ```
104
- ✓ Threat model gerado em .security/outputs/THREAT_MODEL.md
105
- Ameaças identificadas: {N}
106
- Areas priorizadas para audit: {lista de focus-areas}
107
-
108
- Prosseguir para Estágio 2 (Audit)? [s/n]
109
- ```
110
-
111
- ---
112
-
113
- ### Estágio 2 — Security Audit (`/eng.security-audit`)
114
-
115
- **Workflow**: `$IDE/workflows/engineering/eng.security-audit.md`
116
-
117
- Passar `THREAT_MODEL.md` como contexto se existir (Fase 0.5 do audit).
118
-
119
- Perguntar escopo se não informado:
120
- ```
121
- Escopo do audit:
122
- 1. Projeto completo (--all)
123
- 2. Pasta específica (ex: ./src/auth/)
124
- 3. Focus específico (owasp | secrets | supply-chain | headers | compliance)
125
- ```
126
-
127
- Output esperado: `.security/outputs/security-findings.json` + `security-audit-report.md`.
128
-
129
- Ao concluir:
130
- ```
131
- ✓ Audit concluído
132
- Achados brutos: {N}
133
- Distribuição: CRITICAL {n} | HIGH {n} | MEDIUM {n} | LOW {n}
134
- Output: .security/outputs/security-findings.json
135
-
136
- Prosseguir para Estágio 3 (Triage)? [s/n]
137
- ```
138
-
139
- > Se N == 0: informar "Nenhum achado encontrado. Pipeline encerrado." e parar.
140
-
141
- ---
142
-
143
- ### Estágio 3 — Triage (`/eng-security-triage`)
144
-
145
- **Skill**: `$IDE/skills/eng-security-triage/SKILL.md`
146
-
147
- Input: `.security/outputs/security-findings.json`
148
-
149
- Perguntar modo:
150
- ```
151
- Modo de triage:
152
- 1. --auto — sem perguntas interativas (recomendado para pipelines CI)
153
- 2. interativo — coleta contexto de trust boundary e tolerância a ruído
154
- ```
155
-
156
- Output esperado: `.security/outputs/triage.json`
157
-
158
- Ao concluir:
159
- ```
160
- ✓ Triage concluído
161
- Achados confirmados: {N} | Falsos positivos descartados: {N}
162
- Top 3 por exploitabilidade: {lista}
163
- Output: .security/outputs/triage.json
164
-
165
- Prosseguir para Estágio 4 (Patch)? [s/n]
166
- ```
167
-
168
- > Se N confirmados == 0: informar "Nenhum achado confirmado após triage. Pipeline encerrado." e parar.
169
-
170
- ---
171
-
172
- ### Estágio 4 — Patch (`/eng-security-patch`)
173
-
174
- **Skill**: `$IDE/skills/eng-security-patch/SKILL.md`
175
-
176
- Input: `.security/outputs/triage.json`
177
-
178
- Perguntar escopo:
179
- ```
180
- Gerar patches para:
181
- 1. Todos os achados confirmados
182
- 2. Apenas top N (ex: top 3 por severidade)
183
- 3. Achado específico (ID F-NNN)
184
- ```
185
-
186
- Output esperado: `.security/outputs/PATCHES/bug_NN/{patch.diff, patch_result.json}` + `PATCHES.md`
187
-
188
- Ao concluir:
189
- ```
190
- ✓ Pipeline de segurança concluído
191
-
192
- Resumo:
193
- Threat model : .security/outputs/THREAT_MODEL.md
194
- Achados audit: .security/outputs/security-findings.json ({N} achados)
195
- Triage : .security/outputs/triage.json ({N} confirmados)
196
- Patches : .security/outputs/PATCHES/ ({N} diffs gerados)
197
- Relatório : .security/outputs/security-audit-report.md
198
-
199
- Próximos passos para o TL:
200
- 1. Revisar diffs em .security/outputs/PATCHES/
201
- 2. Aplicar patches aprovados: git apply .security/outputs/PATCHES/bug_NN/patch.diff
202
- 3. Criar cards no $TASK_MANAGER para achados sem patch (no_patch)
203
- 4. Commitar .security/outputs/ (excluir .security/state/ via .gitignore)
204
- ```
205
-
206
- ---
207
-
208
- ## Regras
209
-
210
- ### Nunca
211
- - Pular a confirmação do usuário entre estágios sem `--auto` explícito
212
- - Avançar para Estágio 4 sem triage (patches gerados de achados não verificados têm alta taxa de erro)
213
- - Aplicar diffs automaticamente — output é sempre texto inerte para revisão humana
214
-
215
- ### Sempre
216
- - Detectar estado existente antes de mostrar o menu
217
- - Informar quantos achados passaram de cada estágio
218
- - Parar o pipeline se nenhum achado sobreviver a um estágio (audit vazio ou triage sem confirmados)
219
- - Sugerir `.gitignore` para `.security/state/` se não estiver ignorado
@@ -1,241 +0,0 @@
1
- ---
2
- description: Workflow de Engenharia para Review de Seguranca em PRs/MRs (gate pre-merge)
3
- globs:
4
- alwaysApply: false
5
- recommended_model: claude-sonnet-4-6-20250514
6
- model_tier: high
7
- model_justification: Security review de PRs requer analise focada de mudancas especificas — nao exige raciocinio tao profundo quanto audit completo, mas precisa de precisao
8
- ---
9
-
10
- # Workflow de Engenharia – Security Review (Gate Pre-Merge)
11
-
12
- ## Objetivo
13
-
14
- Guiar o SENTINEL (ENG) na revisao de seguranca de PRs/MRs que tocam areas sensiveis do codigo — autenticacao, autorizacao, inputs, APIs, configs e permissoes. Funciona como gate de seguranca complementar ao code review normal.
15
-
16
- ---
17
-
18
- ## Quando Usar Este Workflow
19
-
20
- - PR modifica fluxos de autenticacao ou autorizacao
21
- - PR adiciona ou modifica endpoints publicos
22
- - PR toca em processamento de inputs (forms, uploads, parsing)
23
- - PR modifica configs de seguranca (CORS, CSP, headers)
24
- - PR adiciona dependencias novas
25
- - PR toca em dados sensiveis (PII, financeiro)
26
- - PR modifica permissoes ou roles (RBAC, guards)
27
- - Tech Lead solicita security review explicito
28
-
29
- ---
30
-
31
- ## Pre-requisitos
32
-
33
- ### Entrada
34
-
35
- ```
36
- /eng.security-review [referencia-do-pr]
37
-
38
- Onde [referencia-do-pr] pode ser:
39
- - Numero do PR/MR: #123
40
- - URL: https://gitlab.com/org/repo/-/merge_requests/123
41
- - Branch: feature/nova-auth
42
- ```
43
-
44
- ### Skills invocados durante o workflow
45
-
46
- | Passo | Skill | Condição |
47
- |-------|-------|----------|
48
- | — | Nenhuma — workflow autocontido | — |
49
-
50
- ---
51
-
52
- ## Fase 1 – Scope
53
-
54
- ### 1.1 Identificar arquivos alterados
55
-
56
- ```bash
57
- # Listar arquivos alterados no PR/branch
58
- git diff --name-only main...HEAD 2>/dev/null || git diff --name-only origin/main...HEAD
59
-
60
- # Filtrar arquivos sensiveis
61
- git diff --name-only main...HEAD | grep -E "(auth|guard|middleware|session|login|permission|role|token|secret|password|cors|csp|helmet|security|\.env)" 2>/dev/null
62
- ```
63
-
64
- ### 1.2 Classificar risco do PR
65
-
66
- | Indicador | Risco | Motivo |
67
- |-----------|-------|--------|
68
- | Toca em auth/guard/session | **ALTO** | Bypass pode dar acesso total |
69
- | Adiciona endpoint publico | **ALTO** | Nova superficie de ataque |
70
- | Modifica CORS/CSP/headers | **ALTO** | Misconfiguration afeta toda app |
71
- | Processa input do usuario | **MEDIO** | Injection, XSS |
72
- | Adiciona dependencia nova | **MEDIO** | Supply chain |
73
- | Modifica roles/permissoes | **ALTO** | Escalacao de privilegio |
74
- | Toca em dados sensiveis | **ALTO** | Data exposure |
75
- | Refactoring sem mudanca de API | **BAIXO** | Risco minimo |
76
-
77
- ---
78
-
79
- ## Fase 2 – Analysis
80
-
81
- ### 2.1 Checklist de seguranca por area
82
-
83
- #### Auth e Sessions
84
- - [ ] Tokens JWT: expiracao curta para access, refresh com rotacao
85
- - [ ] Sessions: `httpOnly`, `secure`, `sameSite: strict`
86
- - [ ] Password hashing: bcrypt/argon2 (nunca MD5/SHA1)
87
- - [ ] Rate limiting em login/registro
88
- - [ ] Logout invalida session/token no backend
89
-
90
- #### Inputs e Validation
91
- - [ ] Todos os inputs validados com schema (Zod, Joi, class-validator)
92
- - [ ] Queries parametrizadas (nunca concatenacao SQL)
93
- - [ ] Uploads: validar tipo, tamanho, nome de arquivo
94
- - [ ] Rich text: sanitizado com allowlist (DOMPurify)
95
- - [ ] URLs dinamicas: validadas contra allowlist (prevenir SSRF)
96
-
97
- #### APIs e Endpoints
98
- - [ ] Endpoints protegidos com auth guard (exceto os intencionalmente publicos)
99
- - [ ] Autorizacao verificada (RBAC/permissions, nao apenas autenticacao)
100
- - [ ] IDOR prevenido (usuario so acessa seus dados ou tem permissao)
101
- - [ ] Rate limiting em endpoints sensiveis
102
- - [ ] Erros nao vazam detalhes internos (stack traces, queries)
103
-
104
- #### Configs e Headers
105
- - [ ] CORS: origins especificas (nunca `*` em producao)
106
- - [ ] CSP: configurado e restritivo
107
- - [ ] HSTS: habilitado com `includeSubDomains`
108
- - [ ] X-Frame-Options: `DENY` ou `SAMEORIGIN`
109
- - [ ] Sem debug mode em producao
110
-
111
- #### Dependencias
112
- - [ ] `npm audit` sem vulnerabilidades HIGH/CRITICAL
113
- - [ ] Lockfile atualizado e commitado
114
- - [ ] Dependencia nova: verificar manutencao, downloads, issues
115
-
116
- #### Dados Sensiveis
117
- - [ ] PII criptografada em repouso
118
- - [ ] Logs nao contem dados sensiveis (senhas, tokens, PII)
119
- - [ ] Dados sensiveis nao expostos em respostas de API desnecessariamente
120
-
121
- ---
122
-
123
- ## Fase 2.5 — Verificacao Multi-Voto
124
-
125
- Para cada achado identificado no checklist (Fase 2), spawnar **3 subagentes de voto** independentes.
126
-
127
- > Subagentes de voto rodam **sem MCP** — apenas o texto do achado como contexto. Menos tool = veredicto mais deterministico e barato.
128
-
129
- **Brief por subagente de voto:**
130
-
131
- ```
132
- Voce e um revisor de seguranca independente. Avaliar este achado:
133
-
134
- ACHADO: {titulo} em {arquivo}:{linha}
135
- EVIDENCIA: {codigo ou config vulneravel}
136
- CONTEXTO: PR #{referencia}, area {categoria}
137
-
138
- Este e um achado real e exploravel no contexto deste PR?
139
-
140
- Responda exatamente:
141
- verdict: confirmed | rejected | inconclusive
142
- reasoning: <uma linha explicando o veredicto>
143
- confidence: <0.0-1.0>
144
- ```
145
-
146
- **Consolidacao dos votos:**
147
-
148
- | Resultado | Criterio | Acao |
149
- |---|---|---|
150
- | Confirmado | >= 2/3 votos `confirmed` | Incluir no report com severidade original |
151
- | Falso positivo | >= 2/3 votos `rejected` | Descartar — nao incluir |
152
- | Inconcluso | Divergencia | Incluir com flag `[REVISAR]` para humano |
153
-
154
- ---
155
-
156
- ## Fase 3 – Verdict
157
-
158
- ### 3.1 Classificar resultado
159
-
160
- | Verdict | Criterio | Acao |
161
- |---------|----------|------|
162
- | **APPROVED** | Nenhum achado HIGH/CRITICAL | Aprovar merge |
163
- | **CHANGES REQUESTED** | Achados MEDIUM ou HIGH corrigiveis | Solicitar correcoes com evidencia |
164
- | **BLOCKED** | Achado CRITICAL ou HIGH nao corrigivel trivialmente | Bloquear merge, escalar para TL |
165
-
166
- ### 3.2 Feedback estruturado
167
-
168
- Para cada achado, comentar no PR com:
169
-
170
- ```markdown
171
- **[SECURITY - {SEVERIDADE}]** {titulo}
172
-
173
- **Arquivo**: `path/to/file.ts:line`
174
- **Vetor**: {tipo de vulnerabilidade}
175
- **Evidencia**:
176
- \`\`\`typescript
177
- // codigo vulneravel
178
- \`\`\`
179
-
180
- **Correcao sugerida**:
181
- \`\`\`typescript
182
- // codigo seguro
183
- \`\`\`
184
- ```
185
-
186
- ---
187
-
188
- ## Fase 4 – Documentation
189
-
190
- ### 4.1 Registrar decisao
191
-
192
- ```markdown
193
- ## Security Review Summary
194
-
195
- **PR/MR**: {referencia}
196
- **Reviewer**: SENTINEL (AI-assisted)
197
- **Data**: {ISO-8601}
198
- **Verdict**: APPROVED | CHANGES REQUESTED | BLOCKED
199
-
200
- ### Areas revisadas
201
- - [ ] Auth e Sessions
202
- - [ ] Inputs e Validation
203
- - [ ] APIs e Endpoints
204
- - [ ] Configs e Headers
205
- - [ ] Dependencias
206
- - [ ] Dados Sensiveis
207
-
208
- ### Achados
209
- | # | Severidade | Descricao | Status |
210
- |---|-----------|-----------|--------|
211
- | 1 | {sev} | {descricao} | {aberto|corrigido} |
212
-
213
- ### Notas
214
- {observacoes adicionais relevantes}
215
- ```
216
-
217
- ---
218
-
219
- ## Fase 4.2 — Output JSON (security-findings.json)
220
-
221
- Alem do summary markdown (Fase 4.1), escrever `security-findings.json` conforme `docs/SECURITY-ARTIFACTS-SCHEMA.md` secao 2.
222
-
223
- Incluir apenas achados com `vote_result.verdict != rejected` (confirmed + inconclusive).
224
- Este arquivo pode ser consumido por `eng-security-triage` para dedup e re-rank caso o PR faca parte de um audit maior.
225
-
226
- ---
227
-
228
- ## Regras
229
-
230
- ### Nunca
231
- - Aprovar um PR com achado CRITICAL sem correcao
232
- - Bloquear um PR sem evidencia tecnica (nao bloquear por "sensacao")
233
- - Fazer review de seguranca superficial (checklist mecanico sem analise)
234
- - Ignorar dependencias novas adicionadas ao projeto
235
-
236
- ### Sempre
237
- - Analisar o diff completo, nao apenas os arquivos marcados como "sensiveis"
238
- - Fornecer correcao sugerida para cada achado (nao apenas apontar o problema)
239
- - Considerar o contexto: um endpoint interno tem risco diferente de um publico
240
- - Comunicar achados CRITICAL ao TL imediatamente (nao esperar o review terminar)
241
- - Verificar se testes de seguranca foram adicionados para mudancas em auth
@@ -1,57 +0,0 @@
1
- ---
2
- description: Orienta desenvolvedores sobre cobertura de testes para uma feature ou PR
3
- auto_execution_mode: 2
4
- rules_file: "$IDE/rules/engineering/qa/eng.qa.cypress-standards-rules.md"
5
- model_tier: medium
6
- model_justification: Análise de código e geração de orientação estruturada
7
- ---
8
-
9
- # qa.dev-quality-guide
10
-
11
- Analisa o código de um desenvolvedor e orienta sobre quais testes Cypress escrever,
12
- usando os padrões do projeto. Não escreve o teste — guia e valida.
13
-
14
- > 📋 **Rules**: `$IDE/rules/engineering/qa/eng.qa.cypress-standards-rules.md`
15
- > 🔧 **Skill**: `eng-qa-dev-guide`
16
-
17
- ### Skills invocados durante o workflow
18
-
19
- | Passo | Skill | Condição |
20
- |-------|-------|----------|
21
- | Execução | `/eng-qa-dev-guide` | Sempre — invocado via Skill tool |
22
-
23
- ---
24
-
25
- ## Entrada
26
-
27
- ```
28
- #$ARGUMENTS
29
- ```
30
-
31
- Aceita: caminho de arquivo(s), ID de task no $TASK_MANAGER, ou diff/PR em texto.
32
-
33
- **Se não receber argumentos**, perguntar:
34
- - Qual arquivo ou PR do dev você quer analisar?
35
-
36
- ---
37
-
38
- ## Execução
39
-
40
- Invocar Skill tool: `eng-qa-dev-guide`
41
-
42
- A skill irá:
43
- 1. Ler o código fornecido e mapear o que foi alterado/adicionado
44
- 2. Verificar quais specs de teste já existem para o domínio
45
- 3. Gerar análise de cobertura: o que está coberto vs. o que precisa de teste
46
- 4. Orientar sobre como estruturar cada cenário (setup, intercept, ação, asserção)
47
- 5. Indicar quais `data-testid` precisam ser adicionados
48
- 6. Entregar checklist acionável para o dev
49
-
50
- ---
51
-
52
- ## Output
53
-
54
- - Análise de cobertura: coberto vs. crítico vs. recomendado
55
- - Orientação de implementação para cada cenário necessário
56
- - Checklist de testes a implementar antes do merge
57
- - Lista de `data-testid` pendentes no código
@@ -1,57 +0,0 @@
1
- ---
2
- description: Gera testes E2E Cypress a partir de uma feature, task ou spec
3
- auto_execution_mode: 2
4
- rules_file: "$IDE/rules/engineering/qa/eng.qa.cypress-standards-rules.md"
5
- template_file: "$IDE/templates/engineering/qa/qa.cypress-test-template.md"
6
- model_tier: high
7
- model_justification: Requer análise de codebase, geração de Page Objects e specs completas
8
- ---
9
-
10
- # qa.e2e-test-generation
11
-
12
- Gera testes E2E Cypress + TypeScript para uma feature a partir de spec, task ou descrição.
13
-
14
- > 📋 **Rules**: `$IDE/rules/engineering/qa/eng.qa.cypress-standards-rules.md`
15
- > 📤 **Template**: `$IDE/templates/engineering/qa/qa.cypress-test-template.md`
16
- > 🔧 **Skill**: `eng-qa-cypress-e2e`
17
-
18
- ### Skills invocados durante o workflow
19
-
20
- | Passo | Skill | Condição |
21
- |-------|-------|----------|
22
- | Execução | `/eng-qa-cypress-e2e` | Sempre — invocado via Skill tool |
23
-
24
- ---
25
-
26
- ## Entrada
27
-
28
- ```
29
- #$ARGUMENTS
30
- ```
31
-
32
- Aceita: caminho de spec/task, ID de task no $TASK_MANAGER, ou descrição do fluxo em linguagem natural.
33
-
34
- **Se não receber argumentos**, perguntar:
35
- - Qual feature ou fluxo deseja cobrir com testes E2E?
36
-
37
- ---
38
-
39
- ## Execução
40
-
41
- Invocar Skill tool: `eng-qa-cypress-e2e`
42
-
43
- A skill irá:
44
- 1. Mapear a estrutura de testes existente no projeto
45
- 2. Analisar o fluxo e identificar cenários (happy path, edge cases, negative tests)
46
- 3. Confirmar cenários com o QA antes de gerar
47
- 4. Gerar: Page Object + fixtures + custom commands (se necessário) + spec `.cy.ts`
48
- 5. Exibir checklist de `data-testid` que precisam ser adicionados ao código da aplicação
49
-
50
- ---
51
-
52
- ## Output
53
-
54
- - `{TEST_FOLDER}/e2e/{dominio}/{feature}.cy.ts` — spec gerada
55
- - `{TEST_FOLDER}/support/pages/{Dominio}Page.ts` — Page Object (novo ou atualizado)
56
- - `{TEST_FOLDER}/fixtures/{dominio}/*.json` — fixtures de intercept
57
- - Checklist de `data-testid` pendentes no código da aplicação
@@ -1,68 +0,0 @@
1
- ---
2
- description: Conduz sessão de teste exploratório estruturada com charter, roteiro de risco e registro de achados
3
- auto_execution_mode: 2
4
- rules_file: "$IDE/rules/engineering/qa/eng.qa.exploratory-session-rules.md"
5
- template_file: "$IDE/templates/engineering/qa/qa.exploratory-session-template.md"
6
- model_tier: medium
7
- model_justification: Análise de risco e estruturação de sessão — raciocínio moderado
8
- ---
9
-
10
- # qa.exploratory-session
11
-
12
- Conduz ou documenta uma sessão de teste exploratório, gerando o doc de sessão estruturado
13
- e criando cards de bug via `eng-qa-bug-report` ao final.
14
-
15
- > 📋 **Rules**: `$IDE/rules/engineering/qa/eng.qa.exploratory-session-rules.md`
16
- > 📤 **Template**: `$IDE/templates/engineering/qa/qa.exploratory-session-template.md`
17
- > 🔧 **Skill**: `eng-qa-exploratory`
18
-
19
- ### Skills invocados durante o workflow
20
-
21
- | Passo | Skill | Condição |
22
- |-------|-------|----------|
23
- | Execução | `/eng-qa-exploratory` | Sempre — invocado via Skill tool (modos `plan`, `document` e `report`) |
24
- | Execução (modo `document`) | `/eng-qa-bug-report` | Para os bugs S1–S4 identificados na sessão (acionado pela skill `eng-qa-exploratory`) |
25
- | Execução (modo `report`) | `/eng-qa-bug-report` | Para criar em lote os cards de bug do documento de sessão (acionado pela skill `eng-qa-exploratory`) |
26
-
27
- ---
28
-
29
- ## Entrada
30
-
31
- ```
32
- #$ARGUMENTS
33
- ```
34
-
35
- Aceita: nome da feature/módulo a explorar, ou caminho de doc de sessão já realizada.
36
-
37
- **Se não receber argumentos**, a skill perguntará o modo desejado:
38
- - `plan` — planejar sessão antes de executar
39
- - `document` — registrar achados de sessão já realizada
40
- - `report` — processar doc e criar bug cards
41
-
42
- ---
43
-
44
- ## Execução
45
-
46
- Invocar Skill tool: `eng-qa-exploratory`
47
-
48
- A skill irá (modo `plan`):
49
- 1. Coletar escopo, contexto, tempo disponível e ambiente
50
- 2. Analisar riscos e gerar hipóteses priorizadas
51
- 3. Criar doc de sessão em `$SESSIONS_DIR/qa/EXP-{YYYYMMDD}-{N}.md`
52
-
53
- A skill irá (modo `document`):
54
- 1. Carregar doc de sessão existente
55
- 2. Coletar achados em linguagem natural do QA
56
- 3. Classificar severidade e preencher o documento
57
- 4. Acionar `eng-qa-bug-report` para bugs S1–S4
58
-
59
- A skill irá (modo `report`):
60
- 1. Processar doc de sessão
61
- 2. Criar todos os cards de bug em batch via `eng-qa-bug-report`
62
-
63
- ---
64
-
65
- ## Output
66
-
67
- - `$SESSIONS_DIR/qa/EXP-{ID}.md` — documento de sessão estruturado
68
- - Cards criados no $TASK_MANAGER para cada bug S1–S4