jarvis-ai-framework 3.2.0 → 4.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/product/prod.discovery-interviewer.md +1 -1
- package/bin/README.md +14 -14
- package/bin/commands/docs-publish.js +50 -92
- package/bin/commands/docs-sync.js +30 -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 +89 -161
- package/bin/lib/docs/storage/build-index.js +87 -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 +14 -4
- package/bin/lib/vcs/api.js +0 -125
- package/package.json +2 -2
- package/rules/AGENTS.md +12 -9
- package/rules/engineering/eng.integrations-rules.md +2 -1
- package/rules/product/prod-rules.md +4 -5
- package/rules-on-demand/product/prod.guided-rules.md +104 -0
- package/skills/jarvis-docs-central/README.md +57 -269
- package/skills/jarvis-docs-central/SKILL.md +126 -296
- package/skills/jarvis-init/SKILL.md +46 -7
- package/templates/ENV-template.md +20 -5
- package/templates/engineering/ARD-template.md +39 -6
- package/templates/engineering/architecture-template.md +1 -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 +2 -2
- package/workflows/engineering/eng.create-ard-from-code.md +9 -11
- package/workflows/engineering/eng.create-ard.md +15 -13
- package/workflows/engineering/eng.create-rfc.md +8 -10
- package/workflows/engineering/eng.pr.md +4 -4
- package/workflows/engineering/eng.pre-pr.md +4 -4
- package/workflows/engineering/eng.rpa.robot.md +4 -2
- package/workflows/engineering/eng.start.md +17 -16
- package/workflows/product/prod.roadmap.preview.md +4 -1
- package/workflows/product/prod.spec.ard.md +7 -3
- package/workflows/product/prod.spec.breakdown.md +7 -3
- 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 +13 -11
- package/workflows/product/prod.spec.frd.md +15 -13
- package/workflows/product/prod.spec.issue.md +5 -1
- package/workflows/product/prod.spec.md +3 -1
- package/workflows/product/prod.spec.prd.md +15 -13
- package/workflows/warm-up.md +3 -3
- package/bin/lib/docs/redis-cache.js +0 -49
- package/bin/lib/vcs/fetch-raw.js +0 -42
|
@@ -40,7 +40,7 @@ Estamos nos aproximando de finalizar o trabalho nesta branch e nos preparar para
|
|
|
40
40
|
| Skills recomendados | `/jarvis-docs-index` | Se for necessário atualizar o índice de documentação |
|
|
41
41
|
| Skills recomendados | `/eng-platform` + `PLATFORM_SPECIALIZATIONS` | Se a feature tiver requisitos não-funcionais de latência, throughput ou escalabilidade |
|
|
42
42
|
| Skills recomendados | `/eng-backend` e `/eng-frontend` (via `eng.specializations-rules.md`) | Para validar código de backend (endpoints, autenticação, workers) ou de frontend (componentes, performance de UI, WCAG 2.1 AA); a regra também carrega as especializações registradas no ENV.md |
|
|
43
|
-
| Gate 0: Verificar Documentação Central | `/jarvis-docs-central` (via `jarvis docs publish --tipo ard`) | Se `
|
|
43
|
+
| Gate 0: Verificar Documentação Central | `/jarvis-docs-central` (via `jarvis docs publish --tipo ard`) | Se `CENTRAL_DOCS_STORAGE` estiver configurado, houver mudança arquitetural, o ARD estiver desatualizado ou novo e o usuário aceitar publicar |
|
|
44
44
|
| Gates › item 1 | `prod.pm-checker` (agente) | Sempre — verificar alinhamento da branch com os docs de produto e engenharia |
|
|
45
45
|
| Gates › item 2 | `eng.dev-code-reviewer` (agente) | Sempre — revisar o código antes de lançar |
|
|
46
46
|
| Gates › item 3 | `eng.qa.test-planner` (agente) | Sempre — identificar gaps de cobertura de testes na branch |
|
|
@@ -65,7 +65,7 @@ Estamos nos aproximando de finalizar o trabalho nesta branch e nos preparar para
|
|
|
65
65
|
|
|
66
66
|
### Gate 0: Verificar Documentação Central (condicional)
|
|
67
67
|
|
|
68
|
-
Se `
|
|
68
|
+
Se `CENTRAL_DOCS_STORAGE` estiver configurado no ENV.md:
|
|
69
69
|
|
|
70
70
|
**Passo 1:** Detectar mudanças arquiteturais no diff da branch
|
|
71
71
|
```bash
|
|
@@ -77,14 +77,14 @@ git diff main...HEAD | grep -E "(class|interface|schema|migration|config)" || tr
|
|
|
77
77
|
- Comparar com ARD do central-docs (se existir)
|
|
78
78
|
- Se desatualizado ou novo:
|
|
79
79
|
- Perguntar: "Publicar ARD atualizado no central-docs?"
|
|
80
|
-
- Se sim: executar `jarvis docs publish --file <path> --tipo ard
|
|
80
|
+
- Se sim: executar `jarvis docs publish --file <path> --tipo ard`
|
|
81
81
|
|
|
82
82
|
**Passo 3:** Se novos contratos/APIs criados:
|
|
83
83
|
- Verificar se há RFC relacionado
|
|
84
84
|
- Se não: sugerir criar RFC para decisões arquiteturais
|
|
85
85
|
|
|
86
86
|
**Comportamento:**
|
|
87
|
-
- Se `
|
|
87
|
+
- Se `CENTRAL_DOCS_STORAGE` vazio → pular silenciosamente
|
|
88
88
|
- Não bloquear PR por docs desatualizados (apenas avisar)
|
|
89
89
|
|
|
90
90
|
---
|
|
@@ -75,14 +75,16 @@ grep "^ENABLE_CDD=" $IDE/ENV.md
|
|
|
75
75
|
|
|
76
76
|
### 0.3 Criar Branch e Sessão
|
|
77
77
|
|
|
78
|
+
Pergunte a branch base com `AskUserQuestion` (**"De qual branch partir?"**: `main`, `dev`, `{branch atual}` se for outra, ou Outro) e grave `Branch base:` no `architecture.md` da sessão; o `eng.pr` abre o PR para ela.
|
|
79
|
+
|
|
78
80
|
```bash
|
|
79
|
-
git checkout
|
|
81
|
+
git checkout {BRANCH_BASE} && git pull --ff-only origin {BRANCH_BASE}
|
|
80
82
|
git checkout -b {TASK_MANAGER_KEY}-{robot-tag}
|
|
81
83
|
mkdir -p $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
|
|
82
84
|
echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ")" > $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/.timestamp_start
|
|
83
85
|
```
|
|
84
86
|
|
|
85
|
-
>
|
|
87
|
+
> A base é sempre perguntada: não presuma `dev` nem `main`. A branch de trabalho nunca é a própria base.
|
|
86
88
|
|
|
87
89
|
---
|
|
88
90
|
|
|
@@ -27,7 +27,7 @@ Este comando inicia o **planejamento** de uma nova feature.
|
|
|
27
27
|
| Cabeçalho (agente) | `eng.agent` (agente) | Sempre — identidade do workflow |
|
|
28
28
|
| Fase 0.1: Análise de Contexto (CDD) | `/jarvis-context-detect` | Se `ENABLE_CDD=true` no ENV.md (execução obrigatória antes da Fase 1); `ENABLE_CDD=false` pula |
|
|
29
29
|
| Fase 0.5: Advisor (opcional) | `eng.advisor.agent` (agente) | Se o usuário escolher usar o Advisor no alerta e o `architecture.md` tiver questões em aberto (aberto só na primeira questão) |
|
|
30
|
-
| Fase 2.2: Buscar Documentação Central | `/jarvis-docs-central` | Se `
|
|
30
|
+
| Fase 2.2: Buscar Documentação Central | `/jarvis-docs-central` | Se `CENTRAL_DOCS_STORAGE` estiver configurado no ENV.md (buscar PRD, ARD e RFCs relacionados) |
|
|
31
31
|
| Fase 3.4: Estratégia de Testes | `eng.qa.test-architect` (agente) | Se a feature tiver requisitos de performance ou segurança (APIs públicas, dados sensíveis, alta carga ou requisitos não-funcionais explícitos) |
|
|
32
32
|
| Fase 3.4: Estratégia de Testes | `/eng-platform` | Se a feature tiver requisitos de performance (latência, throughput, escalabilidade) |
|
|
33
33
|
| Fase 3.4: Estratégia de Testes | `/eng-ai` | Se a feature envolver IA (LLM, RAG, agentes, chatbots, embeddings) |
|
|
@@ -135,14 +135,16 @@ Registre a escolha no cabeçalho do `architecture.md` (`Advisor:`). O agente `en
|
|
|
135
135
|
|
|
136
136
|
## Fase 1: Preparação do Ambiente
|
|
137
137
|
|
|
138
|
-
### 1.1 Criar Branch de Feature
|
|
138
|
+
### 1.1 Criar Branch de Feature
|
|
139
139
|
|
|
140
|
-
|
|
140
|
+
**Pergunte sempre a branch base** com `AskUserQuestion` (sem a ferramenta, use a tabela de `prod-rules.md`): **"De qual branch partir?"** com as opções `main`, `dev` e `{branch atual}` (só se a branch atual for outra), mais "Outro" para digitar. Não presuma `dev` nem `main`: cada projeto tem o seu fluxo.
|
|
141
|
+
|
|
142
|
+
Grave a escolha no cabeçalho do `architecture.md` (`Branch base:`). O `eng.pr` abre o PR para essa mesma branch.
|
|
141
143
|
|
|
142
144
|
```bash
|
|
143
|
-
# Garantir que
|
|
144
|
-
git checkout
|
|
145
|
-
git pull origin
|
|
145
|
+
# Garantir que a base está atualizada
|
|
146
|
+
git checkout {BRANCH_BASE}
|
|
147
|
+
git pull --ff-only origin {BRANCH_BASE}
|
|
146
148
|
|
|
147
149
|
# Criar branch no padrão {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
|
|
148
150
|
git checkout -b {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
|
|
@@ -175,9 +177,9 @@ git branch --show-current
|
|
|
175
177
|
| `TASK-123` | "Implementar autenticação JWT" | `TASK-123-implementar-autenticacao-jwt` |
|
|
176
178
|
| `BUG-789` | "Fix null pointer em login" | `BUG-789-fix-null-pointer-em-login` |
|
|
177
179
|
|
|
178
|
-
> ⚠️ Se o usuário já estiver em uma branch com o padrão correto do TASK_MANAGER_KEY, use-a sem criar nova.
|
|
179
|
-
> ⚠️
|
|
180
|
-
> ✅ A branch criada aqui será usada em todos os workflows subsequentes (work, pre-pr, pr).
|
|
180
|
+
> ⚠️ Se o usuário já estiver em uma branch com o padrão correto do TASK_MANAGER_KEY, use-a sem criar nova (e ainda assim pergunte a base, para o `eng.pr`).
|
|
181
|
+
> ⚠️ Se o projeto tiver convenção própria de nome de branch (ex.: `CONTRIBUTING.md`), siga a do projeto.
|
|
182
|
+
> ✅ A branch criada aqui será usada em todos os workflows subsequentes (work, pre-pr, pr). Ela é sempre uma branch de trabalho: nunca implemente direto na base.
|
|
181
183
|
|
|
182
184
|
### 1.2 Criar Diretório de Sessão
|
|
183
185
|
|
|
@@ -215,7 +217,7 @@ Solicite ao usuário os dados de entrada:
|
|
|
215
217
|
|
|
216
218
|
### 2.2 Buscar Documentação Central (condicional)
|
|
217
219
|
|
|
218
|
-
Se `
|
|
220
|
+
Se `CENTRAL_DOCS_STORAGE` estiver configurado no ENV.md, buscar docs relacionados:
|
|
219
221
|
|
|
220
222
|
**Passo 1:** Identificar docs relevantes com base no Jira ID e tags do card
|
|
221
223
|
|
|
@@ -230,7 +232,7 @@ Se `CENTRAL_DOCS_REPO` estiver configurado no ENV.md, buscar docs relacionados:
|
|
|
230
232
|
**Comportamento:**
|
|
231
233
|
- Se docs encontrados → carregar e exibir resumo
|
|
232
234
|
- Se não encontrados → perguntar se tem docs localmente
|
|
233
|
-
- Se `
|
|
235
|
+
- Se `CENTRAL_DOCS_STORAGE` vazio → pular silenciosamente
|
|
234
236
|
|
|
235
237
|
### 2.3 Análise do Requisito
|
|
236
238
|
|
|
@@ -426,16 +428,15 @@ Quando o usuário aprovar, informe:
|
|
|
426
428
|
```
|
|
427
429
|
✅ Architecture.md criado com sucesso!
|
|
428
430
|
|
|
429
|
-
🌿 Branch: {
|
|
431
|
+
🌿 Branch: {NOME_DA_BRANCH} (criada a partir de {BRANCH_BASE})
|
|
430
432
|
📄 Arquivo: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/architecture.md
|
|
431
|
-
🌿 Branch: {NOME_DA_BRANCH}
|
|
432
433
|
|
|
433
434
|
🔄 Board: mova o card para "Em progresso" no seu board de tarefas.
|
|
434
435
|
|
|
435
436
|
📌 Próximos passos:
|
|
436
437
|
1. Execute `eng.plan` para criar o plano detalhado de execução
|
|
437
438
|
2. Execute `eng.work` para implementar (commita automaticamente ao final de cada fase)
|
|
438
|
-
3. Execute `eng.pr` para abrir o MR para
|
|
439
|
+
3. Execute `eng.pr` para abrir o MR para {BRANCH_BASE}
|
|
439
440
|
|
|
440
441
|
🚫 Lembre-se: Este workflow NÃO executa código.
|
|
441
442
|
Para implementar, use os comandos de execução.
|
|
@@ -452,11 +453,11 @@ Quando o usuário aprovar, informe:
|
|
|
452
453
|
- ❌ NÃO faça commits
|
|
453
454
|
- ❌ NÃO instale dependências
|
|
454
455
|
- ❌ NÃO modifique arquivos de código existentes
|
|
455
|
-
- ❌ NÃO crie branch
|
|
456
|
+
- ❌ NÃO crie a branch sem perguntar a base
|
|
456
457
|
|
|
457
458
|
### ✅ FAÇA APENAS
|
|
458
459
|
|
|
459
|
-
- ✅ Criar branch a partir
|
|
460
|
+
- ✅ Criar branch a partir da base escolhida pelo usuário, no padrão `{TASK_MANAGER_KEY}-{titulo}`
|
|
460
461
|
- ✅ Criar o diretório `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/`
|
|
461
462
|
- ✅ Criar o arquivo `architecture.md`
|
|
462
463
|
- ✅ Investigar e analisar o codebase (leitura apenas)
|
|
@@ -3,12 +3,15 @@ name: prod.roadmap.preview
|
|
|
3
3
|
description: Conhecer e ter visibilidade do roadmap de entregas planejadas do produto, como períodos de entrega, nome dos projetos e responsáveis.
|
|
4
4
|
auto_execution_mode: 3
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
+
recommended_model: opus
|
|
6
7
|
model_tier: high
|
|
7
8
|
model_justification: Gestores e time precisam entender quais as próximas prioridades de entrega que serão feitas pelos times baseados nas informações disponíveis no projeto e também no task manager utilizado pela empresa.
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# Roadmap Preview
|
|
11
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
|
+
|
|
12
15
|
Este comando tem como objetivo de buscar e trazer informações sobre o roadmap de entregas planejadas do produto, como períodos de entrega, nome dos projetos e responsáveis.
|
|
13
16
|
|
|
14
17
|
Antes de iniciar, revise o arquivo de regras invioláveis em `$PROD_RULES/**/*`. Se você não estiver familiarizado com essa variável, leia as regras diretamente na pasta `.$IDE/rules/product/**/*.*`.
|
|
@@ -23,7 +26,7 @@ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entend
|
|
|
23
26
|
- Sempre identifique o quadrimestre atual e o próximo com base na data de hoje.
|
|
24
27
|
- Utilize o MCP disponível relacionado ao $TASK_MANAGER utilizado pelo usuário.
|
|
25
28
|
- Antes de qualquer coisa, procure por informações sobre o projeto ou produto que o usuário está solicitando dentro da pasta de trabalho utilizado. Confirme com o usuário o que foi encontrado. Utilize também informações que o usuário já compartilhou.
|
|
26
|
-
- As documentações de projeto podem ser encontradas na pasta do projeto (`$PROD_DOCS`). Rascunhos WIP: `$SESSIONS_DIR/prod/`. Caso não estejam disponíveis localmente, utilize via Skill tool a `jarvis-docs-central` para buscar as informações
|
|
29
|
+
- As documentações de projeto podem ser encontradas na pasta do projeto (`$PROD_DOCS`). Rascunhos WIP: `$SESSIONS_DIR/prod/`. Caso não estejam disponíveis localmente, utilize via Skill tool a `jarvis-docs-central` para buscar as informações no Central docs (se `CENTRAL_DOCS_STORAGE` estiver configurado).
|
|
27
30
|
- Para trazer as informações, utilize via Skill tool a skill `product-roadmap-report`
|
|
28
31
|
|
|
29
32
|
### Status Reports por Squad
|
|
@@ -3,13 +3,17 @@ name: prod.spec.ard
|
|
|
3
3
|
description: Ponto de entrada de produto para o ARD (Architecture Requirements Document): levanta com o PM os requisitos arquiteturais em termos de produto e conduz o ARD pelo fluxo de engenharia.
|
|
4
4
|
auto_execution_mode: 3
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
-
recommended_model:
|
|
6
|
+
recommended_model: opus
|
|
7
7
|
model_tier: medium
|
|
8
8
|
model_justification: Levantamento estruturado de requisitos arquiteturais a partir de PRD e FRD, seguido da condução do fluxo de engenharia existente
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# ARD a partir do produto (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
|
Antes de iniciar, revise o arquivo de regras invioláveis em `$PROD_RULES/**/*`. Se você não estiver familiarizado com essa variável, leia as regras diretamente na pasta `.$IDE/rules/product/**/*.*`.
|
|
14
18
|
|
|
15
19
|
Este fluxo é a **porta de entrada de produto** para o ARD. Ele levanta com o PM, em linguagem de produto, o que a arquitetura precisa atender (restrições, requisitos não funcionais, integrações, volumes e riscos) e, com isso, **conduz o ARD pelo fluxo de engenharia** (`eng.create-ard`), sem duplicá-lo.
|
|
@@ -41,7 +45,7 @@ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entend
|
|
|
41
45
|
|
|
42
46
|
| Passo | Skill | Condição |
|
|
43
47
|
|-------|-------|----------|
|
|
44
|
-
| Gate 1: Reconhecer o contexto | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `
|
|
48
|
+
| Gate 1: Reconhecer o contexto | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md e for preciso buscar o PRD ou FRD relacionado |
|
|
45
49
|
| Gate 4: Conduzir o ARD | `/eng.create-ard` | Sempre, depois de os requisitos serem confirmados: modo `new`, com `--prd` quando houver PRD (workflow de engenharia; o aviso de transição de domínio é dado antes) |
|
|
46
50
|
|
|
47
51
|
## Resultado final
|
|
@@ -60,7 +64,7 @@ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entend
|
|
|
60
64
|
|
|
61
65
|
### Gate 1: Reconhecer o contexto
|
|
62
66
|
1. Valide o `ENV.md` (regra geral de produto) e avise que o ARD é um documento de engenharia.
|
|
63
|
-
2. Identifique o PRD ou FRD de origem em `$PROD_DOCS` (ou o caminho que o usuário informar) e leia-o. Se `
|
|
67
|
+
2. Identifique o PRD ou FRD de origem em `$PROD_DOCS` (ou o caminho que o usuário informar) e leia-o. Se `CENTRAL_DOCS_STORAGE` estiver definido, busque no central docs o PRD ou FRD relacionado.
|
|
64
68
|
3. Resuma em poucas linhas o que a especificação pede e confirme com o usuário que é essa a origem. Se `AREA` do usuário não for `ENGINEERING`, avise que o ARD seguirá o fluxo de engenharia e deve ser revisado por alguém da engenharia.
|
|
65
69
|
|
|
66
70
|
### Gate 2: Levantar os requisitos arquiteturais em termos de produto
|
|
@@ -3,13 +3,17 @@ name: prod.spec.breakdown
|
|
|
3
3
|
description: Quebra uma especificação de produto grande (Documento de Requisitos de Produto ou Documento de Requisitos Funcionais) em fatias gerenciáveis — versões, épicos e histórias — sem perder o objetivo de valor.
|
|
4
4
|
auto_execution_mode: 3
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
-
recommended_model:
|
|
6
|
+
recommended_model: opus
|
|
7
7
|
model_tier: high
|
|
8
8
|
model_justification: Breakdown de produto exige julgamento de valor, sequenciamento e decomposição em entregas incrementais
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Quebra de especificação (breakdown)
|
|
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
|
Este comando transforma uma especificação **grande demais para executar de uma vez** em um **plano detalhado (breakdown)**: versões / releases, épicos e esboço de histórias ou tarefas — com foco em **valor perceptível ao usuário**, não só em camadas técnicas.
|
|
14
18
|
|
|
15
19
|
Antes de iniciar, revise as regras invioláveis em `$PROD_RULES/**/*`. Se a variável for desconhecida, leia `.$IDE/rules/product/**/*.*`.
|
|
@@ -48,7 +52,7 @@ Utilize o `$ARGUMENTS` como ponto de partida (caminho da spec, nome da feature o
|
|
|
48
52
|
|-------|-------|----------|
|
|
49
53
|
| Pré-requisitos (item 2) | `/prod.spec.prd` | Se não houver spec pai e o usuário aceitar criar o PRD |
|
|
50
54
|
| Pré-requisitos (item 2) | `/prod.spec.frd` | Se não houver spec pai e o usuário aceitar criar o FRD |
|
|
51
|
-
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `
|
|
55
|
+
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_STORAGE` estiver no ENV.md (best-effort) |
|
|
52
56
|
| Resultado esperado (materialização) | `/prod.spec.epic` | Se o usuário aprovar criar os arquivos de épico a partir do breakdown (nunca automaticamente) |
|
|
53
57
|
| Resultado esperado (materialização) | `/prod.spec.issue` | Se o usuário aprovar criar os arquivos de história ou tarefa a partir do breakdown (nunca automaticamente) |
|
|
54
58
|
|
|
@@ -58,7 +62,7 @@ O artefato de breakdown segue o template `$PROD_TEMPLATES/prod-breakdown-templat
|
|
|
58
62
|
|
|
59
63
|
## Busca no Central Docs (condicional)
|
|
60
64
|
|
|
61
|
-
Se `
|
|
65
|
+
Se `CENTRAL_DOCS_STORAGE` estiver no `ENV.md`:
|
|
62
66
|
|
|
63
67
|
1. `jarvis docs sync --silent` (best-effort)
|
|
64
68
|
2. Localizar Documento de Requisitos de Produto / funcional relacionado (nome, tags, `TASK_MANAGER_KEY`)
|
|
@@ -3,13 +3,17 @@ name: prod.spec.clarify
|
|
|
3
3
|
description: Identificar áreas subespecificadas na especificação da feature atual fazendo até 5 perguntas de esclarecimento altamente direcionadas e incorporando as respostas de volta na spec.
|
|
4
4
|
auto_execution_mode: 3
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
-
recommended_model:
|
|
6
|
+
recommended_model: opus
|
|
7
7
|
model_tier: medium
|
|
8
8
|
model_justification: Esclarecimento de specs requer análise estruturada e formulação de perguntas, mas segue processo bem definido
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Clarify workflow
|
|
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
|
Detectar e reduzir ambiguidades ou pontos de decisão ausentes na especificação da feature ativa e registrar os esclarecimentos diretamente no arquivo da spec.
|
|
14
18
|
|
|
15
19
|
Rascunhos WIP (se houver) em `$SESSIONS_DIR/prod/{TASK_MANAGER_KEY}/`. O heading `### Session YYYY-MM-DD` é um log **dentro da spec canônica** — não é a pasta `$SESSIONS_DIR`.
|
|
@@ -3,13 +3,17 @@ name: prod.spec.discovery
|
|
|
3
3
|
description: Investigação inicial de uma ideia: entrevista o usuário sobre a ideia, o problema, os requisitos iniciais e a viabilidade, sem chutar, e registra um rascunho estruturado com veredito e próximo passo sugerido.
|
|
4
4
|
auto_execution_mode: 3
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
-
recommended_model:
|
|
6
|
+
recommended_model: opus
|
|
7
7
|
model_tier: high
|
|
8
8
|
model_justification: Discovery exige conduzir uma entrevista adaptativa, julgar evidências e registrar hipóteses sem presumir dados
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Discovery (investigação inicial de uma ideia)
|
|
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
|
Este comando conduz uma **entrevista** para investigar uma ideia ainda crua e registrar o resultado em um **rascunho estruturado**: o problema, o que precisaria ser verdade e se parece viável.
|
|
14
18
|
|
|
15
19
|
Antes de iniciar, revise as regras invioláveis em `$PROD_RULES/**/*`.
|
|
@@ -44,7 +48,7 @@ O comando e o agente seguem obrigatoriamente `$PROD_RULES` (`prod-rules.md`):
|
|
|
44
48
|
| Passo | Skill | Condição |
|
|
45
49
|
|-------|-------|----------|
|
|
46
50
|
| Regras do framework / Passo 4 — A entrevista | `prod.discovery-interviewer` (agente) | Sempre — conduz a entrevista, e o comando segue a postura dele |
|
|
47
|
-
| Passo 2 — Reconhecer o projeto | `/jarvis-docs-central` | Se `
|
|
51
|
+
| Passo 2 — Reconhecer o projeto | `/jarvis-docs-central` | Se `CENTRAL_DOCS_STORAGE` estiver configurado |
|
|
48
52
|
| Passo 2 — Reconhecer o projeto | `/jarvis-context-detect` | Para calibrar a profundidade da entrevista |
|
|
49
53
|
| Passo 2 — Reconhecer o projeto | `/eng-backend-arch-c4` | Só com a confirmação do usuário; o retorno é tratado como suposição a validar |
|
|
50
54
|
| Passo 2 — Reconhecer o projeto | `/eng-platform` + `PLATFORM_SPECIALIZATIONS` | Só com a confirmação do usuário; o retorno é tratado como suposição a validar |
|
|
@@ -70,7 +74,7 @@ Antes de perguntar, consulte o que já existe:
|
|
|
70
74
|
|
|
71
75
|
- Documentos em `$PROD_DOCS` (PRDs, FRDs e discoveries), para não duplicar o que já está especificado
|
|
72
76
|
- O código e os últimos commits, quando ajudarem a embasar a viabilidade
|
|
73
|
-
- `jarvis-docs-central`, se `
|
|
77
|
+
- `jarvis-docs-central`, se `CENTRAL_DOCS_STORAGE` estiver configurado
|
|
74
78
|
- `jarvis-context-detect`, para calibrar a profundidade da entrevista
|
|
75
79
|
- `eng-backend-arch-c4` e `eng-platform` (+ `PLATFORM_SPECIALIZATIONS`) são skills de engenharia: só consulte **com a confirmação do usuário**, e trate o retorno como **suposição a validar**, não como fato
|
|
76
80
|
|
|
@@ -3,13 +3,17 @@ name: prod.spec.epic
|
|
|
3
3
|
description: Fluxo de trabalho para criação de épicos que agrupam histórias de usuários e tarefas relacionadas seguindo as diretrizes do Product Spec Kit.
|
|
4
4
|
auto_execution_mode: 3
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
-
recommended_model:
|
|
6
|
+
recommended_model: opus
|
|
7
7
|
model_tier: medium
|
|
8
8
|
model_justification: Criação de épicos segue templates estruturados e requer compreensão de contexto de produto
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Crie um fluxo de trabalho épico
|
|
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
|
Antes de iniciar, revise o arquivo de regras invioláveis em `$PROD_RULES/**/*`. Se você não estiver familiarizado com essa variável, leia as regras diretamente na pasta `.$IDE/rules/product/**/*.*`.
|
|
14
18
|
|
|
15
19
|
Este fluxo de trabalho orienta você na criação de um épico usando `$PROD_TEMPLATES/prod-epic-template.md`. épicos agrupam histórias de usuários relacionadas que oferecem uma funcionalidade significativa.
|
|
@@ -37,9 +41,9 @@ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entend
|
|
|
37
41
|
|
|
38
42
|
| Passo | Skill | Condição |
|
|
39
43
|
|-------|-------|----------|
|
|
40
|
-
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `
|
|
44
|
+
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md, antes de criar o épico |
|
|
41
45
|
| Próximas etapas | `/prod.spec.issue` | Depois de criar o épico, se o usuário quiser escrever as histórias ou tarefas relacionadas |
|
|
42
|
-
| Publicação no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs publish --tipo epic`) | Se `
|
|
46
|
+
| Publicação no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs publish --tipo epic`) | Se `CENTRAL_DOCS_STORAGE` estiver definido, o épico estiver salvo e aprovado e o usuário responder "Sim, publicar agora" |
|
|
43
47
|
|
|
44
48
|
## Resultado final
|
|
45
49
|
- Por padrão, use o modelo `$PROD_TEMPLATES/prod-epic-template.md` integralmente
|
|
@@ -118,7 +122,7 @@ Após a aprovação do usuário:
|
|
|
118
122
|
|
|
119
123
|
## Busca no Central Docs (condicional)
|
|
120
124
|
|
|
121
|
-
Se `
|
|
125
|
+
Se `CENTRAL_DOCS_STORAGE` definido no ENV.md, antes de criar o épico:
|
|
122
126
|
|
|
123
127
|
- Executar busca automática no central-docs:
|
|
124
128
|
```bash
|
|
@@ -132,7 +136,7 @@ Se `CENTRAL_DOCS_REPO` definido no ENV.md, antes de criar o épico:
|
|
|
132
136
|
|
|
133
137
|
Após salvar o épico localmente e obter aprovação do usuário:
|
|
134
138
|
|
|
135
|
-
1. Se `
|
|
139
|
+
1. Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
|
|
136
140
|
- Perguntar ao usuário:
|
|
137
141
|
```
|
|
138
142
|
Deseja publicar este épico no repositório central de documentação?
|
|
@@ -141,23 +145,21 @@ Após salvar o épico localmente e obter aprovação do usuário:
|
|
|
141
145
|
```
|
|
142
146
|
|
|
143
147
|
2. Se **Sim**:
|
|
144
|
-
- Extrair o slug do nome do arquivo (ex: `epic-123-checkout.md` → `checkout`)
|
|
145
148
|
- Executar:
|
|
146
149
|
```bash
|
|
147
150
|
jarvis docs publish \
|
|
148
151
|
--file {caminho_do_epico} \
|
|
149
|
-
--tipo epic
|
|
150
|
-
--feature {slug}
|
|
152
|
+
--tipo epic
|
|
151
153
|
```
|
|
152
154
|
|
|
153
155
|
3. Informar resultado:
|
|
154
|
-
- ✅ Sucesso: "Épico publicado no
|
|
156
|
+
- ✅ Sucesso: "Épico publicado no Central docs." (com git: "PR aberto: [URL]")
|
|
155
157
|
- ❌ Erro: Exibir mensagem de erro e orientar troubleshooting
|
|
156
158
|
|
|
157
159
|
4. Se **Não**:
|
|
158
|
-
- Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo epic
|
|
160
|
+
- Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo epic`"
|
|
159
161
|
|
|
160
|
-
> **Nota**:
|
|
162
|
+
> **Nota**: se a pasta do Central docs for um repositório git, a publicação abre um Pull/Merge Request e o épico só entra na branch base depois do merge. Sem git, o documento é gravado direto e o índice é regenerado.
|
|
161
163
|
|
|
162
164
|
Utilize o que o usuário fornecer analisar em:
|
|
163
165
|
<requirement>
|
|
@@ -3,13 +3,17 @@ name: prod.spec.frd
|
|
|
3
3
|
description: Fluxo para criação de FRD (Functional Requirements Document), que auxilia na definição detalhada dos requisitos funcionais de uma feature
|
|
4
4
|
auto_execution_mode: 3
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
-
recommended_model:
|
|
6
|
+
recommended_model: opus
|
|
7
7
|
model_tier: high
|
|
8
8
|
model_justification: FRDs requerem análise detalhada de requisitos funcionais, comportamento de usuário e especificações técnicas
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# FRD - Functional 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
|
Este comando tem como objetivo criar, atualizar ou editar uma FRD seguindo o template especificado e as instruções.
|
|
14
18
|
|
|
15
19
|
Antes de iniciar, revise o arquivo de regras invioláveis em `$PROD_RULES/**/*`. Se você não estiver familiarizado com essa variável, leia as regras diretamente na pasta `.$IDE/rules/product/**/*.*`.
|
|
@@ -30,8 +34,8 @@ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entend
|
|
|
30
34
|
|
|
31
35
|
| Passo | Skill | Condição |
|
|
32
36
|
|-------|-------|----------|
|
|
33
|
-
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `
|
|
34
|
-
| Publicação no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs publish --tipo frd`) | Se `
|
|
37
|
+
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md |
|
|
38
|
+
| Publicação no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs publish --tipo frd`) | Se `CENTRAL_DOCS_STORAGE` estiver definido, o FRD estiver salvo e aprovado e o usuário responder "Sim, publicar agora" |
|
|
35
39
|
|
|
36
40
|
## Princípios Fundamentais
|
|
37
41
|
1. **Sempre use o template** `$PROD_TEMPLATES/prod-frd-template.md` para o output final
|
|
@@ -56,7 +60,7 @@ A FRD não é um épico, história ou task: ela serve como documento de detalham
|
|
|
56
60
|
|
|
57
61
|
## Busca no Central Docs (condicional)
|
|
58
62
|
|
|
59
|
-
Se `
|
|
63
|
+
Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
|
|
60
64
|
|
|
61
65
|
1. **Buscar PRD correspondente:**
|
|
62
66
|
- Executar busca automática no central-docs:
|
|
@@ -187,7 +191,7 @@ O sistema deve validar os dados do formulário.
|
|
|
187
191
|
|
|
188
192
|
Após salvar o FRD localmente e obter aprovação do usuário:
|
|
189
193
|
|
|
190
|
-
1. Se `
|
|
194
|
+
1. Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
|
|
191
195
|
- Perguntar ao usuário:
|
|
192
196
|
```
|
|
193
197
|
Deseja publicar este FRD no repositório central de documentação?
|
|
@@ -196,23 +200,21 @@ Após salvar o FRD localmente e obter aprovação do usuário:
|
|
|
196
200
|
```
|
|
197
201
|
|
|
198
202
|
2. Se **Sim**:
|
|
199
|
-
- Extrair o slug do nome do arquivo (ex: `frd-wallet-saque.md` → `wallet-saque`)
|
|
200
203
|
- Executar:
|
|
201
204
|
```bash
|
|
202
205
|
jarvis docs publish \
|
|
203
206
|
--file {caminho_do_frd} \
|
|
204
|
-
--tipo frd
|
|
205
|
-
--feature {slug}
|
|
207
|
+
--tipo frd
|
|
206
208
|
```
|
|
207
209
|
|
|
208
210
|
3. Informar resultado:
|
|
209
|
-
- ✅ Sucesso: "FRD publicado no
|
|
211
|
+
- ✅ Sucesso: "FRD publicado no Central docs." (com git: "PR aberto: [URL]")
|
|
210
212
|
- ❌ Erro: Exibir mensagem de erro e orientar troubleshooting
|
|
211
213
|
|
|
212
214
|
4. Se **Não**:
|
|
213
|
-
- Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo frd
|
|
215
|
+
- Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo frd`"
|
|
214
216
|
|
|
215
|
-
5. Se `
|
|
216
|
-
- Informar: "Para habilitar publicação automática, configure
|
|
217
|
+
5. Se `CENTRAL_DOCS_STORAGE` não estiver definido:
|
|
218
|
+
- Informar: "Para habilitar publicação automática, configure o Central docs no `/jarvis-init` (`CENTRAL_DOCS_STORAGE`)"
|
|
217
219
|
|
|
218
|
-
> **Nota**:
|
|
220
|
+
> **Nota**: se a pasta do Central docs for um repositório git, a publicação abre um Pull/Merge Request e o FRD só entra na branch base depois do merge. Sem git, o documento é gravado direto e o índice é regenerado.
|
|
@@ -3,13 +3,17 @@ name: prod.spec.issue
|
|
|
3
3
|
description: Criar um especificação de issues como Histórias de Usuário, Tarefas técnicas e bugs, seguindo as melhores práticas de gestão de produto e projeto.
|
|
4
4
|
auto_execution_mode: 3
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
-
recommended_model:
|
|
6
|
+
recommended_model: opus
|
|
7
7
|
model_tier: medium
|
|
8
8
|
model_justification: Criação de issues é estruturada e segue templates, requer boa compreensão mas não raciocínio extremamente complexo
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Fluxo de Criação de Issues
|
|
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
|
Antes de iniciar, revise o arquivo de regras invioláveis em `$PROD_RULES/**/*.*`.
|
|
14
18
|
|
|
15
19
|
Este fluxo orienta você na criação de issues (histórias de usuários, tarefas, bugs etc) bem definidas usando o template `$PROD_TEMPLATES/prod-issue-template.md`. Cada issue deve ser uma unidade de trabalho autocontida que pode ser completada dentro de uma única sprint.
|
|
@@ -3,13 +3,15 @@ name: prod.spec
|
|
|
3
3
|
description: Guia o usuário para construir especificações macro ou micro de produto, como PRDs, histórias, tarefas, RFDs e outros.
|
|
4
4
|
auto_execution_mode: 3
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
-
recommended_model:
|
|
6
|
+
recommended_model: opus
|
|
7
7
|
model_tier: medium
|
|
8
8
|
model_justification: Especificações de produto requerem compreensão de requisitos e estruturação de documentos
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Iniciar uma especificação
|
|
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
|
+
|
|
13
15
|
Estas instruções ajudam a orientar o usuário que deseja começar a construir uma especificação. Esta especificação pode variar desde um PRD, história de usuário até tarefas. Devemos orientá-lo nessa construção de forma que a especificação, seja ela macro ou micro seja criada de acordo com as instruções e padrões do projeto.
|
|
14
16
|
|
|
15
17
|
## Quando usar
|
|
@@ -3,13 +3,17 @@ name: prod.spec.prd
|
|
|
3
3
|
description: Alterar ou criar um especificação de produto PRD - Product Requirement Document seguindo o template especificado, regras invioláveis, possibilitando a utilização por agentes de IA e humanos.
|
|
4
4
|
auto_execution_mode: 3
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
-
recommended_model:
|
|
6
|
+
recommended_model: opus
|
|
7
7
|
model_tier: high
|
|
8
8
|
model_justification: PRDs requerem análise profunda de requisitos, estruturação de documentos complexos e compreensão de contexto de negócio
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# PRD - Product Requirement 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
|
Este comando tem como objetivo criar, atualizar ou editar uma PRD seguindo o template especificado e as instruções.
|
|
14
18
|
|
|
15
19
|
Antes de iniciar, revise o arquivo de regras invioláveis em `$PROD_RULES/**/*`. Se você não estiver familiarizado com essa variável, leia as regras diretamente na pasta `.$IDE/rules/product/**/*.*`.
|
|
@@ -29,8 +33,8 @@ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entend
|
|
|
29
33
|
|
|
30
34
|
| Passo | Skill | Condição |
|
|
31
35
|
|-------|-------|----------|
|
|
32
|
-
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `
|
|
33
|
-
| Publicação no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs publish --tipo prd`) | Se `
|
|
36
|
+
| Busca no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs sync --silent`) | Se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md (iteração de PRD existente) |
|
|
37
|
+
| Publicação no Central Docs (condicional) | `/jarvis-docs-central` (via `jarvis docs publish --tipo prd`) | Se `CENTRAL_DOCS_STORAGE` estiver definido, o PRD estiver salvo e aprovado e o usuário responder "Sim, publicar agora" |
|
|
34
38
|
|
|
35
39
|
## Princípios Fundamentais
|
|
36
40
|
1. **Sempre use o template** `$PROD_TEMPLATES/prod-prd-template.md` para o output final
|
|
@@ -41,7 +45,7 @@ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entend
|
|
|
41
45
|
|
|
42
46
|
## Busca no Central Docs (condicional)
|
|
43
47
|
|
|
44
|
-
Se `
|
|
48
|
+
Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
|
|
45
49
|
|
|
46
50
|
1. **Para iteração de PRD existente:**
|
|
47
51
|
- Executar busca automática no central-docs:
|
|
@@ -174,7 +178,7 @@ Quais métricas? A) Engajamento B) Receita C) Outro
|
|
|
174
178
|
|
|
175
179
|
Após salvar o PRD localmente e obter aprovação do usuário:
|
|
176
180
|
|
|
177
|
-
1. Se `
|
|
181
|
+
1. Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
|
|
178
182
|
- Perguntar ao usuário:
|
|
179
183
|
```
|
|
180
184
|
Deseja publicar este PRD no repositório central de documentação?
|
|
@@ -183,24 +187,22 @@ Após salvar o PRD localmente e obter aprovação do usuário:
|
|
|
183
187
|
```
|
|
184
188
|
|
|
185
189
|
2. Se **Sim**:
|
|
186
|
-
- Extrair o slug do nome do arquivo (ex: `prd-wallet.md` → `wallet`)
|
|
187
190
|
- Executar:
|
|
188
191
|
```bash
|
|
189
192
|
jarvis docs publish \
|
|
190
193
|
--file {caminho_do_prd} \
|
|
191
|
-
--tipo prd
|
|
192
|
-
--feature {slug}
|
|
194
|
+
--tipo prd
|
|
193
195
|
```
|
|
194
196
|
|
|
195
197
|
3. Informar resultado:
|
|
196
|
-
- ✅ Sucesso: "PRD publicado no
|
|
198
|
+
- ✅ Sucesso: "PRD publicado no Central docs." (com git: "PR aberto: [URL]")
|
|
197
199
|
- ❌ Erro: Exibir mensagem de erro e orientar troubleshooting
|
|
198
200
|
|
|
199
201
|
4. Se **Não**:
|
|
200
|
-
- Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo prd
|
|
202
|
+
- Informar: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo prd`"
|
|
201
203
|
|
|
202
|
-
5. Se `
|
|
203
|
-
- Informar: "Para habilitar publicação automática, configure
|
|
204
|
+
5. Se `CENTRAL_DOCS_STORAGE` não estiver definido:
|
|
205
|
+
- Informar: "Para habilitar publicação automática, configure o Central docs no `/jarvis-init` (`CENTRAL_DOCS_STORAGE`)"
|
|
204
206
|
|
|
205
|
-
> **Nota**:
|
|
207
|
+
> **Nota**: se a pasta do Central docs for um repositório git, a publicação abre um Pull/Merge Request e o PRD só entra na branch base depois do merge. Sem git, o documento é gravado direto e o índice é regenerado.
|
|
206
208
|
|
package/workflows/warm-up.md
CHANGED
|
@@ -19,7 +19,7 @@ evitando leitura desnecessária de arquivos e economizando tokens.
|
|
|
19
19
|
| Passo | Skill | Condição |
|
|
20
20
|
|-------|-------|----------|
|
|
21
21
|
| Passo 0.5 › 2. Para cada tecnologia identificada | `context7` (MCP: `resolve-library-id`, `query-docs`) | Se houver variável de stack com valor no ENV.md (uma consulta por tecnologia identificada); sem variável de stack, pula silenciosamente |
|
|
22
|
-
| Passo 2 — Sincronizar Documentação Central | `/jarvis-docs-central` | Se `
|
|
22
|
+
| Passo 2 — Sincronizar Documentação Central | `/jarvis-docs-central` | Se `CENTRAL_DOCS_STORAGE` estiver configurado no ENV.md (Modo 1: Buscar Docs, via Skill tool) |
|
|
23
23
|
| Passo 4 › Menu TECH LEAD › opções A a H | `/eng.start`, `/eng.debug`, `/eng.create-ard`, `/eng.create-ard-from-code`, `/eng.create-rfc`, `/eng.build-tech-spec`, `/eng.review`, `/eng.docs` | Se `POSITION=TECH LEAD` e `AREA=ENGINEERING` (menu dedicado) e o usuário escolher uma das opções (cada opção chama o workflow correspondente, na ordem do menu e do roteamento do Passo 4; `Outro` não chama workflow) |
|
|
24
24
|
| Passo 4 › Menu CTO › opções A a D | `/eng.review`, `/eng.create-ard`, `/eng.create-rfc`, `/eng.build-tech-spec` | Se `POSITION` for CTO ou equivalente (menu dedicado, para qualquer `AREA`) e o usuário escolher uma das opções (cada opção chama o workflow correspondente, na ordem do menu e do roteamento do Passo 4; `Outro` não chama workflow) |
|
|
25
25
|
| Passo 4 › Menu ENGINEERING + DATA › opções A a C | `/data.new-pipeline`, `/eng-data`, `/data.contract` | Se `AREA=ENGINEERING` e `HUB=DATA` e o usuário escolher uma das opções (cada opção chama o workflow correspondente, na ordem do menu e do roteamento do Passo 4; `Outro` não chama workflow) |
|
|
@@ -129,7 +129,7 @@ O perfil de comunicação é derivado de `POSITION` (conforme definido no `$IDE/
|
|
|
129
129
|
|
|
130
130
|
## Passo 2 — Sincronizar Documentação Central (condicional)
|
|
131
131
|
|
|
132
|
-
Se `
|
|
132
|
+
Se `CENTRAL_DOCS_STORAGE` estiver configurado no ENV.md, invocar o skill `jarvis-docs-central` via Skill tool para carregar docs do produto.
|
|
133
133
|
|
|
134
134
|
> ⚠️ **IMPORTANTE**: NÃO executar `jarvis docs sync` diretamente via Bash.
|
|
135
135
|
> Usar sempre: **Skill tool → jarvis-docs-central (Modo 1: Buscar Docs)**
|
|
@@ -158,7 +158,7 @@ Contexto: warm-up - sincronização inicial
|
|
|
158
158
|
```
|
|
159
159
|
|
|
160
160
|
**Comportamento:**
|
|
161
|
-
- Se `
|
|
161
|
+
- Se `CENTRAL_DOCS_STORAGE` vazio → pula silenciosamente
|
|
162
162
|
- Se erro de token → exibe aviso mas continua
|
|
163
163
|
- Se `index.md` não existe → navega estrutura do repo e lista docs disponíveis
|
|
164
164
|
- Se erro genérico → exibe mensagem clara e continua sem bloquear
|