jarvis-ai-framework 7.0.0 → 8.1.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 +2 -2
- package/README.md +8 -33
- package/agents/engineering/data/eng.data-engineer.agent.md +3 -3
- package/agents/engineering/eng.docs-consolidator.agent.md +2 -2
- package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +2 -2
- package/bin/README.md +3 -3
- package/bin/commands/init.js +75 -2
- package/bin/lib/cli/program.js +4 -8
- package/bin/lib/core/sync-engine.js +1 -1
- package/bin/lib/utils/frontmatter.js +1 -1
- package/bin/lib/utils/paths.js +2 -1
- package/bin/lib/utils/version.js +65 -0
- package/bin/postinstall.js +7 -31
- package/package.json +2 -2
- package/rules/AGENTS.md +1 -1
- package/rules/engineering/data/data-rules.md +2 -2
- package/rules/engineering/eng-rules.md +1 -1
- package/rules/engineering/eng-security-rules.md +1 -1
- package/rules/engineering/eng.integrations-rules.md +6 -2
- package/rules/rtk-rules.md +1 -1
- package/rules-on-demand/doc-links-rules.md +2 -2
- package/rules-on-demand/engineering/eng.breakdown-subtasks-rules.md +1 -1
- package/rules-on-demand/engineering/eng.pr-rules.md +8 -6
- package/rules-on-demand/engineering/eng.pre-pr-rules.md +3 -1
- package/rules-on-demand/engineering/eng.tech-spec-rules.md +9 -7
- package/rules-on-demand/engineering/eng.transitions-rules.md +3 -3
- package/skills/AGENTS.md +2 -2
- package/skills/SKILLS-ROADMAP.md +1 -1
- package/skills/eng-backend-arch-c4/assets/example-container.md +4 -4
- package/skills/eng-backend-arch-c4/assets/example-context.md +6 -6
- package/skills/eng-backend-microservices-trace/SKILL.md +1 -1
- package/skills/eng-global-investigation/SKILL.md +4 -0
- package/skills/eng-global-pr/SKILL.md +15 -12
- package/skills/eng-global-task-comment/SKILL.md +11 -3
- package/skills/eng-global-tech-spec/references/delivery-spec.md +28 -21
- package/skills/jarvis-docs-central/README.md +4 -4
- package/skills/jarvis-docs-central/SKILL.md +4 -2
- package/skills/jarvis-init/SKILL.md +18 -1
- package/skills/jarvis-init/assets/setup-guide.md +1 -1
- package/skills/jarvis-report-issue/SKILL.md +37 -24
- package/skills/product-roadmap-report/SKILL.md +2 -2
- package/skills/product-roadmap-report/commands/status.memory.md +1 -1
- package/skills/product-roadmap-report/commands/status.roadmap.preview.md +2 -2
- package/skills/product-specs/SKILL.md +1 -1
- package/templates/ENV-template.md +0 -8
- package/templates/cdd-aplicado-a-prompts.md +1 -1
- package/templates/engineering/AGENTS-template.md +2 -2
- package/templates/engineering/CONTACTS-template.md +1 -1
- package/templates/engineering/advisor-template.md +2 -2
- package/templates/engineering/data-contract-template.md +1 -1
- package/templates/engineering/tech-spec-delivery-template.md +8 -8
- package/templates/engineering/tech-spec-template.md +3 -3
- package/templates/product/prod-frd-template.md +1 -1
- package/templates/product/prod-prd-template.md +1 -1
- package/workflows/AGENTS.md +1 -1
- package/workflows/README.md +1 -1
- package/workflows/engineering/data/data.contract.md +12 -8
- package/workflows/engineering/eng.breakdown-subtasks.md +2 -2
- package/workflows/engineering/eng.build-tech-spec.md +1 -1
- package/workflows/engineering/eng.create-ard-from-code.md +3 -5
- package/workflows/engineering/eng.create-ard.md +3 -5
- package/workflows/engineering/eng.create-rfc.md +5 -5
- package/workflows/engineering/eng.light-arch.md +1 -1
- package/workflows/engineering/eng.plan.md +2 -2
- package/workflows/engineering/eng.pr.md +26 -19
- package/workflows/engineering/eng.pre-pr.md +46 -13
- package/workflows/engineering/eng.spec-consolidate.md +4 -4
- package/workflows/engineering/eng.start.md +10 -8
- package/workflows/engineering/eng.work.md +4 -4
- package/workflows/engineering/qa/eng.qa-release-signoff.md +1 -66
- package/workflows/product/prod.roadmap.preview.md +10 -14
- package/workflows/product/prod.spec.ard.md +2 -2
- package/workflows/product/prod.spec.breakdown.md +2 -2
- package/workflows/product/prod.spec.epic.md +4 -4
- package/workflows/product/prod.spec.frd.md +3 -3
- package/workflows/product/prod.spec.issue.md +3 -3
- package/workflows/product/prod.spec.prd.md +5 -5
- package/bin/commands/qa-signoff.js +0 -115
|
@@ -11,7 +11,7 @@ O workflow `breakdown-subtasks` tem como objetivo **quebrar uma Tech Spec em sub
|
|
|
11
11
|
## ⚠️ REGRA INVIOLÁVEL: PRINCÍPIO DE INDEPENDÊNCIA
|
|
12
12
|
|
|
13
13
|
> **Cada subtarefa é uma unidade de entrega completa e independente.**
|
|
14
|
-
> Cada subtarefa será um card no `$TASK_MANAGER` com **sua própria branch, seu próprio commit e seu próprio deploy**.
|
|
14
|
+
> Cada subtarefa será um card no `$TASK_MANAGER` (criado pela pessoa a partir do Markdown que este comando entrega) com **sua própria branch, seu próprio commit e seu próprio deploy**.
|
|
15
15
|
> Por isso, a subtarefa precisa ser **mergeável isoladamente sem quebrar o sistema**.
|
|
16
16
|
|
|
17
17
|
**Toda subtarefa deve ser uma fatia vertical completa (vertical slice):**
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## Propósito
|
|
6
6
|
|
|
7
|
-
O workflow `pr` tem como objetivo **
|
|
7
|
+
O workflow `pr` tem como objetivo **gerar o `pull-request.md` e, depois da pergunta (regra de ouro), fazer o push e abrir um Merge Request** seguindo os padrões do time.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -137,11 +137,11 @@ sempre utiliza a branch main)
|
|
|
137
137
|
│ ↓ │
|
|
138
138
|
│ 4. COMMIT → Mensagem padronizada │
|
|
139
139
|
│ ↓ │
|
|
140
|
-
│ 5. PUSH → Enviar para remote
|
|
140
|
+
│ 5. PUSH → Enviar para remote (depois da Fase 0) │
|
|
141
141
|
│ ↓ │
|
|
142
|
-
│ 6. CRIAR MR (desenvolvedor) →
|
|
142
|
+
│ 6. CRIAR MR (desenvolvedor) → Template, depois da Fase 0 │
|
|
143
143
|
│ ↓ │
|
|
144
|
-
│ 7.
|
|
144
|
+
│ 7. ORIENTAR (desenvolvedor) → Mover o card para "In Review"│
|
|
145
145
|
│ │
|
|
146
146
|
└─────────────────────────────────────────────────────────────┘
|
|
147
147
|
```
|
|
@@ -199,6 +199,8 @@ sempre utiliza a branch main)
|
|
|
199
199
|
|
|
200
200
|
### Fase 4: Push
|
|
201
201
|
|
|
202
|
+
O push só sai depois da escolha de publicar da Fase 0 do `eng.pr` (regra de ouro, `eng.integrations-rules.md`).
|
|
203
|
+
|
|
202
204
|
1. **Enviar para remote**
|
|
203
205
|
```bash
|
|
204
206
|
git push -u origin {nome-da-branch}
|
|
@@ -331,8 +333,8 @@ Antes de considerar o PR completo:
|
|
|
331
333
|
## Sessão e publicação
|
|
332
334
|
|
|
333
335
|
- O texto do PR fica em **`$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/pull-request.md`**, aprovado pelo usuário.
|
|
334
|
-
- **Publicar (push + MR/PR) só com a escolha "Revisar o texto e publicar" (depois da aprovação do texto) ou "Publicar sem revisar o texto"** da Fase 0 (`eng.transitions-rules.md`). Com "Só gerar os arquivos", o arquivo fica na sessão e nada é enviado.
|
|
335
|
-
- **A sessão nunca é apagada por este comando:** o `/eng.spec-consolidate`, que roda depois do merge, precisa do `architecture.md`, do `plan.md`, do `gate-checklist.md` e do `pull-request.md`. A pessoa apaga à mão quando quiser.
|
|
336
|
+
- **Publicar (push + MR/PR) só com a escolha "Revisar o texto e publicar" (depois da aprovação do texto) ou "Publicar sem revisar o texto"** da Fase 0 (`eng.transitions-rules.md`). Com "Só gerar os arquivos" (na Fase 0 ou no `[Só gerar os arquivos]` da revisão do texto), o arquivo fica na sessão e nada é enviado.
|
|
337
|
+
- **A sessão nunca é apagada por este comando:** o `/eng.spec-consolidate`, que roda depois do merge, precisa do `architecture.md`, do `plan.md`, do `gate-checklist.md` (com as rodadas anteriores `gate-checklist-rodada-{N}.md`, se houver) e do `pull-request.md`. A pessoa apaga à mão quando quiser.
|
|
336
338
|
|
|
337
339
|
## daily.md (registro do esforço)
|
|
338
340
|
|
|
@@ -87,6 +87,8 @@ O workflow **deve sempre** terminar com:
|
|
|
87
87
|
|
|
88
88
|
1. **`gate-checklist.md`** em `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/`:
|
|
89
89
|
- semáforo (🟢 / 🟡 / 🔴), resumo, lacunas por área (o quê, onde, por que importa, sugestão, severidade, **Decisão**), evidências e PR Brief.
|
|
90
|
-
|
|
90
|
+
- `Rodada` e `Commit` no cabeçalho, as rodadas anteriores e, da rodada 2 em diante, a resolução das lacunas da rodada anterior.
|
|
91
|
+
- É sempre a rodada mais recente: ao rodar de novo na mesma sessão, o relatório existente é preservado como `gate-checklist-rodada-{N}.md` (seção "Rodadas" do `eng.pre-pr.md`). **Nunca** sobrescrever nem apagar uma rodada; renomear imediatamente antes de gravar.
|
|
92
|
+
2. **Decisões do usuário** gravadas na coluna Decisão (🔧 Corrigir / 👍 Aceitar + motivo; vazia se o usuário escolheu "Só gerar o relatório", exceto as decisões herdadas da rodada anterior).
|
|
91
93
|
3. **Pergunta** (`AskUserQuestion`) sobre registrar o resultado como comentário no card (`/eng-global-task-comment`): Não, manter só na sessão (como hoje) / Sim, só o resumo / Sim, o relatório completo. Nunca publicar sem a resposta. Freelance: não pergunta, só na sessão.
|
|
92
94
|
4. **Aguardar permissão explícita** do usuário para prosseguir para `/eng.pr`.
|
|
@@ -34,7 +34,7 @@ O `/eng.build-tech-spec` tem dois modos, escolhidos na triagem do workflow:
|
|
|
34
34
|
|
|
35
35
|
## Localização de Arquivos
|
|
36
36
|
|
|
37
|
-
> **NOTA**: Tech specs NÃO são salvas em `master-docs/`. São salvas na sessão do projeto
|
|
37
|
+
> **NOTA**: Tech specs NÃO são salvas em `master-docs/`. São salvas na sessão do projeto; o anexo na issue do board só sai depois da pergunta (regra de ouro; Jira pela `acli`, em GitHub/GitLab a pessoa anexa).
|
|
38
38
|
|
|
39
39
|
Arquivos são referenciados usando `$IDE/` que resolve automaticamente para a pasta do IDE atual (`.windsurf/`, `.claude/`, `.cursor/`).
|
|
40
40
|
|
|
@@ -82,10 +82,10 @@ $SESSION_FOLDER/{TASK_MANAGER_KEY}/tech-spec.md
|
|
|
82
82
|
|
|
83
83
|
### Por que na sessão?
|
|
84
84
|
|
|
85
|
-
1. **Anexo
|
|
85
|
+
1. **Anexo na issue**: a tech spec pode ser anexada na issue do board (Jira pela `acli`; em GitHub/GitLab a pessoa anexa, orientada), só depois de mostrar o que vai e perguntar (regra de ouro, `eng.integrations-rules.md`); sem o Sim, fica só na sessão
|
|
86
86
|
2. **Sessão temporária**: A sessão é usada durante o desenvolvimento e pode ser limpa depois
|
|
87
87
|
3. **Evita poluição**: Não cria arquivos permanentes no repositório de código
|
|
88
|
-
4. **Rastreabilidade**:
|
|
88
|
+
4. **Rastreabilidade**: o board (`TASK_MANAGER`) é o sistema oficial das tarefas; a criação automática de subtarefas é só no Jira (`acli`), nos outros a pessoa cria pelo template
|
|
89
89
|
|
|
90
90
|
### Nomenclatura
|
|
91
91
|
|
|
@@ -106,14 +106,14 @@ $SESSION_FOLDER/{TASK_MANAGER_KEY}/tech-spec.md
|
|
|
106
106
|
|
|
107
107
|
**O que isso significa:**
|
|
108
108
|
|
|
109
|
-
- Link para história do
|
|
109
|
+
- Link para a história (card do board) no topo do documento
|
|
110
110
|
- Referência aos critérios de aceitação de produto
|
|
111
111
|
- Conexão clara entre requisitos de negócio e decisões técnicas
|
|
112
112
|
- IDs de subtarefas vinculadas à história pai
|
|
113
113
|
|
|
114
114
|
**Validação:**
|
|
115
115
|
|
|
116
|
-
- [ ] Link para
|
|
116
|
+
- [ ] Link para o card funciona
|
|
117
117
|
- [ ] Critérios de aceitação de produto estão documentados
|
|
118
118
|
- [ ] Cada subtarefa referencia a tech spec
|
|
119
119
|
- [ ] Tech spec referencia PRD/FRD se existirem
|
|
@@ -616,9 +616,9 @@ Use formato YAML frontmatter:
|
|
|
616
616
|
---
|
|
617
617
|
name: { nome descritivo da tech spec }
|
|
618
618
|
id: { TECH-001 }
|
|
619
|
-
related_story: { STORY-XXX do
|
|
619
|
+
related_story: { STORY-XXX do board }
|
|
620
620
|
epic_related: { EPIC-XXX se existir }
|
|
621
|
-
link_task: { URL da história no
|
|
621
|
+
link_task: { URL da história no board }
|
|
622
622
|
created_at: { YYYY-MM-DD }
|
|
623
623
|
updated_at: { YYYY-MM-DD }
|
|
624
624
|
status: { Draft, In Review, Approved, Implemented }
|
|
@@ -772,6 +772,8 @@ Use este checklist antes de finalizar uma tech spec:
|
|
|
772
772
|
|
|
773
773
|
## Integração com Jira
|
|
774
774
|
|
|
775
|
+
> **Escopo:** a criação automática de subtarefas é só no Jira, pela `acli`, depois da pergunta (regra de ouro); em GitHub e GitLab a pessoa cria pelo template.
|
|
776
|
+
|
|
775
777
|
### Criação de Subtarefas
|
|
776
778
|
|
|
777
779
|
**Formato de Descrição no Jira:**
|
|
@@ -19,8 +19,8 @@ Lida pelos workflows `eng.start`, `eng.plan`, `eng.work`, `eng.pre-pr` e `eng.pr
|
|
|
19
19
|
3. **A resposta é a aprovação.** "Aprovar e seguir" ou "Aprovar e parar aqui" valem como a aprovação explícita que as rules de cada comando exigem. Sem uma dessas respostas, nada avança.
|
|
20
20
|
4. **Seguir para o próximo comando:** se a IDE permite chamar outro comando (no Claude Code, pelo Skill tool), chame-o com o mesmo `{TASK_MANAGER_KEY}`; senão, mostre o comando pronto para colar.
|
|
21
21
|
5. **Consolidado de links, acumulado a cada etapa.** Ao terminar e antes de **cada pergunta de transição** (todas as da tabela "Transições", inclusive as do início, como "O que fazer com o PR?", e mesmo quando a pergunta é repetida), cada comando mostra o bloco "📄 Arquivos da sessão" com **todos** os arquivos que já existem na sessão, e não só os da etapa, para que a lista fique sempre visível até o `eng.spec-consolidate`:
|
|
22
|
-
- Ordem do ciclo: `context.md`, `architecture.md`, `plan.md`, `gate-checklist.md`, `pull-request.md`, `daily.md`, as versões `{nome}.public.md` (se houver) e os arquivos de `consolidation/` (do `eng.spec-consolidate`). Só entra o que existe.
|
|
23
|
-
- Cada item é um link markdown com caminho relativo ao workspace (ex.: `[architecture.md](.jarvis/sessions/eng/TASK-123/architecture.md)`), seguido de uma **nota curta de estado** entre parênteses: `novo` ou `atualizado` quando foi gerado ou alterado nesta etapa, mais o que mudou ou o que o arquivo contém (ex.: `plan.md (atualizado, com comentários por fase)`, `architecture.md (aprovado; 5 questões decididas)`, `daily.md (novo; aprovado, com timesheet)`). Os arquivos que não mudaram na etapa aparecem sem nota ou com o estado em que ficaram.
|
|
22
|
+
- Ordem do ciclo: `context.md`, `architecture.md`, `plan.md`, as rodadas anteriores `gate-checklist-rodada-{N}.md` (uma por rodada, em ordem crescente do número do nome, se houver), `gate-checklist.md`, `pull-request.md`, `daily.md`, as versões `{nome}.public.md` (se houver) e os arquivos de `consolidation/` (do `eng.spec-consolidate`). Só entra o que existe.
|
|
23
|
+
- Cada item é um link markdown com caminho relativo ao workspace (ex.: `[architecture.md](.jarvis/sessions/eng/TASK-123/architecture.md)`), seguido de uma **nota curta de estado** entre parênteses: `novo` ou `atualizado` quando foi gerado ou alterado nesta etapa, mais o que mudou ou o que o arquivo contém (ex.: `plan.md (atualizado, com comentários por fase)`, `architecture.md (aprovado; 5 questões decididas)`, `daily.md (novo; aprovado, com timesheet)`, `gate-checklist-rodada-1.md (rodada 1; 27 lacunas)`, `gate-checklist.md (rodada 2, atual; 13 lacunas)`). Os arquivos que não mudaram na etapa aparecem sem nota ou com o estado em que ficaram.
|
|
24
24
|
- A lista é **reimpressa inteira** a cada etapa, sem esconder os arquivos anteriores.
|
|
25
25
|
- Logo abaixo, "🔗 Links" com o card/issue e, quando existir, o PR/MR.
|
|
26
26
|
- **Antes de cada pergunta de transição**, escreva primeiro essa mensagem em markdown, com o resumo, e só então abra o `AskUserQuestion`. Isso vale também para as perguntas que não dependem de um arquivo: a lista é o mapa de onde a tarefa está no ponto de decisão. Na pergunta que depende de um arquivo (`architecture.md`, `plan.md`, `gate-checklist.md`, `pull-request.md`, `daily.md`), o resumo é o desse arquivo. A pergunta fica curta, só com a decisão e o nome do arquivo em texto simples; ela espera a resposta enquanto a pessoa abre e lê com calma. Não dependa do link dentro do `AskUserQuestion`.
|
|
@@ -44,7 +44,7 @@ Lida pelos workflows `eng.start`, `eng.plan`, `eng.work`, `eng.pre-pr` e `eng.pr
|
|
|
44
44
|
| `eng.work` | Início | Depois do work | Rodar o `/eng.pre-pr` · Rodar o `/eng.pr` · Fluxo normal (como hoje: o usuário segue os próximos comandos manualmente) |
|
|
45
45
|
| `eng.pre-pr` | Fim | Com lacunas: "Como seguir?" (depois da mensagem com o link do relatório) | Corrigir as lacunas agora · Parar aqui para corrigir à mão (como hoje) · Abrir o PR assim mesmo |
|
|
46
46
|
| `eng.pre-pr` | Fim | Sem lacunas: "Como seguir?" | Abrir o PR agora · Parar aqui (como hoje) |
|
|
47
|
-
| `eng.pr` | Início | "O que fazer com o PR?" | Revisar o texto e publicar (como hoje) · Publicar sem revisar o texto · Só gerar os arquivos (o usuário abre o PR à mão) |
|
|
47
|
+
| `eng.pr` | Início | "O que fazer com o PR?" | Revisar o texto e publicar (como hoje) · Publicar sem revisar o texto · Só gerar os arquivos (o usuário abre o PR à mão; quem escolheu revisar também tem o `[Só gerar os arquivos]` na revisão da 4.2) |
|
|
48
48
|
| `eng.pr` | Fim | "O PR já foi aprovado e mergeado?" | Ainda não (como hoje) · Sim, rodar o `/eng.spec-consolidate` |
|
|
49
49
|
|
|
50
50
|
Nas perguntas "Depois do work" e "O que fazer com o plano?", a opção "como hoje" não é a primeira (em "Depois do work" fica por último), por escolha de produto: as primeiras opções são as ações que o usuário mais quer. Mesmo assim, é o fluxo que vale quando o usuário não escolhe.
|
package/skills/AGENTS.md
CHANGED
|
@@ -229,7 +229,7 @@ Skills são invocados de formas diferentes dependendo da IDE:
|
|
|
229
229
|
|-------------------|-------|
|
|
230
230
|
| `/jarvis-init` | `jarvis-init` |
|
|
231
231
|
| `/warm-up` | `jarvis-docs-central` (só o recorte escolhido), `context7` (se o MCP estiver disponível) |
|
|
232
|
-
| `eng.start` | `jarvis-docs-central` (
|
|
232
|
+
| `eng.start` | `jarvis-docs-central` (funcionalidades implementadas; PRD/ARD vêm de `docs/jarvis/`) |
|
|
233
233
|
| `/eng.docs` | `eng-global-docs-write`, `jarvis-docs-index` |
|
|
234
234
|
| `/eng.pre-pr` | `eng-qa-planner`, `eng-global-docs-write`, `jarvis-docs-central` (detectar docs) |
|
|
235
235
|
| `/eng.pr` | `eng-global-pr` |
|
|
@@ -254,7 +254,7 @@ Skills são invocados de formas diferentes dependendo da IDE:
|
|
|
254
254
|
| RPA, web scraping, Puppeteer, extração de dados, parsing, ETL | `eng-automation` (base) + `AUTOMATION_SPECIALIZATIONS` |
|
|
255
255
|
| Criar robô RPA novo ou manter existente (new|update + card) | `eng.rpa.robot` (workflow) |
|
|
256
256
|
| Planejar capacidade QA da sprint: risco por task, alocação entre QAs e Quality Champions | workflow `eng.qa-sprint-planning` |
|
|
257
|
-
| Sign-off QA pré-deploy: verifica cobertura, bugs abertos, produz GO/NO-GO
|
|
257
|
+
| Sign-off QA pré-deploy: verifica cobertura, bugs abertos, produz GO/NO-GO | workflow `eng.qa-release-signoff` |
|
|
258
258
|
| Pipelines ETL/ELT, modelagem, qualidade, BI/dashboards, governança, onboarding de fonte, orquestração | `eng-data` (base) + `DATA_SPECIALIZATIONS` |
|
|
259
259
|
| Criar pipeline novo (docs, qualidade, idempotência, gold) | `data.new-pipeline` |
|
|
260
260
|
| Criar contrato de dados para squad requisitante | `data.contract` |
|
package/skills/SKILLS-ROADMAP.md
CHANGED
|
@@ -138,7 +138,7 @@ Removidas: `checkin`, `checkout`, `daily`, `task-log`, `send-priority`, `sent-pr
|
|
|
138
138
|
- **Status**: `criado`
|
|
139
139
|
|
|
140
140
|
### `jarvis-report-issue` ✅
|
|
141
|
-
- **Trigger**: auto-report de bugs no framework Jarvis
|
|
141
|
+
- **Trigger**: auto-report de bugs no framework Jarvis pela CLI do host (`gh`), depois da pergunta
|
|
142
142
|
- **Status**: `criado`
|
|
143
143
|
|
|
144
144
|
### `jarvis-docs-index` / `jarvis-docs-central` / `jarvis-context-detect` ✅
|
|
@@ -56,8 +56,8 @@ Rel(workflows, sessions, "Cria/Atualiza", "Filesystem")
|
|
|
56
56
|
Rel(workflows, docs, "Gera", "Filesystem")
|
|
57
57
|
|
|
58
58
|
' === RELACIONAMENTOS EXTERNOS ===
|
|
59
|
-
Rel(workflows, jira, "Sincroniza", "
|
|
60
|
-
Rel(workflows, gitlab, "Cria MR", "
|
|
59
|
+
Rel(workflows, jira, "Sincroniza", "CLI oficial")
|
|
60
|
+
Rel(workflows, gitlab, "Cria MR", "CLI oficial")
|
|
61
61
|
|
|
62
62
|
@enduml
|
|
63
63
|
```
|
|
@@ -87,8 +87,8 @@ Rel(workflows, gitlab, "Cria MR", "REST API")
|
|
|
87
87
|
| Skills Engine | ENV Config | Lê config | Filesystem |
|
|
88
88
|
| Workflow Engine | Sessions | Cria/Atualiza | Filesystem |
|
|
89
89
|
| Workflow Engine | Documentation | Gera | Filesystem |
|
|
90
|
-
| Workflow Engine | Jira | Sincroniza |
|
|
91
|
-
| Workflow Engine | GitLab | Cria MR |
|
|
90
|
+
| Workflow Engine | Jira | Sincroniza | CLI oficial |
|
|
91
|
+
| Workflow Engine | GitLab | Cria MR | CLI oficial |
|
|
92
92
|
|
|
93
93
|
## ADRs Relacionados
|
|
94
94
|
|
|
@@ -34,8 +34,8 @@ Rel(dev, jarvis, "Usa para criar specs e código", "CLI/IDE")
|
|
|
34
34
|
Rel(tech_lead, jarvis, "Usa para documentar arquitetura", "CLI/IDE")
|
|
35
35
|
Rel(pm, jarvis, "Usa para criar PRDs e histórias", "CLI/IDE")
|
|
36
36
|
|
|
37
|
-
Rel(jarvis, jira, "Sincroniza tarefas", "
|
|
38
|
-
Rel(jarvis, gitlab, "Cria branches e MRs", "
|
|
37
|
+
Rel(jarvis, jira, "Sincroniza tarefas", "CLI oficial")
|
|
38
|
+
Rel(jarvis, gitlab, "Cria branches e MRs", "CLI oficial")
|
|
39
39
|
Rel(jarvis, slack, "Envia notificações", "Webhook")
|
|
40
40
|
Rel_L(ide, jarvis, "Integra via extensões", "MCP")
|
|
41
41
|
|
|
@@ -50,8 +50,8 @@ Rel_L(ide, jarvis, "Integra via extensões", "MCP")
|
|
|
50
50
|
| Desenvolvedor | Pessoa | Engenheiro que implementa features | - |
|
|
51
51
|
| Tech Lead | Pessoa | Lidera decisões técnicas | - |
|
|
52
52
|
| Product Manager | Pessoa | Define requisitos de produto | - |
|
|
53
|
-
| Jira | Sistema Externo | Gerenciamento de tarefas |
|
|
54
|
-
| GitLab | Sistema Externo | Controle de versão |
|
|
53
|
+
| Jira | Sistema Externo | Gerenciamento de tarefas | CLI oficial |
|
|
54
|
+
| GitLab | Sistema Externo | Controle de versão | CLI oficial |
|
|
55
55
|
| Slack | Sistema Externo | Comunicação | Webhook |
|
|
56
56
|
| IDE | Sistema Externo | Ambiente de desenvolvimento | MCP |
|
|
57
57
|
|
|
@@ -62,8 +62,8 @@ Rel_L(ide, jarvis, "Integra via extensões", "MCP")
|
|
|
62
62
|
| Desenvolvedor | JARVIS | Usa para criar specs e código | CLI/IDE |
|
|
63
63
|
| Tech Lead | JARVIS | Usa para documentar arquitetura | CLI/IDE |
|
|
64
64
|
| Product Manager | JARVIS | Usa para criar PRDs e histórias | CLI/IDE |
|
|
65
|
-
| JARVIS | Jira | Sincroniza tarefas |
|
|
66
|
-
| JARVIS | GitLab | Cria branches e MRs |
|
|
65
|
+
| JARVIS | Jira | Sincroniza tarefas | CLI oficial |
|
|
66
|
+
| JARVIS | GitLab | Cria branches e MRs | CLI oficial |
|
|
67
67
|
| JARVIS | Slack | Envia notificações | Webhook |
|
|
68
68
|
| IDE | JARVIS | Integra via extensões | MCP |
|
|
69
69
|
|
|
@@ -154,7 +154,7 @@ Este skill é **exclusivamente de investigação**:
|
|
|
154
154
|
|
|
155
155
|
**0.1 Buscar o card**
|
|
156
156
|
|
|
157
|
-
|
|
157
|
+
Ler o card pela CLI oficial do `$TASK_MANAGER` (ação `view` do catálogo, `eng.integrations-rules.md`; sem REST nem MCP) ou pedir ao usuário que cole o conteúdo:
|
|
158
158
|
- Título e descrição do bug
|
|
159
159
|
- Passos para reproduzir
|
|
160
160
|
- Comportamento esperado vs. observado
|
|
@@ -45,6 +45,8 @@ Método para investigar bugs sem chute. Vale para qualquer linguagem, framework
|
|
|
45
45
|
|
|
46
46
|
## Orçamento de etapas
|
|
47
47
|
|
|
48
|
+
> Parecido com o `ReAct` (investigar um passo por vez, com hipótese e evidência), mas sem o campo `raciocínio` obrigatório a cada passo. Ver #171.
|
|
49
|
+
|
|
48
50
|
Você investiga sozinho, sem pedir confirmação a cada passo, dentro de um orçamento pela urgência do `context.md` (CDD):
|
|
49
51
|
|
|
50
52
|
| Urgência | Etapas (leitura, busca ou verificação) |
|
|
@@ -61,6 +63,8 @@ Se **3 correções** já foram tentadas e nenhuma resolveu, pare: cada correçã
|
|
|
61
63
|
|
|
62
64
|
## Crítico antes de concluir
|
|
63
65
|
|
|
66
|
+
> Parecido com o `Reflection` (passe crítico antes de finalizar), mas sem nota de 0 a 100 nem rodadas de correção, e sem registro de lições. Ver #171 e #169.
|
|
67
|
+
|
|
64
68
|
Antes de declarar a causa, faça um passe contra a sua própria conclusão: que evidência a derrubaria? A reprodução foi feita de fato, ou só lida? Há outra hipótese que explica o mesmo sintoma? Se a evidência for só indireta, rebaixe o veredito.
|
|
65
69
|
|
|
66
70
|
## Veredito
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: eng-global-pr
|
|
3
|
-
description: Cria branch
|
|
3
|
+
description: Cria a branch e o commit, gera o texto do Merge Request e, depois da pergunta (regra de ouro), faz o push e abre o MR, seguindo os padrões do time. Use quando precisar submeter código para revisão após completar uma tarefa.
|
|
4
4
|
argument-hint: "{TASK_MANAGER_KEY} [branch-destino]"
|
|
5
5
|
disable-model-invocation: false
|
|
6
|
-
allowed-tools: Read Write Edit Grep Glob Bash
|
|
6
|
+
allowed-tools: Read Write Edit Grep Glob Bash
|
|
7
7
|
metadata:
|
|
8
8
|
author: jarvis-team
|
|
9
9
|
version: "1.0"
|
|
@@ -16,7 +16,7 @@ Você é um **especialista em Git e processos de code review** focado em criar P
|
|
|
16
16
|
|
|
17
17
|
## Objetivo
|
|
18
18
|
|
|
19
|
-
Criar branch,
|
|
19
|
+
Criar a branch e o commit, gerar o texto do MR/PR e, só depois da pergunta (regra de ouro), fazer o push e abrir o MR (GitLab) ou PR (GitHub) pela CLI do host (`glab`/`gh`), conforme o `origin` ou o `VERSION_CONTROL` no ENV.md. O MR/PR sai pelo `jarvis vcs create-merge`, que respeita o `VERSION_CONTROL_ACCESS` (com `manual`, sai com 3 sem abrir; saídas 0/1/3/4 da `rules/engineering/eng.integrations-rules.md`). Segue:
|
|
20
20
|
- Padrão de nomenclatura de branch
|
|
21
21
|
- Convenção de commits (Conventional Commits)
|
|
22
22
|
- Template de MR preenchido corretamente
|
|
@@ -180,6 +180,8 @@ Refs: TASK-123"
|
|
|
180
180
|
|
|
181
181
|
### 4. Push
|
|
182
182
|
|
|
183
|
+
Os Passos 4 e 5 só acontecem depois da pergunta (regra de ouro, `eng.integrations-rules.md`). Monte antes o texto do MR (preencher o template, Passo 5), mostre-o e pergunte com `AskUserQuestion` (**Sim, publicar** / **Não, manter só na sessão**). Sem o Sim, grave o `pull-request.md` na sessão e pare, sem push nem MR. Quando o skill é chamado pelo `/eng.pr`, a escolha da Fase 0 dele vale como essa pergunta (exceção da regra) e não se pergunta de novo.
|
|
184
|
+
|
|
183
185
|
```bash
|
|
184
186
|
git push -u origin {NOME_DA_BRANCH}
|
|
185
187
|
```
|
|
@@ -213,19 +215,20 @@ Usar template oficial em `$IDE/templates/engineering/PR-template.md`.
|
|
|
213
215
|
|
|
214
216
|
### 6. Atualizar o card (`TASK_MANAGER`)
|
|
215
217
|
|
|
216
|
-
Se `TASK_MANAGER` estiver vazio (freelance):
|
|
218
|
+
Se `TASK_MANAGER` estiver vazio (freelance): pule só o item 1; o item 2 registra o link no `task-log.md` pelo skill.
|
|
217
219
|
|
|
218
|
-
1.
|
|
219
|
-
2.
|
|
220
|
+
1. Orientar a pessoa a mover o card para **"In Review"** (ou equivalente do vendor); o Jarvis não move card
|
|
221
|
+
2. Publicar o comentário com o link do MR via `eng-global-task-comment`, que mostra o texto e pergunta (regra de ouro, `eng.integrations-rules.md`)
|
|
220
222
|
|
|
221
223
|
### 7. Processar Code Review
|
|
222
224
|
|
|
223
225
|
1. Aguardar comentários da ferramenta de code review
|
|
224
226
|
2. Analisar cada comentário
|
|
225
|
-
3. Aplicar correções se necessário:
|
|
227
|
+
3. Aplicar correções se necessário. O push das correções só sai depois da pergunta com `AskUserQuestion` (regra de ouro, `eng.integrations-rules.md`); sem o Sim, o commit fica local:
|
|
226
228
|
```bash
|
|
227
229
|
git add {arquivos}
|
|
228
230
|
git commit -m "fix: corrigir {problema} conforme code review"
|
|
231
|
+
# só com o Sim da pergunta acima
|
|
229
232
|
git push
|
|
230
233
|
```
|
|
231
234
|
|
|
@@ -237,7 +240,7 @@ Após MR criado com sucesso, **solicitar confirmação do usuário**:
|
|
|
237
240
|
🧹 Deseja limpar a sessão?
|
|
238
241
|
|
|
239
242
|
A pasta $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/ será removida.
|
|
240
|
-
|
|
243
|
+
O texto do PR permanece no MR e o que foi enviado ao card fica no card; o que você recusou (por exemplo, o `task-comment-*.md` do link do MR) só existe nesta pasta e será apagado junto; no freelance, o `task-log.md` e, com "Só gerar os arquivos", o `pull-request.md` também ficam só aqui.
|
|
241
244
|
|
|
242
245
|
Confirmar? (s/n)
|
|
243
246
|
```
|
|
@@ -253,7 +256,7 @@ rm -rf $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
|
|
|
253
256
|
|
|
254
257
|
| Passo | Skill | Condição |
|
|
255
258
|
|-------|-------|----------|
|
|
256
|
-
| Passo 6 — Atualizar o card | `/eng-global-task-comment` |
|
|
259
|
+
| Passo 6 — Atualizar o card | `/eng-global-task-comment` | Com o Sim da pergunta (regra de ouro): comentário no card com o link do MR (freelance: registro no `task-log.md` da sessão) |
|
|
257
260
|
|
|
258
261
|
---
|
|
259
262
|
|
|
@@ -275,7 +278,7 @@ rm -rf $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
|
|
|
275
278
|
- ✅ Usar mensagem de commit padronizada
|
|
276
279
|
- ✅ Criar branch no padrão `{TASK_MANAGER_KEY}-{titulo}`
|
|
277
280
|
- ✅ Preencher template do MR completamente
|
|
278
|
-
- ✅
|
|
281
|
+
- ✅ Orientar a pessoa a mover o card para "In Review" (o Jarvis não move card)
|
|
279
282
|
- ✅ Limpar sessão após criar MR
|
|
280
283
|
|
|
281
284
|
---
|
|
@@ -294,7 +297,7 @@ rm -rf $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
|
|
|
294
297
|
- [ ] Push realizado
|
|
295
298
|
- [ ] MR criado com template preenchido
|
|
296
299
|
- [ ] Branch destino correta
|
|
297
|
-
- [ ]
|
|
300
|
+
- [ ] Pessoa orientada a mover o card para "In Review"
|
|
298
301
|
- [ ] Sessão limpa
|
|
299
302
|
|
|
300
303
|
---
|
|
@@ -307,7 +310,7 @@ rm -rf $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
|
|
|
307
310
|
📋 Resumo:
|
|
308
311
|
- Branch: {NOME_DA_BRANCH}
|
|
309
312
|
- MR: {LINK_DO_MR}
|
|
310
|
-
- Card ({TASK_MANAGER}): {TASK_MANAGER_KEY}
|
|
313
|
+
- Card ({TASK_MANAGER}): {TASK_MANAGER_KEY} (mover para "In Review" é com a pessoa)
|
|
311
314
|
|
|
312
315
|
📊 Validações:
|
|
313
316
|
- Testes: ✅ Passando
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: eng-global-task-comment
|
|
3
3
|
description: >
|
|
4
|
-
Adiciona um comentário no card do TASK_MANAGER (Jira, GitHub Issues ou GitLab Issues) pela CLI oficial do vendor; sem board (freelance), registra no task-log.md da sessão.
|
|
5
|
-
Trigger: registrar no card um evento relevante: desvio do plano, auditoria do Advisor, bloqueio
|
|
4
|
+
Adiciona um comentário no card do TASK_MANAGER (Jira, GitHub Issues ou GitLab Issues) pela CLI oficial do vendor, só depois de mostrar o texto e o usuário dizer Sim (regra de ouro); sem board (freelance), registra no task-log.md da sessão.
|
|
5
|
+
Trigger: registrar no card um evento relevante: desvio do plano, auditoria do Advisor, bloqueio, link do MR ou outro evento que você aprove (nunca início ou fim de etapa).
|
|
6
6
|
argument-hint: "{TASK_MANAGER_KEY} {mensagem}"
|
|
7
7
|
disable-model-invocation: false
|
|
8
8
|
allowed-tools: Read Write Bash
|
|
@@ -48,7 +48,15 @@ Formato (criar o arquivo se não existir; só acrescentar, nunca sobrescrever):
|
|
|
48
48
|
```
|
|
49
49
|
````
|
|
50
50
|
|
|
51
|
-
A cada entrada nova: uma linha nova no fim da tabela do índice e a seção nova no fim do arquivo. `{evento}`: desvio do plano, auditoria do Advisor, bloqueio, link do MR
|
|
51
|
+
A cada entrada nova: uma linha nova no fim da tabela do índice e a seção nova no fim do arquivo. `{evento}`: desvio do plano, auditoria do Advisor, bloqueio, link do MR, gate do pre-pr ou outro evento aprovado.
|
|
52
|
+
|
|
53
|
+
### 0.5 Mostrar e perguntar (com board)
|
|
54
|
+
|
|
55
|
+
**Regra de ouro** (`rules/engineering/eng.integrations-rules.md`): nada é comentado sem perguntar. Antes de qualquer envio, mostre o texto da mensagem e pergunte com `AskUserQuestion`: **"Publicar este comentário no card {TASK_MANAGER_KEY}?"** → **Sim, publicar** / **Não, manter só na sessão (como hoje)**. A pergunta vale para cada comentário, mesmo quando o workflow que chamou o skill já perguntou algo parecido.
|
|
56
|
+
|
|
57
|
+
- **`TASK_MANAGER_ACCESS` `manual` ou inválido:** não há envio possível; pule a pergunta e faça o mesmo que no Não, avisando que o texto está no `.md`.
|
|
58
|
+
- **Sim:** siga para o passo 1.
|
|
59
|
+
- **Não:** não envie. Grave o `.md` do passo 3 (`task-comment-{YYYYMMDD-HHMM}.md`) e diga `Comentário não enviado; o texto está em {caminho do .md}`, sem o aviso de falha do passo 3. É lá que o texto recusado fica (na auditoria do Advisor, ele também já está no `architecture.md`). O fluxo principal segue.
|
|
52
60
|
|
|
53
61
|
### 1. `jarvis tasks comment`
|
|
54
62
|
|
|
@@ -44,7 +44,7 @@ B: História / Task — implementação específica, pronta para desenvolvimento
|
|
|
44
44
|
|
|
45
45
|
**Se recebeu URL/ID do $TASK_MANAGER:**
|
|
46
46
|
|
|
47
|
-
-
|
|
47
|
+
- Leia o card pela CLI oficial do `$TASK_MANAGER` (ação `view` do catálogo, `eng.integrations-rules.md`), sem REST nem MCP; sem acesso, peça para colar o conteúdo
|
|
48
48
|
- **Épico**: extraia título, descrição, objetivo de negócio, escopo e iniciativa relacionada
|
|
49
49
|
- **História**: extraia título, descrição, critérios de aceitação, épico relacionado, comentários relevantes
|
|
50
50
|
|
|
@@ -322,8 +322,8 @@ Use as ferramentas de busca para identificar:
|
|
|
322
322
|
|
|
323
323
|
Verifique se há documentação relevante:
|
|
324
324
|
|
|
325
|
-
- **PRD relacionada**: `$DOCS_FOLDER/**/*prd*.md` ou anexos no
|
|
326
|
-
- **FRD relacionada**: `$DOCS_FOLDER/**/*frd*.md` ou anexos no
|
|
325
|
+
- **PRD relacionada**: `$DOCS_FOLDER/**/*prd*.md` ou anexos no card (lidos pela CLI ou colados pelo usuário)
|
|
326
|
+
- **FRD relacionada**: `$DOCS_FOLDER/**/*frd*.md` ou anexos no card (lidos pela CLI ou colados pelo usuário)
|
|
327
327
|
- **ADRs (Architecture Decision Records)**: `$DOCS_FOLDER/ARD/*.md` ou `./sessions/**/adr.md`
|
|
328
328
|
- **README e documentação técnica**: `README.md`, `ARCHITECTURE.md`, `API.md`
|
|
329
329
|
|
|
@@ -671,7 +671,7 @@ Para cada caso extremo/erro:
|
|
|
671
671
|
|
|
672
672
|
Exemplo: `$SESSIONS_DIR/eng/story-123/tech-spec.md`
|
|
673
673
|
|
|
674
|
-
> **IMPORTANTE**: A tech spec é salva na sessão
|
|
674
|
+
> **IMPORTANTE**: A tech spec é salva na sessão. O anexo na issue é opcional e só sai na 6.4, depois da aprovação final e da pergunta.
|
|
675
675
|
|
|
676
676
|
#### 6.2 Revisão de Qualidade
|
|
677
677
|
|
|
@@ -707,17 +707,23 @@ Apresente ao usuário:
|
|
|
707
707
|
|
|
708
708
|
**Aguarde aprovação final do usuário.**
|
|
709
709
|
|
|
710
|
+
#### 6.4 Anexo da tech spec na issue (opcional, com pergunta)
|
|
711
|
+
|
|
712
|
+
Só com board configurado (no freelance não há issue: pule este passo). Só há pergunta quando o anexo vai sair: no Jira, com a `acli` logada que anexa arquivo (confira no `--help`) e `TASK_MANAGER_ACCESS=cli` (ou vazio). Nesse caso: para anexá-la na issue do board, depois da aprovação da 6.3, mostre o que vai e pergunte com `AskUserQuestion` (regra de ouro, `eng.integrations-rules.md`): **Sim, anexar** / **Não, manter só na sessão**; com o Sim, anexe pela `acli`; sem o Sim, a tech spec fica só na sessão. Nos demais casos (Jira sem a `acli` logada, `acli` que não anexa, acesso manual, GitHub ou GitLab, cuja CLI não anexa arquivo à issue) não há envio e, portanto, nenhuma pergunta: oriente a pessoa a anexar à mão. A mensagem da 8.2 diz o que aconteceu.
|
|
713
|
+
|
|
710
714
|
---
|
|
711
715
|
|
|
712
716
|
### ═══════════════════════════════════════════════
|
|
713
717
|
|
|
714
|
-
### FASE 7: Criação de Subtarefas no Jira
|
|
718
|
+
### FASE 7: Criação de Subtarefas (automática só no Jira)
|
|
715
719
|
|
|
716
720
|
### ═══════════════════════════════════════════════
|
|
717
721
|
|
|
722
|
+
> **Escopo:** a criação automática de subtarefas é só no Jira, pela `acli`. Em GitHub ou GitLab, ou no Jira sem a `acli` logada ou com `TASK_MANAGER_ACCESS=manual`, esta fase entrega o template formatado e as instruções para a pessoa criar as subtarefas à mão; como não há envio, a 7.3 não faz a pergunta nesse caso. A generalização para `gh`/`glab` fica para uma issue à parte.
|
|
723
|
+
|
|
718
724
|
#### 7.1 Preparação para Criação
|
|
719
725
|
|
|
720
|
-
**Se o projeto usa Jira
|
|
726
|
+
**Se o projeto usa Jira, a `acli` está logada e `TASK_MANAGER_ACCESS=cli` ou vazio (vazio vale como `cli`, com o aviso do `/jarvis-init`), com `acli jira workitem create` (conferindo os flags no `--help`; a criação só sai na 7.3, depois da pergunta, regra de ouro):**
|
|
721
727
|
|
|
722
728
|
Para cada subtarefa no plano:
|
|
723
729
|
|
|
@@ -729,26 +735,27 @@ Para cada subtarefa no plano:
|
|
|
729
735
|
- Estimativa: {X horas}
|
|
730
736
|
- Labels: `tech-spec`, `{área}` (ex: backend, frontend)
|
|
731
737
|
|
|
732
|
-
#### 7.2 Estrutura da Descrição no
|
|
738
|
+
#### 7.2 Estrutura da Descrição no board
|
|
739
|
+
|
|
740
|
+
Use o formato **Descrição da subtarefa no board** de `$IDE/templates/engineering/tech-spec-delivery-template.md` (seções: Descrição, Arquivos a Modificar/Criar, Critérios de Aceitação, Testes Requeridos, Dependências, Referência).
|
|
733
741
|
|
|
734
|
-
|
|
742
|
+
#### 7.3 Criação (Jira pela `acli`; outros boards, template)
|
|
735
743
|
|
|
736
|
-
|
|
744
|
+
Só há pergunta quando a criação vai sair: no Jira, com a `acli` logada e `TASK_MANAGER_ACCESS=cli` (ou vazio). Nos demais casos (fora do Jira, sem a `acli` ou com acesso manual) não há envio e, portanto, nenhuma pergunta: entregue o template formatado direto. Quando a criação vai sair, antes de criar as subtarefas, mostre o texto e pergunte com `AskUserQuestion` (**Sim, publicar** / **Não, manter só na sessão**), regra de ouro de `eng.integrations-rules.md`; sem o Sim, entregue só o template formatado e deixe o texto na sessão. O comentário da 7.4 tem a sua própria pergunta, feita pelo `/eng-global-task-comment`.
|
|
737
745
|
|
|
738
|
-
**
|
|
746
|
+
**No Jira, com a `acli` logada, `TASK_MANAGER_ACCESS=cli` (ou vazio) e o Sim:**
|
|
739
747
|
|
|
740
|
-
-
|
|
741
|
-
- Vincule à história pai
|
|
742
|
-
- Configure dependências entre subtarefas
|
|
748
|
+
- Crie as subtarefas com `acli jira workitem create` (flags no `--help`)
|
|
749
|
+
- Vincule à história pai e configure as dependências entre subtarefas no que a `acli` permitir (com o Sim acima); o resto vai no template manual abaixo
|
|
743
750
|
|
|
744
|
-
**
|
|
751
|
+
**Em GitHub/GitLab, sem a `acli` logada (ou com `TASK_MANAGER_ACCESS=manual`), ou sem o Sim:**
|
|
745
752
|
|
|
746
|
-
- Forneça ao usuário **template formatado** para copiar/colar no Jira
|
|
753
|
+
- Forneça ao usuário **template formatado** para copiar/colar no board (Jira, GitHub ou GitLab)
|
|
747
754
|
- Forneça **instruções passo-a-passo** para criação manual
|
|
748
755
|
|
|
749
756
|
#### 7.4 Atualização da História Original
|
|
750
757
|
|
|
751
|
-
|
|
758
|
+
Publique o comentário na história original (STORY-XXX) com o `/eng-global-task-comment`, que mostra o texto e pergunta (regra de ouro). O comentário segue este formato:
|
|
752
759
|
|
|
753
760
|
Use o formato **Comentário na história original** de `$IDE/templates/engineering/tech-spec-delivery-template.md`.
|
|
754
761
|
|
|
@@ -766,10 +773,10 @@ Valide que:
|
|
|
766
773
|
|
|
767
774
|
- [ ] Tech Spec completa e aprovada pelo usuário
|
|
768
775
|
- [ ] Arquivo salvo na sessão: `$SESSIONS_DIR/eng/{feature-name}/tech-spec.md`
|
|
769
|
-
- [ ] Tech Spec anexada na issue
|
|
776
|
+
- [ ] Tech Spec anexada na issue (com o Sim), a anexar pela pessoa (orientado) ou deixada na sessão
|
|
770
777
|
- [ ] Subtarefas documentadas com critérios claros
|
|
771
|
-
- [ ] Subtarefas criadas no Jira
|
|
772
|
-
- [ ] História original atualizada com link para tech spec
|
|
778
|
+
- [ ] Subtarefas criadas no Jira pela `acli`, ou template fornecido (outros boards, sem a CLI, com acesso manual, sem o Sim ou sem board)
|
|
779
|
+
- [ ] História original atualizada com link para tech spec (com o Sim do comentário da 7.4) ou texto deixado na sessão
|
|
773
780
|
- [ ] Decisões arquiteturais documentadas
|
|
774
781
|
- [ ] Riscos identificados e mitigados
|
|
775
782
|
- [ ] Dependências mapeadas
|
|
@@ -800,7 +807,7 @@ Use o formato **Mensagem de entrega** de `$IDE/templates/engineering/tech-spec-d
|
|
|
800
807
|
- `$SESSIONS_DIR/eng/**/*.md` - Tech specs e ADRs de sessões anteriores
|
|
801
808
|
- `README.md` - Visão geral do projeto
|
|
802
809
|
- `ARCHITECTURE.md` - Arquitetura do sistema (se existir)
|
|
803
|
-
- Anexos no
|
|
810
|
+
- Anexos no card (lidos pela CLI ou colados) - PRD, FRD, ARD, RFC
|
|
804
811
|
|
|
805
812
|
### Templates
|
|
806
813
|
|
|
@@ -821,7 +828,7 @@ O diagrama do fluxo (épico x história, fases 0 a 8) está na seção **Fluxo r
|
|
|
821
828
|
|
|
822
829
|
→ Liste o que falta e peça ao usuário para completar
|
|
823
830
|
|
|
824
|
-
### Se não conseguir acessar o
|
|
831
|
+
### Se não conseguir acessar o card no board:
|
|
825
832
|
|
|
826
833
|
→ Peça ao usuário para copiar/colar o conteúdo da história
|
|
827
834
|
|
|
@@ -5,7 +5,7 @@ Integração com o **Central docs**: o registro do que **foi implementado** em c
|
|
|
5
5
|
## Visão Geral
|
|
6
6
|
|
|
7
7
|
- **Buscar** o que já foi implementado (`jarvis docs sync`, `jarvis docs fetch`)
|
|
8
|
-
- **Publicar** a consolidação de cada entrega (`jarvis docs publish`, pelo `/eng.spec-consolidate
|
|
8
|
+
- **Publicar** a consolidação de cada entrega (`jarvis docs publish`, pelo `/eng.spec-consolidate`, depois da pergunta)
|
|
9
9
|
- **Índice** regenerado a cada publicação (`{SQUAD}/index.md`)
|
|
10
10
|
|
|
11
11
|
O Central docs funciona por **adaptador de armazenamento**: hoje uma pasta do disco (`filesystem`). Se essa pasta for um clone de um repositório de documentação (tem `.git`), a publicação vira branch + commit + push + Pull/Merge Request. S3 e Google Drive são as issues #144 e #145.
|
|
@@ -27,7 +27,7 @@ WORKSPACE=loja # vira a pasta do produto
|
|
|
27
27
|
|
|
28
28
|
A pasta padrão é `docs/jarvis/central-docs` nos dois modos de trabalho, junto dos documentos de trabalho. No projeto único, `docs/jarvis/` no `.gitignore` a deixa fora do versionamento; no workspace (vários repositórios) a raiz não é versionada. Quem já usa `./central-docs` continua funcionando, e o Upgrade do `/jarvis-init` oferece mover a pasta.
|
|
29
29
|
|
|
30
|
-
> Com `.git`, o PR é aberto pela CLI do host (`gh pr create` / `glab mr create`), com o login dela (`gh auth login`, `glab auth login`). Sem a CLI, ou com `VERSION_CONTROL_ACCESS` `manual`/inválido no `ENV.md` do projeto, a branch fica no remote e a publicação mostra o link para abrir o MR à mão. Nenhum token vai no chat nem no `ENV.md`.
|
|
30
|
+
> Com `.git` (e só depois da pergunta do `/eng.spec-consolidate`, regra de ouro), o PR é aberto pela CLI do host (`gh pr create` / `glab mr create`), com o login dela (`gh auth login`, `glab auth login`). Sem a CLI, ou com `VERSION_CONTROL_ACCESS` `manual`/inválido no `ENV.md` do projeto, a branch fica no remote e a publicação mostra o link para abrir o MR à mão. Nenhum token vai no chat nem no `ENV.md`.
|
|
31
31
|
|
|
32
32
|
**Vindo da versão anterior (Central docs como repositório remoto)?** Rode `/jarvis-init` → Upgrade (C). Ele propõe `CENTRAL_DOCS_STORAGE=filesystem`, a pasta padrão e o `git clone` do repositório antigo.
|
|
33
33
|
|
|
@@ -36,8 +36,8 @@ A pasta padrão é `docs/jarvis/central-docs` nos dois modos de trabalho, junto
|
|
|
36
36
|
```bash
|
|
37
37
|
jarvis docs sync # resumo: funcionalidades e entregas recentes
|
|
38
38
|
jarvis docs fetch CORE/index.md # conteúdo de um arquivo (exit 2 se não existir)
|
|
39
|
-
jarvis docs publish --file .../consolidation/feature-checkout.md --tipo feature # pelo /eng.spec-consolidate
|
|
40
|
-
jarvis docs publish --file .../consolidation/delivery-2026-10-15-task-123.md --tipo delivery
|
|
39
|
+
jarvis docs publish --file .../consolidation/feature-checkout.md --tipo feature # pelo /eng.spec-consolidate, depois do Sim (regra de ouro)
|
|
40
|
+
jarvis docs publish --file .../consolidation/delivery-2026-10-15-task-123.md --tipo delivery # idem
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
- **Tipos:** só `feature` (vai para `product/`) e `delivery` (vai para `engineering/`). PRD, ARD, SPEC e os outros documentos de trabalho são recusados, com a explicação de que ficam em `docs/jarvis/`.
|
|
@@ -56,6 +56,8 @@ Ler do `$IDE/ENV.md`:
|
|
|
56
56
|
- `CENTRAL_DOCS_REF`, `CENTRAL_DOCS_TARGET_BRANCH`, `CENTRAL_DOCS_REVIEWERS` (só com `.git`)
|
|
57
57
|
- `SQUAD` (ALL-CAPS-COM-HIFEN) e `WORKSPACE` (vira a pasta do produto)
|
|
58
58
|
|
|
59
|
+
O `jarvis docs publish` só roda depois da pergunta do `/eng.spec-consolidate` (regra de ouro, `rules/engineering/eng.integrations-rules.md`).
|
|
60
|
+
|
|
59
61
|
Com `.git`, o PR é aberto pela CLI do host (`gh pr create` / `glab mr create`), com o login dela, respeitando o `VERSION_CONTROL_ACCESS` do `ENV.md` do projeto (não do repositório do Central docs). Sem a CLI, sem login, ou com `manual`/valor inválido/ENV.md ilegível, a branch fica no remote e a publicação mostra o link para abrir o MR à mão. ❌ **Nunca** colar token no chat nem gravar no `ENV.md`.
|
|
60
62
|
|
|
61
63
|
---
|
|
@@ -157,12 +159,12 @@ jarvis docs publish --file .../consolidation/feature-checkout.md --tipo feature
|
|
|
157
159
|
1. Validar o frontmatter.
|
|
158
160
|
2. Calcular o destino.
|
|
159
161
|
3. Sem `.git`: copiar e regenerar o índice.
|
|
160
|
-
4. Com `.git`: branch, cópia, índice, commit, push e PR.
|
|
162
|
+
4. Com `.git`: branch, cópia, índice, commit, push e PR (só depois da pergunta, regra de ouro).
|
|
161
163
|
|
|
162
164
|
### Modo 3: Reparar o índice
|
|
163
165
|
|
|
164
166
|
- **Sem `.git`:** a próxima publicação regenera o índice.
|
|
165
|
-
- **Com `.git`:** no clone, rodar `bash scripts/build-index.sh` (se existir) e abrir um PR `repair/index-{SQUAD}-{data}
|
|
167
|
+
- **Com `.git`:** no clone, rodar `bash scripts/build-index.sh` (se existir) e abrir um PR `repair/index-{SQUAD}-{data}` (só depois de mostrar o que será enviado e perguntar, regra de ouro).
|
|
166
168
|
|
|
167
169
|
### Skills invocados durante a execução do skill
|
|
168
170
|
|