jarvis-ai-framework 4.0.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.
Files changed (45) hide show
  1. package/agents/engineering/eng.docs-consolidator.agent.md +81 -0
  2. package/agents/engineering/qa/eng.qa.test-planner.md +7 -7
  3. package/agents/product/prod.discovery-interviewer.md +1 -1
  4. package/bin/commands/docs-publish.js +18 -8
  5. package/bin/commands/docs-sync.js +3 -2
  6. package/bin/lib/cli/program.js +3 -3
  7. package/bin/lib/docs/publish-file.js +35 -24
  8. package/bin/lib/docs/storage/build-index.js +29 -8
  9. package/bin/lib/docs/validate-frontmatter.js +4 -0
  10. package/package.json +1 -1
  11. package/rules/engineering/eng.docs-scraping-rules.md +4 -4
  12. package/rules/engineering/eng.integrations-rules.md +1 -1
  13. package/rules/engineering/rpa/eng.rpa-rules.md +1 -1
  14. package/rules/product/prod-rules.md +3 -3
  15. package/rules-on-demand/engineering/eng.pr-rules.md +9 -31
  16. package/rules-on-demand/engineering/eng.pre-pr-rules.md +12 -19
  17. package/skills/eng-backend-arch-c4/SKILL.md +3 -3
  18. package/skills/eng-global-docs-write/SKILL.md +1 -1
  19. package/skills/eng-qa-planner/SKILL.md +5 -5
  20. package/skills/jarvis-docs-central/README.md +18 -30
  21. package/skills/jarvis-docs-central/SKILL.md +80 -97
  22. package/skills/jarvis-init/SKILL.md +60 -26
  23. package/templates/ENV-template.md +15 -9
  24. package/templates/engineering/ARD-template.md +1 -1
  25. package/templates/engineering/central-delivery-template.md +65 -0
  26. package/templates/engineering/central-feature-template.md +86 -0
  27. package/workflows/engineering/eng.build-tech-spec.md +3 -3
  28. package/workflows/engineering/eng.create-ard-from-code.md +12 -36
  29. package/workflows/engineering/eng.create-ard.md +14 -38
  30. package/workflows/engineering/eng.create-rfc.md +8 -32
  31. package/workflows/engineering/eng.pr.md +31 -62
  32. package/workflows/engineering/eng.pre-pr.md +52 -89
  33. package/workflows/engineering/eng.rpa.robot.md +5 -5
  34. package/workflows/engineering/eng.spec-consolidate.md +140 -0
  35. package/workflows/engineering/eng.start.md +6 -6
  36. package/workflows/engineering/eng.work.md +1 -1
  37. package/workflows/engineering/qa/eng.qa-refinement-entry.md +1 -1
  38. package/workflows/engineering/qa/eng.qa-release-signoff.md +3 -3
  39. package/workflows/engineering/qa/eng.qa-sprint-planning.md +2 -2
  40. package/workflows/product/prod.spec.ard.md +4 -4
  41. package/workflows/product/prod.spec.breakdown.md +1 -1
  42. package/workflows/product/prod.spec.epic.md +5 -35
  43. package/workflows/product/prod.spec.frd.md +6 -34
  44. package/workflows/product/prod.spec.prd.md +6 -35
  45. package/workflows/warm-up.md +8 -10
@@ -57,14 +57,19 @@ RULES_FOLDER=.$IDE/rules
57
57
  # Cookie/HTTP session (auth) NÃO é esta pasta.
58
58
  SESSIONS_DIR=.jarvis/sessions
59
59
 
60
+ # Documentos de trabalho gerados pelos comandos (PRD, FRD, épicos, ARD, RFC, QA, swagger,
61
+ # robôs, C4…): sempre em $DOCS_FOLDER/jarvis/, nos dois modos de trabalho, com docs/jarvis/
62
+ # no .gitignore (o /jarvis-init garante). O que foi implementado vai para o Central docs.
63
+ JARVIS_DOCS=$DOCS_FOLDER/jarvis
64
+ # Engenharia: ARD/, RFC/, qa/, swagger/, openapi/, robots/, c4/
65
+ ENG_DOCS=$JARVIS_DOCS/engineering
66
+
60
67
  # Pastas de produto (derivadas das de cima — em geral não precisa mexer)
61
- # PROD_DOCS: no projeto único (sem workspace), o /jarvis-init grava docs/jarvis/product
62
- # (com docs/jarvis/* no .gitignore); no modo workspace, $DOCS_FOLDER/$PROD_FOLDER_NAME.
63
68
  PROD_FOLDER_NAME=product
64
69
  PROD_RULES=$RULES_FOLDER/$PROD_FOLDER_NAME
65
70
  PROD_FLOWS=.$IDE/$FLOWS_FOLDER
66
71
  PROD_TEMPLATES=.$IDE/$TEMPLATES_FOLDER/$PROD_FOLDER_NAME
67
- PROD_DOCS=$DOCS_FOLDER/$PROD_FOLDER_NAME
72
+ PROD_DOCS=$JARVIS_DOCS/$PROD_FOLDER_NAME
68
73
 
69
74
  # Modo de condução dos comandos de produto (prod.*) e do eng.create-ard.
70
75
  # product-led = para PMs: fluxo direto, sem explicações extras (padrão se vazio)
@@ -205,17 +210,18 @@ QA_SIGNOFF_MAX_AGE=24
205
210
  JARVIS_PROJECT=https://github.com/phelipperibeiro/jarvis-framework
206
211
 
207
212
 
208
- # --- Central docs (opcional) -------------------------------------------------
209
- # Onde fica a documentação canônica (PRD, FRD, épicos, ARD, RFC). Em branco = desligado.
213
+ # --- Central docs -------------------------------------------------------------
214
+ # O registro do que FOI IMPLEMENTADO: um documento completo por funcionalidade e um registro
215
+ # por entrega, gerados pelo /eng.spec-consolidate depois de cada PR. Ligado por padrão.
210
216
  # Nunca dentro do versionamento de um repositório de código.
211
- # CENTRAL_DOCS_STORAGE: filesystem (s3 e gdrive virão nas issues #144 e #145)
217
+ # CENTRAL_DOCS_STORAGE: filesystem (s3 e gdrive virão nas issues #144 e #145); vazio = desligado
212
218
  # CENTRAL_DOCS_LOCATION: pasta do Central docs, relativa à pasta do workspace ou absoluta.
213
219
  # Padrão do /jarvis-init: ./central-docs (modo workspace, no .gitignore do workspace)
214
- # ou docs/jarvis/central-docs (projeto único, com docs/jarvis/* no .gitignore).
220
+ # ou docs/jarvis/central-docs (projeto único, coberto por docs/jarvis/ no .gitignore).
215
221
  # Se a pasta for um clone de um repositório de documentação (tem .git): git pull antes
216
222
  # de ler e branch + commit + push + PR ao publicar. Sem .git: grava direto na pasta.
217
- CENTRAL_DOCS_STORAGE=
218
- CENTRAL_DOCS_LOCATION=
223
+ CENTRAL_DOCS_STORAGE=filesystem
224
+ CENTRAL_DOCS_LOCATION=./central-docs
219
225
  # Só quando a pasta tem .git: branch lida no pull e branch base dos PRs.
220
226
  CENTRAL_DOCS_REF=main
221
227
  CENTRAL_DOCS_TARGET_BRANCH=main
@@ -36,7 +36,7 @@ last_editor: [nome]
36
36
 
37
37
  # 🧱 ARD Template — Architecture Requirement Document
38
38
 
39
- **Arquivo:** /docs/engineering/ARD/ARD-xxx-nome-da-arquitetura.md
39
+ **Arquivo:** $ENG_DOCS/ARD/ARD-xxx-nome-da-arquitetura.md
40
40
 
41
41
  ---
42
42
 
@@ -0,0 +1,65 @@
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 da entrega. Padrão: DEL-{AAAA-MM-DD}-{task_key}
7
+ id: {DEL-AAAA-MM-DD-task_key}
8
+
9
+ # Documento da funcionalidade que esta entrega atualizou (basename).
10
+ feature: {feature-slug.md}
11
+
12
+ # Card ou número de controle da tarefa (TASK_MANAGER do ENV.md; freelance = número de controle).
13
+ task_key: {TASK-123}
14
+
15
+ # URL do card no task manager (padrão da eng.integrations-rules.md). Vazio no modo freelance.
16
+ card_url: {URL}
17
+
18
+ # Pull/Merge Request: número e URL (VERSION_CONTROL / remote origin).
19
+ pr: {#n URL}
20
+
21
+ # Branch de trabalho e branch base (Branch base: do architecture.md).
22
+ branch: {branch}
23
+ base: {main | dev | outra}
24
+
25
+ # Data da consolidação (YYYY-MM-DD).
26
+ date: {YYYY-MM-DD}
27
+ ---
28
+
29
+ # Entrega {task_key}: {título}
30
+
31
+ > Registro **autossuficiente** do que esta entrega fez. O estado atual da funcionalidade fica em [{feature-slug.md}](../../product/{produto}/{feature-slug.md}).
32
+
33
+ ## 1. O que a entrega fez
34
+
35
+ {Resumo completo em linguagem de produto e de engenharia: o que passou a existir ou mudou.}
36
+
37
+ ## 2. Decisões tomadas
38
+
39
+ | Questão | Decisão | Por quê |
40
+ |---|---|---|
41
+ | {das Questões em Aberto do architecture.md e das decisões do card} | {…} | {…} |
42
+
43
+ ## 3. Commits
44
+
45
+ | Commit | Autor | Data | Mensagem |
46
+ |---|---|---|---|
47
+ | `{hash curto}` | {nome (sem e-mail)} | {AAAA-MM-DD} | {mensagem} |
48
+
49
+ ## 4. Arquivos alterados
50
+
51
+ {Resumo do `git diff --stat {base}...HEAD`, agrupado por área (código, testes, docs, config).}
52
+
53
+ ## 5. Fora do escopo e follow-ups
54
+
55
+ {O que ficou para depois, com card quando existir.}
56
+
57
+ ## 6. Testes e validação
58
+
59
+ {Comandos rodados e resultados; testes manuais; o que ficou para validar.}
60
+
61
+ ## 7. Referências
62
+
63
+ - Card: [{TASK_KEY}]({URL})
64
+ - PR/MR: [#{n}]({URL})
65
+ - Documentos de trabalho de origem (referência): {basenames}
@@ -0,0 +1,86 @@
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 da funcionalidade no Central docs (estável; não muda entre entregas). Ex.: FEAT-checkout
7
+ id: {FEAT-slug}
8
+
9
+ # Nome da funcionalidade, como as pessoas a chamam. Vai no título.
10
+ name: {Nome da funcionalidade}
11
+
12
+ # Em que ponto a funcionalidade está (lista em rules/product/prod-rules.md).
13
+ # Opções: icebox | in_review | backlog | in_progress | in_production | cancelled | deprecated
14
+ # in_progress = parte entregue, ainda em evolução | in_production = em produção
15
+ # deprecated = esteve em produção e foi descontinuada
16
+ status: {um dos valores acima}
17
+
18
+ # Produto (pasta do Central docs): o WORKSPACE do ENV.md, ou o informado no comando.
19
+ product: {produto}
20
+
21
+ # Data da última consolidação (YYYY-MM-DD).
22
+ updated_at: {YYYY-MM-DD}
23
+
24
+ # Registro da última entrega consolidada (nome do arquivo delivery-*.md). Vazio na carga inicial.
25
+ last_delivery: {delivery-AAAA-MM-DD-task_key.md}
26
+
27
+ # Documentos de trabalho de origem, só como referência (basename). O entendimento NÃO depende deles.
28
+ related_docs: {prd-001-nome.md, frd-001-nome.md, ARD-001-nome.md, RFC-001-nome.md}
29
+ ---
30
+
31
+ # {Nome da funcionalidade}
32
+
33
+ > Documento **autossuficiente**: descreve o que está implementado hoje. Se os documentos de origem (PRD, FRD, ARD, RFC) se perderem, este documento basta. Escrito para humanos e para IAs: frases completas, termos definidos, nada implícito.
34
+
35
+ ## 1. Visão geral
36
+
37
+ {O problema que a funcionalidade resolve, para quem, e o valor entregue. 3 a 6 frases.}
38
+
39
+ ## 2. Comportamento atual
40
+
41
+ {O que o sistema faz hoje, regra por regra, fluxo por fluxo. Use listas "Quando X, o sistema Y". Inclua os estados de erro e os casos de borda tratados. Critérios de aceite cumpridos.}
42
+
43
+ ## 3. Requisitos não funcionais atendidos
44
+
45
+ | Requisito | Como foi atendido | Evidência |
46
+ |---|---|---|
47
+ | {desempenho, segurança, acessibilidade, limites…} | {…} | {teste, medição, arquivo} |
48
+
49
+ ## 4. Arquitetura e decisões
50
+
51
+ {Componentes envolvidos e como conversam. Cada decisão relevante com o porquê e as alternativas descartadas (ex.: vindas do ARD, do RFC e das questões do architecture.md).}
52
+
53
+ ## 5. Onde está no código
54
+
55
+ | Parte | Caminho | O que faz |
56
+ |---|---|---|
57
+ | {módulo, endpoint, comando, job} | `{caminho/arquivo}` | {…} |
58
+
59
+ ## 6. Configuração e dependências
60
+
61
+ {Variáveis de ambiente (só nomes, nunca valores), flags, serviços externos, migrações, permissões.}
62
+
63
+ ## 7. O que mudou em relação ao especificado
64
+
65
+ {Diferenças entre o que os documentos de trabalho pediam e o que foi implementado, e por quê. "Nenhuma" se não houver.}
66
+
67
+ ## 8. Fora do escopo e limitações conhecidas
68
+
69
+ {O que a funcionalidade não faz (de propósito ou por limitação), com o motivo. Follow-ups abertos, com card.}
70
+
71
+ ## 9. Testes e evidências
72
+
73
+ {Como a funcionalidade é verificada: suítes, cenários cobertos, testes manuais. Onde ficam.}
74
+
75
+ ## 10. Histórico de entregas
76
+
77
+ | Data | Card | PR/MR | Autores | Resumo | Registro |
78
+ |---|---|---|---|---|---|
79
+ | {AAAA-MM-DD} | [{TASK_KEY}]({URL do card}) | [#{n}]({URL do PR/MR}) | {nomes} | {1 frase} | [delivery-…](../../engineering/{produto}/delivery-….md) |
80
+
81
+ ## 11. Glossário e referências
82
+
83
+ - **{Termo}:** {definição}
84
+ - Cards: {TASK_KEY com URL}
85
+ - PRs/MRs: {números com URL}
86
+ - Documentos de origem (referência): {basenames}
@@ -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 `CENTRAL_DOCS_STORAGE` estiver configurado (buscar PRD/FRD relacionados do épico) |
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
  ---
@@ -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
- > - `docs/engineering/swagger/`
422
- > - `docs/engineering/openapi/`
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}`
@@ -23,7 +23,6 @@ priorizando a **arquitetura observada no código do repositório**, usando o tem
23
23
  |-------|-------|----------|
24
24
  | Objetivo | `eng.agent` (agente) | Sempre — identidade do workflow (alinhamento com `eng.agent.md`) |
25
25
  | Passo 1 – Verificar PRD | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md |
26
- | Passo 7 – Publicar no Central Docs | `/jarvis-docs-central` (via `jarvis docs publish --tipo ard`) | Se `CENTRAL_DOCS_STORAGE` estiver definido, o ARD estiver aprovado e o usuário aceitar publicar |
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.: `$DOCS_FOLDER/engineering/ARD/...`).
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 `$DOCS_FOLDER/engineering/ARD/` existir e houver arquivos no padrão `ARD-###-*.md`, use o maior `###` + 1.
60
+ - Se a pasta `$ENG_DOCS/ARD/` existir e houver arquivos no padrão `ARD-###-*.md`, use o maior `###` + 1.
62
61
  - Defina:
63
62
  - `Status` (campo `status` no frontmatter: `proposed | in_progress | in_review | approved`)
64
- - `Caminho do arquivo` (`$DOCS_FOLDER/engineering/ARD/{ARD-ID}-{slug}.md` ou caminho fornecido para iteração)
63
+ - `Caminho do arquivo` (`$ENG_DOCS/ARD/{ARD-ID}-{slug}.md` ou caminho fornecido para iteração)
65
64
 
66
65
  ---
67
66
 
@@ -71,20 +70,20 @@ priorizando a **arquitetura observada no código do repositório**, usando o tem
71
70
 
72
71
  Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
73
72
 
74
- 1. Executar busca automática no central-docs:
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 no central-docs:
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 no central-docs: [nome]"
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 `$DOCS_FOLDER/engineering/ARD/**` e docs de arquitetura existentes)
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
- > - `docs/engineering/swagger/`
154
- > - `docs/engineering/openapi/`
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,30 +235,7 @@ Entregar:
236
235
 
237
236
  ---
238
237
 
239
- ## Passo 7 – Publicar no Central Docs (condicional)
238
+ ## Central docs
240
239
 
241
- Se `CENTRAL_DOCS_STORAGE` definido no ENV.md **E** o usuário aprovar o ARD:
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
- - Executar:
252
- ```bash
253
- jarvis docs publish \
254
- --file {caminho_do_ard} \
255
- --tipo ard
256
- ```
257
-
258
- 3. Informar resultado:
259
- - ✅ Sucesso: "ARD publicado no Central docs." (com git: "PR aberto: [URL]")
260
- - ❌ Erro: Exibir mensagem de erro e orientar troubleshooting
261
-
262
- 4. Se **Não**:
263
- - Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo ard`"
264
-
265
- > **Nota**: se a pasta do Central docs for um repositório git, a publicação abre um Pull/Merge Request e o ARD só entra na branch base depois do merge. Sem git, o documento é gravado direto e o índice é regenerado.
@@ -29,8 +29,7 @@ usando o template `$IDE/templates/engineering/ARD-template.md`, sempre alinhado
29
29
  | Passo | Skill | Condição |
30
30
  |-------|-------|----------|
31
31
  | Objetivo | `eng.agent` (agente) | Sempre — identidade do workflow (alinhamento com `eng.agent.md`) |
32
- | Passo 1.1.1 – Buscar PRD no Central Docs | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md |
33
- | Passo 8 – Publicar no Central Docs | `/jarvis-docs-central` (via `jarvis docs publish --tipo ard`) | Se `CENTRAL_DOCS_STORAGE` 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 |
34
33
 
35
34
  ---
36
35
 
@@ -50,7 +49,7 @@ usando o template `$IDE/templates/engineering/ARD-template.md`, sempre alinhado
50
49
 
51
50
  - Se o usuário tiver passado `edit <nome-ou-caminho>`, use isso como entrada inicial.
52
51
  - Peça o **caminho do arquivo** do ARD existente (preferencial) ou o **nome** do ARD, se ainda não tiver.
53
- - Se o usuário passar só o nome, confirme onde ele está (ex.: `$DOCS_FOLDER/engineering/ARD/...`).
52
+ - Se o usuário passar só o nome, confirme onde ele está (ex.: `$ENG_DOCS/ARD/...`).
54
53
  - Leia o ARD atual e pergunte quais seções mudam (ou qual é o objetivo da iteração).
55
54
 
56
55
  3. Se for **novo ARD**:
@@ -65,11 +64,11 @@ usando o template `$IDE/templates/engineering/ARD-template.md`, sempre alinhado
65
64
  - `Título`
66
65
  - `Slug` para o nome do arquivo (kebab-case)
67
66
  - Defina o `ARD-ID` automaticamente assim:
68
- - Se a pasta `$DOCS_FOLDER/engineering/ARD/` existir e houver arquivos no padrão `ARD-###-*.md`, use o maior `###` + 1.
67
+ - Se a pasta `$ENG_DOCS/ARD/` existir e houver arquivos no padrão `ARD-###-*.md`, use o maior `###` + 1.
69
68
  - Defina o `ARD-ID` automaticamente assim:
70
- - Se a pasta `$DOCS_FOLDER/engineering/ARD/` existir e houver arquivos no padrão `ARD-###-*.md`, use o maior `###` + 1.
69
+ - Se a pasta `$ENG_DOCS/ARD/` existir e houver arquivos no padrão `ARD-###-*.md`, use o maior `###` + 1.
71
70
  - `Status` (campo `status` no frontmatter: `proposed | in_progress | in_review | approved`)
72
- - `Caminho do arquivo` (`$DOCS_FOLDER/engineering/ARD/{ARD-ID}-{slug}.md` ou caminho fornecido para iteração)
71
+ - `Caminho do arquivo` (`$ENG_DOCS/ARD/{ARD-ID}-{slug}.md` ou caminho fornecido para iteração)
73
72
 
74
73
  ---
75
74
 
@@ -114,7 +113,7 @@ Regras:
114
113
  - `ARD-ID`
115
114
  - `Título`
116
115
  - `Status` (campo `status` no frontmatter)
117
- - `Caminho do arquivo` (`$DOCS_FOLDER/engineering/ARD/{ARD-ID}-{slug}.md` ou caminho fornecido para iteração)
116
+ - `Caminho do arquivo` (`$ENG_DOCS/ARD/{ARD-ID}-{slug}.md` ou caminho fornecido para iteração)
118
117
 
119
118
  ---
120
119
 
@@ -124,20 +123,20 @@ Regras:
124
123
 
125
124
  Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
126
125
 
127
- 1. Executar busca automática no central-docs:
126
+ 1. Consultar no Central docs as funcionalidades já implementadas relacionadas (o que existe hoje):
128
127
  ```bash
129
128
  jarvis docs sync --silent
130
129
  ```
131
130
 
132
- 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:
133
132
  - Título/objetivo do ARD
134
133
  - Jira ID (se disponível)
135
134
  - Tags semânticas
136
135
 
137
- 3. Se PRD encontrado no central-docs:
136
+ 3. Se o PRD for encontrado em `$PROD_DOCS`:
138
137
  - Carregar automaticamente como contexto
139
138
  - Pular para item 2 (extração de requisitos)
140
- - Informar ao usuário: "✅ PRD encontrado no central-docs: [nome]"
139
+ - Informar ao usuário: "✅ PRD encontrado: [caminho]"
141
140
 
142
141
  4. Se PRD não encontrado:
143
142
  - Continuar com pergunta manual (item 1.1.2)
@@ -264,8 +263,8 @@ Sempre que possível, destaque:
264
263
  >
265
264
  > **1. Buscar contrato no repositório primeiro:**
266
265
  > Procure por specs existentes nos seguintes locais:
267
- > - `docs/engineering/swagger/`
268
- > - `docs/engineering/openapi/`
266
+ > - `$ENG_DOCS/swagger/`
267
+ > - `$ENG_DOCS/openapi/`
269
268
  > - `**/*swagger*.{yaml,yml,json}`
270
269
  > - `**/*openapi*.{yaml,yml,json}`
271
270
  > - `**/*api-spec*.{yaml,yml,json}`
@@ -363,30 +362,7 @@ Peça explicitamente para o usuário:
363
362
 
364
363
  ---
365
364
 
366
- ## Passo 8 – Publicar no Central Docs (condicional)
365
+ ## Central docs
367
366
 
368
- Se `CENTRAL_DOCS_STORAGE` definido no ENV.md **E** o usuário aprovar o ARD:
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.
369
368
 
370
- 1. Perguntar ao usuário:
371
- ```
372
- Deseja publicar este ARD no repositório central de documentação?
373
- - ( ) Sim, publicar agora
374
- - ( ) Não, vou publicar depois manualmente
375
- ```
376
-
377
- 2. Se **Sim**:
378
- - Executar:
379
- ```bash
380
- jarvis docs publish \
381
- --file {caminho_do_ard} \
382
- --tipo ard
383
- ```
384
-
385
- 3. Informar resultado:
386
- - ✅ Sucesso: "ARD publicado no Central docs." (com git: "PR aberto: [URL]")
387
- - ❌ Erro: Exibir mensagem de erro e orientar troubleshooting
388
-
389
- 4. Se **Não**:
390
- - Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo ard`"
391
-
392
- > **Nota**: se a pasta do Central docs for um repositório git, a publicação abre um Pull/Merge Request e o ARD só entra na branch base depois do merge. Sem git, o documento é gravado direto e o índice é regenerado.
@@ -28,7 +28,6 @@ Além disso, quando houver campo `Versão` no RFC, aplicar obrigatoriamente:
28
28
  | Passo | Skill | Condição |
29
29
  |-------|-------|----------|
30
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 |
31
- | Passo 7 – Publicar no Central Docs | `/jarvis-docs-central` (via `jarvis docs publish --tipo rfc`) | Se `CENTRAL_DOCS_STORAGE` estiver definido **e** o usuário aprovar o RFC e responder "Sim, publicar agora" |
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 `$DOCS_FOLDER/engineering/RFC/` existir e houver arquivos no padrão `RFC-###-*.md`, use o maior `###` + 1.
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` = `$DOCS_FOLDER/engineering/RFC/{RFC-ID}-{slug}.md`
65
+ - `Caminho do arquivo` = `$ENG_DOCS/RFC/{RFC-ID}-{slug}.md`
67
66
 
68
67
  ---
69
68
 
@@ -94,7 +93,7 @@ Regras:
94
93
 
95
94
  Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
96
95
 
97
- 1. Executar busca automática no central-docs:
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_STORAGE` definido no ENV.md:
105
104
  - Tags semânticas
106
105
 
107
106
  3. Documentos a buscar:
108
- - **PRD relacionado** (para rastreabilidade e contexto de negócio)
109
- - **ARD existente** (para consistência arquitetural)
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,30 +220,7 @@ Entregar:
221
220
 
222
221
  ---
223
222
 
224
- ## Passo 7 – Publicar no Central Docs (condicional)
223
+ ## Central docs
225
224
 
226
- Se `CENTRAL_DOCS_STORAGE` definido no ENV.md **E** o usuário aprovar o RFC:
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
- - Executar:
237
- ```bash
238
- jarvis docs publish \
239
- --file {caminho_do_rfc} \
240
- --tipo rfc
241
- ```
242
-
243
- 3. Informar resultado:
244
- - ✅ Sucesso: "RFC publicado no Central docs." (com git: "PR aberto: [URL]")
245
- - ❌ Erro: Exibir mensagem de erro e orientar troubleshooting
246
-
247
- 4. Se **Não**:
248
- - Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo rfc`"
249
-
250
- > **Nota**: se a pasta do Central docs for um repositório git, a publicação abre um Pull/Merge Request e o RFC só entra na branch base depois do merge. Sem git, o documento é gravado direto e o índice é regenerado.