jarvis-ai-framework 3.2.0 → 5.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/engineering/eng.docs-consolidator.agent.md +81 -0
- package/agents/engineering/qa/eng.qa.test-planner.md +7 -7
- package/agents/product/prod.discovery-interviewer.md +1 -1
- package/bin/README.md +14 -14
- package/bin/commands/docs-publish.js +61 -93
- package/bin/commands/docs-sync.js +31 -63
- package/bin/lib/cli/program.js +23 -25
- package/bin/lib/docs/fetch-file.js +29 -26
- package/bin/lib/docs/publish-file.js +98 -159
- package/bin/lib/docs/storage/build-index.js +108 -0
- package/bin/lib/docs/storage/filesystem.js +203 -0
- package/bin/lib/docs/storage/index.js +75 -0
- package/bin/lib/docs/validate-frontmatter.js +18 -4
- package/bin/lib/vcs/api.js +0 -125
- package/package.json +2 -2
- package/rules/AGENTS.md +12 -9
- package/rules/engineering/eng.docs-scraping-rules.md +4 -4
- package/rules/engineering/eng.integrations-rules.md +3 -2
- package/rules/engineering/rpa/eng.rpa-rules.md +1 -1
- package/rules/product/prod-rules.md +5 -6
- package/rules-on-demand/engineering/eng.pr-rules.md +9 -31
- package/rules-on-demand/engineering/eng.pre-pr-rules.md +12 -19
- package/rules-on-demand/product/prod.guided-rules.md +104 -0
- package/skills/eng-backend-arch-c4/SKILL.md +3 -3
- package/skills/eng-global-docs-write/SKILL.md +1 -1
- package/skills/eng-qa-planner/SKILL.md +5 -5
- package/skills/jarvis-docs-central/README.md +51 -275
- package/skills/jarvis-docs-central/SKILL.md +114 -301
- package/skills/jarvis-init/SKILL.md +81 -8
- package/templates/ENV-template.md +28 -7
- package/templates/engineering/ARD-template.md +40 -7
- package/templates/engineering/architecture-template.md +1 -0
- package/templates/engineering/central-delivery-template.md +65 -0
- package/templates/engineering/central-feature-template.md +86 -0
- package/templates/product/prod-breakdown-template.md +20 -2
- package/templates/product/prod-discovery-template.md +24 -1
- package/templates/product/prod-epic-template.md +32 -1
- package/templates/product/prod-frd-template.md +29 -2
- package/templates/product/prod-issue-template.md +36 -1
- package/templates/product/prod-prd-template.md +33 -2
- package/workflows/engineering/eng.build-tech-spec.md +4 -4
- package/workflows/engineering/eng.create-ard-from-code.md +15 -41
- package/workflows/engineering/eng.create-ard.md +22 -44
- package/workflows/engineering/eng.create-rfc.md +10 -36
- package/workflows/engineering/eng.pr.md +35 -66
- package/workflows/engineering/eng.pre-pr.md +52 -89
- package/workflows/engineering/eng.rpa.robot.md +9 -7
- package/workflows/engineering/eng.spec-consolidate.md +140 -0
- package/workflows/engineering/eng.start.md +23 -22
- package/workflows/engineering/eng.work.md +1 -1
- package/workflows/engineering/qa/eng.qa-refinement-entry.md +1 -1
- package/workflows/engineering/qa/eng.qa-release-signoff.md +3 -3
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +2 -2
- package/workflows/product/prod.roadmap.preview.md +4 -1
- package/workflows/product/prod.spec.ard.md +9 -5
- package/workflows/product/prod.spec.breakdown.md +8 -4
- package/workflows/product/prod.spec.clarify.md +5 -1
- package/workflows/product/prod.spec.discovery.md +7 -3
- package/workflows/product/prod.spec.epic.md +12 -40
- package/workflows/product/prod.spec.frd.md +13 -39
- package/workflows/product/prod.spec.issue.md +5 -1
- package/workflows/product/prod.spec.md +3 -1
- package/workflows/product/prod.spec.prd.md +13 -40
- package/workflows/warm-up.md +10 -12
- package/bin/lib/docs/redis-cache.js +0 -49
- package/bin/lib/vcs/fetch-raw.js +0 -42
|
@@ -1,16 +1,51 @@
|
|
|
1
1
|
---
|
|
2
|
+
# Modelo de IA recomendado para trabalhar neste documento. Se a sessão estiver em outro,
|
|
3
|
+
# o comando avisa e segue (você decide se troca). Opções: opus | sonnet | haiku
|
|
4
|
+
recommended_model: opus
|
|
5
|
+
|
|
6
|
+
# Identificador único, em sequência (ex.: STORY-001, TASK-001, BUG-001). Vai no nome do arquivo e nos campos related_* de outros documentos.
|
|
2
7
|
id: {issue_type-001}
|
|
8
|
+
|
|
9
|
+
# Nome curto do documento. Vai no título e, em kebab-case, no nome do arquivo.
|
|
3
10
|
name: {nome dessa issue}
|
|
11
|
+
|
|
12
|
+
# Tipo da issue.
|
|
13
|
+
# Opções: Story | Task | Bug
|
|
14
|
+
# Story = história de usuário (valor para quem usa) | Task = tarefa técnica | Bug = defeito a corrigir
|
|
4
15
|
type: {Story, Task, Bug}
|
|
16
|
+
|
|
17
|
+
# PRD relacionado (Product Requirements Document: o problema e o que vamos construir).
|
|
5
18
|
related_prd: {path PRD relacionado, exemplo /master-docs/product/prd-001.md}
|
|
19
|
+
|
|
20
|
+
# Épico ao qual esta issue pertence (o agrupador de histórias e tarefas). Remova a linha se não houver.
|
|
6
21
|
related_epic: {nome do Epico relacionado, exemplo /master-docs/product/epics/epic-001.md. Se não existir, ignore essa linha}
|
|
22
|
+
|
|
23
|
+
# FRD relacionado (Functional Requirements Document: o comportamento detalhado de uma funcionalidade).
|
|
7
24
|
related_frd: {path FRD relacionado, exemplo /master-docs/product/frds/frd-001.md}
|
|
25
|
+
|
|
26
|
+
# Discovery de origem (o rascunho da ideia, anterior ao PRD). Remova a linha se não houver.
|
|
8
27
|
related_discovery: {path do discovery de origem, exemplo $PROD_DOCS/discoveries/discovery-001-nome.md. Se não existir, ignore essa linha}
|
|
28
|
+
|
|
29
|
+
# Data de criação (YYYY-MM-DD).
|
|
9
30
|
created_at: {YYYY-MM-DD}
|
|
31
|
+
|
|
32
|
+
# Data da última alteração (YYYY-MM-DD).
|
|
10
33
|
updated_at: {YYYY-MM-DD}
|
|
34
|
+
|
|
35
|
+
# Link do card no task manager do projeto (TASK_MANAGER no ENV.md). Remova a linha se não houver.
|
|
11
36
|
task_link: {URL referêncial no $TASK_MANAGER - se existir. Se não, ignore essa linha}
|
|
12
|
-
|
|
37
|
+
|
|
38
|
+
# Em que ponto este documento está no ciclo de vida (lista em rules/product/prod-rules.md).
|
|
39
|
+
# Opções: icebox | in_review | backlog | in_progress | in_production | cancelled | deprecated
|
|
40
|
+
# icebox = ideia aguardando priorização | in_review = sendo estudado ou revisado | backlog = definido, aguardando implementação
|
|
41
|
+
# in_progress = em desenvolvimento | in_production = em produção
|
|
42
|
+
# cancelled = cancelado antes de ser entregue | deprecated = esteve em produção e foi descontinuado
|
|
43
|
+
status: {um dos valores acima}
|
|
44
|
+
|
|
45
|
+
# Quem criou o documento.
|
|
13
46
|
created_by: {nome de quem criou esse doc}
|
|
47
|
+
|
|
48
|
+
# Quem editou o documento por último.
|
|
14
49
|
last_editor: {nome de quem editou por último}
|
|
15
50
|
---
|
|
16
51
|
|
|
@@ -1,15 +1,46 @@
|
|
|
1
1
|
---
|
|
2
|
+
# Modelo de IA recomendado para trabalhar neste documento. Se a sessão estiver em outro,
|
|
3
|
+
# o comando avisa e segue (você decide se troca). Opções: opus | sonnet | haiku
|
|
4
|
+
recommended_model: opus
|
|
5
|
+
|
|
6
|
+
# Identificador único, em sequência (ex.: PRD-001). Vai no nome do arquivo e nos campos related_* de outros documentos.
|
|
2
7
|
id: {PRD-001}
|
|
8
|
+
|
|
9
|
+
# Nome curto do documento. Vai no título e, em kebab-case, no nome do arquivo.
|
|
3
10
|
name: {nome desse prd}
|
|
11
|
+
|
|
12
|
+
# Versão do documento (X.Y.Z). Atualize a cada alteração.
|
|
4
13
|
version: {X.Y.Z - atualizar sempre que houver alteração}
|
|
5
|
-
|
|
14
|
+
|
|
15
|
+
# Em que ponto este documento está no ciclo de vida (lista em rules/product/prod-rules.md).
|
|
16
|
+
# Opções: icebox | in_review | backlog | in_progress | in_production | cancelled | deprecated
|
|
17
|
+
# icebox = ideia aguardando priorização | in_review = sendo estudado ou revisado | backlog = definido, aguardando implementação
|
|
18
|
+
# in_progress = em desenvolvimento | in_production = em produção
|
|
19
|
+
# cancelled = cancelado antes de ser entregue | deprecated = esteve em produção e foi descontinuado
|
|
20
|
+
status: {um dos valores acima}
|
|
21
|
+
|
|
22
|
+
# Quem editou o documento por último.
|
|
6
23
|
last_editor: {nome de quem editou por último}
|
|
24
|
+
|
|
25
|
+
# Data da última alteração (YYYY-MM-DD).
|
|
7
26
|
updated_at: {YYYY-MM-DD}
|
|
27
|
+
|
|
28
|
+
# Repositórios de código onde este produto é implementado.
|
|
8
29
|
related_repo: {URLs de repositórios relacionados, se forem vários, utilize sintaxe compatível com YAML}
|
|
30
|
+
|
|
31
|
+
# PRD relacionado (Product Requirements Document: o problema e o que vamos construir).
|
|
9
32
|
related_prd: {Lista de PRDs que são relacionadas a esse PRD, se forem vários, utilize sintaxe compatível com YAML}
|
|
33
|
+
|
|
34
|
+
# FRD relacionado (Functional Requirements Document: o comportamento detalhado de uma funcionalidade).
|
|
10
35
|
related_frd: {Lista de FRDs que são relacionadas a esse PRD, se forem vários, utilize sintaxe compatível com YAML}
|
|
36
|
+
|
|
37
|
+
# Discovery de origem (o rascunho da ideia, anterior ao PRD). Remova a linha se não houver.
|
|
11
38
|
related_discovery: {path do discovery de origem, exemplo $PROD_DOCS/discoveries/discovery-001-nome.md. Se não existir, ignore essa linha}
|
|
39
|
+
|
|
40
|
+
# Data de criação (YYYY-MM-DD).
|
|
12
41
|
created_at: {YYYY-MM-DD}
|
|
42
|
+
|
|
43
|
+
# Quem criou o documento.
|
|
13
44
|
created_by: {nome de quem criou esse doc}
|
|
14
45
|
---
|
|
15
46
|
|
|
@@ -148,7 +179,7 @@ Estes são indicadores que podem ser usados para medir o sucesso dessa solução
|
|
|
148
179
|
|
|
149
180
|
|
|
150
181
|
## Especificações relacionadas
|
|
151
|
-
{liste todos os PRDs, FRDs ou outros documentos relacionados a este FRD fazendo uma análise prévia do projeto e das especificações existentes no
|
|
182
|
+
{liste todos os PRDs, FRDs ou outros documentos relacionados a este FRD fazendo uma análise prévia do projeto e das especificações existentes no Central docs (`jarvis docs sync`). Pergunte para o usuário se existe outras relações que ele conheça. Antes de adicionar as sugestões, confirme com o usuário se elas estão corretas.}
|
|
152
183
|
|
|
153
184
|
**PRDs relacionadas**:
|
|
154
185
|
| ID | Título | Descrição |
|
|
@@ -54,7 +54,7 @@ Transformar uma história de usuário (user story) do Jira em uma **Tech Spec co
|
|
|
54
54
|
| Passo | Skill | Condição |
|
|
55
55
|
|-------|-------|----------|
|
|
56
56
|
| Processo de Criação › verificação de necessidade de RFC | `/eng.create-rfc` | Se a Tech Spec atender aos critérios que exigem RFC e o usuário escolher "A: Criar uma RFC agora" |
|
|
57
|
-
| Caminho A › 2A.2 Análise de Documentação de Produto | `/jarvis-docs-central` | Se `
|
|
57
|
+
| Caminho A › 2A.2 Análise de Documentação de Produto | `/jarvis-docs-central` | Se `CENTRAL_DOCS_STORAGE` estiver configurado (funcionalidades já implementadas relacionadas ao épico; PRD/FRD vêm de `$PROD_DOCS`) |
|
|
58
58
|
| FASE 7 › 7.3 Criação no Jira | `ferramenta MCP/API do Jira` (referência a confirmar) | Se o projeto usar Jira e houver ferramenta MCP ou API disponível; senão fornecer template para criação manual (o texto não nomeia a ferramenta) |
|
|
59
59
|
|
|
60
60
|
---
|
|
@@ -264,7 +264,7 @@ Foco em entender o sistema como um todo — não arquivos específicos, mas fron
|
|
|
264
264
|
#### 2A.2 Análise de Documentação de Produto
|
|
265
265
|
|
|
266
266
|
- Verifique se há PRD ou FRD relacionado ao épico em `$DOCS_FOLDER` ou no $TASK_MANAGER
|
|
267
|
-
- Se `
|
|
267
|
+
- Se `CENTRAL_DOCS_STORAGE` configurado: buscar docs via skill `jarvis-docs-central`
|
|
268
268
|
|
|
269
269
|
#### 2A.3 Identificação de Restrições
|
|
270
270
|
|
|
@@ -418,8 +418,8 @@ Identifique:
|
|
|
418
418
|
>
|
|
419
419
|
> **1. Buscar contrato no repositório primeiro:**
|
|
420
420
|
> Procure por specs existentes nos seguintes locais:
|
|
421
|
-
> -
|
|
422
|
-
> -
|
|
421
|
+
> - `$ENG_DOCS/swagger/`
|
|
422
|
+
> - `$ENG_DOCS/openapi/`
|
|
423
423
|
> - `**/*swagger*.{yaml,yml,json}`
|
|
424
424
|
> - `**/*openapi*.{yaml,yml,json}`
|
|
425
425
|
> - `**/*api-spec*.{yaml,yml,json}`
|
|
@@ -22,8 +22,7 @@ priorizando a **arquitetura observada no código do repositório**, usando o tem
|
|
|
22
22
|
| Passo | Skill | Condição |
|
|
23
23
|
|-------|-------|----------|
|
|
24
24
|
| Objetivo | `eng.agent` (agente) | Sempre — identidade do workflow (alinhamento com `eng.agent.md`) |
|
|
25
|
-
| Passo 1 – Verificar PRD | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `
|
|
26
|
-
| Passo 7 – Publicar no Central Docs | `/jarvis-docs-central` (via `jarvis docs publish --tipo ard`) | Se `CENTRAL_DOCS_REPO` estiver definido, o ARD estiver aprovado e o usuário aceitar publicar |
|
|
25
|
+
| Passo 1 – Verificar PRD | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md |
|
|
27
26
|
|
|
28
27
|
---
|
|
29
28
|
|
|
@@ -43,7 +42,7 @@ priorizando a **arquitetura observada no código do repositório**, usando o tem
|
|
|
43
42
|
|
|
44
43
|
- Se o usuário tiver passado `edit <nome-ou-caminho>`, use isso como entrada inicial.
|
|
45
44
|
- Peça o **caminho do arquivo** do ARD existente (preferencial) ou o **nome** do ARD, se ainda não tiver.
|
|
46
|
-
- Se o usuário passar só o nome, confirme onde ele está (ex.: `$
|
|
45
|
+
- Se o usuário passar só o nome, confirme onde ele está (ex.: `$ENG_DOCS/ARD/...`).
|
|
47
46
|
- Leia o ARD atual e pergunte quais seções mudam (ou qual é o objetivo da iteração).
|
|
48
47
|
|
|
49
48
|
3. Se for **novo ARD**:
|
|
@@ -58,10 +57,10 @@ priorizando a **arquitetura observada no código do repositório**, usando o tem
|
|
|
58
57
|
- `Título`
|
|
59
58
|
- `Slug` para o nome do arquivo (kebab-case)
|
|
60
59
|
- Defina o `ARD-ID` automaticamente assim:
|
|
61
|
-
- Se a pasta `$
|
|
60
|
+
- Se a pasta `$ENG_DOCS/ARD/` existir e houver arquivos no padrão `ARD-###-*.md`, use o maior `###` + 1.
|
|
62
61
|
- Defina:
|
|
63
|
-
- `Status`
|
|
64
|
-
- `Caminho do arquivo` (`$
|
|
62
|
+
- `Status` (campo `status` no frontmatter: `proposed | in_progress | in_review | approved`)
|
|
63
|
+
- `Caminho do arquivo` (`$ENG_DOCS/ARD/{ARD-ID}-{slug}.md` ou caminho fornecido para iteração)
|
|
65
64
|
|
|
66
65
|
---
|
|
67
66
|
|
|
@@ -69,22 +68,22 @@ priorizando a **arquitetura observada no código do repositório**, usando o tem
|
|
|
69
68
|
|
|
70
69
|
### 1.1 – Buscar PRD no Central Docs (condicional)
|
|
71
70
|
|
|
72
|
-
Se `
|
|
71
|
+
Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
|
|
73
72
|
|
|
74
|
-
1.
|
|
73
|
+
1. Consultar no Central docs as funcionalidades já implementadas relacionadas (o que existe hoje):
|
|
75
74
|
```bash
|
|
76
75
|
jarvis docs sync --silent
|
|
77
76
|
```
|
|
78
77
|
|
|
79
|
-
2. Buscar PRD relacionado usando:
|
|
78
|
+
2. Buscar o PRD relacionado em `$PROD_DOCS` (documento de trabalho; o Central docs não guarda PRD) usando:
|
|
80
79
|
- Título/objetivo do ARD
|
|
81
80
|
- Jira ID (se disponível)
|
|
82
81
|
- Tags semânticas
|
|
83
82
|
|
|
84
|
-
3. Se PRD encontrado
|
|
83
|
+
3. Se o PRD for encontrado em `$PROD_DOCS`:
|
|
85
84
|
- Carregar automaticamente como contexto
|
|
86
85
|
- Pular para item 2 (extração de requisitos)
|
|
87
|
-
- Informar ao usuário: "✅ PRD encontrado
|
|
86
|
+
- Informar ao usuário: "✅ PRD encontrado: [caminho]"
|
|
88
87
|
|
|
89
88
|
4. Se PRD não encontrado:
|
|
90
89
|
- Continuar com pergunta manual (item 1.2)
|
|
@@ -122,7 +121,7 @@ Objetivo: montar um retrato fiel do que o código revela hoje.
|
|
|
122
121
|
|
|
123
122
|
- `README.md`
|
|
124
123
|
- `ENV.md`
|
|
125
|
-
- `$DOCS_FOLDER/**` (especialmente `$
|
|
124
|
+
- `$DOCS_FOLDER/**` (especialmente `$ENG_DOCS/ARD/**` e docs de arquitetura existentes)
|
|
126
125
|
|
|
127
126
|
2. Identificar a stack e artefatos de build:
|
|
128
127
|
|
|
@@ -150,8 +149,8 @@ Objetivo: montar um retrato fiel do que o código revela hoje.
|
|
|
150
149
|
>
|
|
151
150
|
> **1. Buscar contrato no repositório primeiro:**
|
|
152
151
|
> Procure por specs existentes nos seguintes locais:
|
|
153
|
-
> -
|
|
154
|
-
> -
|
|
152
|
+
> - `$ENG_DOCS/swagger/`
|
|
153
|
+
> - `$ENG_DOCS/openapi/`
|
|
155
154
|
> - `**/*swagger*.{yaml,yml,json}`
|
|
156
155
|
> - `**/*openapi*.{yaml,yml,json}`
|
|
157
156
|
> - `**/*api-spec*.{yaml,yml,json}`
|
|
@@ -236,32 +235,7 @@ Entregar:
|
|
|
236
235
|
|
|
237
236
|
---
|
|
238
237
|
|
|
239
|
-
##
|
|
238
|
+
## Central docs
|
|
240
239
|
|
|
241
|
-
|
|
240
|
+
Este documento é um **documento de trabalho**: fica em `$PROD_DOCS`/`$ENG_DOCS` (`docs/jarvis/`) e **não** é publicado no Central docs. O Central docs registra só o que foi implementado, e quem o atualiza é o `/eng.spec-consolidate`, depois do PR da entrega.
|
|
242
241
|
|
|
243
|
-
1. Perguntar ao usuário:
|
|
244
|
-
```
|
|
245
|
-
Deseja publicar este ARD no repositório central de documentação?
|
|
246
|
-
- ( ) Sim, publicar agora
|
|
247
|
-
- ( ) Não, vou publicar depois manualmente
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
2. Se **Sim**:
|
|
251
|
-
- Extrair o slug do nome do arquivo (ex: `ARD-001-api-wallet-auth.md` → `api-wallet-auth`)
|
|
252
|
-
- Executar:
|
|
253
|
-
```bash
|
|
254
|
-
jarvis docs publish \
|
|
255
|
-
--file {caminho_do_ard} \
|
|
256
|
-
--tipo ard \
|
|
257
|
-
--feature {slug}
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
3. Informar resultado:
|
|
261
|
-
- ✅ Sucesso: "ARD publicado no central-docs. MR criado: [URL]"
|
|
262
|
-
- ❌ Erro: Exibir mensagem de erro e orientar troubleshooting
|
|
263
|
-
|
|
264
|
-
4. Se **Não**:
|
|
265
|
-
- Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo ard --feature {slug}`"
|
|
266
|
-
|
|
267
|
-
> **Nota**: A publicação cria um Merge Request no GitLab. O ARD só será visível no central-docs após aprovação e merge do MR.
|
|
@@ -3,13 +3,17 @@ description: Fluxo de trabalho de Engenharia para criação/iteração de ARD
|
|
|
3
3
|
globs:
|
|
4
4
|
alwaysApply: false
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
-
recommended_model:
|
|
6
|
+
recommended_model: opus
|
|
7
7
|
model_tier: high
|
|
8
8
|
model_justification: Documentação arquitetural requer análise de requisitos, trade-offs técnicos e decisões bem fundamentadas
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Workflow de Engenharia – ARD (Architecture Requirements Document)
|
|
12
12
|
|
|
13
|
+
> 🎓 **Modo de condução**: leia `PROD_MODE` no `$IDE/ENV.md`. Se for `developer-guided`, **antes de começar leia `$IDE/rules-on-demand/product/prod.guided-rules.md` e siga-o** em toda a conversa. Vazio ou `product-led`: siga este fluxo como está.
|
|
14
|
+
>
|
|
15
|
+
> 🤖 **Modelo**: se a IDE informar o modelo desta sessão e ele for de outra família que o `recommended_model` do documento (ou do template, se o documento for novo), avise em uma linha e siga, sem bloquear e sem repetir. Sem essa informação, não avise.
|
|
16
|
+
|
|
13
17
|
## Objetivo
|
|
14
18
|
|
|
15
19
|
Guiar o assistente de Engenharia (ENG) na criação, revisão ou iteração de um ARD,
|
|
@@ -25,8 +29,7 @@ usando o template `$IDE/templates/engineering/ARD-template.md`, sempre alinhado
|
|
|
25
29
|
| Passo | Skill | Condição |
|
|
26
30
|
|-------|-------|----------|
|
|
27
31
|
| Objetivo | `eng.agent` (agente) | Sempre — identidade do workflow (alinhamento com `eng.agent.md`) |
|
|
28
|
-
| Passo 1.1.1 –
|
|
29
|
-
| Passo 8 – Publicar no Central Docs | `/jarvis-docs-central` (via `jarvis docs publish --tipo ard`) | Se `CENTRAL_DOCS_REPO` estiver definido, o ARD estiver aprovado e o usuário aceitar publicar |
|
|
32
|
+
| Passo 1.1.1 – Consultar funcionalidades no Central Docs | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md |
|
|
30
33
|
|
|
31
34
|
---
|
|
32
35
|
|
|
@@ -46,7 +49,7 @@ usando o template `$IDE/templates/engineering/ARD-template.md`, sempre alinhado
|
|
|
46
49
|
|
|
47
50
|
- Se o usuário tiver passado `edit <nome-ou-caminho>`, use isso como entrada inicial.
|
|
48
51
|
- Peça o **caminho do arquivo** do ARD existente (preferencial) ou o **nome** do ARD, se ainda não tiver.
|
|
49
|
-
- Se o usuário passar só o nome, confirme onde ele está (ex.: `$
|
|
52
|
+
- Se o usuário passar só o nome, confirme onde ele está (ex.: `$ENG_DOCS/ARD/...`).
|
|
50
53
|
- Leia o ARD atual e pergunte quais seções mudam (ou qual é o objetivo da iteração).
|
|
51
54
|
|
|
52
55
|
3. Se for **novo ARD**:
|
|
@@ -61,11 +64,11 @@ usando o template `$IDE/templates/engineering/ARD-template.md`, sempre alinhado
|
|
|
61
64
|
- `Título`
|
|
62
65
|
- `Slug` para o nome do arquivo (kebab-case)
|
|
63
66
|
- Defina o `ARD-ID` automaticamente assim:
|
|
64
|
-
- Se a pasta `$
|
|
67
|
+
- Se a pasta `$ENG_DOCS/ARD/` existir e houver arquivos no padrão `ARD-###-*.md`, use o maior `###` + 1.
|
|
65
68
|
- Defina o `ARD-ID` automaticamente assim:
|
|
66
|
-
- Se a pasta `$
|
|
67
|
-
- `Status`
|
|
68
|
-
- `Caminho do arquivo` (`$
|
|
69
|
+
- Se a pasta `$ENG_DOCS/ARD/` existir e houver arquivos no padrão `ARD-###-*.md`, use o maior `###` + 1.
|
|
70
|
+
- `Status` (campo `status` no frontmatter: `proposed | in_progress | in_review | approved`)
|
|
71
|
+
- `Caminho do arquivo` (`$ENG_DOCS/ARD/{ARD-ID}-{slug}.md` ou caminho fornecido para iteração)
|
|
69
72
|
|
|
70
73
|
---
|
|
71
74
|
|
|
@@ -109,8 +112,8 @@ Regras:
|
|
|
109
112
|
3. Confirme os metadados definidos no Passo 0:
|
|
110
113
|
- `ARD-ID`
|
|
111
114
|
- `Título`
|
|
112
|
-
- `Status`
|
|
113
|
-
- `Caminho do arquivo` (`$
|
|
115
|
+
- `Status` (campo `status` no frontmatter)
|
|
116
|
+
- `Caminho do arquivo` (`$ENG_DOCS/ARD/{ARD-ID}-{slug}.md` ou caminho fornecido para iteração)
|
|
114
117
|
|
|
115
118
|
---
|
|
116
119
|
|
|
@@ -118,22 +121,22 @@ Regras:
|
|
|
118
121
|
|
|
119
122
|
### 1.1.1 – Buscar PRD no Central Docs (condicional)
|
|
120
123
|
|
|
121
|
-
Se `
|
|
124
|
+
Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
|
|
122
125
|
|
|
123
|
-
1.
|
|
126
|
+
1. Consultar no Central docs as funcionalidades já implementadas relacionadas (o que existe hoje):
|
|
124
127
|
```bash
|
|
125
128
|
jarvis docs sync --silent
|
|
126
129
|
```
|
|
127
130
|
|
|
128
|
-
2. Buscar PRD relacionado usando:
|
|
131
|
+
2. Buscar o PRD relacionado em `$PROD_DOCS` (documento de trabalho; o Central docs não guarda PRD) usando:
|
|
129
132
|
- Título/objetivo do ARD
|
|
130
133
|
- Jira ID (se disponível)
|
|
131
134
|
- Tags semânticas
|
|
132
135
|
|
|
133
|
-
3. Se PRD encontrado
|
|
136
|
+
3. Se o PRD for encontrado em `$PROD_DOCS`:
|
|
134
137
|
- Carregar automaticamente como contexto
|
|
135
138
|
- Pular para item 2 (extração de requisitos)
|
|
136
|
-
- Informar ao usuário: "✅ PRD encontrado
|
|
139
|
+
- Informar ao usuário: "✅ PRD encontrado: [caminho]"
|
|
137
140
|
|
|
138
141
|
4. Se PRD não encontrado:
|
|
139
142
|
- Continuar com pergunta manual (item 1.1.2)
|
|
@@ -260,8 +263,8 @@ Sempre que possível, destaque:
|
|
|
260
263
|
>
|
|
261
264
|
> **1. Buscar contrato no repositório primeiro:**
|
|
262
265
|
> Procure por specs existentes nos seguintes locais:
|
|
263
|
-
> -
|
|
264
|
-
> -
|
|
266
|
+
> - `$ENG_DOCS/swagger/`
|
|
267
|
+
> - `$ENG_DOCS/openapi/`
|
|
265
268
|
> - `**/*swagger*.{yaml,yml,json}`
|
|
266
269
|
> - `**/*openapi*.{yaml,yml,json}`
|
|
267
270
|
> - `**/*api-spec*.{yaml,yml,json}`
|
|
@@ -359,32 +362,7 @@ Peça explicitamente para o usuário:
|
|
|
359
362
|
|
|
360
363
|
---
|
|
361
364
|
|
|
362
|
-
##
|
|
363
|
-
|
|
364
|
-
Se `CENTRAL_DOCS_REPO` definido no ENV.md **E** o usuário aprovar o ARD:
|
|
365
|
+
## Central docs
|
|
365
366
|
|
|
366
|
-
|
|
367
|
-
```
|
|
368
|
-
Deseja publicar este ARD no repositório central de documentação?
|
|
369
|
-
- ( ) Sim, publicar agora
|
|
370
|
-
- ( ) Não, vou publicar depois manualmente
|
|
371
|
-
```
|
|
367
|
+
Este documento é um **documento de trabalho**: fica em `$PROD_DOCS`/`$ENG_DOCS` (`docs/jarvis/`) e **não** é publicado no Central docs. O Central docs registra só o que foi implementado, e quem o atualiza é o `/eng.spec-consolidate`, depois do PR da entrega.
|
|
372
368
|
|
|
373
|
-
2. Se **Sim**:
|
|
374
|
-
- Extrair o slug do nome do arquivo (ex: `ARD-001-api-wallet-auth.md` → `api-wallet-auth`)
|
|
375
|
-
- Executar:
|
|
376
|
-
```bash
|
|
377
|
-
jarvis docs publish \
|
|
378
|
-
--file {caminho_do_ard} \
|
|
379
|
-
--tipo ard \
|
|
380
|
-
--feature {slug}
|
|
381
|
-
```
|
|
382
|
-
|
|
383
|
-
3. Informar resultado:
|
|
384
|
-
- ✅ Sucesso: "ARD publicado no central-docs. MR criado: [URL]"
|
|
385
|
-
- ❌ Erro: Exibir mensagem de erro e orientar troubleshooting
|
|
386
|
-
|
|
387
|
-
4. Se **Não**:
|
|
388
|
-
- Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo ard --feature {slug}`"
|
|
389
|
-
|
|
390
|
-
> **Nota**: A publicação cria um Merge Request no GitLab. O ARD só será visível no central-docs após aprovação e merge do MR.
|
|
@@ -27,8 +27,7 @@ Além disso, quando houver campo `Versão` no RFC, aplicar obrigatoriamente:
|
|
|
27
27
|
|
|
28
28
|
| Passo | Skill | Condição |
|
|
29
29
|
|-------|-------|----------|
|
|
30
|
-
| Passo 0.6 – Buscar Documentação Relacionada no Central Docs | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `
|
|
31
|
-
| Passo 7 – Publicar no Central Docs | `/jarvis-docs-central` (via `jarvis docs publish --tipo rfc`) | Se `CENTRAL_DOCS_REPO` estiver definido **e** o usuário aprovar o RFC e responder "Sim, publicar agora" |
|
|
30
|
+
| Passo 0.6 – Buscar Documentação Relacionada no Central Docs | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md |
|
|
32
31
|
|
|
33
32
|
---
|
|
34
33
|
|
|
@@ -59,11 +58,11 @@ Além disso, quando houver campo `Versão` no RFC, aplicar obrigatoriamente:
|
|
|
59
58
|
- `Owner`
|
|
60
59
|
- `Reviewers`
|
|
61
60
|
- Defina o `RFC-ID` automaticamente assim:
|
|
62
|
-
- Se a pasta `$
|
|
61
|
+
- Se a pasta `$ENG_DOCS/RFC/` existir e houver arquivos no padrão `RFC-###-*.md`, use o maior `###` + 1.
|
|
63
62
|
- Caso não exista ou não haja arquivos, iniciar em `RFC-001`.
|
|
64
63
|
- Defina:
|
|
65
64
|
- `Status` inicial = `Draft`
|
|
66
|
-
- `Caminho do arquivo` = `$
|
|
65
|
+
- `Caminho do arquivo` = `$ENG_DOCS/RFC/{RFC-ID}-{slug}.md`
|
|
67
66
|
|
|
68
67
|
---
|
|
69
68
|
|
|
@@ -92,9 +91,9 @@ Regras:
|
|
|
92
91
|
|
|
93
92
|
## Passo 0.6 – Buscar Documentação Relacionada no Central Docs (condicional)
|
|
94
93
|
|
|
95
|
-
Se `
|
|
94
|
+
Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
|
|
96
95
|
|
|
97
|
-
1.
|
|
96
|
+
1. Consultar no Central docs as funcionalidades já implementadas relacionadas (o que existe hoje):
|
|
98
97
|
```bash
|
|
99
98
|
jarvis docs sync --silent
|
|
100
99
|
```
|
|
@@ -105,9 +104,9 @@ Se `CENTRAL_DOCS_REPO` definido no ENV.md:
|
|
|
105
104
|
- Tags semânticas
|
|
106
105
|
|
|
107
106
|
3. Documentos a buscar:
|
|
108
|
-
- **
|
|
109
|
-
- **
|
|
110
|
-
- **RFCs anteriores** relacionados ao tema
|
|
107
|
+
- **Funcionalidades já implementadas** relacionadas (Central docs: `feature-*`)
|
|
108
|
+
- **PRD relacionado** (em `$PROD_DOCS`, para rastreabilidade e contexto de negócio)
|
|
109
|
+
- **ARD existente** e **RFCs anteriores** relacionados ao tema (em `$ENG_DOCS/ARD` e `$ENG_DOCS/RFC`)
|
|
111
110
|
|
|
112
111
|
4. Se documentos encontrados:
|
|
113
112
|
- Carregar automaticamente como contexto
|
|
@@ -221,32 +220,7 @@ Entregar:
|
|
|
221
220
|
|
|
222
221
|
---
|
|
223
222
|
|
|
224
|
-
##
|
|
223
|
+
## Central docs
|
|
225
224
|
|
|
226
|
-
|
|
225
|
+
Este documento é um **documento de trabalho**: fica em `$PROD_DOCS`/`$ENG_DOCS` (`docs/jarvis/`) e **não** é publicado no Central docs. O Central docs registra só o que foi implementado, e quem o atualiza é o `/eng.spec-consolidate`, depois do PR da entrega.
|
|
227
226
|
|
|
228
|
-
1. Perguntar ao usuário:
|
|
229
|
-
```
|
|
230
|
-
Deseja publicar este RFC no repositório central de documentação?
|
|
231
|
-
- ( ) Sim, publicar agora
|
|
232
|
-
- ( ) Não, vou publicar depois manualmente
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
2. Se **Sim**:
|
|
236
|
-
- Extrair o slug do nome do arquivo (ex: `RFC-001-wallet-idempotencia.md` → `wallet-idempotencia`)
|
|
237
|
-
- Executar:
|
|
238
|
-
```bash
|
|
239
|
-
jarvis docs publish \
|
|
240
|
-
--file {caminho_do_rfc} \
|
|
241
|
-
--tipo rfc \
|
|
242
|
-
--feature {slug}
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
3. Informar resultado:
|
|
246
|
-
- ✅ Sucesso: "RFC publicado no central-docs. MR criado: [URL]"
|
|
247
|
-
- ❌ Erro: Exibir mensagem de erro e orientar troubleshooting
|
|
248
|
-
|
|
249
|
-
4. Se **Não**:
|
|
250
|
-
- Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo rfc --feature {slug}`"
|
|
251
|
-
|
|
252
|
-
> **Nota**: A publicação cria um Merge Request no GitLab. O RFC só será visível no central-docs após aprovação e merge do MR.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Gera o pull-request.md na sessão e, com o Sim do usuário, faz o push e abre o merge request (MR)
|
|
3
3
|
auto_execution_mode: 3
|
|
4
4
|
agent: "$IDE/agents/engineering/eng.agent.md"
|
|
5
5
|
rules_file: "$IDE/rules-on-demand/engineering/eng.pr-rules.md"
|
|
@@ -43,8 +43,8 @@ Este comando cria a **branch, commita as alterações e abre um Merge Request**.
|
|
|
43
43
|
| Fase 1 › 1.4 Executar Testes Automatizados (Opcional) | `/eng-qa` + `QA_SPECIALIZATIONS` | Passo opcional, recomendado em mudanças significativas |
|
|
44
44
|
| Skills recomendados | `/eng-global-docs-write` | Se houver necessidade de atualizar documentação junto do PR |
|
|
45
45
|
| Agentes recomendados (opcional) | `eng.qa.test-planner` (agente) | Se houver dúvidas sobre cobertura de testes ou mudanças significativas |
|
|
46
|
-
| Fase 4 › 4.
|
|
47
|
-
| Fase 6 › 6.2 Link do MR | `/eng-global-task-comment` | Depois de o MR ser criado: um único comentário no card com o link do MR, seguindo o Passo 6 do skill `eng-global-pr` (freelance pula) |
|
|
46
|
+
| Fase 4 › 4.4 Criar MR/PR via adapter | `jarvis vcs create-merge` (CLI do Jarvis) | Só se o usuário responder **Sim** na Fase 4.3: abre o MR/PR conforme `VERSION_CONTROL` ou o host do `origin` |
|
|
47
|
+
| Fase 6 › 6.2 Link do MR | `/eng-global-task-comment` | Depois de o MR ser criado (só com o Sim da 4.3): um único comentário no card com o link do MR, seguindo o Passo 6 do skill `eng-global-pr` (freelance pula) |
|
|
48
48
|
|
|
49
49
|
---
|
|
50
50
|
|
|
@@ -61,7 +61,7 @@ Ler `TASK_MANAGER` do `$IDE/ENV.md`. Seguir `$IDE/rules/engineering/eng.integrat
|
|
|
61
61
|
- `TASK_MANAGER` vazio → *Qual o seu número de controle para esta tarefa? (ex: F-042)*
|
|
62
62
|
- `TASK_MANAGER` preenchido → *Qual o id do card no {TASK_MANAGER}?*
|
|
63
63
|
|
|
64
|
-
> A branch de destino
|
|
64
|
+
> A branch de destino é a **`Branch base:`** gravada no cabeçalho do `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/architecture.md` pelo `eng.start`. Só perguntar (`main`, `dev` ou Outro) se o campo não existir.
|
|
65
65
|
> 💡 A branch de feature já foi criada no `eng.start`. Este workflow apenas faz push e abre o MR.
|
|
66
66
|
|
|
67
67
|
---
|
|
@@ -122,7 +122,7 @@ A branch deve seguir o padrão `{TASK_MANAGER_KEY}-{titulo-em-kebab-case}`.
|
|
|
122
122
|
|
|
123
123
|
### 2.2 Confirmar Branch de Destino
|
|
124
124
|
|
|
125
|
-
Branch de destino
|
|
125
|
+
Branch de destino: a **`Branch base:`** do `architecture.md` (`{BRANCH_BASE}`). Sem o campo, pergunte com `AskUserQuestion` (`main`, `dev` ou Outro); não presuma.
|
|
126
126
|
|
|
127
127
|
> ⚠️ **Nunca fazer push direto para `main` ou `master`** sem confirmação explícita do usuário.
|
|
128
128
|
|
|
@@ -137,7 +137,7 @@ git checkout {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
|
|
|
137
137
|
### 2.2 Verificar Commits da Branch
|
|
138
138
|
|
|
139
139
|
```bash
|
|
140
|
-
git log
|
|
140
|
+
git log {BRANCH_BASE}..HEAD --oneline
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
Deve listar os commits das fases implementadas no `eng.work`.
|
|
@@ -156,6 +156,8 @@ Refs: {TASK_MANAGER_KEY}"
|
|
|
156
156
|
|
|
157
157
|
## Fase 3: Push
|
|
158
158
|
|
|
159
|
+
> ⚠️ O push só acontece **depois do Sim** da Fase 4.3. Esta fase descreve o comando; ele roda dentro da publicação.
|
|
160
|
+
|
|
159
161
|
### 3.1 Enviar para Remote
|
|
160
162
|
|
|
161
163
|
```bash
|
|
@@ -175,7 +177,9 @@ git log --oneline -3
|
|
|
175
177
|
Ler `VERSION_CONTROL` do `$IDE/ENV.md` (`gitlab` | `github` | `bitbucket`).
|
|
176
178
|
Use **MR** se GitLab, **PR** se GitHub/Bitbucket.
|
|
177
179
|
|
|
178
|
-
### 4.1
|
|
180
|
+
### 4.1 Gerar `pull-request.md` na sessão
|
|
181
|
+
|
|
182
|
+
Escreva o título e a descrição do PR em **`$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/pull-request.md`** (primeira linha `# {título}`, depois o corpo). Se a sessão tiver o `gate-checklist.md` do `eng.pre-pr`, use o PR Brief e as decisões dele.
|
|
179
183
|
|
|
180
184
|
Template, nesta ordem (o primeiro que existir):
|
|
181
185
|
|
|
@@ -199,21 +203,32 @@ Preencher com a tarefa. Link do card:
|
|
|
199
203
|
|
|
200
204
|
> ⚠️ Não mencione AI, Claude ou assistentes no MR/PR.
|
|
201
205
|
|
|
202
|
-
### 4.2
|
|
206
|
+
### 4.2 Revisão do texto
|
|
207
|
+
|
|
208
|
+
Mostre o `pull-request.md` (título e resumo das seções) e pergunte com `AskUserQuestion`: `[Aprovar]` / `[Ajustar]`. Ajuste até a aprovação.
|
|
209
|
+
|
|
210
|
+
### 4.3 Publicar? (Sim / Não)
|
|
211
|
+
|
|
212
|
+
Pergunte com `AskUserQuestion` (**Sim / Não**): **"Publicar o PR agora?"**
|
|
213
|
+
|
|
214
|
+
- **Não:** nada é enviado. O `pull-request.md` fica na sessão para você publicar quando quiser (à mão ou rodando o `/eng.pr` de novo). Pule para a Fase 7, com a mensagem "PR não publicado".
|
|
215
|
+
- **Sim:** faça o push (Fase 3) e crie o MR/PR (4.4).
|
|
216
|
+
|
|
217
|
+
### 4.4 Criar MR/PR via adapter
|
|
203
218
|
|
|
204
219
|
- **Título**: `{TASK_MANAGER_KEY}: {Título da tarefa}`
|
|
205
220
|
- **Branch origem**: `{NOME_DA_BRANCH}`
|
|
206
|
-
- **Branch destino**: a
|
|
207
|
-
- **Descrição**:
|
|
221
|
+
- **Branch destino**: `{BRANCH_BASE}` (a `Branch base:` do `architecture.md`)
|
|
222
|
+
- **Descrição**: o corpo do `pull-request.md` aprovado (sem a linha do título)
|
|
208
223
|
|
|
209
224
|
```bash
|
|
210
225
|
BODY_FILE=$(mktemp)
|
|
211
|
-
|
|
226
|
+
tail -n +2 $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/pull-request.md > "$BODY_FILE"
|
|
212
227
|
|
|
213
228
|
jarvis vcs create-merge \
|
|
214
229
|
--source "${NOME_DA_BRANCH}" \
|
|
215
|
-
--target "${
|
|
216
|
-
--title "${
|
|
230
|
+
--target "${BRANCH_BASE}" \
|
|
231
|
+
--title "${TITULO_DO_PULL_REQUEST_MD}" \
|
|
217
232
|
--body-file "$BODY_FILE"
|
|
218
233
|
|
|
219
234
|
rm -f "$BODY_FILE"
|
|
@@ -326,65 +341,18 @@ fi
|
|
|
326
341
|
{LEAD_TIME_MSG}
|
|
327
342
|
|
|
328
343
|
📌 Próximos passos:
|
|
329
|
-
1.
|
|
330
|
-
2.
|
|
344
|
+
1. /eng.spec-consolidate {TASK_MANAGER_KEY} → registrar no Central docs o que esta entrega implementou
|
|
345
|
+
2. Aguardar revisão do time e processar os comentários do code review
|
|
331
346
|
3. Merge após aprovação
|
|
332
347
|
|
|
348
|
+
🗂️ A sessão $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/ não é apagada (o /eng.spec-consolidate precisa dela).
|
|
349
|
+
Remova à mão quando quiser.
|
|
350
|
+
|
|
333
351
|
🔗 Links:
|
|
334
352
|
- MR: {LINK_DO_MR}
|
|
335
353
|
- Jira: {TASK_MANAGER_URL_BASE}/browse/{TASK_MANAGER_KEY}
|
|
336
354
|
```
|
|
337
355
|
|
|
338
|
-
## Fase 8: Limpeza da Sessão
|
|
339
|
-
|
|
340
|
-
### 9.1 Solicitar Confirmação
|
|
341
|
-
|
|
342
|
-
Após o MR ser criado com sucesso, **solicitar confirmação do usuário**:
|
|
343
|
-
|
|
344
|
-
```
|
|
345
|
-
🧹 Deseja limpar a sessão?
|
|
346
|
-
|
|
347
|
-
A pasta $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/ será removida.
|
|
348
|
-
A documentação permanece no Jira e no MR.
|
|
349
|
-
|
|
350
|
-
Confirmar? (s/n)
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
> ⚠️ **IMPORTANTE**: Sempre pedir confirmação antes de executar comandos destrutivos.
|
|
354
|
-
|
|
355
|
-
### 9.2 Remover Pasta da Sessão
|
|
356
|
-
|
|
357
|
-
Se confirmado:
|
|
358
|
-
|
|
359
|
-
```bash
|
|
360
|
-
rm -rf $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
**Exemplo:**
|
|
364
|
-
|
|
365
|
-
```bash
|
|
366
|
-
rm -rf $SESSIONS_DIR/eng/task-123/
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
### 9.3 Confirmar Limpeza
|
|
370
|
-
|
|
371
|
-
```
|
|
372
|
-
🧹 SESSÃO LIMPA!
|
|
373
|
-
|
|
374
|
-
📁 Removido: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
|
|
375
|
-
- architecture.md ✅
|
|
376
|
-
- plan.md ✅
|
|
377
|
-
- context.md ✅ (se existia)
|
|
378
|
-
|
|
379
|
-
ℹ️ A documentação permanece no:
|
|
380
|
-
- Card do Jira: {TASK_MANAGER_KEY}
|
|
381
|
-
- Merge Request: {LINK_DO_MR}
|
|
382
|
-
```
|
|
383
|
-
|
|
384
|
-
> ⚠️ **NOTA**: A documentação não é perdida! Ela está anexada no Jira e registrada no MR.
|
|
385
|
-
|
|
386
|
-
---
|
|
387
|
-
|
|
388
356
|
## Regras Importantes
|
|
389
357
|
|
|
390
358
|
### ⛔ NÃO FAÇA
|
|
@@ -403,7 +371,8 @@ rm -rf $SESSIONS_DIR/eng/task-123/
|
|
|
403
371
|
- ✅ Criar branch no padrão `{TASK_MANAGER_KEY}-{titulo}`
|
|
404
372
|
- ✅ Preencher template do MR completamente
|
|
405
373
|
- ✅ Mover card para "In Review"
|
|
406
|
-
- ✅
|
|
374
|
+
- ✅ Gerar o `pull-request.md` na sessão e só publicar com o **Sim** (Fase 4.3)
|
|
375
|
+
- ✅ **Nunca apagar a sessão:** o `/eng.spec-consolidate` precisa dela
|
|
407
376
|
|
|
408
377
|
---
|
|
409
378
|
|