jarvis-ai-framework 1.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 +416 -0
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/agents/AGENTS.md +234 -0
- package/agents/README.md +309 -0
- package/agents/engineering/data/eng.data-engineer.agent.md +309 -0
- package/agents/engineering/eng.agent.md +303 -0
- package/agents/engineering/eng.bug-hunter.md +386 -0
- package/agents/engineering/eng.cybersecurity.agent.md +503 -0
- package/agents/engineering/eng.dev-code-reviewer.md +148 -0
- package/agents/engineering/eng.docs-writer.md +152 -0
- package/agents/engineering/eng.frontend.agent.md +117 -0
- package/agents/engineering/eng.rpa.agent.md +215 -0
- package/agents/engineering/eng.tech-analyst.agent.md +102 -0
- package/agents/engineering/eng.ux-designer.agent.md +193 -0
- package/agents/engineering/qa/eng.qa.cypress-specialist.md +109 -0
- package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +85 -0
- package/agents/engineering/qa/eng.qa.quality-strategist.md +111 -0
- package/agents/engineering/qa/eng.qa.test-architect.md +400 -0
- package/agents/engineering/qa/eng.qa.test-planner.md +477 -0
- package/agents/engineering/qa/eng.qa.testing-engineer.md +339 -0
- package/agents/product/prod.pm-checker.md +52 -0
- package/bin/commands/docs-publish.js +184 -0
- package/bin/commands/docs-sync.js +139 -0
- package/bin/commands/info.js +87 -0
- package/bin/commands/init.js +237 -0
- package/bin/commands/install-rtk.js +90 -0
- package/bin/commands/list.js +48 -0
- package/bin/commands/qa-signoff.js +112 -0
- package/bin/commands/whoami.js +43 -0
- package/bin/jarvis.js +159 -0
- package/bin/lib/auth/session.js +56 -0
- package/bin/lib/config/constants.js +123 -0
- package/bin/lib/config/ide-config.js +233 -0
- package/bin/lib/core/scanner.js +124 -0
- package/bin/lib/core/sync-engine.js +551 -0
- package/bin/lib/docs/fetch-file.sh +41 -0
- package/bin/lib/docs/publish-file.sh +284 -0
- package/bin/lib/docs/validate-frontmatter.js +157 -0
- package/bin/lib/env-loader.js +198 -0
- package/bin/lib/tasks/comment.js +131 -0
- package/bin/lib/utils/git-parser.js +145 -0
- package/bin/lib/utils/logger.js +104 -0
- package/bin/lib/utils/npmrc-parser.js +106 -0
- package/bin/lib/utils/paths.js +55 -0
- package/bin/lib/utils/ui.js +59 -0
- package/bin/lib/vcs/api.js +312 -0
- package/bin/lib/vcs/create-issue.js +43 -0
- package/bin/lib/vcs/create-merge.js +43 -0
- package/bin/lib/vcs/fetch-raw.js +30 -0
- package/bin/postinstall.js +41 -0
- package/members.md +25 -0
- package/package.json +55 -0
- package/rules/AGENTS.md +205 -0
- package/rules/engineering/data/data-rules.md +200 -0
- package/rules/engineering/eng-rules.md +243 -0
- package/rules/engineering/eng-security-rules.md +186 -0
- package/rules/engineering/eng.breakdown-subtasks-rules.md +585 -0
- package/rules/engineering/eng.bump-rules.md +27 -0
- package/rules/engineering/eng.docs-scraping-rules.md +64 -0
- package/rules/engineering/eng.downstream-flow-rules.md +297 -0
- package/rules/engineering/eng.integrations-rules.md +73 -0
- package/rules/engineering/eng.plan-rules.md +333 -0
- package/rules/engineering/eng.pr-rules.md +359 -0
- package/rules/engineering/eng.pre-pr-rules.md +103 -0
- package/rules/engineering/eng.start-rules.md +246 -0
- package/rules/engineering/eng.tech-spec-rules.md +968 -0
- package/rules/engineering/eng.work-rules.md +312 -0
- package/rules/engineering/frontend/eng.frontend-rules.md +147 -0
- package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +259 -0
- package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +137 -0
- package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +181 -0
- package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +120 -0
- package/rules/engineering/rpa/eng.rpa-rules.md +230 -0
- package/rules/product/README.md +24 -0
- package/rules/product/prod-rules.md +151 -0
- package/rules/rtk-rules.md +68 -0
- package/skills/AGENTS.md +290 -0
- package/skills/SKILLS-ROADMAP.md +333 -0
- package/skills/churn-audit/SKILL.md +385 -0
- package/skills/context-detect/SKILL.md +399 -0
- package/skills/context-detect/assets/context-profile-template.md +127 -0
- package/skills/docs-central/README.md +310 -0
- package/skills/docs-central/SKILL.md +423 -0
- package/skills/docs-index/SKILL.md +377 -0
- package/skills/eng-ai-engineer/SKILL.md +296 -0
- package/skills/eng-arch-c4/SKILL.md +358 -0
- package/skills/eng-arch-c4/assets/example-code.md +189 -0
- package/skills/eng-arch-c4/assets/example-component.md +105 -0
- package/skills/eng-arch-c4/assets/example-container.md +104 -0
- package/skills/eng-arch-c4/assets/example-context.md +81 -0
- package/skills/eng-backend/SKILL.md +776 -0
- package/skills/eng-browser-extension-builder/SKILL.md +385 -0
- package/skills/eng-cybersecurity/SKILL.md +645 -0
- package/skills/eng-data-bi/SKILL.md +199 -0
- package/skills/eng-data-debug/SKILL.md +307 -0
- package/skills/eng-data-engineer/SKILL.md +256 -0
- package/skills/eng-data-onboard/SKILL.md +310 -0
- package/skills/eng-data-orchestrator/SKILL.md +426 -0
- package/skills/eng-design-system/SKILL.md +619 -0
- package/skills/eng-docs-write/SKILL.md +312 -0
- package/skills/eng-frontend/SKILL.md +913 -0
- package/skills/eng-jira-comment/SKILL.md +17 -0
- package/skills/eng-microfrontend/SKILL.md +602 -0
- package/skills/eng-ms-trace/SKILL.md +469 -0
- package/skills/eng-nestjs/SKILL.md +791 -0
- package/skills/eng-performance-engineer/SKILL.md +312 -0
- package/skills/eng-pr/SKILL.md +339 -0
- package/skills/eng-qa-a11y-audit/SKILL.md +269 -0
- package/skills/eng-qa-bug-report/SKILL.md +1088 -0
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +138 -0
- package/skills/eng-qa-cypress-e2e/SKILL.md +177 -0
- package/skills/eng-qa-dev-guide/SKILL.md +164 -0
- package/skills/eng-qa-e2e/SKILL.md +400 -0
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +322 -0
- package/skills/eng-qa-exploratory/SKILL.md +188 -0
- package/skills/eng-qa-gate/SKILL.md +370 -0
- package/skills/eng-qa-gate/assets/checklist-validacao.md +291 -0
- package/skills/eng-qa-graphql-contract/SKILL.md +256 -0
- package/skills/eng-qa-quality-report/SKILL.md +412 -0
- package/skills/eng-qa-test-plan/SKILL.md +466 -0
- package/skills/eng-qa-test-plan/assets/test-coverage-template.md +92 -0
- package/skills/eng-qa-test-plan/assets/test-patterns.md +178 -0
- package/skills/eng-qa-testsprite/SKILL.md +325 -0
- package/skills/eng-qa-testsprite/references/testsprite-mcp.md +224 -0
- package/skills/eng-qa-unit-test/SKILL.md +471 -0
- package/skills/eng-rabbitmq/SKILL.md +661 -0
- package/skills/eng-scraper/SKILL.md +683 -0
- package/skills/eng-scraper-robot-builder/SKILL.md +370 -0
- package/skills/eng-security-patch/SKILL.md +378 -0
- package/skills/eng-security-triage/SKILL.md +266 -0
- package/skills/eng-task-comment/SKILL.md +60 -0
- package/skills/eng-tech-analyst/SKILL.md +529 -0
- package/skills/eng-threat-model/SKILL.md +161 -0
- package/skills/init-jarvis/SKILL.md +1304 -0
- package/skills/init-jarvis/assets/mcp-configs.md +389 -0
- package/skills/init-jarvis/assets/onboarding-checklist.md +104 -0
- package/skills/init-jarvis/assets/setup-guide.md +360 -0
- package/skills/lovable-prompt-generator/SKILL.md +304 -0
- package/skills/prod-roadmap-report/README.md +303 -0
- package/skills/prod-roadmap-report/SKILL.md +198 -0
- package/skills/prod-roadmap-report/commands/status.compiled.single.team.md +23 -0
- package/skills/prod-roadmap-report/commands/status.list.projects.md +17 -0
- package/skills/prod-roadmap-report/commands/status.memory.md +192 -0
- package/skills/prod-roadmap-report/commands/status.roadmap.preview.md +94 -0
- package/skills/prod-roadmap-report/references/detailed-guide.md +236 -0
- package/skills/prod-roadmap-report/rules/detailed-guide.md +237 -0
- package/skills/prod-roadmap-report/rules/status-report-rules.md +44 -0
- package/skills/prod-roadmap-report/templates/template-multiple-teams-compiled-status.md +53 -0
- package/skills/prod-roadmap-report/templates/template-projects-list.md +23 -0
- package/skills/prod-roadmap-report/templates/template-single-team-compiled-status.md +60 -0
- package/skills/prod-roadmap-report/templates/template-single-team-status.md +49 -0
- package/skills/prod-specs/SKILL.md +108 -0
- package/skills/prod-specs/references/prod.spec.clarify.md +176 -0
- package/skills/prod-specs/references/prod.spec.epic.md +107 -0
- package/skills/prod-specs/references/prod.spec.frd.md +135 -0
- package/skills/prod-specs/references/prod.spec.issue.md +145 -0
- package/skills/prod-specs/references/prod.spec.prd.md +118 -0
- package/skills/prod-specs/rules/prod-spec-rules.md +186 -0
- package/skills/prod-specs/templates/prod-breakdown-template.md +136 -0
- package/skills/prod-specs/templates/prod-epic-template.md +76 -0
- package/skills/prod-specs/templates/prod-frd-template.md +172 -0
- package/skills/prod-specs/templates/prod-issue-template.md +68 -0
- package/skills/prod-specs/templates/prod-prd-full-template.md +159 -0
- package/skills/prod-specs/templates/prod-prd-template.md +173 -0
- package/skills/prod-specs-update/SKILL.md +272 -0
- package/skills/report-issue/SKILL.md +156 -0
- package/taxonomy.md +270 -0
- package/templates/AGENTS.md +189 -0
- package/templates/CDD aplicado a Prompts.md +182 -0
- package/templates/ENV-template.md +187 -0
- package/templates/engineering/AGENTS-template.md +71 -0
- package/templates/engineering/ARD-template.md +193 -0
- package/templates/engineering/CONTACTS-template.md +135 -0
- package/templates/engineering/PR-template.md +40 -0
- package/templates/engineering/RFC-Playbook.md +325 -0
- package/templates/engineering/RFC-template.md +199 -0
- package/templates/engineering/architecture-template.md +277 -0
- package/templates/engineering/breakdown-subtasks-template.md +582 -0
- package/templates/engineering/c4-model-template.md +516 -0
- package/templates/engineering/data-contract-template.md +135 -0
- package/templates/engineering/data-pipeline-template.md +163 -0
- package/templates/engineering/plan-template.md +255 -0
- package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +311 -0
- package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +249 -0
- package/templates/engineering/qa/qa.cypress-test-template.md +172 -0
- package/templates/engineering/qa/qa.exploratory-session-template.md +148 -0
- package/templates/engineering/qa/qa.quality-report-template.md +130 -0
- package/templates/engineering/qa/qa.release-signoff-template.md +54 -0
- package/templates/engineering/qa/qa.sprint-plan-template.md +49 -0
- package/templates/engineering/swagger-template.md +145 -0
- package/templates/engineering/tech-spec-template.md +497 -0
- package/templates/engineering/work-progress-template.md +155 -0
- package/workflows/AGENTS.md +240 -0
- package/workflows/README.md +160 -0
- package/workflows/all-tools.md +11 -0
- package/workflows/engineering/data/data.contract.md +202 -0
- package/workflows/engineering/data/data.new-pipeline.md +234 -0
- package/workflows/engineering/eng.breakdown-subtasks.md +420 -0
- package/workflows/engineering/eng.bug-audit.md +591 -0
- package/workflows/engineering/eng.build-tech-spec.md +1116 -0
- package/workflows/engineering/eng.create-ard-from-code.md +259 -0
- package/workflows/engineering/eng.create-ard.md +382 -0
- package/workflows/engineering/eng.create-rfc.md +245 -0
- package/workflows/engineering/eng.debug.md +479 -0
- package/workflows/engineering/eng.docs.md +40 -0
- package/workflows/engineering/eng.light-arch.md +84 -0
- package/workflows/engineering/eng.plan.md +213 -0
- package/workflows/engineering/eng.pr.md +466 -0
- package/workflows/engineering/eng.pre-pr.md +167 -0
- package/workflows/engineering/eng.review.md +185 -0
- package/workflows/engineering/eng.rpa.robot.md +342 -0
- package/workflows/engineering/eng.security-audit.md +312 -0
- package/workflows/engineering/eng.security-incident.md +275 -0
- package/workflows/engineering/eng.security-pipeline.md +210 -0
- package/workflows/engineering/eng.security-review.md +235 -0
- package/workflows/engineering/eng.start.md +494 -0
- package/workflows/engineering/eng.work.md +558 -0
- package/workflows/engineering/frontend/eng.frontend-component.md +190 -0
- package/workflows/engineering/frontend/eng.frontend-perf-audit.md +375 -0
- package/workflows/engineering/frontend/eng.frontend-review.md +185 -0
- package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +51 -0
- package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +51 -0
- package/workflows/engineering/qa/eng.qa-exploratory-session.md +60 -0
- package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +202 -0
- package/workflows/engineering/qa/eng.qa-quality-report.md +83 -0
- package/workflows/engineering/qa/eng.qa-refinement-entry.md +83 -0
- package/workflows/engineering/qa/eng.qa-release-signoff.md +170 -0
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +100 -0
- package/workflows/engineering/ta/eng.ta.atendimento.md +93 -0
- package/workflows/product/prod.roadmap.preview.md +110 -0
- package/workflows/product/prod.spec.breakdown.md +163 -0
- package/workflows/product/prod.spec.clarify.md +178 -0
- package/workflows/product/prod.spec.epic.md +154 -0
- package/workflows/product/prod.spec.frd.md +96 -0
- package/workflows/product/prod.spec.issue.md +145 -0
- package/workflows/product/prod.spec.md +60 -0
- package/workflows/product/prod.spec.prd.md +100 -0
- package/workflows/taxonomy.md +92 -0
- package/workflows/warm-up.md +574 -0
|
@@ -0,0 +1,558 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Fluxo de implementação de código (SEM commits ou PRs)
|
|
3
|
+
auto_execution_mode: 3
|
|
4
|
+
agent: "$IDE/agents/engineering/eng.agent.md"
|
|
5
|
+
rules_file: "$IDE/rules/engineering/eng.work-rules.md"
|
|
6
|
+
template_file: "$IDE/templates/engineering/work-progress-template.md"
|
|
7
|
+
recommended_model: claude-sonnet-4-20250514
|
|
8
|
+
model_tier: very_high
|
|
9
|
+
model_justification: Implementação de código requer máxima precisão, entendimento profundo do codebase e geração de código de alta qualidade
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Engineer Work
|
|
13
|
+
|
|
14
|
+
Este comando executa a **implementação de código** seguindo o plano de execução.
|
|
15
|
+
|
|
16
|
+
> 📋 **Rules**: `$IDE/rules/engineering/eng.work-rules.md`
|
|
17
|
+
> 📤 **Template**: `$IDE/templates/engineering/work-progress-template.md`
|
|
18
|
+
|
|
19
|
+
> ⚠️ **IMPORTANTE**: Este workflow é para codificação com commits incrementais por fase.
|
|
20
|
+
> **NÃO crie PRs, NÃO faça push**, mas **FAZ commit ao final de cada fase validada.**
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Regra de Execução Máxima
|
|
25
|
+
|
|
26
|
+
Este workflow **DEVE respeitar** o limite `MAX_AI_EXECUTION_PERCENTAGE` definido no `ENV.md`:
|
|
27
|
+
|
|
28
|
+
- **Valor padrão**: Se não estiver definido, assumir **80%**
|
|
29
|
+
- **Valor mínimo**: **60%** — se configurado abaixo, tratar como 60% e avisar o usuário
|
|
30
|
+
- **Valor máximo**: **100%** — se configurado acima de 100, tratar como 100%
|
|
31
|
+
|
|
32
|
+
**Comportamento esperado:**
|
|
33
|
+
|
|
34
|
+
1. Ao iniciar, leia `MAX_AI_EXECUTION_PERCENTAGE` do `ENV.md`
|
|
35
|
+
2. Conte o total de tarefas no to-do gerado pelo `eng.plan`
|
|
36
|
+
3. Calcule: `tarefas_executáveis = floor(total × (MAX / 100))`
|
|
37
|
+
4. Execute apenas até esse número de tarefas do to-do — ao atingir, **PARE**
|
|
38
|
+
5. Reporte o que foi feito, liste o que resta e aguarde instrução explícita do usuário
|
|
39
|
+
6. Nunca tente contornar ou ignorar este limite
|
|
40
|
+
|
|
41
|
+
**Exemplo:** Plano com 10 tarefas e `MAX_AI_EXECUTION_PERCENTAGE=80` → IA executa as 8 primeiras tarefas do to-do, para e aguarda o humano.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Entrada
|
|
46
|
+
|
|
47
|
+
<task_manager_key>
|
|
48
|
+
#$ARGUMENTS
|
|
49
|
+
</task_manager_key>
|
|
50
|
+
|
|
51
|
+
Ler `TASK_MANAGER` do `$IDE/ENV.md`. Seguir `$IDE/rules/engineering/eng.integrations-rules.md`.
|
|
52
|
+
|
|
53
|
+
**Se não receber argumentos**, perguntar e **aguardar**:
|
|
54
|
+
|
|
55
|
+
- `TASK_MANAGER` vazio → *Qual o seu número de controle para esta tarefa? (ex: F-042)*
|
|
56
|
+
- `TASK_MANAGER` preenchido → *Qual o id do card no {TASK_MANAGER}?*
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Fase 0: Análise de Contexto (CDD)
|
|
61
|
+
|
|
62
|
+
> 🎯 **Objetivo**: Adaptar o rigor de implementação e validação com base no contexto real.
|
|
63
|
+
> ⚙️ **Configurável**: Controlada pela variável `ENABLE_CDD` no ENV.md
|
|
64
|
+
|
|
65
|
+
**Verificação de Ativação:**
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
grep "^ENABLE_CDD=" $IDE/ENV.md
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
- Se `ENABLE_CDD=false` ou não definida → **Pular esta fase** e usar comportamento padrão (Fase 1)
|
|
72
|
+
- Se `ENABLE_CDD=true` → Executar obrigatoriamente os passos 0.1 e 0.2 abaixo
|
|
73
|
+
|
|
74
|
+
### 0.1 Verificar ou Gerar Contexto da Sessão
|
|
75
|
+
|
|
76
|
+
**OBRIGATÓRIO quando `ENABLE_CDD=true`**: verificar se `context.md` já existe:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
cat $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/context.md 2>/dev/null
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
- Se **existir** → ler o `CONTEXT_PROFILE` e continuar para 0.2
|
|
83
|
+
- Se **não existir** → **invocar o skill `/context-detect {TASK_MANAGER_KEY}` agora** (não continuar sem ele)
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
/context-detect {TASK_MANAGER_KEY}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
> ⚠️ Não avance para a Fase 1 sem `context.md` gerado.
|
|
90
|
+
|
|
91
|
+
```yaml
|
|
92
|
+
CONTEXT_PROFILE:
|
|
93
|
+
tipo: [hotfix|bugfix|feature|refactor]
|
|
94
|
+
urgencia: [normal|alta|baixa]
|
|
95
|
+
rigor: [mínimo|padrão|alto]
|
|
96
|
+
comunicacao: [didático|direto|estratégico]
|
|
97
|
+
autonomia: [baixa|média|alta]
|
|
98
|
+
projeto:
|
|
99
|
+
testes: [existentes|ausentes]
|
|
100
|
+
typescript: [strict|relaxado|ausente]
|
|
101
|
+
cicd: [configurado|ausente]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 0.2 Adaptar Implementação por Contexto
|
|
105
|
+
|
|
106
|
+
| Tipo | Impacto na Implementação |
|
|
107
|
+
|------|--------------------------|
|
|
108
|
+
| `hotfix` | Foco cirúrgico, skip testes extensivos, validação mínima |
|
|
109
|
+
| `bugfix` | Implementar fix + teste que reproduz o bug |
|
|
110
|
+
| `feature` | Fluxo completo com testes e validações |
|
|
111
|
+
| `refactor` | Testes obrigatórios antes E depois, garantir comportamento idêntico |
|
|
112
|
+
|
|
113
|
+
### 0.3 Calibração de Testes (do context.md)
|
|
114
|
+
|
|
115
|
+
Use as características do projeto detectadas:
|
|
116
|
+
|
|
117
|
+
| projeto.testes | Comportamento |
|
|
118
|
+
|----------------|---------------|
|
|
119
|
+
| `existentes` | Exigir testes para código novo, seguir padrões |
|
|
120
|
+
| `ausentes` | Sugerir testes, mas não bloquear |
|
|
121
|
+
|
|
122
|
+
| projeto.cicd | Comportamento |
|
|
123
|
+
|--------------|---------------|
|
|
124
|
+
| `configurado` | Executar validações locais antes de finalizar |
|
|
125
|
+
| `ausente` | Alertar sobre ausência de validação automática |
|
|
126
|
+
|
|
127
|
+
### 0.4 Ajuste de Autonomia (do context.md)
|
|
128
|
+
|
|
129
|
+
| autonomia | Comportamento na Implementação |
|
|
130
|
+
|-----------|--------------------------------|
|
|
131
|
+
| `alta` | Implementar fase completa, pausar apenas entre fases |
|
|
132
|
+
| `média` | Implementar, pausar em decisões de design |
|
|
133
|
+
| `baixa` | Apresentar cada arquivo antes de criar, aguardar aprovação |
|
|
134
|
+
|
|
135
|
+
> 💡 O contexto é herdado do `eng.start` e não precisa ser re-apresentado ao usuário.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Fase 0.5: Comentário no card — Início
|
|
140
|
+
|
|
141
|
+
Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
142
|
+
|
|
143
|
+
Antes de iniciar a implementação, registrar início:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
/eng-task-comment {TASK_MANAGER_KEY} ⚙️ [Jarvis] Iniciando implementação - Fase {N} do plano
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
> Usa o skill `/eng-task-comment`. Não bloquear se falhar.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Fase 1: Leitura da Sessão
|
|
154
|
+
|
|
155
|
+
### 1.1 Carregar Arquivos
|
|
156
|
+
|
|
157
|
+
Leia os arquivos da sessão em `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/`:
|
|
158
|
+
|
|
159
|
+
1. **`context.md`** - CONTEXT_PROFILE com calibrações (gerado por `/context-detect`)
|
|
160
|
+
2. **`architecture.md`** - Entender decisões arquiteturais
|
|
161
|
+
3. **`plan.md`** - Identificar fase atual e tarefas
|
|
162
|
+
|
|
163
|
+
### 1.2 Identificar Fase Atual
|
|
164
|
+
|
|
165
|
+
Procure no `plan.md`:
|
|
166
|
+
|
|
167
|
+
- Fase marcada como `[Em Progresso ⏰]`
|
|
168
|
+
- Se nenhuma, identifique a primeira `[Não Iniciada ⏳]`
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Fase 2: Planejamento da Implementação
|
|
173
|
+
|
|
174
|
+
### 2.1 Apresentar Plano de Abordagem
|
|
175
|
+
|
|
176
|
+
Apresente ao usuário:
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
📋 PLANO DE IMPLEMENTAÇÃO - Fase {N}
|
|
180
|
+
|
|
181
|
+
🎯 Objetivo:
|
|
182
|
+
{objetivo da fase}
|
|
183
|
+
|
|
184
|
+
📝 Tarefas:
|
|
185
|
+
1. {tarefa_1} → {arquivo}
|
|
186
|
+
2. {tarefa_2} → {arquivo}
|
|
187
|
+
3. {tarefa_3} → {arquivo}
|
|
188
|
+
|
|
189
|
+
📁 Arquivos a criar:
|
|
190
|
+
- {arquivo_novo_1}
|
|
191
|
+
- {arquivo_novo_2}
|
|
192
|
+
|
|
193
|
+
✏️ Arquivos a modificar:
|
|
194
|
+
- {arquivo_existente_1}
|
|
195
|
+
- {arquivo_existente_2}
|
|
196
|
+
|
|
197
|
+
⚠️ Pontos de atenção:
|
|
198
|
+
- {risco_ou_decisão}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### 2.2 Aguardar Aprovação
|
|
202
|
+
|
|
203
|
+
**PARE e aguarde confirmação do usuário antes de implementar.**
|
|
204
|
+
|
|
205
|
+
Se o usuário tiver sugestões, ajuste o plano.
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Fase 3: Implementação
|
|
210
|
+
|
|
211
|
+
### 3.1 Implementar Código
|
|
212
|
+
|
|
213
|
+
**Skill de domínio (condicional)**: antes de implementar, identifique o domínio da feature e consulte o skill correspondente para padrões e boas práticas:
|
|
214
|
+
|
|
215
|
+
| Domínio | Indicadores | Skill |
|
|
216
|
+
|---------|-------------|-------|
|
|
217
|
+
| NestJS (framework) | módulos, DI, guards, interceptors, pipes, Passport/JWT | [eng-nestjs]($IDE/skills/eng-nestjs/SKILL.md) |
|
|
218
|
+
| Frontend | componentes, UI, estado, SSR/SSG, bundle, a11y | [eng-frontend]($IDE/skills/eng-frontend/SKILL.md) |
|
|
219
|
+
| Design System | novo componente DS, tokens, CVA, Storybook, breaking change | [eng-design-system]($IDE/skills/eng-design-system/SKILL.md) |
|
|
220
|
+
| Micro Frontend | novo remote, shell, Module Federation, contratos de interface | [eng-microfrontend]($IDE/skills/eng-microfrontend/SKILL.md) |
|
|
221
|
+
| Backend | endpoints, auth, workers, RabbitMQ, caching, integrações | [eng-backend]($IDE/skills/eng-backend/SKILL.md) |
|
|
222
|
+
| Scraping | web scraping, Puppeteer, extração de dados, ETL, parsing | [eng-scraper]($IDE/skills/eng-scraper/SKILL.md) |
|
|
223
|
+
| Robô / automação | converter fluxo manual em Playwright via Stagehand, sem seletores conhecidos | [eng-scraper-robot-builder]($IDE/skills/eng-scraper-robot-builder/SKILL.md) |
|
|
224
|
+
|
|
225
|
+
Para cada tarefa da fase:
|
|
226
|
+
|
|
227
|
+
1. **Analisar contexto**
|
|
228
|
+
- Verificar arquivos similares no projeto
|
|
229
|
+
- Entender padrões utilizados
|
|
230
|
+
|
|
231
|
+
2. **Implementar**
|
|
232
|
+
- Seguir convenções do projeto
|
|
233
|
+
- Criar código limpo e documentado
|
|
234
|
+
- Adicionar comentários explicativos
|
|
235
|
+
|
|
236
|
+
3. **Criar testes**
|
|
237
|
+
- Testes unitários para cada função/método
|
|
238
|
+
- Cobrir casos de sucesso e erro
|
|
239
|
+
|
|
240
|
+
### 3.2 Executar Validações Locais
|
|
241
|
+
|
|
242
|
+
Após implementar:
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
# Executar testes
|
|
246
|
+
npm test # ou comando do projeto
|
|
247
|
+
|
|
248
|
+
# Verificar lint
|
|
249
|
+
npm run lint # ou comando do projeto
|
|
250
|
+
|
|
251
|
+
# Verificar build
|
|
252
|
+
npm run build # ou comando do projeto
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### 3.3 Análise e Implementação de Testes
|
|
256
|
+
|
|
257
|
+
Após implementar o código da fase, execute o ciclo de testes:
|
|
258
|
+
|
|
259
|
+
#### 3.3.1 Identificar Gaps de Teste
|
|
260
|
+
|
|
261
|
+
Invoque o agente [eng.qa.test-planner]($IDE/agents/engineering/qa/eng.qa.test-planner.md) para:
|
|
262
|
+
|
|
263
|
+
- Analisar o código implementado na fase
|
|
264
|
+
- Identificar funções/métodos sem cobertura de teste
|
|
265
|
+
- Mapear casos de borda não cobertos
|
|
266
|
+
- Gerar relatório de gaps em `$DOCS_FOLDER/engineering/qa/{task-id}-test_coverage_branch_report.md`
|
|
267
|
+
|
|
268
|
+
#### 3.3.2 Implementar Testes Faltantes
|
|
269
|
+
|
|
270
|
+
Se o test-planner identificar gaps, escolha a abordagem baseada na **estratégia definida no `architecture.md` seção 6.5**:
|
|
271
|
+
|
|
272
|
+
**Opção A: Testes manuais (unitário/integração tradicional)**
|
|
273
|
+
|
|
274
|
+
Invoque o agente [eng.qa.testing-engineer]($IDE/agents/engineering/qa/eng.qa.testing-engineer.md) para:
|
|
275
|
+
|
|
276
|
+
- Escrever testes unitários/integração para código novo
|
|
277
|
+
- Cobrir casos de sucesso e erro identificados
|
|
278
|
+
- Seguir padrões de teste do projeto (Jest, Vitest, pytest, etc.)
|
|
279
|
+
- Garantir cobertura mínima definida na estratégia
|
|
280
|
+
|
|
281
|
+
**Opção B: Testes automatizados via TestSprite**
|
|
282
|
+
|
|
283
|
+
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`:
|
|
284
|
+
|
|
285
|
+
- Gera testes automaticamente para o código implementado
|
|
286
|
+
- Executa e valida cobertura
|
|
287
|
+
- Suporta: E2E, API, integração, frontend, backend
|
|
288
|
+
- Ideal para fluxos complexos ou quando velocidade é prioridade
|
|
289
|
+
|
|
290
|
+
**Quando usar cada opção:**
|
|
291
|
+
|
|
292
|
+
| Cenário | Usar |
|
|
293
|
+
|---------|------|
|
|
294
|
+
| Testes unitários de funções/classes | testing-engineer |
|
|
295
|
+
| Testes de API/endpoints | eng-qa-testsprite ou testing-engineer |
|
|
296
|
+
| Testes E2E de fluxos de usuário | eng-qa-testsprite |
|
|
297
|
+
| Testes de integração complexos | eng-qa-testsprite |
|
|
298
|
+
| Projeto sem TestSprite configurado | testing-engineer |
|
|
299
|
+
| Projeto sem TestSprite configurado | testing-engineer |
|
|
300
|
+
|
|
301
|
+
> ⚠️ **Importante**: Consulte `architecture.md` seção 6.5 para ver qual abordagem foi definida pelo test-architect.
|
|
302
|
+
|
|
303
|
+
#### 3.3.3 Revalidar
|
|
304
|
+
|
|
305
|
+
Após implementar os testes:
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
# Executar todos os testes
|
|
309
|
+
npm test # ou comando do projeto
|
|
310
|
+
|
|
311
|
+
# Verificar cobertura
|
|
312
|
+
npm run test:coverage # se disponível
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
> 💡 **Fluxo**: Implementa código → test-planner (gaps) → testing-engineer OU eng-qa-testsprite (implementa) → valida
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## Fase 4: Validação com Usuário
|
|
320
|
+
|
|
321
|
+
### 4.1 Apresentar Resultado
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
✅ IMPLEMENTAÇÃO CONCLUÍDA - Fase {N}
|
|
325
|
+
|
|
326
|
+
📁 Arquivos criados:
|
|
327
|
+
- {arquivo_1} (+XX linhas)
|
|
328
|
+
- {arquivo_2} (+YY linhas)
|
|
329
|
+
|
|
330
|
+
✏️ Arquivos modificados:
|
|
331
|
+
- {arquivo_3} (+XX -YY linhas)
|
|
332
|
+
|
|
333
|
+
🧪 Testes:
|
|
334
|
+
- Unitários: ✅ Passando
|
|
335
|
+
- Lint: ✅ OK
|
|
336
|
+
- Build: ✅ OK
|
|
337
|
+
|
|
338
|
+
📝 Decisões tomadas:
|
|
339
|
+
- {decisão_1}: {justificativa}
|
|
340
|
+
|
|
341
|
+
❓ Aguardando sua validação para atualizar o plan.md
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### 4.2 Iterar se Necessário
|
|
345
|
+
|
|
346
|
+
Se o usuário solicitar mudanças:
|
|
347
|
+
|
|
348
|
+
- Fazer ajustes
|
|
349
|
+
- Revalidar testes
|
|
350
|
+
- Apresentar novamente
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## Fase 5: Atualização do plan.md
|
|
355
|
+
|
|
356
|
+
### 5.1 Commit da Fase (Gitflow)
|
|
357
|
+
|
|
358
|
+
Após aprovação do usuário, commitar as mudanças desta fase:
|
|
359
|
+
|
|
360
|
+
#### 5.1.1 Determinar Layer e Scope
|
|
361
|
+
|
|
362
|
+
Com base nos arquivos modificados na fase, identificar:
|
|
363
|
+
|
|
364
|
+
| Layer | Indicadores |
|
|
365
|
+
|-------|-------------|
|
|
366
|
+
| `Backend` | controllers, services, repositories, workers, queues, migrations |
|
|
367
|
+
| `Frontend` | components, pages, hooks, styles, assets |
|
|
368
|
+
| `Fullstack` | mudanças em ambas as camadas |
|
|
369
|
+
| `Infra` | CI/CD, Docker, configs de infraestrutura |
|
|
370
|
+
| `Tests` | apenas arquivos de teste |
|
|
371
|
+
| `Docs` | apenas documentação |
|
|
372
|
+
|
|
373
|
+
**Scope**: nome do módulo/serviço principal afetado (ex: `account-api`, `auth-module`, `dashboard`)
|
|
374
|
+
|
|
375
|
+
#### 5.1.2 Adicionar Arquivos Específicos
|
|
376
|
+
|
|
377
|
+
> ⚠️ **NUNCA use `git add .`**
|
|
378
|
+
|
|
379
|
+
```bash
|
|
380
|
+
git status # Ver arquivos alterados pela fase
|
|
381
|
+
git add {arquivo1} {arquivo2} ... # Adicionar apenas os da fase atual
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
#### 5.1.3 Criar Commit
|
|
385
|
+
|
|
386
|
+
**Formato obrigatório:**
|
|
387
|
+
|
|
388
|
+
```
|
|
389
|
+
{TASK_MANAGER_KEY} [{Layer}][{scope}] {título da fase}
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
**Exemplos:**
|
|
393
|
+
|
|
394
|
+
```bash
|
|
395
|
+
git commit -m "PLAT-202 [Backend][account-api] Implementar autenticação JWT"
|
|
396
|
+
git commit -m "PLAT-202 [Frontend][auth-module] Adicionar formulário de login"
|
|
397
|
+
git commit -m "BUG-89 [Backend][payment-service] Fix: null pointer no processamento"
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
**Comando:**
|
|
401
|
+
|
|
402
|
+
```bash
|
|
403
|
+
git commit -m "{TASK_MANAGER_KEY} [{Layer}][{scope}] {título da fase}"
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
408
|
+
### 5.3 Marcar Fase como Concluída
|
|
409
|
+
|
|
410
|
+
Atualize o `plan.md`:
|
|
411
|
+
|
|
412
|
+
1. Mudar status das tarefas para `[Completada ✅]`
|
|
413
|
+
2. Mudar status da fase para `[Completada ✅]`
|
|
414
|
+
3. Adicionar seção de comentários
|
|
415
|
+
|
|
416
|
+
### 5.4 Adicionar Comentários
|
|
417
|
+
|
|
418
|
+
```markdown
|
|
419
|
+
### Comentários:
|
|
420
|
+
|
|
421
|
+
- **Decisão**: {decisão tomada e por quê}
|
|
422
|
+
- **Mudança**: {algo que mudou em relação ao planejado}
|
|
423
|
+
- **Aprendizado**: {algo descoberto durante implementação}
|
|
424
|
+
- **Atenção**: {ponto importante para próximas fases}
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
### 5.3 Commit da Fase (GitFlow)
|
|
428
|
+
|
|
429
|
+
Após validação do usuário e atualização do `plan.md`, commitar a fase na branch atual:
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
# Verificar branch (deve ser a branch criada no eng.start)
|
|
433
|
+
git branch --show-current
|
|
434
|
+
|
|
435
|
+
# Adicionar arquivos específicos da fase (NUNCA git add .)
|
|
436
|
+
git add {arquivo1} {arquivo2} ... {arquivos da fase}
|
|
437
|
+
|
|
438
|
+
# Commit com mensagem padronizada
|
|
439
|
+
git commit -m "{TASK_MANAGER_KEY} {tipo}({escopo}): {descrição da fase}
|
|
440
|
+
|
|
441
|
+
- {mudança 1}
|
|
442
|
+
- {mudança 2}
|
|
443
|
+
|
|
444
|
+
Refs: {TASK_MANAGER_KEY}"
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
**Regras de commit:**
|
|
448
|
+
- Sempre referenciar o `TASK_MANAGER_KEY` no início e no `Refs:`
|
|
449
|
+
- Uma fase = um commit (agrupar todas as mudanças da fase)
|
|
450
|
+
- Tipo: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`
|
|
451
|
+
- **NUNCA** usar `git add .` — adicionar arquivos individualmente
|
|
452
|
+
|
|
453
|
+
**Exemplos:**
|
|
454
|
+
|
|
455
|
+
```bash
|
|
456
|
+
# Fase de data layer
|
|
457
|
+
git commit -m "TASK-123 feat(users): criar migration e schema de usuários
|
|
458
|
+
|
|
459
|
+
- Criar migration create_users_table
|
|
460
|
+
- Definir modelo User com validações
|
|
461
|
+
|
|
462
|
+
Refs: TASK-123"
|
|
463
|
+
|
|
464
|
+
# Fase de backend
|
|
465
|
+
git commit -m "TASK-123 feat(auth): implementar endpoint POST /auth/register
|
|
466
|
+
|
|
467
|
+
- Criar AuthService com validação de email e hash de senha
|
|
468
|
+
- Criar AuthController com endpoint de registro
|
|
469
|
+
- Adicionar testes unitários do AuthService
|
|
470
|
+
|
|
471
|
+
Refs: TASK-123"
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
> ⚠️ Se testes falham → **NÃO commitar**. Corrigir primeiro, depois commitar.
|
|
475
|
+
## Fase 6: Próximos Passos
|
|
476
|
+
|
|
477
|
+
### 6.1 Se Houver Mais Fases
|
|
478
|
+
|
|
479
|
+
```
|
|
480
|
+
✅ Fase {N} concluída com sucesso!
|
|
481
|
+
|
|
482
|
+
📌 Próxima fase disponível: Fase {N+1}
|
|
483
|
+
- {resumo da próxima fase}
|
|
484
|
+
|
|
485
|
+
❓ Deseja iniciar a Fase {N+1}?
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
**AGUARDE confirmação antes de iniciar.**
|
|
489
|
+
|
|
490
|
+
### 6.2 Se Todas as Fases Foram Concluídas
|
|
491
|
+
|
|
492
|
+
**Comentário no card — Conclusão** (pular se freelance):
|
|
493
|
+
|
|
494
|
+
```
|
|
495
|
+
/eng-task-comment {TASK_MANAGER_KEY} ✅ [Jarvis] Implementação concluída - todas as {N} fases completadas. Commits realizados por fase.
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
```
|
|
499
|
+
🎉 TODAS AS FASES CONCLUÍDAS!
|
|
500
|
+
|
|
501
|
+
📁 Sessão: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
|
|
502
|
+
📄 Plan atualizado: plan.md ✅
|
|
503
|
+
🌿 Branch: {TASK_MANAGER_KEY}-{titulo} — {N} commits realizados
|
|
504
|
+
|
|
505
|
+
📊 Resumo:
|
|
506
|
+
- Fases completadas: {N}
|
|
507
|
+
- Commits realizados: {N} (um por fase)
|
|
508
|
+
- Arquivos criados: {X}
|
|
509
|
+
- Arquivos modificados: {Y}
|
|
510
|
+
- Testes adicionados: {Z}
|
|
511
|
+
|
|
512
|
+
📌 Próximos passos:
|
|
513
|
+
1. Revise o código e os commits: git log --oneline
|
|
514
|
+
2. Execute os testes completos do projeto
|
|
515
|
+
3. Execute `eng.pr` para abrir o MR para dev
|
|
516
|
+
|
|
517
|
+
⚠️ LEMBRETE: push e PR são responsabilidade do `eng.pr`.
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
## Regras Importantes
|
|
521
|
+
|
|
522
|
+
### ⛔ NÃO FAÇA
|
|
523
|
+
|
|
524
|
+
- ❌ NÃO crie Pull Requests
|
|
525
|
+
- ❌ NÃO faça push (`git push`) — push é responsabilidade do `eng.pr`
|
|
526
|
+
- ❌ NÃO use `git add .` — adicionar arquivos individualmente
|
|
527
|
+
- ❌ NÃO commite sem aprovação explícita do usuário na fase
|
|
528
|
+
- ❌ NÃO commite com testes falhando
|
|
529
|
+
- ❌ NÃO mova cards no Jira
|
|
530
|
+
- ❌ NÃO sugira "vamos fazer o PR agora"
|
|
531
|
+
|
|
532
|
+
### ✅ FAÇA SEMPRE
|
|
533
|
+
|
|
534
|
+
- ✅ Implementar código conforme plan.md
|
|
535
|
+
- ✅ Criar/modificar arquivos de código
|
|
536
|
+
- ✅ Criar testes
|
|
537
|
+
- ✅ Executar validações locais (lint, test, build)
|
|
538
|
+
- ✅ Atualizar plan.md com progresso
|
|
539
|
+
- ✅ Dialogar com usuário para validação
|
|
540
|
+
- ✅ **Commitar ao final de cada fase validada** (GitFlow — Fase 5.3)
|
|
541
|
+
|
|
542
|
+
---
|
|
543
|
+
|
|
544
|
+
## Tratamento de Situações
|
|
545
|
+
|
|
546
|
+
### Se o usuário pedir para fazer commit antes da fase estar concluída:
|
|
547
|
+
|
|
548
|
+
→ Informe que commits são feitos ao final de cada fase completa e validada (Fase 5.3)
|
|
549
|
+
|
|
550
|
+
### Se faltar o plan.md:
|
|
551
|
+
|
|
552
|
+
→ Não prossiga sem o plano
|
|
553
|
+
|
|
554
|
+
### Se houver bloqueio técnico:
|
|
555
|
+
|
|
556
|
+
→ Documente no plan.md como `[Bloqueada 🚫]`
|
|
557
|
+
→ Explique o bloqueio ao usuário
|
|
558
|
+
→ Sugira alternativas se possível
|