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.
- package/AGENTS.md +14 -115
- package/agents/AGENTS.md +11 -23
- package/agents/README.md +25 -129
- package/agents/engineering/data/eng.data-engineer.agent.md +11 -34
- package/agents/engineering/eng.agent.md +14 -24
- package/agents/engineering/eng.bug-hunter.md +7 -15
- package/agents/engineering/eng.dev-code-reviewer.md +1 -1
- package/agents/engineering/eng.frontend.agent.md +3 -7
- package/agents/engineering/eng.rpa.agent.md +2 -8
- package/agents/engineering/qa/eng.qa.quality-strategist.md +6 -11
- package/agents/engineering/qa/eng.qa.test-architect.md +8 -18
- package/agents/engineering/qa/eng.qa.test-planner.md +10 -14
- package/agents/engineering/qa/eng.qa.testing-engineer.md +91 -24
- package/agents/product/prod.discovery-interviewer.md +3 -3
- package/bin/README.md +142 -0
- package/bin/commands/docs-publish.js +105 -141
- package/bin/commands/docs-sync.js +66 -104
- package/bin/commands/info.js +7 -27
- package/bin/commands/init.js +23 -51
- package/bin/commands/install-rtk.js +9 -3
- package/bin/commands/list.js +5 -18
- package/bin/commands/map.js +20 -5
- package/bin/commands/qa-signoff.js +58 -55
- package/bin/commands/tokens.js +14 -17
- package/bin/commands/whoami.js +30 -26
- package/bin/jarvis.js +9 -163
- package/bin/lib/auth/session.js +20 -20
- package/bin/lib/cli/program.js +219 -0
- package/bin/lib/cli/shared-options.js +29 -0
- package/bin/lib/config/constants.js +59 -2
- package/bin/lib/config/ide-config.js +4 -8
- package/bin/lib/core/profile-filter.js +4 -1
- package/bin/lib/core/scanner.js +3 -29
- package/bin/lib/core/sync-engine.js +21 -14
- package/bin/lib/core/token-report.js +12 -2
- package/bin/lib/docs/fetch-file.js +39 -0
- package/bin/lib/docs/publish-file.js +194 -0
- package/bin/lib/docs/redis-cache.js +49 -0
- package/bin/lib/docs/validate-frontmatter.js +9 -39
- package/bin/lib/env-loader.js +11 -34
- package/bin/lib/flow-map/parse.js +11 -5
- package/bin/lib/flow-map/render.js +5 -2
- package/bin/lib/flow-map/tree.js +59 -10
- package/bin/lib/tasks/comment.js +40 -35
- package/bin/lib/utils/frontmatter.js +57 -0
- package/bin/lib/utils/git-parser.js +4 -6
- package/bin/lib/utils/npmrc-parser.js +6 -13
- package/bin/lib/utils/paths.js +2 -4
- package/bin/lib/utils/ui.js +3 -9
- package/bin/lib/vcs/api.js +25 -41
- package/bin/lib/vcs/create-issue.js +49 -33
- package/bin/lib/vcs/create-merge.js +47 -31
- package/bin/lib/vcs/fetch-raw.js +35 -23
- package/package.json +14 -5
- package/rules/engineering/eng-rules.md +1 -1
- package/rules/engineering/eng-security-rules.md +18 -16
- package/rules/engineering/eng.bump-rules.md +3 -2
- package/rules/engineering/eng.docs-scraping-rules.md +4 -4
- package/rules/engineering/eng.integrations-rules.md +3 -3
- package/rules/engineering/eng.skills-rules.md +1 -1
- package/rules/engineering/eng.specializations-rules.md +18 -4
- package/rules/engineering/frontend/eng.frontend-rules.md +1 -4
- package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +1 -1
- package/rules/engineering/rpa/eng.rpa-rules.md +4 -9
- package/skills/AGENTS.md +52 -87
- package/skills/SKILLS-ROADMAP.md +47 -128
- package/skills/eng-ai/SKILL.md +270 -0
- package/skills/eng-ai/references/1-fundamentos-ml.md +24 -0
- package/skills/eng-ai/references/10-arquitetura-solucoes-ia.md +24 -0
- package/skills/eng-ai/references/11-governanca-ia.md +24 -0
- package/skills/eng-ai/references/12-seguranca-ia-responsavel.md +25 -0
- package/skills/eng-ai/references/2-matematica-estatistica.md +24 -0
- package/skills/eng-ai/references/3-dados-para-ia.md +24 -0
- package/skills/eng-ai/references/4-deep-learning-fundacionais.md +24 -0
- package/skills/eng-ai/references/5-llms-chatbots-agentes-rag.md +25 -0
- package/skills/eng-ai/references/6-avaliacao-experimentacao.md +24 -0
- package/skills/eng-ai/references/7-engenharia-sistemas-ia.md +24 -0
- package/skills/eng-ai/references/8-mlops-plataforma.md +24 -0
- package/skills/eng-ai/references/9-produto-ia.md +24 -0
- package/skills/eng-ai/references/especializacoes.md +17 -0
- package/skills/eng-automation/SKILL.md +290 -0
- package/skills/eng-automation/references/1-fundamentos-automacao.md +25 -0
- package/skills/eng-automation/references/10-ingestao-dados.md +25 -0
- package/skills/eng-automation/references/11-captcha-antibot.md +25 -0
- package/skills/eng-automation/references/12-limites-taxa-sessoes.md +25 -0
- package/skills/eng-automation/references/13-agendamento-orquestracao.md +24 -0
- package/skills/eng-automation/references/14-retentativa-erros.md +25 -0
- package/skills/eng-automation/references/15-autenticacao-credenciais.md +24 -0
- package/skills/eng-automation/references/16-observabilidade-confiabilidade.md +24 -0
- package/skills/eng-automation/references/2-aquisicao-dados.md +25 -0
- package/skills/eng-automation/references/3-automacao-navegador.md +24 -0
- package/skills/eng-automation/references/4-scraping-crawling.md +25 -0
- package/skills/eng-automation/references/5-apis-rest-graphql-soap.md +26 -0
- package/skills/eng-automation/references/6-webhooks-integracao.md +25 -0
- package/skills/eng-automation/references/7-rpa.md +25 -0
- package/skills/eng-automation/references/8-extracao-estruturada.md +25 -0
- package/skills/eng-automation/references/9-extracao-documentos.md +25 -0
- package/skills/eng-automation/references/especializacoes.md +18 -0
- package/skills/eng-backend-nestjs/SKILL.md +1 -1
- package/skills/eng-data/SKILL.md +271 -0
- package/skills/eng-data/references/1-fundamentos-dados.md +24 -0
- package/skills/eng-data/references/10-ciencia-dados.md +24 -0
- package/skills/eng-data/references/11-dataops-plataforma.md +24 -0
- package/skills/eng-data/references/12-seguranca-privacidade.md +24 -0
- package/skills/eng-data/references/2-modelagem-dados.md +24 -0
- package/skills/eng-data/references/3-bancos-dados.md +24 -0
- package/skills/eng-data/references/4-arquitetura-dados.md +24 -0
- package/skills/eng-data/references/5-pipelines-integracao.md +24 -0
- package/skills/eng-data/references/6-qualidade-dados.md +24 -0
- package/skills/eng-data/references/7-governanca-metadados.md +24 -0
- package/skills/eng-data/references/8-estatistica-analise.md +24 -0
- package/skills/eng-data/references/9-analytics-bi.md +24 -0
- package/skills/eng-data/references/especializacoes.md +20 -0
- package/skills/eng-frontend/SKILL.md +12 -5
- package/skills/eng-frontend/references/13-design-system.md +48 -0
- package/skills/eng-frontend/references/14-microfrontend.md +46 -0
- package/skills/eng-global-task-comment/SKILL.md +2 -2
- package/skills/eng-platform/SKILL.md +331 -0
- package/skills/eng-platform/references/1-fundamentos-sistemas.md +23 -0
- package/skills/eng-platform/references/10-resiliencia-arquitetura.md +24 -0
- package/skills/eng-platform/references/11-plataforma-devex.md +24 -0
- package/skills/eng-platform/references/12-finops-custos.md +24 -0
- package/skills/eng-platform/references/13-seguranca-fundamentos.md +26 -0
- package/skills/eng-platform/references/14-profiling-performance.md +23 -0
- package/skills/eng-platform/references/15-testes-carga-chaos.md +23 -0
- package/skills/eng-platform/references/16-cache-multicamada.md +22 -0
- package/skills/eng-platform/references/2-redes.md +23 -0
- package/skills/eng-platform/references/3-cloud.md +24 -0
- package/skills/eng-platform/references/4-iac-automacao.md +24 -0
- package/skills/eng-platform/references/5-containers-orquestracao.md +25 -0
- package/skills/eng-platform/references/6-cicd-entrega.md +24 -0
- package/skills/eng-platform/references/7-observabilidade.md +24 -0
- package/skills/eng-platform/references/8-confiabilidade-sre.md +24 -0
- package/skills/eng-platform/references/9-seguranca-infra.md +26 -0
- package/skills/eng-platform/references/especializacoes.md +34 -0
- package/skills/eng-qa/SKILL.md +283 -0
- package/skills/eng-qa/references/1-fundamentos-qualidade.md +25 -0
- package/skills/eng-qa/references/10-confiabilidade.md +25 -0
- package/skills/eng-qa/references/11-seguranca.md +24 -0
- package/skills/eng-qa/references/12-acessibilidade.md +24 -0
- package/skills/eng-qa/references/13-dados-testes.md +24 -0
- package/skills/eng-qa/references/14-gestao-testes-defeitos.md +25 -0
- package/skills/eng-qa/references/15-arquitetura-qa.md +25 -0
- package/skills/eng-qa/references/2-estrategia-planejamento.md +25 -0
- package/skills/eng-qa/references/3-design-testes.md +25 -0
- package/skills/eng-qa/references/4-manual-exploratorio.md +24 -0
- package/skills/eng-qa/references/5-automacao-testes.md +25 -0
- package/skills/eng-qa/references/6-api-integracao.md +25 -0
- package/skills/eng-qa/references/7-contrato.md +24 -0
- package/skills/eng-qa/references/8-interface-compat-mobile.md +24 -0
- package/skills/eng-qa/references/9-performance.md +24 -0
- package/skills/eng-qa/references/especializacoes.md +29 -0
- package/skills/eng-qa-planner/SKILL.md +264 -0
- package/skills/jarvis-context-detect/SKILL.md +1 -1
- package/skills/jarvis-context-detect/assets/context-profile-template.md +1 -1
- package/skills/jarvis-create-specialization/SKILL.md +8 -0
- package/skills/jarvis-docs-central/README.md +31 -28
- package/skills/jarvis-docs-central/SKILL.md +5 -5
- package/skills/jarvis-init/SKILL.md +8 -8
- package/skills/jarvis-init/assets/passo-adicionar-stacks.md +47 -18
- package/skills/jarvis-list-specializations/SKILL.md +30 -17
- package/skills/jarvis-report-issue/SKILL.md +1 -1
- package/taxonomy.md +4 -16
- package/templates/ENV-template.md +10 -2
- package/templates/engineering/qa/qa.sprint-plan-template.md +1 -1
- package/workflows/AGENTS.md +3 -1
- package/workflows/README.md +0 -10
- package/workflows/engineering/data/data.new-pipeline.md +6 -5
- package/workflows/engineering/eng.bug-audit.md +4 -14
- package/workflows/engineering/eng.debug.md +4 -20
- package/workflows/engineering/eng.pr.md +10 -28
- package/workflows/engineering/eng.pre-pr.md +11 -19
- package/workflows/engineering/eng.review.md +7 -13
- package/workflows/engineering/eng.rpa.robot.md +3 -9
- package/workflows/engineering/eng.start.md +16 -11
- package/workflows/engineering/eng.work.md +10 -18
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +1 -1
- package/workflows/product/prod.spec.discovery.md +2 -2
- package/workflows/warm-up.md +35 -63
- package/agents/engineering/eng.cybersecurity.agent.md +0 -486
- package/agents/engineering/qa/eng.qa.cypress-specialist.md +0 -112
- package/bin/lib/docs/fetch-file.sh +0 -41
- package/bin/lib/docs/publish-file.sh +0 -284
- package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +0 -137
- package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +0 -181
- package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +0 -120
- package/skills/eng-ai-engineer/SKILL.md +0 -303
- package/skills/eng-data-bi/SKILL.md +0 -206
- package/skills/eng-data-debug/SKILL.md +0 -314
- package/skills/eng-data-engineer/SKILL.md +0 -266
- package/skills/eng-data-onboard/SKILL.md +0 -317
- package/skills/eng-data-orchestrator/SKILL.md +0 -433
- package/skills/eng-devops-performance-engineer/SKILL.md +0 -319
- package/skills/eng-frontend-design-system/SKILL.md +0 -155
- package/skills/eng-frontend-design-system/references/1-estrutura-pacote.md +0 -57
- package/skills/eng-frontend-design-system/references/2-tokens.md +0 -116
- package/skills/eng-frontend-design-system/references/3-componentes.md +0 -165
- package/skills/eng-frontend-design-system/references/4-storybook.md +0 -85
- package/skills/eng-frontend-design-system/references/5-auditoria-versionamento.md +0 -76
- package/skills/eng-frontend-microfrontend/SKILL.md +0 -164
- package/skills/eng-frontend-microfrontend/references/1-criando-remote.md +0 -109
- package/skills/eng-frontend-microfrontend/references/2-configurando-shell.md +0 -70
- package/skills/eng-frontend-microfrontend/references/3-contratos-interface.md +0 -73
- package/skills/eng-frontend-microfrontend/references/4-shared-dependencies.md +0 -48
- package/skills/eng-frontend-microfrontend/references/5-event-bus.md +0 -59
- package/skills/eng-frontend-microfrontend/references/6-monorepo-deploy.md +0 -77
- package/skills/eng-frontend-microfrontend/references/7-troubleshooting.md +0 -45
- package/skills/eng-global-browser-extension-builder/SKILL.md +0 -392
- package/skills/eng-global-jira-comment/SKILL.md +0 -27
- package/skills/eng-qa-a11y-audit/SKILL.md +0 -276
- package/skills/eng-qa-bug-report/SKILL.md +0 -877
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +0 -138
- package/skills/eng-qa-bug-report/references/1-integracao-task-managers.md +0 -148
- package/skills/eng-qa-bug-report/references/2-exemplos-de-uso.md +0 -46
- package/skills/eng-qa-bug-report/references/3-bug-to-test.md +0 -45
- package/skills/eng-qa-cypress-e2e/SKILL.md +0 -184
- package/skills/eng-qa-dev-guide/SKILL.md +0 -173
- package/skills/eng-qa-e2e/SKILL.md +0 -407
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +0 -329
- package/skills/eng-qa-exploratory/SKILL.md +0 -196
- package/skills/eng-qa-gate/SKILL.md +0 -377
- package/skills/eng-qa-gate/assets/checklist-validacao.md +0 -291
- package/skills/eng-qa-graphql-contract/SKILL.md +0 -263
- package/skills/eng-qa-quality-report/SKILL.md +0 -419
- package/skills/eng-qa-test-plan/SKILL.md +0 -473
- package/skills/eng-qa-testsprite/SKILL.md +0 -332
- package/skills/eng-qa-testsprite/references/testsprite-mcp.md +0 -224
- package/skills/eng-qa-unit-test/SKILL.md +0 -478
- package/skills/eng-scraper/SKILL.md +0 -260
- package/skills/eng-scraper/references/1-puppeteer.md +0 -140
- package/skills/eng-scraper/references/2-playwright-cheerio-pdf.md +0 -82
- package/skills/eng-scraper/references/3-anti-bot.md +0 -94
- package/skills/eng-scraper/references/4-resiliencia-etl-monitoramento.md +0 -137
- package/skills/eng-scraper-robot-builder/SKILL.md +0 -377
- package/skills/eng-security-cybersecurity/SKILL.md +0 -250
- package/skills/eng-security-cybersecurity/references/1-owasp-top-10.md +0 -331
- package/skills/eng-security-cybersecurity/references/2-secrets-management.md +0 -31
- package/skills/eng-security-cybersecurity/references/3-input-validation.md +0 -43
- package/skills/eng-security-cybersecurity/references/4-compliance.md +0 -20
- package/skills/eng-security-patch/SKILL.md +0 -388
- package/skills/eng-security-threat-model/SKILL.md +0 -171
- package/skills/eng-security-triage/SKILL.md +0 -276
- package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +0 -311
- package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +0 -249
- package/templates/engineering/qa/qa.cypress-test-template.md +0 -172
- package/templates/engineering/qa/qa.exploratory-session-template.md +0 -148
- package/templates/engineering/qa/qa.quality-report-template.md +0 -130
- package/workflows/engineering/eng.security-audit.md +0 -319
- package/workflows/engineering/eng.security-incident.md +0 -281
- package/workflows/engineering/eng.security-pipeline.md +0 -219
- package/workflows/engineering/eng.security-review.md +0 -241
- package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +0 -57
- package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +0 -57
- package/workflows/engineering/qa/eng.qa-exploratory-session.md +0 -68
- package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +0 -209
- package/workflows/engineering/qa/eng.qa-quality-report.md +0 -85
- /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-coverage-template.md +0 -0
- /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-patterns.md +0 -0
- /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
|