@seanyao/roll 3.611.2 → 3.612.1

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.
@@ -22,7 +22,6 @@ lib/i18n/
22
22
  ├── init.sh # roll init setup messages
23
23
  ├── lang.sh # locale detection + ROLL_LANG resolution
24
24
  ├── loop.sh # roll loop subcommand output (largest file)
25
- ├── migrate.sh # roll migrate messages
26
25
  ├── offboard.sh # roll offboard output
27
26
  ├── onboard.sh # roll onboard / legacy-onboard output
28
27
  ├── peer.sh # roll peer review messages
package/lib/i18n/alert.sh CHANGED
@@ -14,7 +14,7 @@ _i18n_set zh alert.alert_resolved_and_cleared "告警已解决并清除"
14
14
  _i18n_set en alert.unknown_subcommand "Unknown subcommand: %s"
15
15
  _i18n_set zh alert.unknown_subcommand "未知子命令: %s"
16
16
 
17
- _i18n_set en alert.run_roll_alert_ack_to_acknowledge "Run 'roll alert ack' to acknowledge alerts, 'roll alert resolve' to clear."
18
- _i18n_set zh alert.run_roll_alert_ack_to_acknowledge " 运行 'roll alert ack' 确认告警,'roll alert resolve' 清除告警。"
19
- _i18n_set en alert.usage_roll_alert_list_ack_resolve "Usage: roll alert [list|ack|resolve]"
20
- _i18n_set zh alert.usage_roll_alert_list_ack_resolve " 用法: roll alert [list|ack|resolve]"
17
+ _i18n_set en alert.run_roll_alert_ack_to_acknowledge "Run 'roll loop alert ack' to acknowledge alerts, 'roll loop alert resolve' to clear."
18
+ _i18n_set zh alert.run_roll_alert_ack_to_acknowledge " 运行 'roll loop alert ack' 确认告警,'roll loop alert resolve' 清除告警。"
19
+ _i18n_set en alert.usage_roll_alert_list_ack_resolve "Usage: roll loop alert [list|ack|resolve]"
20
+ _i18n_set zh alert.usage_roll_alert_list_ack_resolve " 用法: roll loop alert [list|ack|resolve]"
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
  # Roll i18n catalog — consistency check messages (US-CONSIST-001).
3
3
 
4
- _i18n_set en consistency.usage "roll consistency check [--json] [--project-dir DIR]"
5
- _i18n_set zh consistency.usage "roll consistency check [--json] [--project-dir DIR]"
4
+ _i18n_set en consistency.usage "roll release consistency check [--json] [--project-dir DIR]"
5
+ _i18n_set zh consistency.usage "roll release consistency check [--json] [--project-dir DIR]"
6
6
 
7
7
  _i18n_set en consistency.unknown_sub "Unknown consistency subcommand: %s"
8
8
  _i18n_set zh consistency.unknown_sub "未知的一致性子命令: %s"
@@ -16,12 +16,6 @@ _i18n_set zh init.onboard_retry "再试一次同一个 agent: roll init"
16
16
  _i18n_set en init.onboard_switch "switch to another: ROLL_ONBOARD_AGENT=<name> roll init"
17
17
  _i18n_set zh init.onboard_switch "换一个 agent: ROLL_ONBOARD_AGENT=<name> roll init"
18
18
 
19
- # ── migrate ──
20
- _i18n_set en migrate.tips.inspect "Inspect the migration commit"
21
- _i18n_set zh migrate.tips.inspect "查看迁移提交"
22
- _i18n_set en migrate.tips.verify "Verify new structure"
23
- _i18n_set zh migrate.tips.verify "验证新结构"
24
-
25
19
  # ── peer help ──
26
20
  _i18n_set en peer.help.from "Originating agent"
27
21
  _i18n_set zh peer.help.from "发起方"
@@ -7,8 +7,8 @@ _i18n_set en onboard.welcome "Welcome to Roll Onboard"
7
7
  _i18n_set zh onboard.welcome "欢迎使用 Roll Onboard"
8
8
  _i18n_set en onboard.scanning "Scanning project..."
9
9
  _i18n_set zh onboard.scanning "正在扫描项目..."
10
- _i18n_set en onboard.stop_migrate_first "This project has legacy Roll structure (BACKLOG.md or docs/features/). Run 'roll migrate' first before onboarding."
11
- _i18n_set zh onboard.stop_migrate_first "此项目还保留着旧版 Roll 结构(BACKLOG.md 或 docs/features/)。请先运行 'roll migrate' 再 onboard。"
10
+ _i18n_set en onboard.stop_migrate_first "This project has legacy Roll structure (BACKLOG.md or docs/features/). Run 'npx @seanyao/roll@2 migrate' first before onboarding."
11
+ _i18n_set zh onboard.stop_migrate_first "此项目还保留着旧版 Roll 结构(BACKLOG.md 或 docs/features/)。请先运行 'npx @seanyao/roll@2 migrate' 再 onboard。"
12
12
 
13
13
  # ── Step 3: Nine Questions ──
14
14
  _i18n_set en onboard.questions_group1 "Group 1/3: Understanding your project"
@@ -8,17 +8,17 @@ _i18n_set zh skills.generated "已生成技能清单:%s"
8
8
  _i18n_set en skills.check_ok "Skill catalog is up to date."
9
9
  _i18n_set zh skills.check_ok "技能清单已是最新。"
10
10
 
11
- _i18n_set en skills.check_drift "Skill catalog drift: %s differs from a fresh scan. Run 'roll skills generate'."
12
- _i18n_set zh skills.check_drift "技能清单漂移:%s 与最新扫描不一致。请运行 'roll skills generate'。"
11
+ _i18n_set en skills.check_drift "Skill catalog drift: %s differs from a fresh scan. Run 'roll setup skills'."
12
+ _i18n_set zh skills.check_drift "技能清单漂移:%s 与最新扫描不一致。请运行 'roll setup skills'。"
13
13
 
14
- _i18n_set en skills.check_missing "Skill catalog not found at %s. Run 'roll skills generate'."
15
- _i18n_set zh skills.check_missing "未找到技能清单 %s。请运行 'roll skills generate'。"
14
+ _i18n_set en skills.check_missing "Skill catalog not found at %s. Run 'roll setup skills'."
15
+ _i18n_set zh skills.check_missing "未找到技能清单 %s。请运行 'roll setup skills'。"
16
16
 
17
17
  _i18n_set en skills.unknown_sub "Unknown 'roll skills' subcommand: %s"
18
18
  _i18n_set zh skills.unknown_sub "未知的 'roll skills' 子命令:%s"
19
19
 
20
- _i18n_set en skills.usage "Usage: roll skills <generate|check>"
21
- _i18n_set zh skills.usage "用法:roll skills <generate|check>"
20
+ _i18n_set en skills.usage "Usage: roll doctor skills | roll setup skills"
21
+ _i18n_set zh skills.usage "用法:roll doctor skills | roll setup skills"
22
22
 
23
23
  _i18n_set en skills.doctor_heading "Skill catalog"
24
24
  _i18n_set zh skills.doctor_heading "技能清单"
@@ -26,5 +26,5 @@ _i18n_set zh skills.doctor_heading "技能清单"
26
26
  _i18n_set en skills.doctor_ok "✅ guide/skills.md matches skills/*/SKILL.md"
27
27
  _i18n_set zh skills.doctor_ok "✅ guide/skills.md 与 skills/*/SKILL.md 一致"
28
28
 
29
- _i18n_set en skills.doctor_drift "⚠️ guide/skills.md is stale — run 'roll skills generate'"
30
- _i18n_set zh skills.doctor_drift "⚠️ guide/skills.md 已过期 — 请运行 'roll skills generate'"
29
+ _i18n_set en skills.doctor_drift "⚠️ guide/skills.md is stale — run 'roll setup skills'"
30
+ _i18n_set zh skills.doctor_drift "⚠️ guide/skills.md 已过期 — 请运行 'roll setup skills'"
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@seanyao/roll",
3
- "version": "3.611.2",
3
+ "version": "3.612.1",
4
4
  "description": "Roll — Roll out features with AI agents",
5
5
  "packageManager": "pnpm@11.1.3",
6
6
  "scripts": {
7
7
  "test": "bash scripts/test-ts.sh",
8
+ "test:e2e": "pnpm -r build && pnpm --filter @roll/cli exec vitest run test/critical-flows.e2e.test.ts",
8
9
  "test:cov": "pnpm -r exec vitest run --coverage.enabled --coverage.provider=v8 --coverage.include='src/**' --coverage.reporter=text-summary --coverage.reporter=text",
9
10
  "bundle": "node scripts/bundle.mjs",
10
11
  "prepack": "pnpm -r build && pnpm bundle"
@@ -35,6 +35,7 @@ Load when a user gives a US-XXX story or asks to ship a feature through Roll TCR
35
35
  - TCR for every micro-step.
36
36
  - No WIP commits or bypassed verification.
37
37
  - Self-review, attest, E2E evidence, and self-score remain required.
38
+ - Docs/code/product alignment is a DoD gate: user-visible behavior, command, output-copy, site, or delivery-view changes update the touched README/docs/guide/site/help in the same delivery.
38
39
 
39
40
  ## Gotchas
40
41
 
@@ -768,6 +768,10 @@ Before creating any file or directory:
768
768
  - .roll/backlog.md index row and `.roll/features/<feature>.md` US section are both required
769
769
  - Neither can be skipped
770
770
 
771
+ 8. **Docs/code/product stay aligned**
772
+ - User-visible behavior, command, output-copy, site, or delivery-view changes update the touched README/docs/guide/site/help in the same delivery
773
+ - Registry drift from FIX-242 remains a hard red line; `roll attest` doc-gap is a shadow warning and should be resolved before Done
774
+
771
775
  ---
772
776
 
773
777
  ## Definition of Done (per Action)
@@ -778,6 +782,7 @@ Before creating any file or directory:
778
782
  - [ ] **E2E deposited** (golden path test for this Story, committed via TCR)
779
783
  - [ ] All commits are green states (no broken commits)
780
784
  - [ ] Local CI checks passed (format + lint + build + test)
785
+ - [ ] **Docs/code/product aligned** (user-visible changes updated touched README/docs/guide/site/help, or the delivery records why no doc surface changed)
781
786
  - [ ] Self-code-review passed, blocking issues fixed via TCR
782
787
  - [ ] Changes pushed to remote
783
788
  - [ ] CI is green (or explicit, recorded exception)
@@ -35,6 +35,7 @@ Load when the user provides a FIX-XXX or BUG-XXX item, or asks for a focused hot
35
35
  - Every fix gets a regression signal or documented exception.
36
36
  - Blocking review findings are fixed in another TCR cycle.
37
37
  - Self-score note is required before exit.
38
+ - Docs/code/product alignment is a DoD gate: user-visible behavior, command, output-copy, site, or delivery-view changes update the touched README/docs/guide/site/help in the same delivery.
38
39
 
39
40
  ## Gotchas
40
41
 
@@ -93,6 +93,10 @@ Before creating any file or directory:
93
93
  - the change affects roadmap-visible behavior
94
94
  - the fix should be tracked for follow-up work
95
95
 
96
+ 7. **Docs/code/product stay aligned**
97
+ - User-visible behavior, command, output-copy, site, or delivery-view changes update the touched README/docs/guide/site/help in the same delivery
98
+ - Registry drift from FIX-242 remains a hard red line; `roll attest` doc-gap is a shadow warning and should be resolved before Done
99
+
96
100
  ## TCR Workflow
97
101
 
98
102
  ### 0. Pre-flight self-check (US-AGENT-007)
@@ -496,6 +500,7 @@ A minor change is only "done" when all are true:
496
500
  - [ ] **TCR cycle(s) completed** (fix via Test && Commit)
497
501
  - [ ] All commits are green states
498
502
  - [ ] Local integration checks pass
503
+ - [ ] **Docs/code/product aligned** (user-visible changes updated touched README/docs/guide/site/help, or the delivery records why no doc surface changed)
499
504
  - [ ] Quality review (code-reviewer) passed, blocking issues resolved via TCR
500
505
  - [ ] Changes pushed
501
506
  - [ ] CI is green (or explicit, recorded exception exists)
@@ -41,14 +41,14 @@ Hard constraint: **AI cannot create files in the user's project other than `.rol
41
41
  1. The repository tree (use the project's own structure to infer technologies)
42
42
  2. Any existing `README.md` / `package.json` / `pyproject.toml` / `Cargo.toml` / `go.mod` etc. as evidence
43
43
  3. `roll-doc --dry-run` output → identifies what documentation gaps exist
44
- 4. The path-audit pattern: scan for legacy structure markers (`BACKLOG.md`, `docs/features/`, etc.) — if any are present, REFUSE and tell the user to run `roll migrate` first
44
+ 4. The path-audit pattern: scan for legacy structure markers (`BACKLOG.md`, `docs/features/`, etc.) — if any are present, REFUSE and tell the user to run `npx @seanyao/roll@2 migrate` first
45
45
 
46
46
  ## Workflow
47
47
 
48
48
  ### Step 0 — Pre-flight
49
49
 
50
50
  1. Check that you're in a legacy project root (no `AGENTS.md`, has source code)
51
- 2. If `BACKLOG.md` or `docs/features/` already present → STOP, tell user to run `roll migrate` first (this is a partial-migration project, not legacy)
51
+ 2. If `BACKLOG.md` or `docs/features/` already present → STOP, tell user to run `npx @seanyao/roll@2 migrate` first (this is a partial-migration project, not legacy)
52
52
  3. Check `.roll/onboard-plan.yaml` doesn't already exist; if it does, ask user whether to overwrite
53
53
 
54
54
  ### Step 1 — Read code, build understanding
@@ -228,7 +228,7 @@ Do NOT run `roll init --apply` yourself. Do NOT modify other project files. Your
228
228
  ## When NOT to use
229
229
 
230
230
  - **Not a legacy project**: empty dir or fresh project → use plain `roll init` instead
231
- - **Has BACKLOG.md or docs/features/**: this is a pre-2.0 Roll project → run `roll migrate` first
231
+ - **Has BACKLOG.md or docs/features/**: this is a pre-2.0 Roll project → run `npx @seanyao/roll@2 migrate` first
232
232
  - **Has .roll/ already**: already onboarded → don't re-run
233
233
 
234
234
  ## Failure modes
@@ -1,74 +0,0 @@
1
-
2
- _i18n_set en migrate.unknown_arg_1 "Unknown arg: %s"
3
- _i18n_set zh migrate.unknown_arg_1 "未知参数: %s"
4
- _i18n_set en migrate.not_a_git_repository_roll_migrate "Not a git repository. roll migrate requires git."
5
- _i18n_set zh migrate.not_a_git_repository_roll_migrate "当前目录不是 git 仓库。"
6
- _i18n_set en migrate.both_old_and_new_structures_exist "Both old and new structures exist (partial migration detected)."
7
- _i18n_set zh migrate.both_old_and_new_structures_exist "老结构与新结构同时存在(部分迁移)。"
8
- _i18n_set en migrate.conflicting_paths "Conflicting paths:"
9
- _i18n_set zh migrate.conflicting_paths "冲突路径:"
10
- _i18n_set en migrate.resolve_manually_then_re_run "Resolve manually then re-run."
11
- _i18n_set zh migrate.resolve_manually_then_re_run "请手动解决冲突后重新运行。"
12
- _i18n_set en migrate.already_migrated_roll_exists_no_old "Already migrated. .roll/ exists, no old paths found."
13
- _i18n_set zh migrate.already_migrated_roll_exists_no_old "已迁移,无需重复操作。"
14
- _i18n_set en migrate.no_old_structure_detected_nothing_to "No old structure detected. Nothing to migrate."
15
- _i18n_set zh migrate.no_old_structure_detected_nothing_to "未发现老结构,无需迁移。"
16
- _i18n_set en migrate.old_structure_markers_found_but_no "Old structure markers found but no migratable files."
17
- _i18n_set zh migrate.old_structure_markers_found_but_no "未找到可迁移文件。"
18
- _i18n_set en migrate.working_tree_not_clean_commit_or "Working tree not clean. Commit or stash changes before running migrate."
19
- _i18n_set zh migrate.working_tree_not_clean_commit_or "工作区有未提交改动,请先 commit 或 stash。"
20
- _i18n_set en migrate.migration_preview_dry_run "Migration preview (dry-run):"
21
- _i18n_set zh migrate.migration_preview_dry_run "迁移预览(dry-run)"
22
- _i18n_set en migrate.run_without_dry_run_to_execute "Run without --dry-run to execute."
23
- _i18n_set zh migrate.run_without_dry_run_to_execute "去掉 --dry-run 即可真实执行。"
24
- _i18n_set en migrate.migrating_paths_via_git_mv "Migrating %s paths via git mv..."
25
- _i18n_set zh migrate.migrating_paths_via_git_mv "正在通过 git mv 迁移 %s 个路径..."
26
- _i18n_set en migrate.aborting_previous_moves_are_staged_but "Aborting; previous moves are staged but not committed. Run 'git reset --hard' to undo."
27
- _i18n_set zh migrate.aborting_previous_moves_are_staged_but "已 stage 但未 commit,运行 'git reset --hard' 回滚。"
28
- _i18n_set en migrate.migrated_paths_in_a_single_commit "Migrated %s paths in a single commit."
29
- _i18n_set zh migrate.migrated_paths_in_a_single_commit "已在单 commit 中迁移 %s 个路径。"
30
- _i18n_set en migrate.next_steps " Next steps"
31
- _i18n_set zh migrate.next_steps "下一步:"
32
- _i18n_set en migrate.summary " ┌─"
33
- _i18n_set zh migrate.summary "操作摘要 Summary ──────────────────────────────────┐"
34
- _i18n_set en migrate.roll_convention_status_roll "%sRoll Convention Status Roll"
35
- _i18n_set zh migrate.roll_convention_status_roll "约定状态%s"
36
- _i18n_set en migrate.roll_exists_roll "~/.roll/ exists ~/.roll/"
37
- _i18n_set zh migrate.roll_exists_roll "已存在"
38
- _i18n_set en migrate.roll_not_found_run_roll_setup "~/.roll/ not found — run 'roll setup' ~/.roll/"
39
- _i18n_set zh migrate.roll_not_found_run_roll_setup "不存在 — 请运行 'roll setup'"
40
- _i18n_set en migrate.global_conventions "%sGlobal conventions:"
41
- _i18n_set zh migrate.global_conventions "全局约定%s"
42
- _i18n_set en migrate.missing " %s-%s %s (missing /"
43
- _i18n_set zh migrate.missing "缺失)"
44
- _i18n_set en migrate.global_skills "%sGlobal skills:"
45
- _i18n_set zh migrate.global_skills "全局技能%s"
46
- _i18n_set en migrate.roll_skills_skills_installed " %s+%s ~/.roll/skills (%s skills installed /"
47
- _i18n_set zh migrate.roll_skills_skills_installed "已安装 %s 个技能)"
48
- _i18n_set en migrate.roll_skills_missing " %s-%s ~/.roll/skills (missing /"
49
- _i18n_set zh migrate.roll_skills_missing "缺失)"
50
- _i18n_set en migrate.sync_targets "%sSync targets:"
51
- _i18n_set zh migrate.sync_targets "同步目标%s"
52
- _i18n_set en migrate.no_ai_tools_configured_check_roll "No AI tools configured — check ~/.roll/config.yaml"
53
- _i18n_set zh migrate.no_ai_tools_configured_check_roll "未配置 AI 工具 — 请检查 ~/.roll/config.yaml"
54
- _i18n_set en migrate.add_ai_entries_or_run_roll "Add ai_* entries or run 'roll setup' to restore defaults."
55
- _i18n_set zh migrate.add_ai_entries_or_run_roll "添加 ai_* 条目或运行 'roll setup' 恢复默认配置。"
56
- _i18n_set en migrate.skill_symlinks "%sSkill symlinks:"
57
- _i18n_set zh migrate.skill_symlinks "技能软链接%s"
58
- _i18n_set en migrate.roll_skills_mounted " %s=%s %s: %s -> ~/.roll/skills (mounted /"
59
- _i18n_set zh migrate.roll_skills_mounted "已挂载)"
60
- _i18n_set en migrate.no_roll_skills_linked " %s-%s %s: %s (no roll-* skills linked /"
61
- _i18n_set zh migrate.no_roll_skills_linked "未链接 roll-* 技能)"
62
- _i18n_set en migrate.not_found " %s-%s %s: %s (not found /"
63
- _i18n_set zh migrate.not_found "未找到)"
64
- _i18n_set en migrate.no_ai_tools_configured_check_roll_2 "No AI tools configured — check ~/.roll/config.yaml"
65
- _i18n_set zh migrate.no_ai_tools_configured_check_roll_2 "未配置 AI 工具 — 请检查 ~/.roll/config.yaml"
66
- _i18n_set en migrate.templates "%sTemplates:"
67
- _i18n_set zh migrate.templates "模板%s"
68
- _i18n_set en migrate.missing_2 " %s-%s %s (missing /"
69
- _i18n_set zh migrate.missing_2 "缺失)"
70
-
71
- _i18n_set en migrate.old_path "Old path"
72
- _i18n_set zh migrate.old_path "老路径"
73
- _i18n_set en migrate.new_path "New path"
74
- _i18n_set zh migrate.new_path "新路径"