jarvis-ai-framework 5.2.0 → 5.5.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 (42) hide show
  1. package/AGENTS.md +1 -0
  2. package/README.md +14 -1
  3. package/bin/commands/init.js +149 -2
  4. package/bin/commands/tokens.js +9 -3
  5. package/bin/lib/cli/program.js +14 -2
  6. package/bin/lib/core/docs-migrate.js +259 -0
  7. package/bin/lib/core/env-upgrade.js +84 -0
  8. package/bin/lib/core/profile-filter.js +15 -3
  9. package/bin/lib/core/sync-engine.js +5 -3
  10. package/bin/lib/core/token-report.js +1 -0
  11. package/bin/lib/docs/storage/build-index.js +2 -1
  12. package/bin/lib/vcs/api.js +13 -1
  13. package/bin/lib/vcs/create-issue.js +17 -3
  14. package/package.json +2 -2
  15. package/rules/AGENTS.md +4 -1
  16. package/rules/artifact-style-rules.md +53 -0
  17. package/rules/product/prod-rules.md +4 -2
  18. package/rules/product/prod.spec-rules.md +2 -2
  19. package/rules-on-demand/engineering/eng.plan-rules.md +1 -1
  20. package/rules-on-demand/engineering/eng.pr-rules.md +4 -3
  21. package/rules-on-demand/engineering/eng.start-rules.md +2 -2
  22. package/rules-on-demand/engineering/eng.transitions-rules.md +58 -0
  23. package/rules-on-demand/engineering/eng.work-rules.md +9 -3
  24. package/skills/eng-global-pr/SKILL.md +3 -1
  25. package/skills/eng-global-task-comment/SKILL.md +2 -0
  26. package/skills/jarvis-docs-central/SKILL.md +1 -1
  27. package/skills/jarvis-init/SKILL.md +54 -17
  28. package/skills/jarvis-report-issue/SKILL.md +64 -9
  29. package/templates/ENV-template.md +10 -0
  30. package/templates/engineering/architecture-template.md +2 -1
  31. package/templates/engineering/plan-template.md +2 -0
  32. package/templates/product/prod-epic-template.md +1 -1
  33. package/templates/product/prod-frd-template.md +1 -1
  34. package/templates/product/prod-issue-template.md +1 -1
  35. package/templates/product/prod-prd-template.md +1 -1
  36. package/workflows/engineering/eng.plan.md +2 -1
  37. package/workflows/engineering/eng.pr.md +39 -6
  38. package/workflows/engineering/eng.pre-pr.md +2 -1
  39. package/workflows/engineering/eng.spec-consolidate.md +3 -1
  40. package/workflows/engineering/eng.start.md +8 -2
  41. package/workflows/engineering/eng.work.md +22 -5
  42. package/workflows/product/prod.spec.discovery.md +2 -2
@@ -15,6 +15,7 @@ Este comando executa a **implementação de código** seguindo o plano de execu
15
15
 
16
16
  > 📋 **Rules**: `$IDE/rules-on-demand/engineering/eng.work-rules.md` — **antes de começar, leia esse arquivo e siga-o**: ele não é carregado automaticamente no início da sessão.
17
17
  > 📤 **Template**: `$IDE/templates/engineering/work-progress-template.md`
18
+ > 🔀 **Transições**: `$IDE/rules-on-demand/engineering/eng.transitions-rules.md` — perguntas de início e de fim deste comando (a opção padrão mantém o fluxo de sempre).
18
19
 
19
20
  > ⚠️ **IMPORTANTE**: Este workflow é para codificação com commits incrementais por fase.
20
21
  > **NÃO crie PRs, NÃO faça push**, mas **FAZ commit ao final de cada fase validada.**
@@ -169,6 +170,20 @@ Procure no `plan.md`:
169
170
  - Fase marcada como `[Em Progresso ⏰]`
170
171
  - Se nenhuma, identifique a primeira `[Não Iniciada ⏳]`
171
172
 
173
+ ### 1.3 Escolhas do início (`eng.transitions-rules.md`)
174
+
175
+ Pergunte com `AskUserQuestion`, uma pergunta por decisão (padrão primeiro):
176
+
177
+ | Pergunta | Opções |
178
+ |---|---|
179
+ | **Execução das fases** | **Fase a fase, com aprovação (como hoje)** / **Todas de uma vez** (mostre "N de M tarefas", com N pelo limite `MAX_AI_EXECUTION_PERCENTAGE` abaixo) |
180
+ | **Commits** | **Um por fase (como hoje)** / **Um commit só ao final** |
181
+ | **Depois do work** | **Sugerir o `/eng.pre-pr` (como hoje)** / **Rodar o `/eng.pre-pr` na sequência** / **Ir direto para o `/eng.pr`** / **Parar aqui** |
182
+
183
+ - Grave as escolhas no cabeçalho do `plan.md` (`Execução:`, `Commits:`, `Depois do work:`). Retomada com escolhas já gravadas: uma pergunta só, **"Manter as escolhas ({resumo})?"** (Manter / Mudar).
184
+ - **Em qualquer escolha**, o limite de execução, um teste falhando e uma questão nova em aberto **param** a execução e voltam a perguntar.
185
+ - Com **Todas de uma vez**, a escolha é a aprovação das fases: as pausas da Fase 2.2 e da 6.1 não acontecem.
186
+
172
187
  ---
173
188
 
174
189
  ## Fase 2: Planejamento da Implementação
@@ -202,7 +217,7 @@ Apresente ao usuário:
202
217
 
203
218
  ### 2.2 Aguardar Aprovação
204
219
 
205
- **PARE e aguarde confirmação do usuário antes de implementar.**
220
+ **PARE e aguarde confirmação do usuário antes de implementar** (com "Fase a fase"; com "Todas de uma vez", siga direto).
206
221
 
207
222
  Se o usuário tiver sugestões, ajuste o plano.
208
223
 
@@ -441,7 +456,7 @@ Refs: {TASK_MANAGER_KEY}"
441
456
 
442
457
  **Regras de commit:**
443
458
  - Sempre referenciar o `TASK_MANAGER_KEY` no início e no `Refs:`
444
- - Uma fase = um commit (agrupar todas as mudanças da fase)
459
+ - Uma fase = um commit (agrupar todas as mudanças da fase), com "Um por fase"; com "Um commit só ao final", um commit depois da última fase, com todos os testes passando
445
460
  - Tipo: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`
446
461
  - **NUNCA** usar `git add .` — adicionar arquivos individualmente
447
462
 
@@ -480,7 +495,7 @@ Refs: TASK-123"
480
495
  ❓ Deseja iniciar a Fase {N+1}?
481
496
  ```
482
497
 
483
- **AGUARDE confirmação antes de iniciar.**
498
+ **AGUARDE confirmação antes de iniciar** (com "Fase a fase"; com "Todas de uma vez", siga para a próxima fase).
484
499
 
485
500
  ### 6.2 Se Todas as Fases Foram Concluídas
486
501
 
@@ -506,6 +521,8 @@ Refs: TASK-123"
506
521
  ⚠️ LEMBRETE: push e PR são responsabilidade do `eng.pr`.
507
522
  ```
508
523
 
524
+ Depois da mensagem, siga a escolha **Depois do work**: sugerir o `/eng.pre-pr` (como hoje), chamar o `/eng.pre-pr {TASK_MANAGER_KEY}`, chamar o `/eng.pr {TASK_MANAGER_KEY}` ou parar (chamar = pelo Skill tool, ou mostrar o comando pronto na IDE que não permite).
525
+
509
526
  ## Regras Importantes
510
527
 
511
528
  ### ⛔ NÃO FAÇA
@@ -513,10 +530,10 @@ Refs: TASK-123"
513
530
  - ❌ NÃO crie Pull Requests
514
531
  - ❌ NÃO faça push (`git push`) — push é responsabilidade do `eng.pr`
515
532
  - ❌ NÃO use `git add .` — adicionar arquivos individualmente
516
- - ❌ NÃO commite sem aprovação explícita do usuário na fase
533
+ - ❌ NÃO commite sem aprovação explícita do usuário na fase (a escolha "Todas de uma vez" da 1.3 é essa aprovação)
517
534
  - ❌ NÃO commite com testes falhando
518
535
  - ❌ NÃO mova cards no Jira
519
- - ❌ NÃO sugira "vamos fazer o PR agora"
536
+ - ❌ NÃO sugira "vamos fazer o PR agora" (salvo a escolha "Ir direto para o `/eng.pr`" da 1.3)
520
537
 
521
538
  ### ✅ FAÇA SEMPRE
522
539
 
@@ -16,7 +16,7 @@ model_justification: Discovery exige separar fatos de suposições, escolher as
16
16
 
17
17
  > 🔥 **Warm-up**: se `$SESSIONS_DIR/warm-ups/` tiver aquecimentos, leia `$IDE/rules-on-demand/warm-up-consume-rules.md` e siga-o antes de começar (grava em `$SESSIONS_DIR/prod/{id do documento}/context.md`).
18
18
 
19
- Investiga uma ideia crua com **poucas perguntas certas** e grava um **rascunho** em `$PROD_DOCS/discoveries/discovery-{id}-{nome}.md`, pelo template `$PROD_TEMPLATES/prod-discovery-template.md`. Postura: agente `$IDE/agents/product/prod.discovery-interviewer.md`. Guia humano: `docs/produto/prod.spec.discovery.md`. Siga `$PROD_RULES` (ENV, idioma, `AskUserQuestion` uma pergunta por vez).
19
+ Investiga uma ideia crua com **poucas perguntas certas** e grava um **rascunho** em `$DISCOVERIES_DOCS/discovery-{id}-{nome}.md`, pelo template `$PROD_TEMPLATES/prod-discovery-template.md`. Postura: agente `$IDE/agents/product/prod.discovery-interviewer.md`. Guia humano: `docs/produto/prod.spec.discovery.md`. Siga `$PROD_RULES` (ENV, idioma, `AskUserQuestion` uma pergunta por vez).
20
20
 
21
21
  <requirement>
22
22
  #$ARGUMENTS
@@ -39,7 +39,7 @@ Sem ideia: pergunte qual é, antes de tudo. Caminho, nome ou id de um discovery
39
39
 
40
40
  ## Passo 1 — Ler em silêncio
41
41
 
42
- Antes de perguntar qualquer coisa, leia: o `$ARGUMENTS`; em `$PROD_DOCS`, os PRD/FRD que já cobrem a ideia e os discoveries parecidos (só título e Entendimento/Ideia); o código e os commits, se ajudarem a viabilidade; o Central docs, se configurado. Não repita perguntas cuja resposta já está em algum desses.
42
+ Antes de perguntar qualquer coisa, leia: o `$ARGUMENTS`; em `$PROD_DOCS`, os PRD/FRD que já cobrem a ideia; em `$DISCOVERIES_DOCS`, os discoveries parecidos (só título e Entendimento/Ideia); o código e os commits, se ajudarem a viabilidade; o Central docs, se configurado. Não repita perguntas cuja resposta já está em algum desses.
43
43
 
44
44
  ## Passo 2 — Entendimento (uma confirmação)
45
45