jarvis-ai-framework 2.1.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +22 -122
- package/agents/AGENTS.md +20 -24
- package/agents/README.md +25 -129
- package/agents/engineering/data/eng.data-engineer.agent.md +12 -35
- package/agents/engineering/eng.agent.md +18 -30
- package/agents/engineering/eng.bug-hunter.md +9 -12
- package/agents/engineering/eng.dev-code-reviewer.md +5 -1
- package/agents/engineering/eng.docs-writer.md +3 -3
- package/agents/engineering/eng.frontend.agent.md +13 -8
- package/agents/engineering/eng.rpa.agent.md +5 -13
- package/agents/engineering/eng.ux-designer.agent.md +4 -0
- package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +4 -0
- package/agents/engineering/qa/eng.qa.quality-strategist.md +13 -8
- package/agents/engineering/qa/eng.qa.test-architect.md +16 -15
- package/agents/engineering/qa/eng.qa.test-planner.md +22 -17
- package/agents/engineering/qa/eng.qa.testing-engineer.md +99 -15
- package/agents/product/prod.discovery-interviewer.md +22 -3
- package/agents/product/prod.pm-checker.md +4 -0
- 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 +58 -0
- package/bin/commands/qa-signoff.js +58 -55
- package/bin/commands/tokens.js +90 -0
- package/bin/commands/whoami.js +30 -26
- package/bin/jarvis.js +9 -153
- 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 +70 -2
- package/bin/lib/config/ide-config.js +4 -8
- package/bin/lib/core/profile-filter.js +116 -0
- package/bin/lib/core/scanner.js +5 -31
- package/bin/lib/core/sync-engine.js +21 -14
- package/bin/lib/core/token-report.js +100 -0
- 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/index.js +65 -0
- package/bin/lib/flow-map/parse.js +223 -0
- package/bin/lib/flow-map/render.js +89 -0
- package/bin/lib/flow-map/tree.js +248 -0
- 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/members.md +1 -1
- package/package.json +15 -4
- package/rules/AGENTS.md +18 -7
- package/rules/engineering/eng-rules.md +3 -13
- package/rules/engineering/eng-security-rules.md +19 -18
- 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 -7
- package/rules/engineering/eng.skills-rules.md +1 -5
- package/rules/engineering/eng.specializations-rules.md +18 -8
- 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/product/README.md +1 -0
- package/rules/product/prod-rules.md +1 -4
- package/rules/product/prod.spec-rules.md +0 -4
- package/rules/rtk-rules.md +0 -1
- package/{rules → rules-on-demand}/engineering/eng.breakdown-subtasks-rules.md +0 -4
- package/{rules → rules-on-demand}/engineering/eng.plan-rules.md +0 -4
- package/{rules → rules-on-demand}/engineering/eng.pr-rules.md +0 -4
- package/{rules → rules-on-demand}/engineering/eng.pre-pr-rules.md +0 -4
- package/{rules → rules-on-demand}/engineering/eng.start-rules.md +0 -4
- package/{rules → rules-on-demand}/engineering/eng.tech-spec-rules.md +1 -2
- package/{rules → rules-on-demand}/engineering/eng.work-rules.md +0 -4
- package/skills/AGENTS.md +69 -106
- package/skills/SKILLS-ROADMAP.md +47 -132
- 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/SKILL.md +6 -0
- package/skills/eng-backend-arch-c4/SKILL.md +10 -4
- package/skills/eng-backend-microservices-trace/SKILL.md +6 -0
- package/skills/eng-backend-nestjs/SKILL.md +17 -462
- package/skills/eng-backend-nestjs/references/1-arquitetura-modulos.md +54 -0
- package/skills/eng-backend-nestjs/references/2-guards-autenticacao.md +118 -0
- package/skills/eng-backend-nestjs/references/3-interceptors-pipes-filters.md +113 -0
- package/skills/eng-backend-nestjs/references/4-config-logging.md +61 -0
- package/skills/eng-backend-nestjs/references/5-testes.md +83 -0
- package/skills/eng-backend-nestjs/references/6-problemas-comuns.md +53 -0
- package/skills/eng-backend-rabbitmq/SKILL.md +15 -298
- package/skills/eng-backend-rabbitmq/references/1-referencia-endpoints.md +28 -0
- package/skills/eng-backend-rabbitmq/references/2-codigo-consumer-producer.md +90 -0
- package/skills/eng-backend-rabbitmq/references/3-arquiteturas-comuns.md +101 -0
- package/skills/eng-backend-rabbitmq/references/4-troubleshooting.md +93 -0
- 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 +18 -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-docs-write/SKILL.md +10 -5
- package/skills/eng-global-pr/SKILL.md +7 -1
- package/skills/eng-global-task-comment/SKILL.md +8 -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 +7 -1
- package/skills/jarvis-context-detect/assets/context-profile-template.md +1 -1
- package/skills/jarvis-create-specialization/SKILL.md +14 -0
- package/skills/jarvis-docs-central/README.md +31 -28
- package/skills/jarvis-docs-central/SKILL.md +11 -5
- package/skills/jarvis-docs-index/SKILL.md +10 -2
- package/skills/jarvis-evolution-architect/SKILL.md +6 -0
- package/skills/jarvis-init/SKILL.md +22 -15
- package/skills/jarvis-init/assets/passo-adicionar-stacks.md +47 -18
- package/skills/jarvis-list-specializations/SKILL.md +36 -17
- package/skills/jarvis-report-issue/SKILL.md +7 -1
- package/skills/product-roadmap-report/SKILL.md +8 -0
- package/skills/product-specs/SKILL.md +9 -0
- package/skills/product-specs-update/SKILL.md +6 -0
- package/taxonomy.md +16 -28
- package/templates/AGENTS.md +2 -0
- package/templates/ENV-template.md +10 -2
- package/templates/engineering/qa/qa.sprint-plan-template.md +1 -1
- package/templates/engineering/tech-spec-delivery-template.md +179 -0
- package/workflows/AGENTS.md +14 -2
- package/workflows/README.md +8 -16
- package/workflows/all-tools.md +7 -1
- package/workflows/engineering/data/data.contract.md +8 -0
- package/workflows/engineering/data/data.new-pipeline.md +15 -4
- package/workflows/engineering/eng.breakdown-subtasks.md +9 -0
- package/workflows/engineering/eng.bug-audit.md +10 -13
- package/workflows/engineering/eng.build-tech-spec.md +17 -146
- package/workflows/engineering/eng.create-ard-from-code.md +8 -0
- package/workflows/engineering/eng.create-ard.md +8 -0
- package/workflows/engineering/eng.create-rfc.md +7 -0
- package/workflows/engineering/eng.debug.md +5 -21
- package/workflows/engineering/eng.docs.md +9 -0
- package/workflows/engineering/eng.light-arch.md +7 -0
- package/workflows/engineering/eng.plan.md +15 -2
- package/workflows/engineering/eng.pr.md +24 -30
- package/workflows/engineering/eng.pre-pr.md +33 -15
- package/workflows/engineering/eng.review.md +18 -11
- package/workflows/engineering/eng.rpa.robot.md +17 -7
- package/workflows/engineering/eng.start.md +33 -12
- package/workflows/engineering/eng.work.md +25 -17
- package/workflows/engineering/frontend/eng.frontend-component.md +7 -0
- package/workflows/engineering/frontend/eng.frontend-perf-audit.md +8 -0
- package/workflows/engineering/frontend/eng.frontend-review.md +8 -0
- package/workflows/engineering/qa/eng.qa-refinement-entry.md +7 -0
- package/workflows/engineering/qa/eng.qa-release-signoff.md +6 -0
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +7 -1
- package/workflows/product/prod.roadmap.preview.md +9 -0
- package/workflows/product/prod.spec.ard.md +97 -0
- package/workflows/product/prod.spec.breakdown.md +10 -0
- package/workflows/product/prod.spec.clarify.md +8 -2
- package/workflows/product/prod.spec.discovery.md +11 -1
- package/workflows/product/prod.spec.epic.md +8 -0
- package/workflows/product/prod.spec.frd.md +7 -0
- package/workflows/product/prod.spec.issue.md +6 -0
- package/workflows/product/prod.spec.md +15 -1
- package/workflows/product/prod.spec.prd.md +7 -0
- package/workflows/taxonomy.md +58 -6
- package/workflows/warm-up.md +47 -60
- package/agents/engineering/eng.cybersecurity.agent.md +0 -488
- package/agents/engineering/qa/eng.qa.cypress-specialist.md +0 -109
- package/bin/lib/docs/fetch-file.sh +0 -41
- package/bin/lib/docs/publish-file.sh +0 -284
- package/rules/engineering/eng.downstream-flow-rules.md +0 -297
- 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 -297
- package/skills/eng-data-bi/SKILL.md +0 -200
- package/skills/eng-data-debug/SKILL.md +0 -308
- package/skills/eng-data-engineer/SKILL.md +0 -257
- package/skills/eng-data-onboard/SKILL.md +0 -311
- package/skills/eng-data-orchestrator/SKILL.md +0 -427
- package/skills/eng-devops-performance-engineer/SKILL.md +0 -313
- package/skills/eng-frontend-design-system/SKILL.md +0 -621
- package/skills/eng-frontend-microfrontend/SKILL.md +0 -604
- package/skills/eng-global-browser-extension-builder/SKILL.md +0 -386
- package/skills/eng-global-jira-comment/SKILL.md +0 -21
- package/skills/eng-qa-a11y-audit/SKILL.md +0 -270
- package/skills/eng-qa-bug-report/SKILL.md +0 -1089
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +0 -138
- package/skills/eng-qa-cypress-e2e/SKILL.md +0 -178
- package/skills/eng-qa-dev-guide/SKILL.md +0 -165
- package/skills/eng-qa-e2e/SKILL.md +0 -401
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +0 -323
- package/skills/eng-qa-exploratory/SKILL.md +0 -189
- package/skills/eng-qa-gate/SKILL.md +0 -371
- package/skills/eng-qa-gate/assets/checklist-validacao.md +0 -291
- package/skills/eng-qa-graphql-contract/SKILL.md +0 -257
- package/skills/eng-qa-quality-report/SKILL.md +0 -413
- package/skills/eng-qa-test-plan/SKILL.md +0 -467
- package/skills/eng-qa-testsprite/SKILL.md +0 -326
- package/skills/eng-qa-testsprite/references/testsprite-mcp.md +0 -224
- package/skills/eng-qa-unit-test/SKILL.md +0 -472
- package/skills/eng-scraper/SKILL.md +0 -684
- package/skills/eng-scraper-robot-builder/SKILL.md +0 -371
- package/skills/eng-security-cybersecurity/SKILL.md +0 -646
- package/skills/eng-security-patch/SKILL.md +0 -382
- package/skills/eng-security-threat-model/SKILL.md +0 -165
- package/skills/eng-security-triage/SKILL.md +0 -270
- 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 -312
- package/workflows/engineering/eng.security-incident.md +0 -275
- package/workflows/engineering/eng.security-pipeline.md +0 -210
- package/workflows/engineering/eng.security-review.md +0 -235
- package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +0 -51
- package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +0 -51
- package/workflows/engineering/qa/eng.qa-exploratory-session.md +0 -60
- package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +0 -202
- package/workflows/engineering/qa/eng.qa-quality-report.md +0 -78
- /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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Fluxo de implementação de código (commit por fase, SEM push nem PRs)
|
|
3
3
|
auto_execution_mode: 3
|
|
4
4
|
agent: "$IDE/agents/engineering/eng.agent.md"
|
|
5
|
-
rules_file: "$IDE/rules/engineering/eng.work-rules.md"
|
|
5
|
+
rules_file: "$IDE/rules-on-demand/engineering/eng.work-rules.md"
|
|
6
6
|
template_file: "$IDE/templates/engineering/work-progress-template.md"
|
|
7
7
|
recommended_model: claude-sonnet-4-20250514
|
|
8
8
|
model_tier: very_high
|
|
@@ -13,12 +13,28 @@ model_justification: Implementação de código requer máxima precisão, entend
|
|
|
13
13
|
|
|
14
14
|
Este comando executa a **implementação de código** seguindo o plano de execução.
|
|
15
15
|
|
|
16
|
-
> 📋 **Rules**: `$IDE/rules/engineering/eng.work-rules.md`
|
|
16
|
+
> 📋 **Rules**: `$IDE/rules-on-demand/engineering/eng.work-rules.md` — **antes de começar, leia esse arquivo e siga-o**: ele não é carregado automaticamente no início da sessão.
|
|
17
17
|
> 📤 **Template**: `$IDE/templates/engineering/work-progress-template.md`
|
|
18
18
|
|
|
19
19
|
> ⚠️ **IMPORTANTE**: Este workflow é para codificação com commits incrementais por fase.
|
|
20
20
|
> **NÃO crie PRs, NÃO faça push**, mas **FAZ commit ao final de cada fase validada.**
|
|
21
21
|
|
|
22
|
+
### Skills invocados durante o workflow
|
|
23
|
+
|
|
24
|
+
| Passo | Skill | Condição |
|
|
25
|
+
|-------|-------|----------|
|
|
26
|
+
| Cabeçalho (agente) | `eng.agent` (agente) | Sempre — identidade do workflow |
|
|
27
|
+
| Fase 0 › 0.1 Verificar ou Gerar Contexto da Sessão | `/jarvis-context-detect` | Se `ENABLE_CDD=true` e o `context.md` não existir (obrigatório antes da Fase 1) |
|
|
28
|
+
| Fase 0.5: Comentário no card — Início | `/eng-global-task-comment` | Se `TASK_MANAGER` estiver preenchido (freelance pula) |
|
|
29
|
+
| Fase 3 › 3.1 Implementar Código (skill de domínio) | `/eng-frontend` (via `eng.specializations-rules.md`) | Se o domínio da feature for frontend (componentes, UI, estado, estilos, bundle, a11y); a regra também carrega `FRONTEND_SPECIALIZATIONS` |
|
|
30
|
+
| Fase 3 › 3.1 Implementar Código (skill de domínio) | `/eng-backend` (via `eng.specializations-rules.md`) | Se o domínio da feature for backend (endpoints, auth, workers, filas, cache, banco, integrações); a regra também carrega `BACKEND_SPECIALIZATIONS` |
|
|
31
|
+
| Fase 3 › 3.1 Implementar Código (skill de domínio) | `/eng-automation` (via `eng.specializations-rules.md`) | Se o domínio da feature for RPA, scraping, extração de dados, ETL ou parsing; a regra também carrega `AUTOMATION_SPECIALIZATIONS` |
|
|
32
|
+
| Fase 3 › 3.1 Implementar Código (skill de domínio) | `/eng-platform` (via `eng.specializations-rules.md`) | Se o domínio da feature for infraestrutura (IaC, contêineres, CI/CD, observabilidade, SRE, custo); a regra também carrega `PLATFORM_SPECIALIZATIONS` |
|
|
33
|
+
| Fase 3 › 3.3.1 Identificar Gaps de Teste | `eng.qa.test-planner` (agente) | Sempre, depois de implementar o código da fase |
|
|
34
|
+
| Fase 3 › 3.3.2 Implementar Testes Faltantes (Opção A) | `eng.qa.testing-engineer` (agente) | Se o test-planner identificar gaps e a estratégia do `architecture.md` seção 6.5 indicar testes manuais (unitário/integração) |
|
|
35
|
+
| Fase 3 › 3.3.2 Implementar Testes Faltantes (Opção B) | `/eng-qa` | Se a estratégia do `architecture.md` seção 6.5 indicar uma especialização registrada em `QA_SPECIALIZATIONS` |
|
|
36
|
+
| Fase 6 › 6.2 Se Todas as Fases Foram Concluídas | `/eng-global-task-comment` | Se `TASK_MANAGER` estiver preenchido e todas as fases estiverem concluídas (freelance pula) |
|
|
37
|
+
|
|
22
38
|
---
|
|
23
39
|
|
|
24
40
|
## Regra de Execução Máxima
|
|
@@ -216,8 +232,8 @@ Se o usuário tiver sugestões, ajuste o plano.
|
|
|
216
232
|
|---------|-------------|-------|
|
|
217
233
|
| Frontend | componentes, UI, estado, estilos, bundle, a11y | regra [eng.specializations-rules.md]($IDE/rules/engineering/eng.specializations-rules.md) (área frontend: `eng-frontend` + `FRONTEND_SPECIALIZATIONS`) |
|
|
218
234
|
| Backend | endpoints, auth, workers, filas, cache, banco, integrações | regra [eng.specializations-rules.md]($IDE/rules/engineering/eng.specializations-rules.md) (área backend: `eng-backend` + `BACKEND_SPECIALIZATIONS`) |
|
|
219
|
-
|
|
|
220
|
-
|
|
|
235
|
+
| Automation (RPA & Web) | RPA, web scraping, Puppeteer, extração de dados, ETL, parsing | regra [eng.specializations-rules.md]($IDE/rules/engineering/eng.specializations-rules.md) (área automation: `eng-automation` + `AUTOMATION_SPECIALIZATIONS`) |
|
|
236
|
+
| Platform (infra) | IaC, contêineres/orquestração, pipeline de CI/CD, observabilidade, SRE, custo de nuvem | regra [eng.specializations-rules.md]($IDE/rules/engineering/eng.specializations-rules.md) (área platform: `eng-platform` + `PLATFORM_SPECIALIZATIONS`) |
|
|
221
237
|
|
|
222
238
|
Para cada tarefa da fase:
|
|
223
239
|
|
|
@@ -275,25 +291,17 @@ Invoque o agente [eng.qa.testing-engineer]($IDE/agents/engineering/qa/eng.qa.tes
|
|
|
275
291
|
- Seguir padrões de teste do projeto (Jest, Vitest, pytest, etc.)
|
|
276
292
|
- Garantir cobertura mínima definida na estratégia
|
|
277
293
|
|
|
278
|
-
**Opção B:
|
|
279
|
-
|
|
280
|
-
Se a estratégia de testes (definida pelo `test-architect` no `eng.start`) indicar uso de TestSprite, execute o skill [eng-qa-testsprite]($IDE/skills/eng-qa-testsprite/SKILL.md) com `testScope=diff`:
|
|
294
|
+
**Opção B: Especialização registrada em QA_SPECIALIZATIONS**
|
|
281
295
|
|
|
282
|
-
|
|
283
|
-
- Executa e valida cobertura
|
|
284
|
-
- Suporta: E2E, API, integração, frontend, backend
|
|
285
|
-
- Ideal para fluxos complexos ou quando velocidade é prioridade
|
|
296
|
+
Se a estratégia de testes (definida pelo `test-architect` no `eng.start`) indicar uma ferramenta de geração/execução automatizada, use a especialização registrada em `QA_SPECIALIZATIONS` (via a base [eng-qa]($IDE/skills/eng-qa/SKILL.md)) para o escopo do diff da fase.
|
|
286
297
|
|
|
287
298
|
**Quando usar cada opção:**
|
|
288
299
|
|
|
289
300
|
| Cenário | Usar |
|
|
290
301
|
|---------|------|
|
|
291
302
|
| Testes unitários de funções/classes | testing-engineer |
|
|
292
|
-
|
|
|
293
|
-
|
|
|
294
|
-
| Testes de integração complexos | eng-qa-testsprite |
|
|
295
|
-
| Projeto sem TestSprite configurado | testing-engineer |
|
|
296
|
-
| Projeto sem TestSprite configurado | testing-engineer |
|
|
303
|
+
| Fluxo com ferramenta automatizada já registrada em `QA_SPECIALIZATIONS` | a especialização registrada |
|
|
304
|
+
| Sem especialização registrada | testing-engineer |
|
|
297
305
|
|
|
298
306
|
> ⚠️ **Importante**: Consulte `architecture.md` seção 6.5 para ver qual abordagem foi definida pelo test-architect.
|
|
299
307
|
|
|
@@ -309,7 +317,7 @@ npm test # ou comando do projeto
|
|
|
309
317
|
npm run test:coverage # se disponível
|
|
310
318
|
```
|
|
311
319
|
|
|
312
|
-
> 💡 **Fluxo**: Implementa código → test-planner (gaps) → testing-engineer OU
|
|
320
|
+
> 💡 **Fluxo**: Implementa código → test-planner (gaps) → testing-engineer OU especialização de `QA_SPECIALIZATIONS` (implementa) → valida
|
|
313
321
|
|
|
314
322
|
---
|
|
315
323
|
|
|
@@ -26,6 +26,13 @@ estrutura de pastas. O que é específico da stack do projeto vem de:
|
|
|
26
26
|
|
|
27
27
|
**Antes de começar**, aplique a regra `$IDE/rules/engineering/eng.specializations-rules.md` para a área **frontend**: ela carrega o skill base `eng-frontend` e as especializações registradas. Onde este workflow disser "conforme a especialização", siga o que o skill da especialização pedir; sem especialização registrada, siga as convenções do código existente e **pergunte ao usuário** o que faltar, sem inventar.
|
|
28
28
|
|
|
29
|
+
### Skills invocados durante o workflow
|
|
30
|
+
|
|
31
|
+
| Passo | Skill | Condição |
|
|
32
|
+
|-------|-------|----------|
|
|
33
|
+
| Contexto (antes de começar) | `/eng-frontend` (via `eng.specializations-rules.md`) | Sempre — a regra carrega o skill base da área frontend |
|
|
34
|
+
| Contexto (antes de começar) | `skills em FRONTEND_SPECIALIZATIONS` (um por item da lista) | Se houver especialização registrada em `FRONTEND_SPECIALIZATIONS` no ENV.md; lista vazia: só o skill base |
|
|
35
|
+
|
|
29
36
|
---
|
|
30
37
|
|
|
31
38
|
## Fase 1 — Análise
|
|
@@ -23,6 +23,14 @@ projeto e das especializações registradas em `FRONTEND_SPECIALIZATIONS`.
|
|
|
23
23
|
|
|
24
24
|
**Antes de começar**, aplique a regra `$IDE/rules/engineering/eng.specializations-rules.md` para a área **frontend**: ela carrega o skill base `eng-frontend` e as especializações registradas. Onde este workflow disser "conforme a especialização", siga o skill da especialização; sem especialização registrada, **pergunte ao usuário** qual ferramenta o projeto usa, em vez de presumir uma.
|
|
25
25
|
|
|
26
|
+
### Skills invocados durante o workflow
|
|
27
|
+
|
|
28
|
+
| Passo | Skill | Condição |
|
|
29
|
+
|-------|-------|----------|
|
|
30
|
+
| Contexto (antes de começar) | `/eng-frontend` (via `eng.specializations-rules.md`) | Sempre — a regra carrega o skill base da área frontend |
|
|
31
|
+
| Contexto (antes de começar) | `skills em FRONTEND_SPECIALIZATIONS` (um por item da lista) | Se houver especialização registrada em `FRONTEND_SPECIALIZATIONS` no ENV.md; lista vazia: só o skill base |
|
|
32
|
+
| Fase 3 — Otimizações (arquitetura distribuída) | `skill da especialização registrada` | Se o projeto dividir o frontend em módulos carregados separadamente (siga o skill da especialização registrada) |
|
|
33
|
+
|
|
26
34
|
---
|
|
27
35
|
|
|
28
36
|
## Fase 1 — Coleta de Dados (antes de otimizar)
|
|
@@ -23,6 +23,14 @@ especialização registrada em `FRONTEND_SPECIALIZATIONS` e o código existente
|
|
|
23
23
|
|
|
24
24
|
**Antes de revisar**, aplique a regra `$IDE/rules/engineering/eng.specializations-rules.md` para a área **frontend**: ela carrega o skill base `eng-frontend` e as especializações registradas. Se o PR tiver exigências que você não consegue verificar sem conhecer a stack, diga isso na revisão em vez de presumir.
|
|
25
25
|
|
|
26
|
+
### Skills invocados durante o workflow
|
|
27
|
+
|
|
28
|
+
| Passo | Skill | Condição |
|
|
29
|
+
|-------|-------|----------|
|
|
30
|
+
| Contexto (antes de começar) | `/eng-frontend` (via `eng.specializations-rules.md`) | Sempre — a regra carrega o skill base da área frontend |
|
|
31
|
+
| Contexto (antes de começar) | `skills em FRONTEND_SPECIALIZATIONS` (um por item da lista) | Se houver especialização registrada em `FRONTEND_SPECIALIZATIONS` no ENV.md; lista vazia: só o skill base |
|
|
32
|
+
| Checklist de Revisão (especializações) | `skill de cada especialização registrada` | Para cada especialização em `FRONTEND_SPECIALIZATIONS`, aplicar o checklist de revisão do próprio skill; sem especialização, a seção não se aplica |
|
|
33
|
+
|
|
26
34
|
---
|
|
27
35
|
|
|
28
36
|
## Como usar
|
|
@@ -23,6 +23,13 @@ antes da codificação começar. A entrada é sempre a especificação do card
|
|
|
23
23
|
**Regra obrigatória para o agente**: não executar `git diff` neste contexto.
|
|
24
24
|
A fonte de verdade é o conteúdo do card no $TASK_MANAGER, lido via integração disponível (ex: Jira MCP).
|
|
25
25
|
|
|
26
|
+
### Skills invocados durante o workflow
|
|
27
|
+
|
|
28
|
+
| Passo | Skill | Condição |
|
|
29
|
+
|-------|-------|----------|
|
|
30
|
+
| Execução (Modo A) | `eng.qa.test-planner` (agente) | Sempre — opera em Modo A, estratégia a partir da tech spec |
|
|
31
|
+
| Execução | `Jira MCP` (referência a confirmar) | Para ler o card do `$TASK_MANAGER` por "integração disponível (ex.: Jira MCP)"; o texto não indica a ferramenta exata |
|
|
32
|
+
|
|
26
33
|
---
|
|
27
34
|
|
|
28
35
|
## Entrada
|
|
@@ -22,6 +22,12 @@ Sign-off QA antes de um deploy. Verifica cobertura de testes, sessões explorat
|
|
|
22
22
|
|
|
23
23
|
Aceita: nome da branch (padrão: branch atual via `git branch --show-current`).
|
|
24
24
|
|
|
25
|
+
### Skills invocados durante o workflow
|
|
26
|
+
|
|
27
|
+
| Passo | Skill | Condição |
|
|
28
|
+
|-------|-------|----------|
|
|
29
|
+
| — | Nenhuma — workflow autocontido | — |
|
|
30
|
+
|
|
25
31
|
---
|
|
26
32
|
|
|
27
33
|
## Fase 0 — Identificar branch e mudanças
|
|
@@ -12,6 +12,12 @@ model_justification: Análise de risco multi-task e alocação de capacidade req
|
|
|
12
12
|
|
|
13
13
|
Planejamento de capacidade QA para a sprint: avalia risco de cada task, considera QAs e Quality Champions disponíveis, e produz um plano de alocação baseado em critérios de risco.
|
|
14
14
|
|
|
15
|
+
### Skills invocados durante o workflow
|
|
16
|
+
|
|
17
|
+
| Passo | Skill | Condição |
|
|
18
|
+
|-------|-------|----------|
|
|
19
|
+
| Fase 2 — Análise de Risco | `eng.qa.quality-strategist` (agente) | Sempre — avalia o risco, a cobertura ideal e a justificativa de cada task da sprint |
|
|
20
|
+
|
|
15
21
|
## Entrada
|
|
16
22
|
|
|
17
23
|
```
|
|
@@ -76,7 +82,7 @@ Com base no risco e na capacidade mapeada na Fase 0:
|
|
|
76
82
|
|-------|------------------|
|
|
77
83
|
| Alto | QA obrigatório — não delegar a Champion |
|
|
78
84
|
| Médio | QA preferencial; Champion se QA sobrecarregado |
|
|
79
|
-
| Baixo | Champion ou delegar ao dev
|
|
85
|
+
| Baixo | Champion ou delegar ao dev, orientado pela base `eng-qa` + `QA_SPECIALIZATIONS` |
|
|
80
86
|
|
|
81
87
|
**Detectar sobrecarga**: se demanda > capacidade total, sinalizar quais tasks ficam sem cobertura designada e sugerir redução de escopo nos itens de menor risco.
|
|
82
88
|
|
|
@@ -32,6 +32,15 @@ Ler os squads em `taxonomy.md` (seção Squads). Não hardcodar times.
|
|
|
32
32
|
|
|
33
33
|
Se o projeto tiver wiki de status report, usar URLs informadas pelo usuário ou variáveis do `ENV.md` — nunca uma tabela fixa de squads.
|
|
34
34
|
|
|
35
|
+
### Skills invocados durante o workflow
|
|
36
|
+
|
|
37
|
+
| Passo | Skill | Condição |
|
|
38
|
+
|-------|-------|----------|
|
|
39
|
+
| Regras | `MCP do $TASK_MANAGER` | Se houver MCP disponível relacionado ao `$TASK_MANAGER` do usuário |
|
|
40
|
+
| Regras | `/jarvis-docs-central` | Se as documentações do projeto não estiverem disponíveis localmente (via Skill tool) |
|
|
41
|
+
| Regras | `/product-roadmap-report` | Sempre — via Skill tool, para trazer as informações do roadmap |
|
|
42
|
+
| Status Reports por Squad / Dicas de Ferramenta | `MCP da Atlassian` (ex.: `Atlassian:searchJiraIssuesUsingJql`) | Para buscar os dados do roadmap no Jira, com o JQL ou o filtro salvo informado pelo usuário |
|
|
43
|
+
|
|
35
44
|
## Formato de Períodos de Referência
|
|
36
45
|
|
|
37
46
|
Nós usamos Quadrimestres como período de Referência. Então, quando o usuário falar quarter, entenda que é referente a quatro meses no ano, e não apenas 3. Como o padrão abaixo:
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: prod.spec.ard
|
|
3
|
+
description: Ponto de entrada de produto para o ARD (Architecture Requirements Document): levanta com o PM os requisitos arquiteturais em termos de produto e conduz o ARD pelo fluxo de engenharia.
|
|
4
|
+
auto_execution_mode: 3
|
|
5
|
+
env_file: "@/ENV.md"
|
|
6
|
+
recommended_model: gpt-4o
|
|
7
|
+
model_tier: medium
|
|
8
|
+
model_justification: Levantamento estruturado de requisitos arquiteturais a partir de PRD e FRD, seguido da condução do fluxo de engenharia existente
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# ARD a partir do produto (Architecture Requirements Document)
|
|
12
|
+
|
|
13
|
+
Antes de iniciar, revise o arquivo de regras invioláveis em `$PROD_RULES/**/*`. Se você não estiver familiarizado com essa variável, leia as regras diretamente na pasta `.$IDE/rules/product/**/*.*`.
|
|
14
|
+
|
|
15
|
+
Este fluxo é a **porta de entrada de produto** para o ARD. Ele levanta com o PM, em linguagem de produto, o que a arquitetura precisa atender (restrições, requisitos não funcionais, integrações, volumes e riscos) e, com isso, **conduz o ARD pelo fluxo de engenharia** (`eng.create-ard`), sem duplicá-lo.
|
|
16
|
+
|
|
17
|
+
> ⚠️ **O ARD é um documento de engenharia.** O arquivo resultante fica em `$DOCS_FOLDER/engineering/ARD/` (como no `eng.create-ard`), e as decisões de arquitetura pertencem à engenharia. Este comando só levanta os requisitos e abre o fluxo. Diga isso ao usuário no início.
|
|
18
|
+
|
|
19
|
+
Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entender o contexto do que foi pedido.
|
|
20
|
+
<requirement>
|
|
21
|
+
#$ARGUMENTS
|
|
22
|
+
</requirement>
|
|
23
|
+
|
|
24
|
+
## Quando usar
|
|
25
|
+
- Depois de um PRD ou FRD aprovado, quando falta registrar os requisitos arquiteturais da iniciativa
|
|
26
|
+
- Quando o PM precisa deixar claro para a engenharia o que a arquitetura precisa atender (volumes, prazos, integrações, regras de negócio com impacto técnico)
|
|
27
|
+
- Para iniciar um ARD novo a partir de uma especificação de produto já existente
|
|
28
|
+
|
|
29
|
+
## Quando **não** usar
|
|
30
|
+
- Para iterar ou editar um ARD que já existe → use `eng.create-ard` (modo `edit`)
|
|
31
|
+
- Para extrair o ARD do código existente → use `eng.create-ard-from-code`
|
|
32
|
+
- Para decidir tecnologia, desenho de componentes ou contratos → isso é da engenharia, dentro do ARD
|
|
33
|
+
- Quando ainda não há PRD nem FRD e a ideia está crua → comece por `prod.spec.discovery` ou `prod.spec.prd`
|
|
34
|
+
|
|
35
|
+
## Pré-requisitos e opcionais
|
|
36
|
+
- **PRD ou FRD de origem (recomendado).** Procure em `$PROD_DOCS` e pergunte qual é a origem. Sem nenhum, avise que o ARD fica sem rastreabilidade e pergunte se o usuário quer seguir assim ou criar antes o PRD (`prod.spec.prd`) ou o FRD (`prod.spec.frd`).
|
|
37
|
+
- **Discovery (opcional).** Se o usuário apontar um discovery (por exemplo `discovery-002`), siga o princípio "Discovery como insumo" de `$PROD_RULES/prod.spec-rules.md`: leia-o como contexto e repasse tudo com o usuário antes de usar. Sem discovery apontado, não procure nem pergunte.
|
|
38
|
+
- Nome do ARD (título e slug em kebab-case): pergunte se não vier em `$ARGUMENTS`.
|
|
39
|
+
|
|
40
|
+
### Skills invocados durante o workflow
|
|
41
|
+
|
|
42
|
+
| Passo | Skill | Condição |
|
|
43
|
+
|-------|-------|----------|
|
|
44
|
+
| Gate 1: Reconhecer o contexto | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_REPO` estiver definido no ENV.md e for preciso buscar o PRD ou FRD relacionado |
|
|
45
|
+
| Gate 4: Conduzir o ARD | `/eng.create-ard` | Sempre, depois de os requisitos serem confirmados: modo `new`, com `--prd` quando houver PRD (workflow de engenharia; o aviso de transição de domínio é dado antes) |
|
|
46
|
+
|
|
47
|
+
## Resultado final
|
|
48
|
+
- Um **resumo dos requisitos arquiteturais** confirmado pelo usuário (Gate 3), entregue como insumo ao `eng.create-ard`
|
|
49
|
+
- O **ARD** gerado pelo `eng.create-ard` (numeração `ARD-###`, versão `1.0.0`, template `$IDE/templates/engineering/ARD-template.md` e caminho `$DOCS_FOLDER/engineering/ARD/{ARD-ID}-{slug}.md`)
|
|
50
|
+
- Rascunhos WIP, se houver, em `$SESSIONS_DIR/prod/{TASK_MANAGER_KEY}/`; o documento canônico é o ARD
|
|
51
|
+
- O arquivo final no mesmo idioma da interação do usuário
|
|
52
|
+
|
|
53
|
+
## Princípios
|
|
54
|
+
- **Não invente.** O que o PM não souber fica registrado como "a validar pela engenharia", e não como fato.
|
|
55
|
+
- **Termos de produto, não de tecnologia.** Pergunte pelo que a solução precisa atender (por exemplo, "quantos usuários simultâneos no pico?"), e não por qual banco ou framework usar.
|
|
56
|
+
- **Uma pergunta por vez.** Siga o formato de perguntas de `prod-rules.md` (`AskUserQuestion` quando existir; tabela com alternativas quando não).
|
|
57
|
+
- **Terminologia consistente** com a do PRD e do FRD de origem (ver `$PROD_RULES/prod.spec-rules.md`).
|
|
58
|
+
|
|
59
|
+
## Etapas de execução
|
|
60
|
+
|
|
61
|
+
### Gate 1: Reconhecer o contexto
|
|
62
|
+
1. Valide o `ENV.md` (regra geral de produto) e avise que o ARD é um documento de engenharia.
|
|
63
|
+
2. Identifique o PRD ou FRD de origem em `$PROD_DOCS` (ou o caminho que o usuário informar) e leia-o. Se `CENTRAL_DOCS_REPO` estiver definido, busque no central docs o PRD ou FRD relacionado.
|
|
64
|
+
3. Resuma em poucas linhas o que a especificação pede e confirme com o usuário que é essa a origem. Se `AREA` do usuário não for `ENGINEERING`, avise que o ARD seguirá o fluxo de engenharia e deve ser revisado por alguém da engenharia.
|
|
65
|
+
|
|
66
|
+
### Gate 2: Levantar os requisitos arquiteturais em termos de produto
|
|
67
|
+
Pergunte, **uma por vez**, só o que a especificação não responde (pule o que o PRD ou FRD já traz, confirmando):
|
|
68
|
+
- **Volume e uso:** quantidade de usuários, picos, crescimento esperado, janelas de uso
|
|
69
|
+
- **Requisitos não funcionais:** disponibilidade, tempo de resposta aceitável, retenção e auditoria de dados
|
|
70
|
+
- **Integrações:** sistemas, parceiros ou serviços externos com que a solução precisa falar
|
|
71
|
+
- **Regras de negócio com impacto técnico:** limites, prazos legais, compliance (LGPD e afins), dados sensíveis
|
|
72
|
+
- **Restrições:** prazo, orçamento, equipe, tecnologias que **já são obrigatórias** na organização
|
|
73
|
+
- **Riscos conhecidos** e dependências de outras iniciativas
|
|
74
|
+
|
|
75
|
+
### Gate 3: Resumir e confirmar
|
|
76
|
+
Apresente o **resumo dos requisitos arquiteturais** (por tópico do Gate 2, marcando o que ficou "a validar pela engenharia") e peça confirmação. Itere até a aprovação explícita. Não avance sem ela.
|
|
77
|
+
|
|
78
|
+
### Gate 4: Conduzir o ARD
|
|
79
|
+
1. Avise, antes de seguir, que a próxima etapa é o fluxo de engenharia e que as decisões de arquitetura passam a ser da engenharia.
|
|
80
|
+
2. Execute o workflow `eng.create-ard` no modo `new`, com o nome do ARD e `--prd <caminho>` quando houver PRD de origem, entregando o resumo do Gate 3 como insumo do documento (seções de premissas, restrições, integrações, segurança, escalabilidade e riscos do template).
|
|
81
|
+
3. O `eng.create-ard` cuida de numeração, versão, preenchimento do template, análise de impacto, estratégia de testes, guard rails e publicação no central docs. Siga as instruções dele a partir daí.
|
|
82
|
+
|
|
83
|
+
### Gate 5: Fechar
|
|
84
|
+
1. Informe o caminho do ARD criado e o que ficou "a validar pela engenharia".
|
|
85
|
+
2. Sugira o próximo passo: revisão do ARD pela engenharia e, depois, `/eng.start` para a implementação. Não execute o próximo passo.
|
|
86
|
+
3. Se a informação do ARD divergir do PRD ou FRD de origem, avise o usuário e sugira atualizar a especificação de produto (o PRD e o FRD são a fonte da verdade do produto).
|
|
87
|
+
|
|
88
|
+
## Do
|
|
89
|
+
- Confirmar a origem (PRD ou FRD) antes de perguntar
|
|
90
|
+
- Registrar tudo o que o PM não souber como "a validar pela engenharia"
|
|
91
|
+
- Deixar claro, no início e antes do Gate 4, que o ARD é um documento de engenharia
|
|
92
|
+
|
|
93
|
+
## Don't
|
|
94
|
+
- Escolher tecnologia, desenhar componentes ou definir contratos aqui (isso é do ARD, pela engenharia)
|
|
95
|
+
- Duplicar o `eng.create-ard`: numeração, template e publicação são dele
|
|
96
|
+
- Criar o ARD sem o resumo confirmado no Gate 3
|
|
97
|
+
- Alterar o PRD ou o FRD de origem sem o usuário pedir
|
|
@@ -42,6 +42,16 @@ Utilize o `$ARGUMENTS` como ponto de partida (caminho da spec, nome da feature o
|
|
|
42
42
|
2. Se não houver spec pai: ofereça criar com `$PROD_FLOWS/prod.spec.prd.md` ou `$PROD_FLOWS/prod.spec.frd.md`. Não invente escopo do zero sem confirmação.
|
|
43
43
|
3. Se a spec estiver cheia de “talvez” / “depois a gente vê”: sugira clarify antes; só continue se o usuário assumir o risco.
|
|
44
44
|
|
|
45
|
+
### Skills invocados durante o workflow
|
|
46
|
+
|
|
47
|
+
| Passo | Skill | Condição |
|
|
48
|
+
|-------|-------|----------|
|
|
49
|
+
| Pré-requisitos (item 2) | `/prod.spec.prd` | Se não houver spec pai e o usuário aceitar criar o PRD |
|
|
50
|
+
| Pré-requisitos (item 2) | `/prod.spec.frd` | Se não houver spec pai e o usuário aceitar criar o FRD |
|
|
51
|
+
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_REPO` estiver no ENV.md (best-effort) |
|
|
52
|
+
| Resultado esperado (materialização) | `/prod.spec.epic` | Se o usuário aprovar criar os arquivos de épico a partir do breakdown (nunca automaticamente) |
|
|
53
|
+
| Resultado esperado (materialização) | `/prod.spec.issue` | Se o usuário aprovar criar os arquivos de história ou tarefa a partir do breakdown (nunca automaticamente) |
|
|
54
|
+
|
|
45
55
|
## Template
|
|
46
56
|
|
|
47
57
|
O artefato de breakdown segue o template `$PROD_TEMPLATES/prod-breakdown-template.md`.
|
|
@@ -21,6 +21,12 @@ Utilize o que o usuário fornecer analisar em:
|
|
|
21
21
|
#$ARGUMENTS
|
|
22
22
|
</requirement>
|
|
23
23
|
|
|
24
|
+
### Skills invocados durante o workflow
|
|
25
|
+
|
|
26
|
+
| Passo | Skill | Condição |
|
|
27
|
+
|-------|-------|----------|
|
|
28
|
+
| — | Nenhuma — workflow autocontido | — |
|
|
29
|
+
|
|
24
30
|
Etapas de execução:
|
|
25
31
|
|
|
26
32
|
1. Carregue o arquivo atual da spec. Realize uma varredura estruturada de ambiguidades e cobertura usando esta taxonomia. Para cada categoria, marque o status: Claro / Parcial / Ausente. Produza um mapa de cobertura interno usado para priorização (não divulgue o mapa bruto a menos que nenhuma pergunta seja feita). Analise o arquivo da spec e realize uma cobertura apenas com os itens que estão incluídos na especificação do usuário.
|
|
@@ -163,13 +169,13 @@ Para cada categoria com status Parcial ou Ausente, adicione uma oportunidade de
|
|
|
163
169
|
- Caminho para a spec atualizada.
|
|
164
170
|
- Seções tocadas (liste os nomes).
|
|
165
171
|
- Tabela de resumo de cobertura listando cada categoria da taxonomia com Status: Resolvido (era Parcial/Ausente e foi tratada), Adiado (excede a cota de perguntas ou melhor tratar no planejamento), Claro (já estava suficiente), Pendente (ainda Parcial/Ausente mas de baixo impacto).
|
|
166
|
-
- Se restarem itens Pendentes ou Adiados, recomende prosseguir para `/
|
|
172
|
+
- Se restarem itens Pendentes ou Adiados, recomende prosseguir para `/prod.spec.breakdown` ou rodar `/prod.spec.clarify` novamente após o planejamento.
|
|
167
173
|
- Próximo comando sugerido.
|
|
168
174
|
|
|
169
175
|
Regras de comportamento:
|
|
170
176
|
|
|
171
177
|
- Se nenhuma ambiguidade significativa for encontrada (ou se todas as perguntas potenciais forem de baixo impacto), responda: “Nenhuma ambiguidade crítica detectada que valha esclarecimento formal.” e sugira prosseguir.
|
|
172
|
-
- Se o arquivo da spec estiver ausente, instrua o usuário a rodar `/
|
|
178
|
+
- Se o arquivo da spec estiver ausente, instrua o usuário a rodar `/prod.spec` primeiro (não crie uma nova spec aqui).
|
|
173
179
|
- Nunca exceda 5 perguntas feitas no total (reformulações de uma mesma pergunta não contam como novas).
|
|
174
180
|
- Evite perguntas especulativas sobre stack tecnológica, a menos que a ausência bloqueie a clareza funcional.
|
|
175
181
|
- Respeite sinais de encerramento antecipado do usuário (“stop”, “done”, “proceed”).
|
|
@@ -39,6 +39,16 @@ O comando e o agente seguem obrigatoriamente `$PROD_RULES` (`prod-rules.md`):
|
|
|
39
39
|
- Perguntas: use o `AskUserQuestion` se estiver disponível; senão, o formato de tabela do `prod-rules.md`. **Uma pergunta por vez**
|
|
40
40
|
- Confirmar com o usuário o caminho e o nome antes de salvar arquivo
|
|
41
41
|
|
|
42
|
+
### Skills invocados durante o workflow
|
|
43
|
+
|
|
44
|
+
| Passo | Skill | Condição |
|
|
45
|
+
|-------|-------|----------|
|
|
46
|
+
| Regras do framework / Passo 4 — A entrevista | `prod.discovery-interviewer` (agente) | Sempre — conduz a entrevista, e o comando segue a postura dele |
|
|
47
|
+
| Passo 2 — Reconhecer o projeto | `/jarvis-docs-central` | Se `CENTRAL_DOCS_REPO` estiver configurado |
|
|
48
|
+
| Passo 2 — Reconhecer o projeto | `/jarvis-context-detect` | Para calibrar a profundidade da entrevista |
|
|
49
|
+
| Passo 2 — Reconhecer o projeto | `/eng-backend-arch-c4` | Só com a confirmação do usuário; o retorno é tratado como suposição a validar |
|
|
50
|
+
| Passo 2 — Reconhecer o projeto | `/eng-platform` + `PLATFORM_SPECIALIZATIONS` | Só com a confirmação do usuário; o retorno é tratado como suposição a validar |
|
|
51
|
+
|
|
42
52
|
## Passo 0 — Entender o que foi pedido
|
|
43
53
|
|
|
44
54
|
1. **Sem `$ARGUMENTS`:** pergunte qual é a ideia antes de qualquer outra coisa.
|
|
@@ -62,7 +72,7 @@ Antes de perguntar, consulte o que já existe:
|
|
|
62
72
|
- O código e os últimos commits, quando ajudarem a embasar a viabilidade
|
|
63
73
|
- `jarvis-docs-central`, se `CENTRAL_DOCS_REPO` estiver configurado
|
|
64
74
|
- `jarvis-context-detect`, para calibrar a profundidade da entrevista
|
|
65
|
-
- `eng-backend-arch-c4` e `eng-
|
|
75
|
+
- `eng-backend-arch-c4` e `eng-platform` (+ `PLATFORM_SPECIALIZATIONS`) são skills de engenharia: só consulte **com a confirmação do usuário**, e trate o retorno como **suposição a validar**, não como fato
|
|
66
76
|
|
|
67
77
|
## Passo 3 — Criar o arquivo
|
|
68
78
|
|
|
@@ -33,6 +33,14 @@ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entend
|
|
|
33
33
|
- Ter um breakdown existente é importante, mas opcional. Questione o usuário se ele deseja criar um breakdown (siga o fluxo de trabalho `prod.spec.breakdown.md`) ou se ele deseja criar um épico independente de especificações anteriores ou para projetos que já estão em andamento
|
|
34
34
|
- Compreensão de alto nível da abordagem técnica
|
|
35
35
|
|
|
36
|
+
### Skills invocados durante o workflow
|
|
37
|
+
|
|
38
|
+
| Passo | Skill | Condição |
|
|
39
|
+
|-------|-------|----------|
|
|
40
|
+
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_REPO` estiver definido no ENV.md, antes de criar o épico |
|
|
41
|
+
| Próximas etapas | `/prod.spec.issue` | Depois de criar o épico, se o usuário quiser escrever as histórias ou tarefas relacionadas |
|
|
42
|
+
| Publicação no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs publish --tipo epic`) | Se `CENTRAL_DOCS_REPO` estiver definido, o épico estiver salvo e aprovado e o usuário responder "Sim, publicar agora" |
|
|
43
|
+
|
|
36
44
|
## Resultado final
|
|
37
45
|
- Por padrão, use o modelo `$PROD_TEMPLATES/prod-epic-template.md` integralmente
|
|
38
46
|
- Siga a estrutura do modelo exatamente como definida, não pule passos, a não ser que o usuário solicite explicitamente
|
|
@@ -26,6 +26,13 @@ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entend
|
|
|
26
26
|
- Para documentar critérios de aceitação claros e testáveis
|
|
27
27
|
- Para descrever o funcionamento detalhado da feature a partir do comportamento do usuário, de especificações de produto e de design
|
|
28
28
|
|
|
29
|
+
### Skills invocados durante o workflow
|
|
30
|
+
|
|
31
|
+
| Passo | Skill | Condição |
|
|
32
|
+
|-------|-------|----------|
|
|
33
|
+
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_REPO` estiver definido no ENV.md |
|
|
34
|
+
| Publicação no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs publish --tipo frd`) | Se `CENTRAL_DOCS_REPO` estiver definido, o FRD estiver salvo e aprovado e o usuário responder "Sim, publicar agora" |
|
|
35
|
+
|
|
29
36
|
## Princípios Fundamentais
|
|
30
37
|
1. **Sempre use o template** `$PROD_TEMPLATES/prod-frd-template.md` para o output final
|
|
31
38
|
2. **Nunca crie o arquivo final com suposições não validadas** — sempre confirme sugestões primeiro
|
|
@@ -35,6 +35,12 @@ Um grupo de histórias de um mesmo assunto podem formar um épico.
|
|
|
35
35
|
- Referências de design (para histórias de usuário)
|
|
36
36
|
- Quaisquer restrições técnicas ou requisitos relevantes
|
|
37
37
|
|
|
38
|
+
### Skills invocados durante o workflow
|
|
39
|
+
|
|
40
|
+
| Passo | Skill | Condição |
|
|
41
|
+
|-------|-------|----------|
|
|
42
|
+
| Estrutura da Issue (salvar no `$TASK_MANAGER`) | `/eng-global-task-comment` (e adapter do vendor) | Se o usuário pedir para salvar no `$TASK_MANAGER` e `TASK_MANAGER`, token e URL estiverem no ENV.md; freelance ou sem token/URL: não usar, salvar só o markdown local |
|
|
43
|
+
|
|
38
44
|
## Resultado Final
|
|
39
45
|
- Siga a estrutura exata do template `$PROD_TEMPLATES/prod-issue-template.md`
|
|
40
46
|
- Convenção de nomenclatura: `{issue_type}-{id}-{issue_name}.md` (ex: story-123-fluxo-lembrar-senha.md)
|
|
@@ -21,6 +21,20 @@ Estas instruções ajudam a orientar o usuário que deseja começar a construir
|
|
|
21
21
|
- Quando precisar criar novos ou editar épicos, issues, tasks, stories e bugs
|
|
22
22
|
- Quando precisar de orientação sobre o tipo de documentação a ser gerada
|
|
23
23
|
|
|
24
|
+
### Skills invocados durante o workflow
|
|
25
|
+
|
|
26
|
+
| Passo | Skill | Condição |
|
|
27
|
+
|-------|-------|----------|
|
|
28
|
+
| Instruções › Projeto existente ou novo | `/prod.spec.prd` | Se for projeto novo, ou projeto existente sem documentação e o usuário quiser criar o PRD inicial |
|
|
29
|
+
| Instruções › Uso adequado dos comandos | `/prod.spec.discovery` | Se o usuário só tem uma ideia inicial (investigar problema, requisitos e viabilidade antes de especificar) |
|
|
30
|
+
| Instruções › Uso adequado dos comandos | `/prod.spec.prd` | Se o pedido for um PRD |
|
|
31
|
+
| Instruções › Uso adequado dos comandos | `/prod.spec.frd` | Se o pedido for um FRD |
|
|
32
|
+
| Instruções › Uso adequado dos comandos | `/prod.spec.ard` | Se o pedido for registrar os requisitos de arquitetura (ARD) a partir de uma especificação de produto |
|
|
33
|
+
| Instruções › Uso adequado dos comandos | `/prod.spec.issue` | Se o pedido for uma issue (história, tarefa ou bug) |
|
|
34
|
+
| Instruções › Uso adequado dos comandos | `/prod.spec.clarify` | Para clarificar e revisar qualquer tipo de especificação |
|
|
35
|
+
| Instruções › Uso adequado dos comandos | `/prod.spec.breakdown` | Para quebrar uma especificação grande em fatias (versões, épicos, histórias) |
|
|
36
|
+
| Instruções › Uso adequado dos comandos | `/prod.spec.epic` | Se o pedido for criar épicos |
|
|
37
|
+
|
|
24
38
|
## Instruções
|
|
25
39
|
|
|
26
40
|
- **Sessões de produto**: rascunhos WIP em `$SESSIONS_DIR/prod/{TASK_MANAGER_KEY}/`. A spec canônica fica em `$PROD_DOCS` (não substituir).
|
|
@@ -45,7 +59,7 @@ Estas instruções ajudam a orientar o usuário que deseja começar a construir
|
|
|
45
59
|
- Para investigar uma ideia inicial (problema, requisitos e viabilidade) antes de especificar, use `$PROD_FLOWS/prod.spec.discovery.md`. Se o usuário só tem uma ideia, oriente para o discovery em vez de abrir um PRD com dados presumidos
|
|
46
60
|
- Para PRD use as instruções em `$PROD_FLOWS/prod.spec.prd.md`
|
|
47
61
|
- Para FRD use as instruções em `$PROD_FLOWS/prod.spec.frd.md`
|
|
48
|
-
- Para ARD use as instruções em `$PROD_FLOWS/prod.spec.ard.md`
|
|
62
|
+
- Para ARD use as instruções em `$PROD_FLOWS/prod.spec.ard.md` (o ARD é um documento de engenharia: este comando levanta os requisitos com o PM e conduz o `eng.create-ard`)
|
|
49
63
|
- Para Issue use as instruções em `$PROD_FLOWS/prod.spec.issue.md`
|
|
50
64
|
- Para clarificar e revisar qualquer tipo de especificação, use as instruções em `$PROD_FLOWS/prod.spec.clarify.md`
|
|
51
65
|
- Para quebrar uma especificação grande em fatias (versões / épicos / histórias), use `$PROD_FLOWS/prod.spec.breakdown.md`
|
|
@@ -25,6 +25,13 @@ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entend
|
|
|
25
25
|
- Quando documentação abrangente é necessária
|
|
26
26
|
- Como fonte única de verdade para o desenvolvimento do produto e base para derivar histórias e tarefas
|
|
27
27
|
|
|
28
|
+
### Skills invocados durante o workflow
|
|
29
|
+
|
|
30
|
+
| Passo | Skill | Condição |
|
|
31
|
+
|-------|-------|----------|
|
|
32
|
+
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_REPO` estiver definido no ENV.md (iteração de PRD existente) |
|
|
33
|
+
| Publicação no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs publish --tipo prd`) | Se `CENTRAL_DOCS_REPO` estiver definido, o PRD estiver salvo e aprovado e o usuário responder "Sim, publicar agora" |
|
|
34
|
+
|
|
28
35
|
## Princípios Fundamentais
|
|
29
36
|
1. **Sempre use o template** `$PROD_TEMPLATES/prod-prd-template.md` para o output final
|
|
30
37
|
2. **Nunca crie o arquivo final com suposições não validadas** — sempre confirme sugestões primeiro
|
package/workflows/taxonomy.md
CHANGED
|
@@ -6,9 +6,9 @@ description: Gerencia o arquivo taxonomy.md de forma segura (CRUD de opções or
|
|
|
6
6
|
|
|
7
7
|
Gerencia o arquivo `taxonomy.md` que define as opções válidas para SQUAD, HUB, POSITION e AREA.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Este workflow é **autônomo**: as instruções para as operações abaixo estão aqui, sem depender de nenhum skill.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## Uso
|
|
12
12
|
|
|
13
13
|
### Listar opções
|
|
14
14
|
|
|
@@ -45,10 +45,16 @@ Este command invoca o skill `taxonomy-manager` para operações CRUD seguras:
|
|
|
45
45
|
/taxonomy validate
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
+
### Skills invocados durante o workflow
|
|
49
|
+
|
|
50
|
+
| Passo | Skill | Condição |
|
|
51
|
+
|-------|-------|----------|
|
|
52
|
+
| — | Nenhuma — workflow autocontido | — |
|
|
53
|
+
|
|
48
54
|
## Sintaxe
|
|
49
55
|
|
|
50
56
|
```
|
|
51
|
-
|
|
57
|
+
/taxonomy <operação> [<CATEGORIA>] [<NOME>] [<DESCRIÇÃO>]
|
|
52
58
|
```
|
|
53
59
|
|
|
54
60
|
Onde `$ARGUMENTS` é um dos formatos:
|
|
@@ -58,6 +64,52 @@ Onde `$ARGUMENTS` é um dos formatos:
|
|
|
58
64
|
- `remove <CATEGORIA> <NOME>`
|
|
59
65
|
- `validate`
|
|
60
66
|
|
|
67
|
+
`<CATEGORIA>` é `SQUADS`, `HUBS`, `POSITIONS` ou `AREAS`. Sem argumentos ou com uma operação desconhecida, mostre a sintaxe acima e pergunte o que a pessoa quer fazer.
|
|
68
|
+
|
|
69
|
+
## Como executar cada operação
|
|
70
|
+
|
|
71
|
+
O arquivo é o `taxonomy.md` da raiz do framework (ou do workspace). Cada categoria é uma seção `## ...` (Squads, Hubs, Positions, Areas) e cada opção é um título `### NOME`, seguido de linhas de descrição. Em `SQUADS`, a opção também pode ter linhas de metadados (`channel_id:`, `board_code:`, `modules:`); em `AREAS`, a linha `prefix:`. A seção `Domain` (`DOMAIN:`) não é uma categoria de opções.
|
|
72
|
+
|
|
73
|
+
### Regras comuns (antes de qualquer alteração)
|
|
74
|
+
|
|
75
|
+
1. **Ler** o `taxonomy.md` inteiro e localizar a seção da categoria. Se a categoria não existir, informe e liste as categorias válidas.
|
|
76
|
+
2. **Validar o nome** (em `add`): MAIÚSCULAS, sem espaços (use `-` ou `_` para separar palavras), sem duplicar uma opção que já existe na categoria.
|
|
77
|
+
3. **Fazer backup** antes de gravar: copie o `taxonomy.md` para `.jarvis/backups/taxonomy-{AAAAMMDD-HHMMSS}.md` (a pasta `.jarvis/` não é versionada). Se não for possível gravar o backup, **pare** e avise, sem alterar o arquivo.
|
|
78
|
+
4. **Mostrar o que vai mudar** (a seção antes e depois) e **pedir confirmação** antes de gravar em `add`, `update` e `remove`.
|
|
79
|
+
5. **Preservar a estrutura markdown**: não reordenar nem reescrever outras seções; alterar só a opção pedida.
|
|
80
|
+
|
|
81
|
+
### `list <CATEGORIA>`
|
|
82
|
+
|
|
83
|
+
Mostre cada opção da categoria com a primeira linha da descrição, em tabela. Não altera nada.
|
|
84
|
+
|
|
85
|
+
### `add <CATEGORIA> <NOME> <DESCRIÇÃO>`
|
|
86
|
+
|
|
87
|
+
1. Aplique as regras comuns.
|
|
88
|
+
2. Acrescente, no fim da seção da categoria (antes do `---` que a encerra), um bloco `### NOME` com a descrição.
|
|
89
|
+
3. Em `SQUADS`, pergunte se a pessoa quer preencher `channel_id`, `board_code` e `modules`; sem resposta, deixe-os vazios como nas outras squads.
|
|
90
|
+
4. Em `AREAS`, peça o `prefix` (letras minúsculas, sem espaços) e **avise** que as áreas do framework são `ENGINEERING` e `PRODUCT`: adicionar outra área exige um menu correspondente no `warm-up` e só deve ser feito com confirmação explícita.
|
|
91
|
+
|
|
92
|
+
### `update <CATEGORIA> <NOME> <NOVA_DESCRIÇÃO>`
|
|
93
|
+
|
|
94
|
+
1. A opção deve existir; se não, informe e sugira nomes parecidos.
|
|
95
|
+
2. Substitua só as linhas de descrição da opção (mantendo `prefix:` e metadados), depois de mostrar o antes e o depois e pedir confirmação.
|
|
96
|
+
|
|
97
|
+
### `remove <CATEGORIA> <NOME>`
|
|
98
|
+
|
|
99
|
+
1. A opção deve existir; se não, informe e sugira nomes parecidos.
|
|
100
|
+
2. **Ação destrutiva:** leia o `$IDE/ENV.md`; se o valor de `SQUAD`, `HUB`, `POSITION` ou `AREA` for a opção a remover, **avise** que o `ENV.md` ficará inválido e peça confirmação explícita.
|
|
101
|
+
3. Remova o bloco `### NOME` e suas linhas, sem tocar nas outras opções, depois de mostrar o que será removido e pedir confirmação.
|
|
102
|
+
|
|
103
|
+
### `validate`
|
|
104
|
+
|
|
105
|
+
Não altera nada. Verifique e reporte, por categoria:
|
|
106
|
+
- a seção existe e tem ao menos uma opção;
|
|
107
|
+
- todo nome está em MAIÚSCULAS e sem espaços, sem duplicata;
|
|
108
|
+
- toda opção de `AREAS` tem `prefix:`;
|
|
109
|
+
- a estrutura markdown está íntegra (títulos `##` e `###`, separadores `---`).
|
|
110
|
+
|
|
111
|
+
Termine com um resumo (`✅ válido` ou a lista de problemas, com a linha de cada um).
|
|
112
|
+
|
|
61
113
|
## Exemplos
|
|
62
114
|
|
|
63
115
|
### Adicionar novo squad
|
|
@@ -77,9 +129,9 @@ Onde `$ARGUMENTS` é um dos formatos:
|
|
|
77
129
|
|
|
78
130
|
## Segurança
|
|
79
131
|
|
|
80
|
-
✅ Backup
|
|
132
|
+
✅ Backup antes de modificações (`.jarvis/backups/`)
|
|
81
133
|
✅ Validação de formato (MAIÚSCULAS, sem espaços)
|
|
82
|
-
✅ Confirmação para ações destrutivas
|
|
134
|
+
✅ Confirmação para ações destrutivas e antes de gravar
|
|
83
135
|
✅ Preservação da estrutura markdown
|
|
84
136
|
|
|
85
137
|
## Após Modificações
|
|
@@ -89,4 +141,4 @@ Depois de adicionar/remover opções:
|
|
|
89
141
|
2. Não é necessário reiniciar o Claude ou a IDE
|
|
90
142
|
3. Projetos existentes continuam funcionando
|
|
91
143
|
|
|
92
|
-
> **
|
|
144
|
+
> **Referência**: o formato das seções está descrito no próprio `taxonomy.md` ("Como Adicionar Novas Opções").
|