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,494 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Inicia o planejamento de uma tarefa criando o architecture.md
|
|
3
|
+
auto_execution_mode: 3
|
|
4
|
+
agent: "$IDE/agents/engineering/eng.agent.md"
|
|
5
|
+
rules_file: "$IDE/rules/engineering/eng.start-rules.md"
|
|
6
|
+
template_file: "$IDE/templates/engineering/architecture-template.md"
|
|
7
|
+
recommended_model: claude-sonnet-4-20250514
|
|
8
|
+
model_tier: high
|
|
9
|
+
model_justification: Requer análise arquitetural profunda, investigação de codebase e raciocínio complexo para criar documentação técnica de qualidade
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# start
|
|
13
|
+
|
|
14
|
+
Este comando inicia o **planejamento** de uma nova feature.
|
|
15
|
+
|
|
16
|
+
> 📋 **Rules**: `$IDE/rules/engineering/eng.start-rules.md`
|
|
17
|
+
> 📤 **Template**: `$IDE/templates/engineering/architecture-template.md`
|
|
18
|
+
|
|
19
|
+
> ⚠️ **IMPORTANTE**: Este workflow é APENAS para planejamento e documentação.
|
|
20
|
+
> **NÃO execute código, NÃO crie arquivos de código, NÃO faça commits.**
|
|
21
|
+
> O único artefato a ser criado é o `architecture.md`.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Entrada
|
|
26
|
+
|
|
27
|
+
<task_manager_key>
|
|
28
|
+
#$ARGUMENTS
|
|
29
|
+
</task_manager_key>
|
|
30
|
+
|
|
31
|
+
Ler `TASK_MANAGER` do `$IDE/ENV.md`. Seguir `$IDE/rules/engineering/eng.integrations-rules.md` (freelance vs board).
|
|
32
|
+
|
|
33
|
+
**Se não receber argumentos**, perguntar e **aguardar**:
|
|
34
|
+
|
|
35
|
+
- `TASK_MANAGER` vazio → *Qual o seu número de controle para esta tarefa? (ex: F-042, CLIENTE-agosto)*
|
|
36
|
+
- `TASK_MANAGER` preenchido → *Qual o id do card no {TASK_MANAGER}? (ex: TASK-123)*
|
|
37
|
+
|
|
38
|
+
> 📁 **Padrão de Nomenclatura**: A pasta da sessão será criada com o `TASK_MANAGER_KEY` em **lowercase**.
|
|
39
|
+
> Exemplo: `TASK-123` → `$SESSIONS_DIR/eng/task-123/`
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Fase 0: Verificação de Perfil
|
|
44
|
+
|
|
45
|
+
Ler `POSITION` do ENV.md:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
grep "^POSITION=" $IDE/ENV.md
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Se `POSITION=TECH ANALYST`:
|
|
52
|
+
```
|
|
53
|
+
→ Este workflow não é adequado para o perfil TECH ANALYST.
|
|
54
|
+
→ Redirecionar para: $FLOWS_FOLDER/engineering/ta/eng.ta.atendimento.md
|
|
55
|
+
|
|
56
|
+
ℹ️ O eng.start é voltado para desenvolvimento de features.
|
|
57
|
+
Para atendimento técnico, use ta.atendimento.
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Caso contrário, continuar normalmente.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Fase 0.1: Análise de Contexto (CDD)
|
|
65
|
+
|
|
66
|
+
> 🎯 **Objetivo**: Adaptar o rigor e cerimônia do workflow com base no contexto real da tarefa.
|
|
67
|
+
> ⚙️ **Configurável**: Controlada pela variável `ENABLE_CDD` no ENV.md
|
|
68
|
+
|
|
69
|
+
**Verificação de Ativação:**
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
grep "^ENABLE_CDD=" $IDE/ENV.md
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- Se `ENABLE_CDD=false` ou não definida → **Pular esta fase** e ir direto para Fase 1
|
|
76
|
+
|
|
77
|
+
- Se `ENABLE_CDD=true` → **Executar obrigatoriamente o skill `/context-detect` agora** (não pular, não sugerir ao usuário — executar)
|
|
78
|
+
|
|
79
|
+
### 0.1 Executar Detecção de Contexto
|
|
80
|
+
|
|
81
|
+
**OBRIGATÓRIO quando `ENABLE_CDD=true`**: invocar o skill imediatamente antes de qualquer outra ação:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
/context-detect {TASK_MANAGER_KEY}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
> ⚠️ Não continue para a Fase 1 sem que o `/context-detect` tenha sido executado com sucesso e o `context.md` gerado.
|
|
88
|
+
|
|
89
|
+
O skill `/context-detect` irá:
|
|
90
|
+
- Analisar a branch, Jira key e características do projeto
|
|
91
|
+
- Ler POSITION e MAX_AI_EXECUTION_PERCENTAGE do ENV.md
|
|
92
|
+
- Gerar o arquivo `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/context.md`
|
|
93
|
+
|
|
94
|
+
### 0.2 Herdar CONTEXT_PROFILE
|
|
95
|
+
|
|
96
|
+
Após a detecção, o arquivo `context.md` conterá:
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
CONTEXT_PROFILE:
|
|
100
|
+
tipo: [hotfix|bugfix|feature|refactor]
|
|
101
|
+
urgencia: [normal|alta|baixa]
|
|
102
|
+
rigor: [mínimo|padrão|alto]
|
|
103
|
+
comunicacao: [didático|direto|estratégico]
|
|
104
|
+
autonomia: [baixa|média|alta]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 0.3 Adaptar Workflow por Contexto
|
|
108
|
+
|
|
109
|
+
| Tipo detectado | Impacto no workflow |
|
|
110
|
+
|----------------|---------------------|
|
|
111
|
+
| `hotfix` | Skip 3.3 (padrões), architecture.md mínimo |
|
|
112
|
+
| `bugfix` | Architecture.md simplificado, foco em root cause |
|
|
113
|
+
| `feature` | Fluxo completo com todas as fases |
|
|
114
|
+
| `refactor` | Aumentar Fase 3 (análise de impacto) |
|
|
115
|
+
|
|
116
|
+
| Autonomia | Comportamento |
|
|
117
|
+
|-----------|---------------|
|
|
118
|
+
| `alta` | Executar mais, perguntar menos, documentar decisões tomadas |
|
|
119
|
+
| `média` | Balanço entre execução e validação |
|
|
120
|
+
| `baixa` | Apresentar opções ao invés de decidir, aguardar validação |
|
|
121
|
+
|
|
122
|
+
### 0.4 Confirmar com Usuário
|
|
123
|
+
|
|
124
|
+
O perfil detectado será apresentado automaticamente pelo skill.
|
|
125
|
+
Se o usuário solicitar ajustes, re-execute com `--override`.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Fase 0.5: Comentário no card — Início
|
|
130
|
+
|
|
131
|
+
Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
132
|
+
|
|
133
|
+
Após obter o `TASK_MANAGER_KEY`, registrar o início do planejamento:
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
/eng-task-comment {TASK_MANAGER_KEY} 🚀 [Jarvis] Iniciando planejamento - architecture.md sendo criado
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
> Usa o skill `/eng-task-comment` (MCP Atlassian → fallback curl). Não bloquear se falhar.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Fase 1: Preparação do Ambiente
|
|
144
|
+
|
|
145
|
+
### 1.1 Criar Branch de Feature (GitFlow)
|
|
146
|
+
|
|
147
|
+
Crie a branch de trabalho a partir de `dev` seguindo o padrão GitFlow:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Garantir que está em dev e atualizado
|
|
151
|
+
git checkout dev
|
|
152
|
+
git pull origin dev
|
|
153
|
+
|
|
154
|
+
# Criar branch no padrão {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
|
|
155
|
+
git checkout -b {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Se a branch já existir**, fazer checkout nela:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
git checkout {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Verificar branch ativa:**
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
git branch --show-current
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Regras de nomenclatura:**
|
|
171
|
+
|
|
172
|
+
| Campo | Regra |
|
|
173
|
+
|-------|-------|
|
|
174
|
+
| `TASK_MANAGER_KEY` | UPPERCASE (ex: `TASK-123`) |
|
|
175
|
+
| Título | kebab-case — lowercase, hífens, sem acentos |
|
|
176
|
+
| Tamanho | Máximo 50 caracteres no título |
|
|
177
|
+
|
|
178
|
+
**Exemplos:**
|
|
179
|
+
|
|
180
|
+
| TASK_MANAGER_KEY | Título | Branch |
|
|
181
|
+
|----------|--------|--------|
|
|
182
|
+
| `TASK-123` | "Implementar autenticação JWT" | `TASK-123-implementar-autenticacao-jwt` |
|
|
183
|
+
| `BUG-789` | "Fix null pointer em login" | `BUG-789-fix-null-pointer-em-login` |
|
|
184
|
+
|
|
185
|
+
> ⚠️ Se o usuário já estiver em uma branch com o padrão correto do TASK_MANAGER_KEY, use-a sem criar nova.
|
|
186
|
+
> ⚠️ **NUNCA** criar branch a partir de `main`/`master`. Sempre a partir de `dev`.
|
|
187
|
+
> ✅ A branch criada aqui será usada em todos os workflows subsequentes (work, pre-pr, pr).
|
|
188
|
+
|
|
189
|
+
### 1.2 Criar Diretório de Sessão
|
|
190
|
+
|
|
191
|
+
Crie o diretório da sessão se não existir:
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
> ⚠️ **IMPORTANTE**: O `TASK_MANAGER_KEY` deve ser convertido para **lowercase**.
|
|
198
|
+
> Exemplo: `TASK-123` → `task-123`
|
|
199
|
+
|
|
200
|
+
### 1.3 Registrar Início da Sessão
|
|
201
|
+
|
|
202
|
+
Registre o timestamp inicial para cálculo de lead time:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# Criar arquivo de timestamp (usado para calcular lead time em eng.pr)
|
|
206
|
+
echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ")" > $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/.timestamp_start
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
> 💡 Este timestamp será usado pelo `eng.pr` para calcular o lead time (início → PR criado)
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Fase 2: Entendimento da Tarefa
|
|
214
|
+
|
|
215
|
+
### 2.1 Coleta de Informações
|
|
216
|
+
|
|
217
|
+
Solicite ao usuário os dados de entrada:
|
|
218
|
+
|
|
219
|
+
- Card do Jira (ID ou conteúdo)
|
|
220
|
+
- Git Issues relacionadas
|
|
221
|
+
- Contexto adicional
|
|
222
|
+
|
|
223
|
+
### 2.2 Buscar Documentação Central (condicional)
|
|
224
|
+
|
|
225
|
+
Se `CENTRAL_DOCS_REPO` estiver configurado no ENV.md, buscar docs relacionados:
|
|
226
|
+
|
|
227
|
+
**Passo 1:** Identificar docs relevantes com base no Jira ID e tags do card
|
|
228
|
+
|
|
229
|
+
**Passo 2:** Buscar documentos via skill docs-central:
|
|
230
|
+
- PRD relacionado (contexto de produto)
|
|
231
|
+
- ARD geral do produto (arquitetura macro)
|
|
232
|
+
- ARD específico do repo (se existir)
|
|
233
|
+
- RFCs relevantes
|
|
234
|
+
|
|
235
|
+
**Passo 3:** Incorporar ao contexto antes de prosseguir para análise
|
|
236
|
+
|
|
237
|
+
**Comportamento:**
|
|
238
|
+
- Se docs encontrados → carregar e exibir resumo
|
|
239
|
+
- Se não encontrados → perguntar se tem docs localmente
|
|
240
|
+
- Se `CENTRAL_DOCS_REPO` vazio → pular silenciosamente
|
|
241
|
+
|
|
242
|
+
### 2.3 Análise do Requisito
|
|
243
|
+
|
|
244
|
+
Examine os cards, seus pais e filhos, e desenvolva compreensão do que deve ser implementado.
|
|
245
|
+
|
|
246
|
+
**Se docs do central foram carregados:**
|
|
247
|
+
- Validar alinhamento com PRD
|
|
248
|
+
- Verificar restrições arquiteturais do ARD
|
|
249
|
+
- Considerar decisões de RFCs relacionados
|
|
250
|
+
|
|
251
|
+
**Reflita sobre:**
|
|
252
|
+
|
|
253
|
+
- **Contexto**: Qual a motivação por trás deste desenvolvimento?
|
|
254
|
+
- **Meta**: Qual é o resultado esperado para esta issue?
|
|
255
|
+
- **Estratégia**: Como deve ser desenvolvido (direcionalmente, sem detalhes)?
|
|
256
|
+
- **APIs/Ferramentas**: Se demanda novas, você as compreende?
|
|
257
|
+
- **Validação**: Como deve ser validado?
|
|
258
|
+
- **Dependências**: Quais são?
|
|
259
|
+
- **Limitações**: Quais existem?
|
|
260
|
+
|
|
261
|
+
### 2.3 Perguntas de Clarificação
|
|
262
|
+
|
|
263
|
+
Formule **3-5 perguntas críticas** para concluir a tarefa.
|
|
264
|
+
|
|
265
|
+
Apresente ao usuário:
|
|
266
|
+
|
|
267
|
+
1. Sua compreensão da tarefa
|
|
268
|
+
2. Suas propostas iniciais
|
|
269
|
+
3. As perguntas de clarificação
|
|
270
|
+
|
|
271
|
+
**Aguarde respostas antes de prosseguir.**
|
|
272
|
+
|
|
273
|
+
Se precisar de mais clarificações, continue o diálogo até ter compreensão sólida.
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## Fase 3: Investigação Técnica
|
|
278
|
+
|
|
279
|
+
### 3.1 Análise do Codebase
|
|
280
|
+
|
|
281
|
+
Use ferramentas de busca para entender o código existente:
|
|
282
|
+
|
|
283
|
+
- **Glob**: Encontrar arquivos relacionados
|
|
284
|
+
- **Grep**: Buscar padrões e implementações similares
|
|
285
|
+
- **Read**: Analisar arquivos críticos que serão impactados
|
|
286
|
+
|
|
287
|
+
### 3.2 Documentação Existente
|
|
288
|
+
|
|
289
|
+
Verifique:
|
|
290
|
+
|
|
291
|
+
- `$DOCS_FOLDER/**/*.md` - Documentação do projeto
|
|
292
|
+
- `$SESSIONS_DIR/eng/**/*.md` - Tech specs anteriores
|
|
293
|
+
- `README.md`, `ARCHITECTURE.md` - Visão geral do projeto onde está sendo executado
|
|
294
|
+
- Anexos no Jira - PRD, FRD, ARD, RFC
|
|
295
|
+
|
|
296
|
+
### 3.3 Padrões e Convenções
|
|
297
|
+
|
|
298
|
+
Documente:
|
|
299
|
+
|
|
300
|
+
- Padrões arquiteturais do projeto
|
|
301
|
+
- Convenções de nomenclatura
|
|
302
|
+
- Estrutura de pastas
|
|
303
|
+
- Frameworks e bibliotecas utilizadas
|
|
304
|
+
- Padrões de testes
|
|
305
|
+
|
|
306
|
+
### 3.4 Estratégia de Testes (Condicional)
|
|
307
|
+
|
|
308
|
+
**Se a feature tiver requisitos de performance ou segurança**, invoque o agente [eng.qa.test-architect]($IDE/agents/engineering/qa/eng.qa.test-architect.md) para definir:
|
|
309
|
+
|
|
310
|
+
- **Tipos de teste necessários**: unitário, integração, e2e, performance, segurança
|
|
311
|
+
- **Thresholds de cobertura**: mínimos aceitáveis para a feature
|
|
312
|
+
- **Requisitos de performance**: latência, throughput, carga esperada (se aplicável)
|
|
313
|
+
- **Requisitos de segurança**: RBAC, validação de input, proteção contra injeção (se aplicável)
|
|
314
|
+
- **Estrutura de testes**: pastas e convenções a seguir
|
|
315
|
+
|
|
316
|
+
> ⚠️ **Quando executar**: Features que envolvam APIs públicas, processamento de dados sensíveis, alta carga esperada ou requisitos não-funcionais explícitos.
|
|
317
|
+
|
|
318
|
+
**Se a feature tiver requisitos de performance** (latência, throughput, escalabilidade), use o skill [eng-performance-engineer]($IDE/skills/eng-performance-engineer/SKILL.md) para:
|
|
319
|
+
- Estabelecer baseline de métricas antes de implementar
|
|
320
|
+
- Definir thresholds e SLIs/SLOs da feature
|
|
321
|
+
- Planejar load tests com cenários realistas
|
|
322
|
+
|
|
323
|
+
**Se a feature envolver IA** (LLM, RAG, agentes, chatbots, embeddings), use o skill [eng-ai-engineer]($IDE/skills/eng-ai-engineer/SKILL.md) para:
|
|
324
|
+
- Projetar a arquitetura de IA com fluxo de dados e seleção de modelo
|
|
325
|
+
- Definir estratégias de cache, custo e guardrails de segurança
|
|
326
|
+
- Planejar observabilidade e métricas de avaliação do sistema de IA
|
|
327
|
+
|
|
328
|
+
**Se a feature envolver aspectos avançados do framework NestJS** (módulos, DI, guards, interceptors, pipes, exception filters, ConfigModule, autenticação Passport/JWT), use o skill [eng-nestjs]($IDE/skills/eng-nestjs/SKILL.md) para:
|
|
329
|
+
- Definir arquitetura de módulos e boundaries de domínio
|
|
330
|
+
- Planejar estratégia de guards e interceptors
|
|
331
|
+
- Configurar autenticação e validação de entrada
|
|
332
|
+
|
|
333
|
+
**Se a feature envolver interface ou componentes frontend** (React, Next.js, SSR/SSG, performance de UI, acessibilidade), use o skill [eng-frontend]($IDE/skills/eng-frontend/SKILL.md) para:
|
|
334
|
+
- Definir estratégia de componentes, estado e renderização
|
|
335
|
+
- Planejar performance de UI (bundle, Core Web Vitals, lazy loading)
|
|
336
|
+
- Estabelecer padrões de acessibilidade e cobertura de testes de interface
|
|
337
|
+
|
|
338
|
+
**Se a feature envolver o design system** (novo componente compartilhado, tokens, Storybook, breaking change em componente público), use o skill [eng-design-system]($IDE/skills/eng-design-system/SKILL.md) para:
|
|
339
|
+
- Determinar se o componente pertence ao design system ou ao remote (reutilizável vs local)
|
|
340
|
+
- Definir tokens semânticos, variantes CVA e API pública de props
|
|
341
|
+
- Planejar story no Storybook e estratégia de versionamento (patch/minor/major)
|
|
342
|
+
|
|
343
|
+
**Se a feature envolver micro frontend** (novo remote, integração ao shell, Module Federation, contratos de interface, shared dependencies), use o skill [eng-microfrontend]($IDE/skills/eng-microfrontend/SKILL.md) para:
|
|
344
|
+
- Definir arquitetura shell/remote e o que será exposto
|
|
345
|
+
- Planejar contrato de interface em TypeScript (tipos em `mfe-contracts`)
|
|
346
|
+
- Estratégia de shared dependencies e event bus para comunicação desacoplada
|
|
347
|
+
|
|
348
|
+
**Se a feature envolver APIs, autenticação ou workers backend** (endpoints REST/GraphQL, JWT/OAuth2, RBAC, RabbitMQ, cron, integrações externas, caching), use o skill [eng-backend]($IDE/skills/eng-backend/SKILL.md) para:
|
|
349
|
+
- Definir design de endpoints (paginação, versionamento, idempotência)
|
|
350
|
+
- Planejar autenticação/autorização e controle de acesso
|
|
351
|
+
- Arquitetar workers, filas RabbitMQ e integrações com retry/circuit breaker
|
|
352
|
+
|
|
353
|
+
**Se a feature envolver engenharia de dados** (pipelines ETL/ELT, modelagem dimensional, ingestão em S3/Athena, jobs AWS Glue, DAGs Airflow, contratos de dados, Great Expectations, camadas bronze/silver/gold), use o skill [eng-data-engineer]($IDE/skills/eng-data-engineer/SKILL.md) para:
|
|
354
|
+
- Definir a arquitetura Medallion da feature (bronze → silver → gold)
|
|
355
|
+
- Planejar Expectation Suite obrigatória e checks de qualidade
|
|
356
|
+
- Documentar pipeline com `data-pipeline-template.md` antes de implementar
|
|
357
|
+
- Garantir idempotência e nomenclatura padronizada
|
|
358
|
+
|
|
359
|
+
**Se a feature envolver extração de dados ou scraping** (web scraping, Puppeteer, parsing, ETL), use o skill [eng-scraper]($IDE/skills/eng-scraper/SKILL.md) para:
|
|
360
|
+
- Avaliar viabilidade ética e legal (robots.txt, ToS)
|
|
361
|
+
- Definir ferramenta e arquitetura do scraper
|
|
362
|
+
- Planejar resiliência, rate limiting e formato de saída
|
|
363
|
+
|
|
364
|
+
**Se a feature envolver autenticação, autorização, inputs de usuário, dados sensíveis ou endpoints públicos**, use o skill [eng-cybersecurity]($IDE/skills/eng-cybersecurity/SKILL.md) para:
|
|
365
|
+
- Mapear superfície de ataque e dados sensíveis (PII, financeiros)
|
|
366
|
+
- Definir modelo de auth e RBAC adequado
|
|
367
|
+
- Planejar estratégia de sanitização de inputs
|
|
368
|
+
- Documentar vetores de risco na seção de segurança do `architecture.md`
|
|
369
|
+
|
|
370
|
+
Documente a estratégia de testes no `architecture.md` na seção apropriada.
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## Fase 4: Criação do Architecture.md
|
|
375
|
+
|
|
376
|
+
### 4.1 Criar Arquivo
|
|
377
|
+
|
|
378
|
+
Crie o arquivo `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/architecture.md` usando o template:
|
|
379
|
+
|
|
380
|
+
```
|
|
381
|
+
.$IDE/templates/engineering/architecture-template.md
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
Copie a estrutura do template e preencha com as informações coletadas.
|
|
385
|
+
|
|
386
|
+
### 4.2 Preenchimento
|
|
387
|
+
|
|
388
|
+
Preencha **TODAS** as seções com as informações coletadas nas fases anteriores.
|
|
389
|
+
|
|
390
|
+
**Seja específico:**
|
|
391
|
+
|
|
392
|
+
- Liste arquivos reais que serão modificados
|
|
393
|
+
- Use nomes de classes/funções existentes
|
|
394
|
+
- Referencie código encontrado na investigação
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## Fase 5: Revisão e Aprovação
|
|
399
|
+
|
|
400
|
+
### 5.1 Apresentação ao Usuário
|
|
401
|
+
|
|
402
|
+
Apresente:
|
|
403
|
+
|
|
404
|
+
1. Resumo do que foi documentado
|
|
405
|
+
2. Principais decisões arquiteturais
|
|
406
|
+
3. Riscos identificados
|
|
407
|
+
4. Link para o arquivo criado
|
|
408
|
+
|
|
409
|
+
### 5.2 Iteração
|
|
410
|
+
|
|
411
|
+
Se o usuário tiver feedback:
|
|
412
|
+
|
|
413
|
+
- Atualize o documento
|
|
414
|
+
- Apresente novamente
|
|
415
|
+
- Continue até aprovação explícita
|
|
416
|
+
|
|
417
|
+
### 5.3 Atualizar Board
|
|
418
|
+
|
|
419
|
+
> Consultar `$IDE/rules/engineering/eng.downstream-flow-rules.md` para regras completas de transição.
|
|
420
|
+
|
|
421
|
+
De acordo com o fluxo downstream, ao assumir este card o **DEV** (`JUNIOR` / `PLENO` / `SENIOR` / `SPECIALIST`) deve mover o card para **"Em progresso"**.
|
|
422
|
+
|
|
423
|
+
> Este é o sinal de que a entrega está em andamento e o DEV assumiu a responsabilidade ponta-a-ponta.
|
|
424
|
+
|
|
425
|
+
### 5.4 Comentário no card — Conclusão
|
|
426
|
+
|
|
427
|
+
Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
428
|
+
|
|
429
|
+
Registrar conclusão do planejamento:
|
|
430
|
+
|
|
431
|
+
```
|
|
432
|
+
/eng-task-comment {TASK_MANAGER_KEY} ✅ [Jarvis] Planejamento concluído - architecture.md criado. Branch: {NOME_DA_BRANCH}
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
### 5.5 Finalização
|
|
436
|
+
|
|
437
|
+
Quando o usuário aprovar, informe:
|
|
438
|
+
|
|
439
|
+
```
|
|
440
|
+
✅ Architecture.md criado com sucesso!
|
|
441
|
+
|
|
442
|
+
🌿 Branch: {TASK_MANAGER_KEY}-{titulo-em-kebab-case} (criada a partir de dev)
|
|
443
|
+
📄 Arquivo: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/architecture.md
|
|
444
|
+
🌿 Branch: {NOME_DA_BRANCH}
|
|
445
|
+
|
|
446
|
+
🔄 Board: mova o card para "Em progresso" no seu board de tarefas.
|
|
447
|
+
|
|
448
|
+
📌 Próximos passos:
|
|
449
|
+
1. Execute `eng.plan` para criar o plano detalhado de execução
|
|
450
|
+
2. Execute `eng.work` para implementar (commita automaticamente ao final de cada fase)
|
|
451
|
+
3. Execute `eng.pr` para abrir o MR para dev
|
|
452
|
+
|
|
453
|
+
🚫 Lembre-se: Este workflow NÃO executa código.
|
|
454
|
+
Para implementar, use os comandos de execução.
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
459
|
+
## Regras Importantes
|
|
460
|
+
|
|
461
|
+
### ⛔ NÃO FAÇA
|
|
462
|
+
|
|
463
|
+
- ❌ NÃO execute código
|
|
464
|
+
- ❌ NÃO crie arquivos de código (.ts, .js, .py, etc.)
|
|
465
|
+
- ❌ NÃO faça commits
|
|
466
|
+
- ❌ NÃO instale dependências
|
|
467
|
+
- ❌ NÃO modifique arquivos de código existentes
|
|
468
|
+
- ❌ NÃO crie branch a partir de `main`/`master`
|
|
469
|
+
|
|
470
|
+
### ✅ FAÇA APENAS
|
|
471
|
+
|
|
472
|
+
- ✅ Criar branch a partir de `dev` no padrão `{TASK_MANAGER_KEY}-{titulo}`
|
|
473
|
+
- ✅ Criar o diretório `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/`
|
|
474
|
+
- ✅ Criar o arquivo `architecture.md`
|
|
475
|
+
- ✅ Investigar e analisar o codebase (leitura apenas)
|
|
476
|
+
- ✅ Dialogar com o usuário para clarificações
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
## Tratamento de Erros
|
|
481
|
+
|
|
482
|
+
### Se o usuário pedir para executar código:
|
|
483
|
+
|
|
484
|
+
→ Informe que este workflow é apenas para planejamento
|
|
485
|
+
|
|
486
|
+
### Se faltar informações críticas:
|
|
487
|
+
|
|
488
|
+
→ Liste o que falta
|
|
489
|
+
→ Pergunte ao usuário antes de prosseguir
|
|
490
|
+
|
|
491
|
+
### Se houver dúvidas sobre a arquitetura:
|
|
492
|
+
|
|
493
|
+
→ Apresente as opções ao usuário
|
|
494
|
+
→ Aguarde decisão antes de documentar
|