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.
- package/AGENTS.md +14 -115
- package/agents/AGENTS.md +11 -23
- package/agents/README.md +27 -129
- package/agents/engineering/data/eng.data-engineer.agent.md +11 -34
- package/agents/engineering/eng.advisor.agent.md +56 -0
- 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 +6 -4
- 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/rules-on-demand/engineering/eng.pre-pr-rules.md +1 -1
- package/rules-on-demand/engineering/eng.start-rules.md +2 -0
- 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 +3 -3
- 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 +9 -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/AGENTS.md +2 -0
- package/templates/ENV-template.md +20 -2
- package/templates/engineering/advisor-template.md +65 -0
- package/templates/engineering/architecture-template.md +52 -4
- 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.plan.md +4 -26
- package/workflows/engineering/eng.pr.md +13 -63
- package/workflows/engineering/eng.pre-pr.md +14 -51
- package/workflows/engineering/eng.review.md +7 -13
- package/workflows/engineering/eng.rpa.robot.md +3 -9
- package/workflows/engineering/eng.start.md +37 -32
- package/workflows/engineering/eng.work.md +17 -40
- 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
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Advisor — prompts e auditoria
|
|
2
|
+
|
|
3
|
+
> Usado pelo `eng.start` (e, por exceção, pelo `eng.plan` e pelo `eng.work`) com o agente `eng.advisor.agent`. Os campos `{...}` são preenchidos pelo agente principal.
|
|
4
|
+
|
|
5
|
+
## Prompt 1 — Carga inicial (uma vez por tarefa, na primeira questão em aberto)
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
Você é o Advisor desta tarefa ({TASK_MANAGER_KEY}). Você esclarece as questões em aberto que eu enviar, uma por vez, e devolve a sugestão mais adequada; ela é adotada como decisão final. Eu (agente principal) faço a análise do card, a documentação, a execução e os registros.
|
|
9
|
+
|
|
10
|
+
Agora, somente leitura (não edite, não troque de branch, não faça commit; no GitHub, só consulta): leia as fontes de contexto do seu arquivo de agente — card, documentos de especificação ($PROD_DOCS, seguindo task_link e related_*), pastas de sessão ({SESSAO_ENG} e {SESSAO_PROD}) e, se preciso, o repositório {REPO}.
|
|
11
|
+
|
|
12
|
+
Etapas da tarefa:
|
|
13
|
+
| Etapa | O que acontece | Onde o Advisor entra |
|
|
14
|
+
| Alerta no início do eng.start | O usuário escolhe usar o Advisor e o modelo | Ainda não existe |
|
|
15
|
+
| eng.start | Escrevo o architecture.md; o que diverge do código ou é ambíguo vira "Questões em Aberto" | Aqui: você orienta cada questão |
|
|
16
|
+
| Orientação acatada | Atualizo o architecture.md e registro | Não |
|
|
17
|
+
| Registro da auditoria | Posto um comentário na issue com as questões e as suas sugestões (sem TASK_MANAGER, só no architecture.md) | Não |
|
|
18
|
+
| eng.plan / eng.work | Plano e implementação | Só por exceção: questão nova em aberto |
|
|
19
|
+
| Commit e PR | Um commit; o usuário valida em "Files changed" | Não |
|
|
20
|
+
| Merge e fechamento | O usuário faz o merge | Não |
|
|
21
|
+
|
|
22
|
+
Responda SOMENTE com "Contexto lido" + os caminhos que leu + uma frase de até 20 palavras sobre o objetivo da tarefa. Se o contexto for insuficiente para orientar, responda "Preciso de ajuda para localizar o contexto", dizendo onde procurou e o que precisa.
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Prompt 2 — Questão em aberto (uma mensagem por questão)
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
Questão {QN} de {TOTAL} ({TASK_MANAGER_KEY}). Texto completo na seção 8 do architecture.md ({CAMINHO}).
|
|
29
|
+
|
|
30
|
+
Contexto: {por que a dúvida existe e o impacto na implementação}
|
|
31
|
+
Arquivos/componentes envolvidos: {arquivo — relação}
|
|
32
|
+
Dúvida: {o que precisa ser decidido}
|
|
33
|
+
Opções:
|
|
34
|
+
1. {opção} — como funciona, vantagens, desvantagens, impacto
|
|
35
|
+
2. {opção} — ...
|
|
36
|
+
3. {opção} — ...
|
|
37
|
+
4. Outra (sua, se houver)
|
|
38
|
+
Sugestão do agente principal: {N}, porque {motivo}
|
|
39
|
+
|
|
40
|
+
Analise o repositório só se precisar para ter certeza (sem chutar). Responda (até ~250 palavras):
|
|
41
|
+
1. SUGESTÃO DO ADVISOR (opção 1-3 ou a 4 detalhada) · 2. DIVERGÊNCIA · 3. BASE · 4. ANÁLISE NO REPOSITÓRIO · 5. RELAÇÃO COM OUTRAS TAREFAS · 6. CERTEZA (escrito / confirmado no código / inferência). Não altere arquivos; aponte o risco se uma opção for destrutiva ou fugir do card.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Modelo do comentário de auditoria (postado pelo agente principal)
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
## Auditoria — questões do architecture.md
|
|
48
|
+
|
|
49
|
+
Questões levantadas no `architecture.md` desta issue e a sugestão do Advisor ({modelo}). **A sugestão do Advisor prevalece e é a decisão adotada.** Análise, documentação, execução e este registro são do agente principal.
|
|
50
|
+
|
|
51
|
+
### {QN} — {título}
|
|
52
|
+
- **Contexto:** {...}
|
|
53
|
+
- **Arquivos envolvidos:** {...}
|
|
54
|
+
- **Opções:** 1 — {...} · 2 — {...} · 3 — {...} · 4 — Outra
|
|
55
|
+
- **Sugestão do agente principal:** {N}
|
|
56
|
+
- **Sugestão do Advisor (decisão adotada):** **{N}**
|
|
57
|
+
- **Divergência:** {motivo técnico, ou "sem divergência"}
|
|
58
|
+
- **Base:** {...}
|
|
59
|
+
- **Análise no repositório:** {arquivos e linhas, ou "não foi necessário"}
|
|
60
|
+
- **Certeza:** {alta|média|baixa} — escrito: {...}; confirmado no código: {...}; inferência: {...}
|
|
61
|
+
- **Impacto da decisão:** {...}
|
|
62
|
+
- **Levantada em:** {eng.start | eng.plan | eng.work} (fora do eng.start, é lacuna a citar no PR)
|
|
63
|
+
|
|
64
|
+
Link do PR: {#PR} (preenchido quando existir; se a decisão for revista na execução, atualizar este mesmo comentário)
|
|
65
|
+
```
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
> **Criado em:** {DATA}
|
|
7
7
|
> **Issue:** {JIRA_ISSUE_KEY}
|
|
8
|
-
> **Status:** 🔄 Em Revisão | ✅ Aprovado | ❌ Rejeitado
|
|
8
|
+
> **Status:** 🔄 Em Revisão | ✅ Aprovado | ❌ Rejeitado
|
|
9
|
+
> **Advisor:** {modelo escolhido no início do eng.start} | não utilizado
|
|
9
10
|
|
|
10
11
|
---
|
|
11
12
|
|
|
@@ -245,9 +246,56 @@ graph TD
|
|
|
245
246
|
|
|
246
247
|
## 8. Questões em Aberto
|
|
247
248
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
249
|
+
> Tudo que for **diferente do código ou ambíguo no card** vira uma questão aqui, detalhada a ponto de outro agente entendê-la sem reconstruir a análise. No mínimo 3 opções, mais a **4 — Outra**.
|
|
250
|
+
> **Com Advisor** (cabeçalho), a sugestão do Advisor prevalece e é a decisão adotada; o agente principal não a substitui nem contesta. **Sem Advisor**, "Sugestão do Sub-Agent (Advisor)" e "Divergência" ficam "N/A (Advisor não utilizado)", a regra em destaque é omitida e a decisão é a do usuário ao revisar o documento.
|
|
251
|
+
> Questão levantada depois do `eng.start` (consulta por exceção) entra aqui, numerada em sequência, marcada "levantada no `eng.plan`" ou "no `eng.work`". Sem questão em aberto, escreva "Nenhuma" e o motivo em uma frase.
|
|
252
|
+
|
|
253
|
+
| ID | Questão | Responsável | Deadline | Status |
|
|
254
|
+
| -- | ---------------------------- | --------------------------- | -------- | -------------------------- |
|
|
255
|
+
| Q1 | {resumo objetivo da questão} | {Advisor \| nome do usuário} | {— \| data} | {✅ Decidida \| 🔄 Aberta} |
|
|
256
|
+
|
|
257
|
+
### Q1 — {Título da questão}
|
|
258
|
+
|
|
259
|
+
**Contexto:**
|
|
260
|
+
{Explicação detalhada do problema e por que a decisão é necessária.}
|
|
261
|
+
|
|
262
|
+
**Arquivos/componentes envolvidos:**
|
|
263
|
+
* `{arquivo/caminho}` — {relação com a questão}
|
|
264
|
+
|
|
265
|
+
**Dúvida:**
|
|
266
|
+
{Descrição clara e inequívoca do que precisa ser decidido.}
|
|
267
|
+
|
|
268
|
+
**Opções:**
|
|
269
|
+
|
|
270
|
+
**1. {Opção 1}**
|
|
271
|
+
* Como funciona: {descrição}
|
|
272
|
+
* Vantagens: {vantagens}
|
|
273
|
+
* Desvantagens: {desvantagens}
|
|
274
|
+
* Impacto: {impacto}
|
|
275
|
+
|
|
276
|
+
**2. {Opção 2}** (mesmo formato)
|
|
277
|
+
|
|
278
|
+
**3. {Opção 3}** (mesmo formato)
|
|
279
|
+
|
|
280
|
+
**4. Outra**
|
|
281
|
+
* Alternativa adicional identificada pelo Sub-Agent/Advisor, detalhada caso ele entenda que nenhuma das opções anteriores é a melhor abordagem.
|
|
282
|
+
|
|
283
|
+
**Sugestão do Agente Principal (Architect):**
|
|
284
|
+
{recomendação do agente principal + justificativa técnica}
|
|
285
|
+
|
|
286
|
+
**Sugestão do Sub-Agent (Advisor):**
|
|
287
|
+
{recomendação independente do Advisor + justificativa técnica}
|
|
288
|
+
|
|
289
|
+
**Decisão adotada:**
|
|
290
|
+
**{recomendação do Sub-Agent/Advisor}**
|
|
291
|
+
|
|
292
|
+
> **Regra:** a recomendação do Advisor sempre prevalece e deve ser adotada na implementação, independentemente de ser igual ou diferente da recomendação do Agente Principal.
|
|
293
|
+
|
|
294
|
+
**Divergência:**
|
|
295
|
+
{se houver diferença entre as recomendações, explicar objetivamente por que o Advisor escolheu uma abordagem diferente.}
|
|
296
|
+
|
|
297
|
+
**Impacto da decisão:**
|
|
298
|
+
{consequências da decisão adotada para a arquitetura e implementação.}
|
|
251
299
|
|
|
252
300
|
---
|
|
253
301
|
|
|
@@ -30,7 +30,7 @@ status: Draft
|
|
|
30
30
|
|------|--------|-------|-----------|-------------|------------|
|
|
31
31
|
| {ID} | {título} | Alto | E2E + exploratório | {QA} | |
|
|
32
32
|
| {ID} | {título} | Médio | Quality gate | {QA ou Champion} | |
|
|
33
|
-
| {ID} | {título} | Baixo | Delegar ao dev | {Champion} | eng-qa
|
|
33
|
+
| {ID} | {título} | Baixo | Delegar ao dev | {Champion} | base eng-qa |
|
|
34
34
|
|
|
35
35
|
---
|
|
36
36
|
|
package/workflows/AGENTS.md
CHANGED
|
@@ -56,7 +56,9 @@ workflows/
|
|
|
56
56
|
│ ├── eng.frontend-review.md # Revisão de PR frontend
|
|
57
57
|
│ └── eng.frontend-perf-audit.md # Auditoria de performance (Core Web Vitals)
|
|
58
58
|
└── qa/
|
|
59
|
-
|
|
59
|
+
├── eng.qa-refinement-entry.md
|
|
60
|
+
├── eng.qa-release-signoff.md
|
|
61
|
+
└── eng.qa-sprint-planning.md
|
|
60
62
|
```
|
|
61
63
|
|
|
62
64
|
---
|
package/workflows/README.md
CHANGED
|
@@ -45,11 +45,6 @@ workflows/
|
|
|
45
45
|
│ ├── eng.frontend-review.md # Revisão de PR frontend (TS, tokens, a11y, MFE)
|
|
46
46
|
│ └── eng.frontend-perf-audit.md # Auditoria Core Web Vitals e bundle
|
|
47
47
|
└── qa/
|
|
48
|
-
├── eng.qa-quality-gate-validation.md
|
|
49
|
-
├── eng.qa-e2e-test-generation.md
|
|
50
|
-
├── eng.qa-exploratory-session.md
|
|
51
|
-
├── eng.qa-dev-quality-guide.md
|
|
52
|
-
├── eng.qa-quality-report.md
|
|
53
48
|
├── eng.qa-refinement-entry.md
|
|
54
49
|
├── eng.qa-release-signoff.md
|
|
55
50
|
└── eng.qa-sprint-planning.md
|
|
@@ -106,11 +101,6 @@ workflows/
|
|
|
106
101
|
| `eng.frontend-component.md` | Criar ou refatorar componente frontend com qualidade (design system vs remote, a11y, testes) |
|
|
107
102
|
| `eng.frontend-review.md` | Revisão de código específica para PRs frontend (TypeScript, tokens, a11y, MFE) |
|
|
108
103
|
| `eng.frontend-perf-audit.md` | Auditoria de performance frontend (Core Web Vitals, bundle, diagnóstico por métrica) |
|
|
109
|
-
| `eng.qa-quality-gate-validation.md` | Validação de quality gate de um ticket |
|
|
110
|
-
| `eng.qa-e2e-test-generation.md` | Geração de testes E2E Cypress para uma feature |
|
|
111
|
-
| `eng.qa-exploratory-session.md` | Conduzir sessão de teste exploratório |
|
|
112
|
-
| `eng.qa-dev-quality-guide.md` | Orientar dev a escrever seus próprios testes Cypress |
|
|
113
|
-
| `eng.qa-quality-report.md` | Relatório de qualidade consolidado por sprint/release |
|
|
114
104
|
| `eng.qa-refinement-entry.md` | Entrada do QA no refinement de tickets |
|
|
115
105
|
| `eng.qa-release-signoff.md` | Sign-off QA pré-deploy (GO/NO-GO) |
|
|
116
106
|
| `eng.qa-sprint-planning.md` | Planejamento de capacidade QA por sprint |
|
|
@@ -43,7 +43,7 @@ seguindo as convenções definidas em `$IDE/rules/engineering/data/data-rules.md
|
|
|
43
43
|
| Passo | Skill | Condição |
|
|
44
44
|
|-------|-------|----------|
|
|
45
45
|
| Agentes recomendados | `eng.data-engineer.agent` (agente) | Sempre — agente primário que conduz todo o workflow |
|
|
46
|
-
| Pré-verificação — Fonte nova ou existente? | `/eng-data
|
|
46
|
+
| Pré-verificação — Fonte nova ou existente? | `/eng-data` | Se a fonte nunca foi ingerida antes (pipeline totalmente novo); depois volta a este workflow |
|
|
47
47
|
| Agentes recomendados | `eng.dev-code-reviewer` (agente) | Se o pipeline tiver lógica de transformação complexa ou antes de qualquer push ao repositório de pipelines |
|
|
48
48
|
| Agentes recomendados | `eng.qa.test-planner` (agente) | Se o pipeline for gold com múltiplos casos de uso, dados sensíveis ou SLA rigoroso (apoio à Expectation Suite) |
|
|
49
49
|
| Agentes recomendados | `eng.docs-writer` (agente) | Se o pipeline for de alta criticidade ou precisar de documentação além do template (diagramas, runbook, troubleshooting) |
|
|
@@ -71,10 +71,11 @@ seguindo as convenções definidas em `$IDE/rules/engineering/data/data-rules.md
|
|
|
71
71
|
|
|
72
72
|
> Antes de iniciar, verificar se já há dados desta fonte em bronze.
|
|
73
73
|
|
|
74
|
-
**Se a fonte nunca foi ingerida antes** (pipeline totalmente novo):
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
**Se a fonte nunca foi ingerida antes** (pipeline totalmente novo), usar a base [eng-data]($IDE/skills/eng-data/SKILL.md) (tema 1 — Fundamentos, tema 5 — Pipelines e Integração) para:
|
|
75
|
+
1. Entender a fonte (nome, tipo, frequência, volume, owner, campos disponíveis e sensíveis, SLA)
|
|
76
|
+
2. Fazer schema discovery e amostragem
|
|
77
|
+
3. Criar a camada bronze e uma Expectation Suite mínima (tema 6 — Qualidade de Dados)
|
|
78
|
+
→ Voltar para este workflow (Fase 1 abaixo) depois do bronze estar validado.
|
|
78
79
|
|
|
79
80
|
**Se a fonte já existe em bronze** → continuar diretamente com a Fase 1 abaixo.
|
|
80
81
|
|
|
@@ -62,7 +62,7 @@ Onde [escopo] pode ser:
|
|
|
62
62
|
| Passo | Skill | Condição |
|
|
63
63
|
|-------|-------|----------|
|
|
64
64
|
| Fase 0 – Análise de Contexto (CDD) | `/jarvis-context-detect` | Se existir uma sessão ativa (e `ENABLE_CDD=true` no ENV.md) |
|
|
65
|
-
| Fase 5 – Ticketing › 5.1 | `/eng-qa
|
|
65
|
+
| Fase 5 – Ticketing › 5.1 | `/eng-qa` + `QA_SPECIALIZATIONS` | Para estruturar cada problema P0 e P1 encontrado no audit antes de abrir o card |
|
|
66
66
|
|
|
67
67
|
---
|
|
68
68
|
|
|
@@ -463,19 +463,9 @@ echo "✅ Relatório gerado em: $SESSIONS_DIR/eng/bug-audit-$(date +%Y%m%d-%H%M%
|
|
|
463
463
|
|
|
464
464
|
## Fase 5 – Ticketing (Criação de Cards no Task Manager)
|
|
465
465
|
|
|
466
|
-
### 5.1
|
|
466
|
+
### 5.1 Estruturar e abrir o card
|
|
467
467
|
|
|
468
|
-
Para cada problema P0 e P1
|
|
469
|
-
|
|
470
|
-
```bash
|
|
471
|
-
/eng-qa-bug-report create \
|
|
472
|
-
--title="{título do bug}" \
|
|
473
|
-
--category="{categoria}" \
|
|
474
|
-
--severity="{P0|P1|P2|P3}" \
|
|
475
|
-
--location="{arquivo:linha}" \
|
|
476
|
-
--description="{descrição}" \
|
|
477
|
-
--suggestion="{sugestão de correção}"
|
|
478
|
-
```
|
|
468
|
+
Para cada problema P0 e P1, use a base [eng-qa](../../skills/eng-qa/SKILL.md) + a especialização registrada em `QA_SPECIALIZATIONS` (se houver uma) — tema 14, Gestão de Testes e de Defeitos — para estruturar o achado, e abra o card no `$TASK_MANAGER` do projeto com a estrutura da seção 5.2.
|
|
479
469
|
|
|
480
470
|
### 5.2 Estrutura dos Cards Criados
|
|
481
471
|
|
|
@@ -576,7 +566,7 @@ Cada card deve conter:
|
|
|
576
566
|
- **eng.debug**: Para investigar bugs específicos encontrados no audit
|
|
577
567
|
- **eng.work**: Para implementar correções
|
|
578
568
|
- **eng.pr**: Para submeter correções
|
|
579
|
-
- **eng-
|
|
569
|
+
- **eng.pre-pr**: Para validar correções antes de merge
|
|
580
570
|
|
|
581
571
|
---
|
|
582
572
|
|
|
@@ -37,8 +37,8 @@ sempre respeitando `$IDE/rules/engineering/eng-rules.md`.
|
|
|
37
37
|
| Passo 1.0 | `mcp__claude_ai_Atlassian__getJiraIssue` | Se Jira key fornecida |
|
|
38
38
|
| Passo 1.5 | `Read` / `Grep` / `Glob` (leitura do repo) | **Sempre** — obrigatório antes de formular hipóteses |
|
|
39
39
|
| Passo 2.5 | `/eng-backend-microservices-trace` | Se bug suspeito de cruzar serviços **e** a especialização estiver registrada em `BACKEND_SPECIALIZATIONS` |
|
|
40
|
-
| Passo 6 | `/eng-qa
|
|
41
|
-
| Passo 7 | `/eng-qa
|
|
40
|
+
| Passo 6 | `/eng-qa` + `QA_SPECIALIZATIONS` | Para criar teste de regressão da correção |
|
|
41
|
+
| Passo 7 | `/eng-qa` + `QA_SPECIALIZATIONS` | Para estruturar cada débito técnico ou melhoria identificada antes de abrir o card |
|
|
42
42
|
| Conclusão | `mcp__claude_ai_Atlassian__addCommentToJiraIssue` | Sempre — atualizar o card com findings |
|
|
43
43
|
|
|
44
44
|
### Próximos workflows (pós-debug)
|
|
@@ -383,11 +383,7 @@ Próximo passo: → eng.work {TASK_MANAGER_KEY}
|
|
|
383
383
|
|
|
384
384
|
### 6.1 – Criar teste de regressão
|
|
385
385
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
```
|
|
389
|
-
/eng-qa-unit-test --mode=regression --bug=”{descrição da causa raiz}” --file=”{arquivo corrigido}”
|
|
390
|
-
```
|
|
386
|
+
Usar a base [eng-qa](../../skills/eng-qa/SKILL.md) + a especialização registrada em `QA_SPECIALIZATIONS` (se houver uma) — tema 5, Automação de Testes — para criar o teste que reproduz o bug, seguindo o framework de testes já usado no projeto.
|
|
391
387
|
|
|
392
388
|
O teste deve:
|
|
393
389
|
- **Falhar** antes da correção ser aplicada (prova que reproduz o bug)
|
|
@@ -424,19 +420,7 @@ Quando fizer sentido, recomendar:
|
|
|
424
420
|
|
|
425
421
|
### 7.2 – Criar cards de débito técnico
|
|
426
422
|
|
|
427
|
-
Para cada melhoria estrutural identificada,
|
|
428
|
-
|
|
429
|
-
```
|
|
430
|
-
/eng-qa-bug-report create \
|
|
431
|
-
--title="[{serviço}] {descrição da melhoria}" \
|
|
432
|
-
--category="DÉBITO-TÉCNICO" \
|
|
433
|
-
--location="{arquivo:linha relevante}" \
|
|
434
|
-
--description="{por que essa melhoria é necessária}" \
|
|
435
|
-
--behavior-actual="{o que existe hoje}" \
|
|
436
|
-
--behavior-expected="{o que deveria existir}" \
|
|
437
|
-
--environment="prod" \
|
|
438
|
-
--linked-to="{TASK_MANAGER_KEY}"
|
|
439
|
-
```
|
|
423
|
+
Para cada melhoria estrutural identificada, estruturar o achado com a base [eng-qa](../../skills/eng-qa/SKILL.md) + a especialização registrada em `QA_SPECIALIZATIONS` (se houver uma) — tema 14, Gestão de Testes e de Defeitos — e abrir o card de débito técnico (`DÉBITO-TÉCNICO P{0-3}`) no `$TASK_MANAGER` do projeto, vinculado a `{TASK_MANAGER_KEY}`, com: localização, comportamento atual vs. esperado e ambiente.
|
|
440
424
|
|
|
441
425
|
Exemplos típicos após um debug cross-service:
|
|
442
426
|
- `[account] Correlation ID não propagado nas chamadas HTTP para auth` → `DÉBITO-TÉCNICO P2`
|
|
@@ -41,25 +41,11 @@ Antes de executar este workflow:
|
|
|
41
41
|
| Passo | Skill | Condição |
|
|
42
42
|
|-------|-------|----------|
|
|
43
43
|
| Cabeçalho (agente) | `eng.agent` (agente) | Sempre — identidade do workflow |
|
|
44
|
-
| Fase 0.5: Comentário no card — Início | `/eng-global-task-comment` | Se `TASK_MANAGER` estiver preenchido (freelance pula) |
|
|
45
44
|
| Fase 0 › 0.1 Herdar Contexto da Sessão | `/jarvis-context-detect` | Se `ENABLE_CDD=true` e o `context.md` não existir |
|
|
46
45
|
| Fase 2: Pesquisa no Codebase | `repoprompt` (MCP: `search`, `read_selected_files`) | Para buscar e ler arquivos relevantes do codebase |
|
|
47
46
|
| Fase 2: Pesquisa no Codebase (se necessário) | `context7` (MCP) | Se for preciso consultar a documentação de bibliotecas |
|
|
48
|
-
|
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Fase 0.5: Comentário no card — Início
|
|
53
|
-
|
|
54
|
-
Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
55
|
-
|
|
56
|
-
Após confirmar que o `architecture.md` existe, registrar início do planejamento:
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
/eng-global-task-comment {TASK_MANAGER_KEY} 📋 [Jarvis] Iniciando criação do plano de execução
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
> Usa o skill `/eng-global-task-comment`. Não bloquear se falhar.
|
|
47
|
+
| Fase 3: Criação do Plano (exceção) | `eng.advisor.agent` (agente) | Só por exceção: questão nova em aberto, com o Advisor habilitado no `eng.start` (cabeçalho do `architecture.md`) |
|
|
48
|
+
| Fase 3: Criação do Plano (exceção) | `/eng-global-task-comment` | Só por exceção: comentário de auditoria da questão nova consultada ao Advisor (freelance pula) |
|
|
63
49
|
|
|
64
50
|
---
|
|
65
51
|
|
|
@@ -174,6 +160,8 @@ CONTEXT_PROFILE:
|
|
|
174
160
|
|
|
175
161
|
4. **Usar** o template em `$IDE/templates/engineering/plan-template.md`
|
|
176
162
|
|
|
163
|
+
**Questão nova em aberto (exceção).** O ideal é que todas as questões tenham sido levantadas no `eng.start`. Se surgir uma nova e o cabeçalho do `architecture.md` indicar um Advisor, consulte `eng.advisor.agent` com o Prompt 2 de `$IDE/templates/engineering/advisor-template.md` (refaça o Prompt 1 se o subagente não existir mais), acrescente a questão à seção 8 marcada "levantada no `eng.plan`", adote a sugestão do Advisor e poste o comentário de auditoria com `/eng-global-task-comment` (é desvio do plano; cite-o no PR como lacuna do `eng.start`). Sem Advisor, pergunte ao usuário.
|
|
164
|
+
|
|
177
165
|
### Fase 4: Validação
|
|
178
166
|
|
|
179
167
|
1. **Apresentar** o plano ao humano
|
|
@@ -200,16 +188,6 @@ Com:
|
|
|
200
188
|
|
|
201
189
|
---
|
|
202
190
|
|
|
203
|
-
## Comentário no card — Conclusão
|
|
204
|
-
|
|
205
|
-
Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
206
|
-
|
|
207
|
-
Após validação do plano com o usuário, registrar conclusão:
|
|
208
|
-
|
|
209
|
-
```
|
|
210
|
-
/eng-global-task-comment {TASK_MANAGER_KEY} ✅ [Jarvis] Plano de execução criado e validado - {N} fases definidas. Pronto para implementação.
|
|
211
|
-
```
|
|
212
|
-
|
|
213
191
|
## Próximo Passo
|
|
214
192
|
|
|
215
193
|
Após a validação do plano com o humano, informar:
|
|
@@ -20,16 +20,12 @@ Este comando cria a **branch, commita as alterações e abre um Merge Request**.
|
|
|
20
20
|
|
|
21
21
|
- **pr**: siga o playbook do skill para padronizar branch, commits e MR.
|
|
22
22
|
- Arquivo: `$IDE/skills/eng-global-pr/SKILL.md`
|
|
23
|
-
- **eng-qa-
|
|
24
|
-
- Arquivo: `$IDE/skills/eng-qa-
|
|
25
|
-
- **eng-qa
|
|
26
|
-
- Arquivo: `$IDE/skills/eng-qa
|
|
27
|
-
- **eng-qa-e2e**: para validar fluxos de usuário críticos com testes E2E em linguagem natural antes de abrir o MR.
|
|
28
|
-
- Arquivo: `$IDE/skills/eng-qa-e2e/SKILL.md`
|
|
23
|
+
- **eng-qa-planner**: se precisar validar lacunas de testes antes de abrir o MR — se a especialização estiver registrada em `QA_SPECIALIZATIONS`. Sem ela, use a base `eng-qa` diretamente.
|
|
24
|
+
- Arquivo: `$IDE/skills/eng-qa-planner/SKILL.md`
|
|
25
|
+
- **eng-qa** + a especialização registrada em `QA_SPECIALIZATIONS` (se houver uma): para validar fluxos de usuário críticos ou executar testes automatizados antes de abrir o MR.
|
|
26
|
+
- Arquivo: `$IDE/skills/eng-qa/SKILL.md`
|
|
29
27
|
- **eng-global-docs-write**: se houver necessidade de atualizar documentação junto do PR.
|
|
30
28
|
- Arquivo: `$IDE/skills/eng-global-docs-write/SKILL.md`
|
|
31
|
-
- **eng-security-cybersecurity**: se o PR toca em auth, inputs, APIs públicas ou permissões — adicionar label `security` ao MR.
|
|
32
|
-
- Arquivo: `$IDE/skills/eng-security-cybersecurity/SKILL.md`
|
|
33
29
|
|
|
34
30
|
## Agentes recomendados (opcional)
|
|
35
31
|
|
|
@@ -43,15 +39,12 @@ Este comando cria a **branch, commita as alterações e abre um Merge Request**.
|
|
|
43
39
|
|-------|-------|----------|
|
|
44
40
|
| Cabeçalho (agente) | `eng.agent` (agente) | Sempre — identidade do workflow |
|
|
45
41
|
| Skills recomendados | `/eng-global-pr` | Sempre — seguir o playbook do skill para padronizar branch, commits e MR |
|
|
46
|
-
| Skills recomendados | `/eng-qa-
|
|
47
|
-
| Fase 1 › 1.4 Executar Testes Automatizados (Opcional) | `/eng-qa
|
|
48
|
-
| Skills recomendados | `/eng-qa-e2e` | Se for preciso validar fluxos de usuário críticos com testes E2E em linguagem natural antes de abrir o MR |
|
|
42
|
+
| Skills recomendados | `/eng-qa-planner` | Se for preciso validar lacunas de testes antes de abrir o MR **e** a especialização estiver registrada em `QA_SPECIALIZATIONS` |
|
|
43
|
+
| Fase 1 › 1.4 Executar Testes Automatizados (Opcional) | `/eng-qa` + `QA_SPECIALIZATIONS` | Passo opcional, recomendado em mudanças significativas |
|
|
49
44
|
| Skills recomendados | `/eng-global-docs-write` | Se houver necessidade de atualizar documentação junto do PR |
|
|
50
|
-
| Skills recomendados | `/eng-security-cybersecurity` | Se o PR tocar em auth, inputs, APIs públicas ou permissões (adicionar label `security` ao MR) |
|
|
51
45
|
| Agentes recomendados (opcional) | `eng.qa.test-planner` (agente) | Se houver dúvidas sobre cobertura de testes ou mudanças significativas |
|
|
52
|
-
| Fase
|
|
53
|
-
| Fase
|
|
54
|
-
| Fase 5: Comentário no card — Conclusão | `/eng-global-task-comment` | Se `TASK_MANAGER` estiver preenchido, depois de o MR ser criado (freelance pula) |
|
|
46
|
+
| Fase 4 › 4.2 Criar MR/PR via adapter | `jarvis vcs create-merge` (CLI do Jarvis) | Sempre — abre o MR/PR conforme `VERSION_CONTROL` ou o host do `origin` |
|
|
47
|
+
| Fase 6 › 6.2 Link do MR | `/eng-global-task-comment` | Depois de o MR ser criado: um único comentário no card com o link do MR, seguindo o Passo 6 do skill `eng-global-pr` (freelance pula) |
|
|
55
48
|
|
|
56
49
|
---
|
|
57
50
|
|
|
@@ -73,20 +66,6 @@ Ler `TASK_MANAGER` do `$IDE/ENV.md`. Seguir `$IDE/rules/engineering/eng.integrat
|
|
|
73
66
|
|
|
74
67
|
---
|
|
75
68
|
|
|
76
|
-
## Fase 0.5: Comentário no card — Início
|
|
77
|
-
|
|
78
|
-
Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
79
|
-
|
|
80
|
-
Registrar início da criação do MR:
|
|
81
|
-
|
|
82
|
-
```
|
|
83
|
-
/eng-global-task-comment {TASK_MANAGER_KEY} 🔀 [Jarvis] Iniciando criação do Merge Request para {TARGET_BRANCH}
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
> Usa o skill `/eng-global-task-comment`. Não bloquear se falhar.
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
69
|
## Fase 1: Validação Pré-PR
|
|
91
70
|
|
|
92
71
|
### 1.1 Executar Testes Unitários
|
|
@@ -109,19 +88,7 @@ npm run build # ou comando do projeto
|
|
|
109
88
|
|
|
110
89
|
### 1.4 Executar Testes Automatizados (Opcional)
|
|
111
90
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
```
|
|
115
|
-
/eng-qa-testsprite diff
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
Isso irá:
|
|
119
|
-
|
|
120
|
-
- Gerar plano de testes para as mudanças recentes (diff)
|
|
121
|
-
- Executar testes E2E (frontend) ou API (backend)
|
|
122
|
-
- Gerar relatório em `testsprite_tests/`
|
|
123
|
-
|
|
124
|
-
> **Observação**: o comportamento exato de "diff" pode variar (staged vs uncommitted). Se necessário, valide com o usuário qual estado do Git deve ser considerado antes de executar.
|
|
91
|
+
Para mudanças significativas, use a base [eng-qa](../../skills/eng-qa/SKILL.md) (ou a especialização registrada em `QA_SPECIALIZATIONS`, se houver uma) para validar os cenários afetados pelo diff antes de abrir o MR.
|
|
125
92
|
|
|
126
93
|
> **Nota**: Este passo é opcional mas recomendado para mudanças significativas.
|
|
127
94
|
|
|
@@ -243,7 +210,7 @@ Preencher com a tarefa. Link do card:
|
|
|
243
210
|
BODY_FILE=$(mktemp)
|
|
244
211
|
# gravar a descrição preenchida em $BODY_FILE
|
|
245
212
|
|
|
246
|
-
|
|
213
|
+
jarvis vcs create-merge \
|
|
247
214
|
--source "${NOME_DA_BRANCH}" \
|
|
248
215
|
--target "${TARGET_BRANCH}" \
|
|
249
216
|
--title "${TASK_MANAGER_KEY}: ${TITULO_DA_TAREFA}" \
|
|
@@ -254,7 +221,7 @@ rm -f "$BODY_FILE"
|
|
|
254
221
|
|
|
255
222
|
O adapter lê `git remote get-url origin` e `VERSION_CONTROL` / hostname (GitLab, GitHub, Bitbucket). Token: `.npmrc` (GitLab), `gh auth` / `GITHUB_TOKEN` (GitHub), `BITBUCKET_TOKEN` (Bitbucket).
|
|
256
223
|
|
|
257
|
-
Se o
|
|
224
|
+
Se o CLI `jarvis` não estiver instalado no repo alvo, usar `node {caminho-do-clone-do-jarvis}/bin/jarvis.js vcs create-merge ...`.
|
|
258
225
|
|
|
259
226
|
**Erros comuns:**
|
|
260
227
|
|
|
@@ -266,18 +233,6 @@ Se o script não estiver no repo alvo, usar o path do clone do framework Jarvis.
|
|
|
266
233
|
|
|
267
234
|
---
|
|
268
235
|
|
|
269
|
-
## Fase 5: Comentário no card — Conclusão
|
|
270
|
-
|
|
271
|
-
Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
272
|
-
|
|
273
|
-
Após MR criado com sucesso, registrar:
|
|
274
|
-
|
|
275
|
-
```
|
|
276
|
-
/eng-global-task-comment {TASK_MANAGER_KEY} ✅ [Jarvis] MR criado: {TITULO_DO_MR} → {TARGET_BRANCH} | Link: {LINK_DO_MR}
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
---
|
|
280
|
-
|
|
281
236
|
## Fase 6: Atualizar Board
|
|
282
237
|
|
|
283
238
|
Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
@@ -286,14 +241,9 @@ Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
|
286
241
|
|
|
287
242
|
Mova o card para a etapa equivalente a "em revisão" no seu board. Quem assumiu o card o move; não é preciso esperar o TECH LEAD ou o PM.
|
|
288
243
|
|
|
289
|
-
### 6.2
|
|
244
|
+
### 6.2 Link do MR no card
|
|
290
245
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
```
|
|
294
|
-
MR aberto: {LINK_DO_MR}
|
|
295
|
-
Branch: {NOME_DA_BRANCH}
|
|
296
|
-
```
|
|
246
|
+
Siga o Passo 6 do skill `eng-global-pr`: um único comentário no card, com o link e a branch. É o único comentário do `eng.pr` no card.
|
|
297
247
|
|
|
298
248
|
---
|
|
299
249
|
|
|
@@ -16,20 +16,16 @@ Estamos nos aproximando de finalizar o trabalho nesta branch e nos preparar para
|
|
|
16
16
|
|
|
17
17
|
## Skills recomendados
|
|
18
18
|
|
|
19
|
-
- **eng-qa-
|
|
20
|
-
- Arquivo: `$IDE/skills/eng-qa-
|
|
21
|
-
- **eng-qa-testsprite**: para executar testes automatizados e validar cobertura com TestSprite MCP.
|
|
22
|
-
- Arquivo: `$IDE/skills/eng-qa-testsprite/SKILL.md`
|
|
19
|
+
- **eng-qa-planner**: para avaliar cobertura de testes e identificar gaps antes do PR — se a especialização estiver registrada em `QA_SPECIALIZATIONS` (ver `$IDE/rules/engineering/eng.specializations-rules.md`). Sem ela, use a base `eng-qa` diretamente.
|
|
20
|
+
- Arquivo: `$IDE/skills/eng-qa-planner/SKILL.md`
|
|
23
21
|
- **eng-global-docs-write**: para atualizar documentação baseada nas mudanças da branch.
|
|
24
22
|
- Arquivo: `$IDE/skills/eng-global-docs-write/SKILL.md`
|
|
25
23
|
- **jarvis-docs-index**: para atualizar o índice de documentação quando necessário.
|
|
26
24
|
- Arquivo: `$IDE/skills/jarvis-docs-index/SKILL.md`
|
|
27
|
-
- **eng-
|
|
28
|
-
- Arquivo: `$IDE/skills/eng-
|
|
25
|
+
- **eng-platform** + a especialização registrada em `PLATFORM_SPECIALIZATIONS` (se houver uma): para validar thresholds de performance e analisar regressões quando a feature tiver requisitos não-funcionais de latência, throughput ou escalabilidade (temas 14, 15 e 16).
|
|
26
|
+
- Arquivo: `$IDE/skills/eng-platform/SKILL.md`
|
|
29
27
|
- **Skills de backend e frontend**: para validar código de backend (endpoints, autenticação, workers) ou de frontend (componentes, performance de UI e acessibilidade WCAG 2.1 AA), aplique a regra `$IDE/rules/engineering/eng.specializations-rules.md` para a área envolvida: ela carrega o skill base e as especializações registradas no `ENV.md`.
|
|
30
28
|
- Arquivo da regra: `$IDE/rules/engineering/eng.specializations-rules.md`
|
|
31
|
-
- **eng-security-cybersecurity**: quando a branch tocar em auth, sessions, inputs, CORS, CSP, permissões ou adicionar dependências novas.
|
|
32
|
-
- Arquivo: `$IDE/skills/eng-security-cybersecurity/SKILL.md`
|
|
33
29
|
|
|
34
30
|
<arguments>
|
|
35
31
|
#$ARGUMENTS
|
|
@@ -39,39 +35,23 @@ Estamos nos aproximando de finalizar o trabalho nesta branch e nos preparar para
|
|
|
39
35
|
|
|
40
36
|
| Passo | Skill | Condição |
|
|
41
37
|
|-------|-------|----------|
|
|
42
|
-
| Skills recomendados | `/eng-qa-
|
|
38
|
+
| Skills recomendados | `/eng-qa-planner` | Se a especialização estiver registrada em `QA_SPECIALIZATIONS`; sem ela, usar a base `/eng-qa` diretamente |
|
|
43
39
|
| Skills recomendados | `/eng-global-docs-write` | Para atualizar a documentação com base nas mudanças da branch |
|
|
44
40
|
| Skills recomendados | `/jarvis-docs-index` | Se for necessário atualizar o índice de documentação |
|
|
45
|
-
| Skills recomendados | `/eng-
|
|
41
|
+
| Skills recomendados | `/eng-platform` + `PLATFORM_SPECIALIZATIONS` | Se a feature tiver requisitos não-funcionais de latência, throughput ou escalabilidade |
|
|
46
42
|
| Skills recomendados | `/eng-backend` e `/eng-frontend` (via `eng.specializations-rules.md`) | Para validar código de backend (endpoints, autenticação, workers) ou de frontend (componentes, performance de UI, WCAG 2.1 AA); a regra também carrega as especializações registradas no ENV.md |
|
|
47
|
-
| Skills recomendados | `/eng-security-cybersecurity` | Se a branch tocar em auth, sessions, inputs, CORS, CSP, permissões ou adicionar dependências novas |
|
|
48
|
-
| Fase 0.5: Comentário no card — Início | `/eng-global-task-comment` | Se `TASK_MANAGER` estiver preenchido (freelance pula) |
|
|
49
43
|
| Gate 0: Verificar Documentação Central | `/jarvis-docs-central` (via `jarvis docs publish --tipo ard`) | Se `CENTRAL_DOCS_REPO` estiver configurado, houver mudança arquitetural, o ARD estiver desatualizado ou novo e o usuário aceitar publicar |
|
|
50
44
|
| Gates › item 1 | `prod.pm-checker` (agente) | Sempre — verificar alinhamento da branch com os docs de produto e engenharia |
|
|
51
45
|
| Gates › item 2 | `eng.dev-code-reviewer` (agente) | Sempre — revisar o código antes de lançar |
|
|
52
46
|
| Gates › item 3 | `eng.qa.test-planner` (agente) | Sempre — identificar gaps de cobertura de testes na branch |
|
|
53
47
|
| Gates › item 4 | `eng.qa.testing-engineer` (agente) | Se o test-planner identificar gaps críticos (escrever os testes faltantes) |
|
|
54
48
|
| Gates › item 5 | `eng.qa.test-architect` (agente) | Se a feature tiver requisitos não-funcionais (no `architecture.md` ou explícitos na task) |
|
|
55
|
-
| Gates › item 6 | `/eng-qa
|
|
49
|
+
| Gates › item 6 | `/eng-qa` + `QA_SPECIALIZATIONS` | Sempre — frontend e/ou backend conforme o projeto |
|
|
56
50
|
| Gates › item 7 | `eng.frontend.agent` (agente) | Se a branch tiver mudanças de interface (componentes, estilos, estado) |
|
|
57
51
|
| Gates › item 8 | `eng.ux-designer.agent` (agente) | Se a branch introduzir nova feature de UI ou alterar fluxo de usuário |
|
|
58
52
|
| Gates › item 9 | `eng.docs-writer` (agente) | Sempre — atualizar a documentação do projeto |
|
|
59
|
-
| Gates › item 10 |
|
|
60
|
-
|
|
|
61
|
-
|
|
62
|
-
## Fase 0.5: Comentário no card — Início
|
|
63
|
-
|
|
64
|
-
Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
65
|
-
|
|
66
|
-
Ao iniciar o pre-PR, registrar:
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
/eng-global-task-comment {TASK_MANAGER_KEY} 🔍 [Jarvis] Iniciando validação pre-PR - bateria de testes e revisão de código
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
> Usa o skill `/eng-global-task-comment`. Não bloquear se falhar.
|
|
73
|
-
|
|
74
|
-
---
|
|
53
|
+
| Gates › item 10 | Nenhuma — checklist inline | Se a branch tocar em auth, sessions, inputs de usuário, CORS, CSP, permissões ou adicionar endpoints públicos |
|
|
54
|
+
| Saída final › 2) Bloqueadores e pendências | `/eng-global-task-comment` | Só se a validação reprovar (status RED): um comentário com o motivo (freelance pula) |
|
|
75
55
|
|
|
76
56
|
## Regras de Execução
|
|
77
57
|
|
|
@@ -119,10 +99,7 @@ git diff main...HEAD | grep -E "(class|interface|schema|migration|config)" || tr
|
|
|
119
99
|
- Testes de performance executados e dentro dos thresholds
|
|
120
100
|
- Testes de segurança passando (RBAC, injection, etc.)
|
|
121
101
|
- Quality gates configurados corretamente
|
|
122
|
-
6.
|
|
123
|
-
- Se o projeto tiver frontend: execute com `type=frontend`
|
|
124
|
-
- Se o projeto tiver backend: execute com `type=backend`
|
|
125
|
-
- Se tiver ambos: execute os dois tipos sequencialmente
|
|
102
|
+
6. Use a base [eng-qa]($IDE/skills/eng-qa/SKILL.md) (ou a especialização registrada em `QA_SPECIALIZATIONS`, se houver uma) para validar testes automatizados nas mudanças da branch, frontend e/ou backend conforme o projeto.
|
|
126
103
|
7. **Se a branch tiver mudanças de interface** (componentes, estilos, estado), invoque o agente [eng.frontend.agent]($IDE/agents/engineering/eng.frontend.agent.md) para validar:
|
|
127
104
|
- Tipagem forte (quando a linguagem tem), tokens de design do projeto usados, acessibilidade WCAG 2.1 AA
|
|
128
105
|
- Aplicar as exigências das especializações de frontend registradas (ver `eng.specializations-rules.md`)
|
|
@@ -130,7 +107,7 @@ git diff main...HEAD | grep -E "(class|interface|schema|migration|config)" || tr
|
|
|
130
107
|
- Empty states, loading states e mensagens de erro em linguagem humana
|
|
131
108
|
- Consistência com padrões visuais existentes no produto
|
|
132
109
|
9. Invoque o agente [eng.docs-writer]($IDE/agents/engineering/eng.docs-writer.md) para atualizar a documentação do projeto.
|
|
133
|
-
10. **Se a branch tocar em auth, sessions, inputs de usuário, CORS, CSP, permissões ou adicionar endpoints públicos**,
|
|
110
|
+
10. **Se a branch tocar em auth, sessions, inputs de usuário, CORS, CSP, permissões ou adicionar endpoints públicos**, aplicar o gate de segurança (os padrões de segurança da base [eng-backend]($IDE/skills/eng-backend/SKILL.md) + `BACKEND_SPECIALIZATIONS` / [eng-frontend]($IDE/skills/eng-frontend/SKILL.md) + `FRONTEND_SPECIALIZATIONS` e, para infraestrutura, do [eng-platform]($IDE/skills/eng-platform/SKILL.md) + `PLATFORM_SPECIALIZATIONS` servem de referência):
|
|
134
111
|
- Revisar sanitização de inputs e queries parametrizadas
|
|
135
112
|
- Verificar auth guards em endpoints novos
|
|
136
113
|
- Validar headers de segurança e configurações de CORS
|
|
@@ -143,7 +120,7 @@ Você também precisará lidar com todo o feedback que esses agentes fornecerem
|
|
|
143
120
|
## Checklist final (obrigatório)
|
|
144
121
|
|
|
145
122
|
- [ ] Não existem bloqueadores abertos (segurança/bugs críticos).
|
|
146
|
-
- [ ] Testes e validações relevantes foram executados e passaram (com evidências
|
|
123
|
+
- [ ] Testes e validações relevantes foram executados e passaram (com evidências automatizadas ou manuais).
|
|
147
124
|
- [ ] Cobertura de testes para mudanças da branch foi avaliada (e gaps críticos tratados ou justificados).
|
|
148
125
|
- [ ] Documentação foi revisada/atualizada (listar arquivos alterados) ou foi explicitado por que não foi necessário.
|
|
149
126
|
- [ ] Riscos conhecidos e trade-offs foram registrados (e follow-ups criados quando aplicável).
|
|
@@ -158,6 +135,8 @@ Você também precisará lidar com todo o feedback que esses agentes fornecerem
|
|
|
158
135
|
|
|
159
136
|
### 2) Bloqueadores e pendências
|
|
160
137
|
|
|
138
|
+
Se o status for **RED** (bloqueado), comente o bloqueio e o motivo no card com `/eng-global-task-comment` (freelance pula). GREEN e YELLOW não geram comentário.
|
|
139
|
+
|
|
161
140
|
- Bloqueadores:
|
|
162
141
|
- Pendências aceitas (com justificativa):
|
|
163
142
|
- Follow-ups (links/IDs):
|
|
@@ -170,20 +149,4 @@ Você também precisará lidar com todo o feedback que esses agentes fornecerem
|
|
|
170
149
|
- Docs atualizadas:
|
|
171
150
|
- Riscos / trade-offs:
|
|
172
151
|
|
|
173
|
-
## Comentário no card — Conclusão
|
|
174
|
-
|
|
175
|
-
Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
176
|
-
|
|
177
|
-
Após apresentar o resultado final, registrar:
|
|
178
|
-
|
|
179
|
-
- Se **Green**: `✅ [Jarvis] Pre-PR concluído com status GREEN - pronto para abrir MR`
|
|
180
|
-
- Se **Yellow**: `⚠️ [Jarvis] Pre-PR concluído com status YELLOW - pode abrir MR com ressalvas`
|
|
181
|
-
- Se **Red**: `🚫 [Jarvis] Pre-PR concluído com status RED - bloqueadores encontrados, não abrir MR`
|
|
182
|
-
|
|
183
|
-
```
|
|
184
|
-
/eng-global-task-comment {TASK_MANAGER_KEY} {mensagem_status}
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
152
|
Uma vez terminado, me avise e peça minha permissão para abrir o Pull Request.
|