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,297 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: always_on
|
|
3
|
+
env_file: "@/ENV.md"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **Applies to:** HUB: all | POSITION: all | AREA: all | SQUAD: all
|
|
7
|
+
|
|
8
|
+
# Regras de Fluxo Downstream — Responsáveis e Critérios
|
|
9
|
+
|
|
10
|
+
> Referência obrigatória ao mover cards no board (Jira, GitLab, Linear ou equivalente).
|
|
11
|
+
> Consultar antes de orientar o usuário sobre transição de status.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
> Fonte de cargos: `taxonomy.md`. Este arquivo define o fluxo. Autonomia: o profissional que assumiu o card conduz ponta-a-ponta.
|
|
16
|
+
|
|
17
|
+
## Princípio de autonomia
|
|
18
|
+
|
|
19
|
+
Quem assumiu o card é o **owner** e pode avançar **todas** as transições abaixo.
|
|
20
|
+
TECH LEAD, PM e pares **revisam e apoiam** — não precisam clicar para o trabalho continuar.
|
|
21
|
+
|
|
22
|
+
Papéis no fluxo (ainda existem; não são cadeado):
|
|
23
|
+
|
|
24
|
+
| Papel no Fluxo | Positions | Papel |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| **Owner** | quem pegou o card: DEV, TECH LEAD ou PM | Conduz ponta-a-ponta |
|
|
27
|
+
| **DEV** | `JUNIOR`, `PLENO`, `SENIOR`, `SPECIALIST` | Entrega técnica |
|
|
28
|
+
| **TECH LEAD** | `TECH LEAD` | Apoia priorização, review e deploy quando pedido |
|
|
29
|
+
| **PM** | `PM`, `TPM`, `GPM` | Apoia aceite de produto quando pedido |
|
|
30
|
+
| **QA** | `QA-ENGINEER` | Executa testes em apoio; não bloqueia o owner |
|
|
31
|
+
| **N2** | Tech Analyst / suporte | Validação operacional se o time tiver esse papel |
|
|
32
|
+
|
|
33
|
+
## Diagrama do Fluxo
|
|
34
|
+
|
|
35
|
+
```mermaid
|
|
36
|
+
graph TD
|
|
37
|
+
A[A fazer] -->|Owner puxa| B[Pronto para desenvolvimento]
|
|
38
|
+
B -->|Owner assume| C[Em progresso]
|
|
39
|
+
C -->|Owner abre MR| D[Review de código]
|
|
40
|
+
D -->|Owner após merge/review| E[Pronto para QA]
|
|
41
|
+
E -->|Owner inicia testes| F[Em QA]
|
|
42
|
+
F -->|Owner se negativo +flag| B
|
|
43
|
+
F -->|Owner se positivo| G[Pronto para produto]
|
|
44
|
+
G -->|Owner ou PM se ajuste +flag| B
|
|
45
|
+
G -->|Owner ou PM se OK| H[Pronto para deploy]
|
|
46
|
+
H -->|Owner inicia deploy| I[Em rollout]
|
|
47
|
+
I -->|Owner quando estável| J[Validação]
|
|
48
|
+
J -->|Owner/PM/N2 se problema| B
|
|
49
|
+
J -->|Owner/PM/N2 se OK| K[Pronto/Cancelado]
|
|
50
|
+
A -.->|Owner/TL/PM cancelam| K
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Matriz de Transições (Quem move o quê)
|
|
56
|
+
|
|
57
|
+
Default: **Owner do card**. TL/PM podem mover também (apoio), nunca como bloqueio.
|
|
58
|
+
|
|
59
|
+
| De | Para | Quem move | Quando mover |
|
|
60
|
+
|---|---|---|---|
|
|
61
|
+
| **A fazer** | Pronto para desenvolvimento | **Owner** (DEV, TL ou PM) | Quando o card estiver claro o bastante para puxar |
|
|
62
|
+
| **Pronto para desenvolvimento** | Em progresso | **Owner** | Quando assumir e começar |
|
|
63
|
+
| **Em progresso** | Review de código | **Owner** | Quando abrir MR pronto para revisão |
|
|
64
|
+
| **Review de código** | Pronto para QA | **Owner** | Após merge ou review (qualquer revisor; TL não é obrigatório) |
|
|
65
|
+
| **Pronto para QA** | Em QA | **Owner** | Quando iniciar testes |
|
|
66
|
+
| **Em QA** | Pronto para produto | **Owner** | Resultado positivo |
|
|
67
|
+
| **Em QA** | Pronto para desenvolvimento | **Owner** | Resultado negativo — flag + comentário |
|
|
68
|
+
| **Pronto para produto** | Pronto para deploy | **Owner ou PM** | Aceite (owner pode auto-aceitar se PM não estiver no fluxo) |
|
|
69
|
+
| **Pronto para produto** | Pronto para desenvolvimento | **Owner ou PM** | Ajustes — flag + comentário |
|
|
70
|
+
| **Pronto para deploy** | Em rollout | **Owner** | Quando iniciar deploy |
|
|
71
|
+
| **Em rollout** | Validação | **Owner** | Deploy estável |
|
|
72
|
+
| **Validação** | Pronto/Cancelado | **Owner, PM ou N2** | Validação ok |
|
|
73
|
+
| **Validação** | Pronto para desenvolvimento | **Owner, PM ou N2** | Problema — comentário |
|
|
74
|
+
| **Qualquer etapa** | Pronto/Cancelado | **Owner, TL ou PM** | Cancelar com motivo |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Responsabilidades no Fluxo
|
|
79
|
+
|
|
80
|
+
### Owner (DEV, TECH LEAD ou PM — quem assumiu)
|
|
81
|
+
- Puxa, implementa, abre MR, faz merge, valida, aceita e faz deploy do **próprio** card.
|
|
82
|
+
- Pede review/ajuda quando quiser — não é obrigatório esperar.
|
|
83
|
+
|
|
84
|
+
### TECH LEAD
|
|
85
|
+
- Apoia priorização, review e deploy **quando pedido**.
|
|
86
|
+
- Pode mover qualquer card (destravar, cancelar, cobrir férias).
|
|
87
|
+
- Não é gate: o DEV não espera o TL para avançar.
|
|
88
|
+
|
|
89
|
+
### DEV
|
|
90
|
+
- Dono da entrega ponta-a-ponta dos cards que assumiu.
|
|
91
|
+
- Pode escrever spec de produto, tech spec e subtarefas.
|
|
92
|
+
|
|
93
|
+
### QA
|
|
94
|
+
- Executa testes e reporta bugs em apoio ao owner.
|
|
95
|
+
- Não bloqueia o owner de avançar depois de registrar o resultado.
|
|
96
|
+
|
|
97
|
+
### PM / TPM / GPM
|
|
98
|
+
- Pode escrever spec, priorizar e aceitar.
|
|
99
|
+
- Pode assumir um card e conduzi-lo (incluindo handoff técnico).
|
|
100
|
+
- Aceite de produto é desejável, não cadeado: owner avança se PM não estiver no fluxo.
|
|
101
|
+
|
|
102
|
+
### N2
|
|
103
|
+
- Validação operacional pós-deploy **se o time tiver esse papel**.
|
|
104
|
+
- Owner pode encerrar o card se não houver N2.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Detalhamento dos Estágios
|
|
109
|
+
|
|
110
|
+
### 1) A fazer — Owner: quem for puxar
|
|
111
|
+
|
|
112
|
+
**Objetivo:** fila saudável e "puxável".
|
|
113
|
+
|
|
114
|
+
**Pronto para entrar:**
|
|
115
|
+
- Contexto mínimo existe (objetivo, escopo, restrições, critérios de aceite).
|
|
116
|
+
- Dependências mapeadas (ou explicitamente "nenhuma").
|
|
117
|
+
|
|
118
|
+
**Saídas:** *Pronto para desenvolvimento* quando o profissional puxar (DEV, TL ou PM).
|
|
119
|
+
|
|
120
|
+
**Responsabilidades:**
|
|
121
|
+
- Owner (ou TL/PM se estiver refinando o backlog) deixa o card puxável.
|
|
122
|
+
- Não esperar o TL para puxar um card já claro.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### 2) Pronto para desenvolvimento — Owner: DEV
|
|
127
|
+
|
|
128
|
+
**Objetivo:** sinalizar que pode ser iniciado imediatamente.
|
|
129
|
+
|
|
130
|
+
**Pronto para entrar:**
|
|
131
|
+
- Critérios de aceite claros.
|
|
132
|
+
- Definição de "feito" acordada (testes, logs, métricas, migração, feature flag, etc.).
|
|
133
|
+
|
|
134
|
+
**Saídas:** *Em progresso* quando alguém pegar.
|
|
135
|
+
|
|
136
|
+
**Responsabilidades do DEV:**
|
|
137
|
+
- Assumir a entrega ponta-a-ponta do card (inclui QA/ajustes até pronto).
|
|
138
|
+
|
|
139
|
+
> O owner move para "Em progresso" ao assumir. Se o card ficar parado, qualquer DEV/TL/PM pode puxá-lo.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### 3) Em progresso — Owner: DEV
|
|
144
|
+
|
|
145
|
+
**Objetivo:** implementação ativa.
|
|
146
|
+
|
|
147
|
+
**Pronto para entrar:** card já assumido, branch/MR iniciados.
|
|
148
|
+
|
|
149
|
+
**Saídas:** *Review de código* quando houver MR pronto.
|
|
150
|
+
|
|
151
|
+
**Responsabilidades do DEV:**
|
|
152
|
+
- Comunicar riscos cedo (bloqueios, escopo estourando, dependências).
|
|
153
|
+
- Garantir checklist básico (lint/test/build, migrações, logs/telemetria quando aplicável).
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### 4) Review de código — Owner: DEV
|
|
158
|
+
|
|
159
|
+
**Objetivo:** MR em revisão até merge.
|
|
160
|
+
|
|
161
|
+
**Pronto para entrar:**
|
|
162
|
+
- MR aberto, descrevendo mudança, riscos, como testar, rollback/flag quando aplicável.
|
|
163
|
+
- Link do ticket no MR.
|
|
164
|
+
|
|
165
|
+
**Saídas:** *Pronto para QA* após merge ou review.
|
|
166
|
+
|
|
167
|
+
**Responsabilidades do owner (autor do MR):**
|
|
168
|
+
- Pedir review quando fizer sentido; responder comentários; manter MR pequeno.
|
|
169
|
+
- Se review travar, o owner desbloqueia (pede ajuda ao TL/par — não fica parado esperando).
|
|
170
|
+
|
|
171
|
+
**Quem move para próxima etapa:** o owner (após merge ou revisão).
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
### 5) Pronto para QA — Owner: DEV
|
|
176
|
+
|
|
177
|
+
**Objetivo:** pacote pronto para validação (ambiente e instruções).
|
|
178
|
+
|
|
179
|
+
**Pronto para entrar:**
|
|
180
|
+
- Mudança disponível em ambiente de teste (ou release candidate preparado).
|
|
181
|
+
- Passo-a-passo de validação e critérios de aceite listados.
|
|
182
|
+
|
|
183
|
+
**Saídas:** *Em QA* quando DEV iniciar os testes e validação.
|
|
184
|
+
|
|
185
|
+
**Responsabilidades do DEV:**
|
|
186
|
+
- Garantir que existe build/ambiente e dados/seed (se necessário).
|
|
187
|
+
- Garantir instruções de teste.
|
|
188
|
+
- Mover para *Em QA* quando iniciar a validação.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
### 6) Em QA — Owner: DEV
|
|
193
|
+
|
|
194
|
+
**Objetivo:** validar e corrigir até ficar ok.
|
|
195
|
+
|
|
196
|
+
**Pronto para entrar:** DEV executando testes ou validação em andamento.
|
|
197
|
+
|
|
198
|
+
**Saídas:**
|
|
199
|
+
- Volta para *Pronto para desenvolvimento* (se resultado negativo) — DEV adiciona flag e comentário.
|
|
200
|
+
- Vai para *Pronto para produto* quando resultado positivo.
|
|
201
|
+
|
|
202
|
+
**Responsabilidades do DEV:**
|
|
203
|
+
- Executar testes e validação (pode contar com apoio do QA).
|
|
204
|
+
- Se encontrar bugs/problemas, voltar para *Pronto para desenvolvimento* com flag e comentário claro.
|
|
205
|
+
- Manter ciclo curto (fix → reteste).
|
|
206
|
+
- Não jogar o card para outra pessoa só para mudar status — o owner avança.
|
|
207
|
+
|
|
208
|
+
> Se QA atuar, manter Owner: DEV (accountability de entrega) e definir "Executor: QA". Isso evita o limbo "QA é o dono então dev não corre".
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
### 7) Pronto para produto — Owner: quem entregou (PM apoia)
|
|
213
|
+
|
|
214
|
+
**Objetivo:** validação funcional/negócio.
|
|
215
|
+
|
|
216
|
+
**Pronto para entrar:**
|
|
217
|
+
- Validação técnica ok.
|
|
218
|
+
- Evidências quando fizer sentido.
|
|
219
|
+
|
|
220
|
+
**Saídas:** *Pronto para deploy* quando aprovado (pelo PM **ou** pelo owner se PM não estiver no fluxo).
|
|
221
|
+
|
|
222
|
+
**Responsabilidades:**
|
|
223
|
+
- PM valida comportamento quando estiver no fluxo.
|
|
224
|
+
- Owner pode auto-aceitar em times pequenos / se o aceite de produto não for um papel separado.
|
|
225
|
+
- Ajustes: volta para *Pronto para desenvolvimento* com flag e comentário.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
### 8) Pronto para deploy — Owner: quem vai publicar
|
|
230
|
+
|
|
231
|
+
**Objetivo:** deploy consciente (rollback/flag quando necessário).
|
|
232
|
+
|
|
233
|
+
**Pronto para entrar:**
|
|
234
|
+
- Aceite feito (PM ou owner).
|
|
235
|
+
- Plano de deploy/rollback/flag quando o risco pedir.
|
|
236
|
+
|
|
237
|
+
**Saídas:** *Em rollout* quando iniciar deploy.
|
|
238
|
+
|
|
239
|
+
**Responsabilidades do owner:**
|
|
240
|
+
- Executar ou coordenar o deploy do próprio card.
|
|
241
|
+
- Pedir apoio ao TL em janela de risco — não é obrigatório.
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
### 9) Em rollout — Owner: quem publicou
|
|
246
|
+
|
|
247
|
+
**Objetivo:** rollout em execução e monitorado.
|
|
248
|
+
|
|
249
|
+
**Pronto para entrar:** deploy iniciado.
|
|
250
|
+
|
|
251
|
+
**Saídas:** *Validação* quando a mudança estiver ativa e estável.
|
|
252
|
+
|
|
253
|
+
**Responsabilidades do owner:**
|
|
254
|
+
- Monitorar métricas/logs/alertas; rollback se necessário.
|
|
255
|
+
- Comunicar status. Pedir ajuda ao TL em incidente.
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
### 10) Validação — Owner: quem publicou (PM/N2 apoiam)
|
|
260
|
+
|
|
261
|
+
**Objetivo:** validação operacional e de suporte (pós-deploy).
|
|
262
|
+
|
|
263
|
+
**Pronto para entrar:** feature ativa, checklist de validação disponível.
|
|
264
|
+
|
|
265
|
+
**Saídas:** *Pronto/Cancelado* quando validado (ou encerrado).
|
|
266
|
+
|
|
267
|
+
**Responsabilidades do N2:**
|
|
268
|
+
- Confirmar que a feature está funcionando no "mundo real".
|
|
269
|
+
- Se encontrar problema: voltar para *Pronto para desenvolvimento* com comentário objetivo do que falhou.
|
|
270
|
+
- Se validação OK: mover para *Pronto/Cancelado*.
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
### 11) Pronto/Cancelado — Owner: quem fechou o card
|
|
275
|
+
|
|
276
|
+
**Objetivo:** fechamento formal.
|
|
277
|
+
|
|
278
|
+
**Pronto para entrar:**
|
|
279
|
+
- Validado com sucesso **ou**
|
|
280
|
+
- Cancelado com motivo registrado.
|
|
281
|
+
|
|
282
|
+
**Responsabilidades:**
|
|
283
|
+
- Owner, TL ou PM registram motivo de cancelamento ou evidência de entrega.
|
|
284
|
+
- Qualquer um deles pode cancelar com motivo (prioridade/escopo).
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## RACI
|
|
289
|
+
|
|
290
|
+
| Papel | Ação no fluxo |
|
|
291
|
+
|---|---|
|
|
292
|
+
| **Owner (DEV, TL ou PM)** | Conduz o card ponta-a-ponta. Move todas as transições do próprio trabalho. |
|
|
293
|
+
| **TECH LEAD** | Apoia. Pode mover qualquer card para destravar — não é gate. |
|
|
294
|
+
| **DEV** | Entrega técnica completa, inclusive spec/PR/deploy dos cards que assumiu. |
|
|
295
|
+
| **QA** | Testa e reporta. Não bloqueia o owner. |
|
|
296
|
+
| **PM / TPM / GPM** | Spec, priorização e aceite. Pode assumir e conduzir um card. |
|
|
297
|
+
| **N2** | Validação operacional se existir no time. |
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: always_on
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
> **Applies to:** HUB: all | POSITION: all | AREA: all | SQUAD: all
|
|
6
|
+
|
|
7
|
+
# Integrações — vendors via ENV
|
|
8
|
+
|
|
9
|
+
O Jarvis não assume Jira, GitLab ou Slack. Leia `$IDE/ENV.md` e despache pelo adapter.
|
|
10
|
+
|
|
11
|
+
## Variáveis
|
|
12
|
+
|
|
13
|
+
| Variável | Vendors | Adapter |
|
|
14
|
+
|----------|---------|---------|
|
|
15
|
+
| `TASK_MANAGER` | jira, linear, github, asana | `bin/lib/tasks/comment.js` |
|
|
16
|
+
| `VERSION_CONTROL` | gitlab, github, bitbucket | `bin/lib/vcs/` |
|
|
17
|
+
| `MESSAGE_COMUNICATOR` | slack, discord, teams | runtime `communicator/` |
|
|
18
|
+
|
|
19
|
+
`{TASK_MANAGER_KEY}` = id da tarefa. Com board, é o id do card. Sem board, é o número de controle do usuário.
|
|
20
|
+
|
|
21
|
+
## Freelance (TASK_MANAGER vazio)
|
|
22
|
+
|
|
23
|
+
`TASK_MANAGER` vazio, ausente ou ainda com a lista `[jira, linear, github, asana]` = **sem board** (freelance).
|
|
24
|
+
|
|
25
|
+
1. **Perguntar** o `TASK_MANAGER_KEY` se não veio em `$ARGUMENTS`. Não inventar. Não exigir padrão `XXX-000`.
|
|
26
|
+
2. Prompt:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
Não há TASK_MANAGER no ENV — modo freelance.
|
|
30
|
+
Qual o seu número de controle para esta tarefa?
|
|
31
|
+
(ex: F-042, CLIENTE-agosto, 2026-08-13)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
3. Usar a resposta (lowercase) como pasta `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/` e no prefixo da branch.
|
|
35
|
+
4. **Não** chamar `/eng-task-comment`, **não** mover card, **não** buscar issue no board.
|
|
36
|
+
|
|
37
|
+
Com board definido, se o key não veio nos argumentos, perguntar o id do card naquele vendor (ex: Jira `TASK-123`).
|
|
38
|
+
|
|
39
|
+
## Comentário no card
|
|
40
|
+
|
|
41
|
+
Só se `TASK_MANAGER` estiver preenchido com um vendor. Freelance → pular.
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
/eng-task-comment {TASK_MANAGER_KEY} {mensagem}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## MR / PR
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
node bin/lib/vcs/create-merge.js --source BRANCH --target BRANCH --title "..." --body-file path
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Vendor pelo hostname de `git remote get-url origin` (ou `VERSION_CONTROL`).
|
|
54
|
+
|
|
55
|
+
## Alertas (runtime)
|
|
56
|
+
|
|
57
|
+
`MESSAGE_COMUNICATOR=slack` → Socket Mode (três tokens).
|
|
58
|
+
`discord` → Bot token + channel ID em `ALERTS_CHANNEL`.
|
|
59
|
+
`teams` → Incoming Webhook em `MESSAGE_COMUNICATOR_BOT_TOKEN`.
|
|
60
|
+
|
|
61
|
+
## URL do card
|
|
62
|
+
|
|
63
|
+
| TASK_MANAGER | Padrão |
|
|
64
|
+
|--------------|--------|
|
|
65
|
+
| jira | `{TASK_MANAGER_URL_BASE}/browse/{TASK_MANAGER_KEY}` |
|
|
66
|
+
| linear | `{TASK_MANAGER_URL_BASE}/issue/{TASK_MANAGER_KEY}` |
|
|
67
|
+
| github | `{TASK_MANAGER_URL_BASE}/issues/{TASK_MANAGER_KEY}` |
|
|
68
|
+
| asana | `{TASK_MANAGER_URL_BASE}/0/0/{TASK_MANAGER_KEY}` |
|
|
69
|
+
|
|
70
|
+
## Proibido
|
|
71
|
+
|
|
72
|
+
- Hardcodar `gitlab.com`, `/browse/` ou Slack Bolt fora dos adapters.
|
|
73
|
+
- Pedir token no chat.
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: always_on
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
> **Applies to:** HUB: all | POSITION: all | AREA: ENGINEERING | SQUAD: all
|
|
6
|
+
|
|
7
|
+
# Regras do Workflow Plan (Planejamento de Execução)
|
|
8
|
+
|
|
9
|
+
## Propósito
|
|
10
|
+
|
|
11
|
+
O workflow `plan` tem como objetivo **criar um plano de execução detalhado e faseado** que permita implementar a feature de forma incremental e retomável.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## ⛔ Gate 0: Pré-requisitos Obrigatórios
|
|
16
|
+
|
|
17
|
+
> Esta regra é executada **antes de qualquer ação**. Se qualquer condição falhar, o workflow para imediatamente.
|
|
18
|
+
|
|
19
|
+
### Regra 0.1 — TASK_MANAGER_KEY obrigatório
|
|
20
|
+
|
|
21
|
+
Ler `TASK_MANAGER` do ENV.md. Ver `eng.integrations-rules.md` (freelance vs board).
|
|
22
|
+
|
|
23
|
+
Se `$ARGUMENTS` não trouxer o key: **perguntar e aguardar**. Não inventar. Não exigir `XXX-000`.
|
|
24
|
+
|
|
25
|
+
- Freelance (`TASK_MANAGER` vazio): *Qual o seu número de controle para esta tarefa?*
|
|
26
|
+
- Com board: *Qual o id do card no {TASK_MANAGER}?*
|
|
27
|
+
|
|
28
|
+
Sem resposta → **PARAR**. Com resposta → seguir (pasta/branch em lowercase).
|
|
29
|
+
|
|
30
|
+
### Regra 0.2 — Proibido executar em branch protegida
|
|
31
|
+
|
|
32
|
+
Verificar branch atual:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
git branch --show-current
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Se for `main`, `master`, `develop`, `staging` ou `homolog`:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
🚫 BLOQUEADO: Você está em uma branch protegida ({BRANCH_ATUAL}).
|
|
42
|
+
|
|
43
|
+
Este workflow só pode ser executado em uma branch de feature.
|
|
44
|
+
Execute /eng.start {TASK_MANAGER_KEY} primeiro para criar a branch correta.
|
|
45
|
+
|
|
46
|
+
Branch esperada: {TASK_MANAGER_KEY}-{titulo-kebab-case}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**→ PARAR. Não executar nenhuma fase.**
|
|
50
|
+
|
|
51
|
+
### Regra 0.3 — Branch deve corresponder ao TASK_MANAGER_KEY
|
|
52
|
+
|
|
53
|
+
Se a branch atual **não contém** o `{TASK_MANAGER_KEY}` no nome:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
⚠️ ATENÇÃO: A branch atual ({BRANCH_ATUAL}) não corresponde à tarefa {TASK_MANAGER_KEY}.
|
|
57
|
+
|
|
58
|
+
Branch atual: {BRANCH_ATUAL}
|
|
59
|
+
Esperado: branch contendo {TASK_MANAGER_KEY}
|
|
60
|
+
|
|
61
|
+
Confirmar que está na branch certa? (s/n)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**→ Aguardar confirmação explícita antes de prosseguir.**
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## ⚠️ REGRA CRÍTICA: SOMENTE PLANEJAMENTO
|
|
69
|
+
|
|
70
|
+
> **Este workflow é EXCLUSIVAMENTE para criar o `plan.md`.**
|
|
71
|
+
>
|
|
72
|
+
> **NÃO é permitido:**
|
|
73
|
+
> - ❌ Escrever código
|
|
74
|
+
> - ❌ Criar arquivos de código (.ts, .js, .py, etc.)
|
|
75
|
+
> - ❌ Modificar arquivos existentes do projeto
|
|
76
|
+
> - ❌ Executar comandos de build/test
|
|
77
|
+
> - ❌ Fazer commits ou criar branches
|
|
78
|
+
> - ❌ Iniciar implementação
|
|
79
|
+
>
|
|
80
|
+
> **O ÚNICO artefato permitido é o arquivo `plan.md`.**
|
|
81
|
+
|
|
82
|
+
Se o usuário pedir para começar a implementação, responda:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
⏸️ O workflow `plan` é apenas para planejamento.
|
|
86
|
+
|
|
87
|
+
Para implementar o código, use o workflow `work`:
|
|
88
|
+
→ eng.work {TASK_MANAGER_KEY}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Princípios Fundamentais
|
|
94
|
+
|
|
95
|
+
### 1. Localização do Arquivo
|
|
96
|
+
|
|
97
|
+
O arquivo `plan.md` deve ser criado em:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/plan.md
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Onde `{TASK_MANAGER_KEY}` é o ID do card em **lowercase** (ex: `TASK-123` → `task-123`).
|
|
104
|
+
|
|
105
|
+
### 2. Pré-requisito
|
|
106
|
+
|
|
107
|
+
Antes de criar o `plan.md`, o arquivo `architecture.md` **DEVE existir** na mesma pasta da sessão. Se não existir, execute o workflow `start` primeiro.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Estrutura do Plano
|
|
112
|
+
|
|
113
|
+
### Fases
|
|
114
|
+
|
|
115
|
+
O plano deve ser dividido em **fases incrementais**, onde cada fase:
|
|
116
|
+
|
|
117
|
+
- Pode ser executada por um desenvolvedor em **1 hora** (máximo)
|
|
118
|
+
- Entrega valor testável
|
|
119
|
+
- Não quebra o sistema durante a implementação
|
|
120
|
+
- Permite retomar o trabalho se a sessão for interrompida
|
|
121
|
+
|
|
122
|
+
### Tarefas dentro das Fases
|
|
123
|
+
|
|
124
|
+
Cada fase contém tarefas que:
|
|
125
|
+
|
|
126
|
+
- São específicas e acionáveis
|
|
127
|
+
- Possuem critério de conclusão claro
|
|
128
|
+
- Indicam dependências (sequencial ou paralelo)
|
|
129
|
+
- Incluem detalhes de implementação
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Status das Fases e Tarefas
|
|
134
|
+
|
|
135
|
+
### Indicadores de Status
|
|
136
|
+
|
|
137
|
+
| Status | Emoji | Uso |
|
|
138
|
+
|--------|-------|-----|
|
|
139
|
+
| Completada | ✅ | Fase/tarefa finalizada e testada |
|
|
140
|
+
| Em Progresso | ⏰ | Fase/tarefa sendo executada agora |
|
|
141
|
+
| Não Iniciada | ⏳ | Fase/tarefa ainda não começada |
|
|
142
|
+
| Bloqueada | 🚫 | Fase/tarefa com impedimento |
|
|
143
|
+
|
|
144
|
+
### Regras de Status
|
|
145
|
+
|
|
146
|
+
1. **Apenas UMA fase** pode estar `Em Progresso ⏰` por vez
|
|
147
|
+
2. **Apenas UMA tarefa** pode estar `Em Progresso ⏰` dentro de uma fase
|
|
148
|
+
3. Marcar como `Completada ✅` somente após verificação
|
|
149
|
+
4. Usar `Bloqueada 🚫` quando houver dependência externa
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Fluxo de Criação do Plano
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
157
|
+
│ │
|
|
158
|
+
│ 1. LER ARCHITECTURE.MD │
|
|
159
|
+
│ ↓ │
|
|
160
|
+
│ 2. ANALISAR ESCOPO → Entender requisitos e restrições │
|
|
161
|
+
│ ↓ │
|
|
162
|
+
│ 3. PESQUISAR → Buscar arquivos relevantes no código │
|
|
163
|
+
│ ↓ │
|
|
164
|
+
│ 4. DIVIDIR EM FASES → Incrementos de ~1 hora │
|
|
165
|
+
│ ↓ │
|
|
166
|
+
│ 5. DETALHAR TAREFAS → Específicas e acionáveis │
|
|
167
|
+
│ ↓ │
|
|
168
|
+
│ 6. IDENTIFICAR DEPENDÊNCIAS → Sequencial vs paralelo │
|
|
169
|
+
│ ↓ │
|
|
170
|
+
│ 7. CRIAR PLAN.MD → Usando o template │
|
|
171
|
+
│ ↓ │
|
|
172
|
+
│ 8. VALIDAR COM HUMANO → Confirmar antes de prosseguir │
|
|
173
|
+
│ │
|
|
174
|
+
└─────────────────────────────────────────────────────────────┘
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Comportamento Esperado
|
|
180
|
+
|
|
181
|
+
### Fase 1: Análise do Architecture.md
|
|
182
|
+
|
|
183
|
+
1. **Ler** o arquivo `architecture.md` da sessão
|
|
184
|
+
2. **Extrair**:
|
|
185
|
+
- Objetivo da feature
|
|
186
|
+
- Requisitos funcionais e não-funcionais
|
|
187
|
+
- Decisões arquiteturais
|
|
188
|
+
- Restrições técnicas
|
|
189
|
+
- Dependências externas
|
|
190
|
+
|
|
191
|
+
### Fase 2: Pesquisa no Codebase
|
|
192
|
+
|
|
193
|
+
1. **Identificar** arquivos existentes que serão modificados
|
|
194
|
+
2. **Buscar** padrões similares já implementados
|
|
195
|
+
3. **Analisar** estrutura atual do projeto
|
|
196
|
+
4. **Documentar** descobertas relevantes
|
|
197
|
+
|
|
198
|
+
### Fase 3: Divisão em Fases
|
|
199
|
+
|
|
200
|
+
1. **Agrupar** trabalho em incrementos lógicos
|
|
201
|
+
2. **Garantir** que cada fase:
|
|
202
|
+
- Seja independentemente testável
|
|
203
|
+
- Não quebre funcionalidades existentes
|
|
204
|
+
- Possa ser commitada separadamente
|
|
205
|
+
3. **Ordenar** por dependências técnicas
|
|
206
|
+
|
|
207
|
+
### Fase 4: Detalhamento de Tarefas
|
|
208
|
+
|
|
209
|
+
Para cada tarefa, incluir:
|
|
210
|
+
|
|
211
|
+
- **O que fazer**: Descrição clara da ação
|
|
212
|
+
- **Onde fazer**: Arquivo(s) envolvido(s)
|
|
213
|
+
- **Como fazer**: Abordagem técnica
|
|
214
|
+
- **Como testar**: Verificação de conclusão
|
|
215
|
+
|
|
216
|
+
### Fase 5: Validação
|
|
217
|
+
|
|
218
|
+
1. **Apresentar** o plano ao humano
|
|
219
|
+
2. **Discutir** ajustes necessários
|
|
220
|
+
3. **Atualizar** `architecture.md` se houver mudanças arquiteturais
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Template do Plan.md
|
|
225
|
+
|
|
226
|
+
O arquivo deve seguir o template em `$IDE/templates/engineering/plan-template.md`.
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Regras de Atualização
|
|
231
|
+
|
|
232
|
+
### Durante a Execução (workflow `work`)
|
|
233
|
+
|
|
234
|
+
1. **Atualizar status** conforme progresso
|
|
235
|
+
2. **Adicionar comentários** sobre mudanças de direção
|
|
236
|
+
3. **Documentar** aprendizados importantes
|
|
237
|
+
4. **Registrar** bloqueios e resoluções
|
|
238
|
+
|
|
239
|
+
### Seção de Comentários
|
|
240
|
+
|
|
241
|
+
Cada fase pode ter uma seção `### Comentários:` para:
|
|
242
|
+
|
|
243
|
+
- Mudanças de direção necessárias
|
|
244
|
+
- Aprendizados durante a implementação
|
|
245
|
+
- Decisões tomadas em conjunto
|
|
246
|
+
- Problemas encontrados e soluções
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Regras de Qualidade
|
|
251
|
+
|
|
252
|
+
### ⛔ NUNCA FAÇA
|
|
253
|
+
|
|
254
|
+
- ❌ Criar `plan.md` sem ler `architecture.md`
|
|
255
|
+
- ❌ Fases que levam mais de 1 hora
|
|
256
|
+
- ❌ Tarefas vagas como "implementar feature"
|
|
257
|
+
- ❌ Ignorar dependências entre tarefas
|
|
258
|
+
- ❌ Pular a validação com o humano
|
|
259
|
+
- ❌ Escrever em outro idioma que não pt-BR
|
|
260
|
+
|
|
261
|
+
### ✅ SEMPRE FAÇA
|
|
262
|
+
|
|
263
|
+
- ✅ Basear o plano no `architecture.md`
|
|
264
|
+
- ✅ Dividir em fases de ~1 hora
|
|
265
|
+
- ✅ Detalhar cada tarefa com contexto
|
|
266
|
+
- ✅ Indicar dependências (sequencial/paralelo)
|
|
267
|
+
- ✅ Usar os emojis de status corretamente
|
|
268
|
+
- ✅ Validar o plano com o humano antes de prosseguir
|
|
269
|
+
- ✅ Escrever tudo em português (pt-BR)
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Erros Comuns a Evitar
|
|
274
|
+
|
|
275
|
+
### ❌ Anti-padrões
|
|
276
|
+
|
|
277
|
+
1. **Fases muito grandes**
|
|
278
|
+
- ❌ "Implementar todo o backend"
|
|
279
|
+
- ✅ "Criar endpoint de autenticação"
|
|
280
|
+
|
|
281
|
+
2. **Tarefas vagas**
|
|
282
|
+
- ❌ "Fazer os testes"
|
|
283
|
+
- ✅ "Criar teste unitário para validação de token em `auth.service.spec.ts`"
|
|
284
|
+
|
|
285
|
+
3. **Sem ordem de execução**
|
|
286
|
+
- ❌ Lista solta de tarefas
|
|
287
|
+
- ✅ Fases numeradas com dependências claras
|
|
288
|
+
|
|
289
|
+
4. **Sem critério de conclusão**
|
|
290
|
+
- ❌ "Melhorar código"
|
|
291
|
+
- ✅ "Refatorar `UserService` para usar injeção de dependência - verificar com teste unitário"
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Checklist de Conclusão
|
|
296
|
+
|
|
297
|
+
Antes de considerar o plano completo:
|
|
298
|
+
|
|
299
|
+
- [ ] `architecture.md` foi lido e compreendido
|
|
300
|
+
- [ ] Pesquisa no codebase foi realizada
|
|
301
|
+
- [ ] Plano dividido em fases de ~1 hora
|
|
302
|
+
- [ ] Cada fase tem tarefas específicas
|
|
303
|
+
- [ ] Tarefas indicam o que, onde e como
|
|
304
|
+
- [ ] Dependências estão claras (sequencial/paralelo)
|
|
305
|
+
- [ ] Status iniciais definidos (todos ⏳)
|
|
306
|
+
- [ ] Conteúdo em português (pt-BR)
|
|
307
|
+
- [ ] Validado com o humano
|
|
308
|
+
- [ ] `plan.md` criado em `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/`
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## Integração com Outros Workflows
|
|
313
|
+
|
|
314
|
+
### Entrada (de onde vem)
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
eng.start → architecture.md → eng.plan
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### Saída (para onde vai)
|
|
321
|
+
|
|
322
|
+
```
|
|
323
|
+
eng.plan → plan.md → eng.work → código
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### Relacionamento
|
|
327
|
+
|
|
328
|
+
| Workflow | Relação |
|
|
329
|
+
|----------|---------|
|
|
330
|
+
| `start` | Cria o `architecture.md` que é entrada do `plan` |
|
|
331
|
+
| `plan` | Cria o `plan.md` com fases de execução |
|
|
332
|
+
| `work` | Executa o `plan.md` e atualiza status |
|
|
333
|
+
| `pr` | Finaliza após todas as fases completadas |
|