@seanyao/roll 0.5.0 → 2.602.2
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/CHANGELOG.md +736 -0
- package/LICENSE +21 -0
- package/README.md +65 -165
- package/bin/dream-test-quality-scan +110 -0
- package/bin/roll +15030 -814
- package/conventions/config.yaml +17 -1
- package/conventions/global/AGENTS.md +146 -100
- package/conventions/global/CLAUDE.md +1 -21
- package/conventions/global/GEMINI.md +8 -22
- package/conventions/global/project_rules.md +9 -0
- package/conventions/templates/backend-service/AGENTS.md +30 -81
- package/conventions/templates/backend-service/GEMINI.md +3 -3
- package/conventions/templates/backend-service/project_rules.md +16 -0
- package/conventions/templates/cli/AGENTS.md +31 -58
- package/conventions/templates/cli/CLAUDE.md +3 -5
- package/conventions/templates/cli/GEMINI.md +3 -3
- package/conventions/templates/cli/project_rules.md +16 -0
- package/conventions/templates/frontend-only/AGENTS.md +29 -64
- package/conventions/templates/frontend-only/GEMINI.md +3 -3
- package/conventions/templates/frontend-only/project_rules.md +14 -0
- package/conventions/templates/fullstack/AGENTS.md +31 -79
- package/conventions/templates/fullstack/CLAUDE.md +1 -1
- package/conventions/templates/fullstack/GEMINI.md +3 -3
- package/conventions/templates/fullstack/project_rules.md +15 -0
- package/lib/README.md +42 -0
- package/lib/__pycache__/github_sync.cpython-314.pyc +0 -0
- package/lib/__pycache__/loop-fmt.cpython-314.pyc +0 -0
- package/lib/__pycache__/loop_result_eval.cpython-314.pyc +0 -0
- package/lib/__pycache__/loop_unstick.cpython-314.pyc +0 -0
- package/lib/__pycache__/model_prices.cpython-314.pyc +0 -0
- package/lib/__pycache__/prices_fetcher.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll-home.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll-loop-status.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll_git.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll_render.cpython-314.pyc +0 -0
- package/lib/__pycache__/slides-render.cpython-314.pyc +0 -0
- package/lib/agent_usage/README.md +49 -0
- package/lib/agent_usage/__init__.py +108 -0
- package/lib/agent_usage/__pycache__/__init__.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/gemini.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/kimi.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/openai.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/pi.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/pi_emit.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/qwen.cpython-314.pyc +0 -0
- package/lib/agent_usage/gemini.py +127 -0
- package/lib/agent_usage/kimi.py +278 -0
- package/lib/agent_usage/kimi_emit.py +123 -0
- package/lib/agent_usage/openai.py +126 -0
- package/lib/agent_usage/pi.py +200 -0
- package/lib/agent_usage/pi_emit.py +135 -0
- package/lib/agent_usage/qwen.py +128 -0
- package/lib/backfill-pi-usage.py +243 -0
- package/lib/changelog_audit.py +155 -0
- package/lib/changelog_generate.py +263 -0
- package/lib/context_feed_budget.sh +194 -0
- package/lib/github_sync.py +876 -0
- package/lib/i18n/README.md +54 -0
- package/lib/i18n/agent.sh +75 -0
- package/lib/i18n/alert.sh +20 -0
- package/lib/i18n/backlog.sh +96 -0
- package/lib/i18n/brief.sh +5 -0
- package/lib/i18n/changelog.sh +5 -0
- package/lib/i18n/ci.sh +15 -0
- package/lib/i18n/debug.sh +0 -0
- package/lib/i18n/doctor.sh +44 -0
- package/lib/i18n/dream.sh +0 -0
- package/lib/i18n/init.sh +91 -0
- package/lib/i18n/lang.sh +10 -0
- package/lib/i18n/loop.sh +140 -0
- package/lib/i18n/migrate.sh +74 -0
- package/lib/i18n/offboard.sh +31 -0
- package/lib/i18n/onboard.sh +0 -0
- package/lib/i18n/peer.sh +41 -0
- package/lib/i18n/peer_help.sh +25 -0
- package/lib/i18n/peer_reset.sh +7 -0
- package/lib/i18n/peer_status.sh +5 -0
- package/lib/i18n/prices.sh +3 -0
- package/lib/i18n/prices_refresh.sh +17 -0
- package/lib/i18n/prices_show.sh +7 -0
- package/lib/i18n/propose.sh +0 -0
- package/lib/i18n/release.sh +0 -0
- package/lib/i18n/research.sh +0 -0
- package/lib/i18n/review_pr.sh +0 -0
- package/lib/i18n/sentinel.sh +0 -0
- package/lib/i18n/setup.sh +3 -0
- package/lib/i18n/shared.sh +157 -0
- package/lib/i18n/skills/roll-brief.sh +47 -0
- package/lib/i18n/skills/roll-build.sh +97 -0
- package/lib/i18n/skills/roll-design.sh +18 -0
- package/lib/i18n/skills/roll-fix.sh +53 -0
- package/lib/i18n/skills/roll-loop.sh +28 -0
- package/lib/i18n/skills/roll-onboard.sh +33 -0
- package/lib/i18n/skills_catalog.sh +30 -0
- package/lib/i18n/slides.sh +3 -0
- package/lib/i18n/slides_build.sh +38 -0
- package/lib/i18n/slides_delete.sh +19 -0
- package/lib/i18n/slides_list.sh +14 -0
- package/lib/i18n/slides_logs.sh +12 -0
- package/lib/i18n/slides_new.sh +15 -0
- package/lib/i18n/slides_preview.sh +14 -0
- package/lib/i18n/slides_templates.sh +7 -0
- package/lib/i18n/status.sh +21 -0
- package/lib/i18n/update.sh +24 -0
- package/lib/i18n.sh +211 -0
- package/lib/loop-exit-summary.py +393 -0
- package/lib/loop-fmt.py +589 -0
- package/lib/loop_pick_agent.py +316 -0
- package/lib/loop_result_eval.py +469 -0
- package/lib/loop_unstick.py +180 -0
- package/lib/model_prices.py +194 -0
- package/lib/prices/README.md +35 -0
- package/lib/prices/snapshot-2026-05-22.json +22 -0
- package/lib/prices/snapshot-2026-05-23-deepseek.json +15 -0
- package/lib/prices/snapshot-2026-05-23-kimi.json +15 -0
- package/lib/prices_fetcher.py +285 -0
- package/lib/roll-backlog.py +225 -0
- package/lib/roll-brief.py +286 -0
- package/lib/roll-help.py +158 -0
- package/lib/roll-home.py +556 -0
- package/lib/roll-init.py +156 -0
- package/lib/roll-loop-status.py +1683 -0
- package/lib/roll-loop-story.py +191 -0
- package/lib/roll-onboard-render.py +378 -0
- package/lib/roll-peer.py +252 -0
- package/lib/roll-plan-validate.py +386 -0
- package/lib/roll-setup.py +102 -0
- package/lib/roll-status.py +367 -0
- package/lib/roll_git.py +41 -0
- package/lib/roll_render.py +414 -0
- package/lib/slides/components/README.md +123 -0
- package/lib/slides/components/cards-2.html +9 -0
- package/lib/slides/components/cards-3.html +9 -0
- package/lib/slides/components/cards-4.html +9 -0
- package/lib/slides/components/compare.html +22 -0
- package/lib/slides/components/highlight.html +9 -0
- package/lib/slides/components/pipeline.html +12 -0
- package/lib/slides/components/plain.html +7 -0
- package/lib/slides/components/quote.html +4 -0
- package/lib/slides/components/timeline.html +9 -0
- package/lib/slides/templates/introduction-v3.html +571 -0
- package/lib/slides/templates/pitch.html +0 -0
- package/lib/slides-render.py +778 -0
- package/lib/slides-validate.py +357 -0
- package/lib/test_quality_gate.py +143 -0
- package/package.json +8 -7
- package/skills/roll-.changelog/SKILL.md +406 -33
- package/skills/roll-.clarify/SKILL.md +5 -2
- package/skills/roll-.dream/SKILL.md +374 -0
- package/skills/roll-.echo/SKILL.md +5 -2
- package/skills/roll-.qa/SKILL.md +57 -3
- package/skills/roll-.review/SKILL.md +42 -3
- package/skills/roll-brief/SKILL.md +209 -0
- package/skills/roll-build/SKILL.md +308 -63
- package/skills/roll-debug/SKILL.md +341 -162
- package/skills/roll-debug/injectable-bb.js +263 -0
- package/skills/roll-deck/SKILL.md +296 -0
- package/skills/roll-design/ENGINEERING_CHECKLIST.md +1 -1
- package/skills/roll-design/SKILL.md +733 -94
- package/skills/roll-doc/SKILL.md +595 -0
- package/skills/roll-doctor/SKILL.md +192 -0
- package/skills/roll-fix/SKILL.md +149 -32
- package/skills/{roll-jot → roll-idea}/SKILL.md +18 -10
- package/skills/roll-loop/SKILL.md +579 -0
- package/skills/roll-notes/SKILL.md +103 -0
- package/skills/roll-onboard/SKILL.md +234 -0
- package/skills/roll-peer/SKILL.md +336 -0
- package/skills/roll-propose/SKILL.md +157 -0
- package/skills/roll-review-pr/SKILL.md +58 -0
- package/skills/roll-sentinel/SKILL.md +11 -2
- package/skills/roll-spar/SKILL.md +8 -6
- package/template/.github/workflows/ci.yml +5 -2
- package/template/AGENTS.md +20 -74
- package/skills/roll-research/SKILL.md +0 -307
- package/skills/roll-research/references/schema.json +0 -162
- package/skills/roll-research/scripts/md_to_pdf.py +0 -289
- package/tools/roll-fetch/SKILL.md +0 -182
- package/tools/roll-fetch/package.json +0 -15
- package/tools/roll-fetch/smart-web-fetch.js +0 -558
- package/tools/roll-probe/SKILL.md +0 -84
- /package/template/{BACKLOG.md → .roll/backlog.md} +0 -0
|
@@ -0,0 +1,74 @@
|
|
|
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 "新路径"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Roll i18n catalog — offboard command (US-I18N-002).
|
|
3
|
+
|
|
4
|
+
_i18n_set en offboard.no_changeset_en "No onboard changeset found at .roll/onboard-changeset.yaml"
|
|
5
|
+
_i18n_set zh offboard.no_changeset_en "No onboard changeset found at .roll/onboard-changeset.yaml"
|
|
6
|
+
_i18n_set en offboard.no_changeset_zh "未找到 onboard 变更清单 .roll/onboard-changeset.yaml"
|
|
7
|
+
_i18n_set zh offboard.no_changeset_zh "未找到 onboard 变更清单 .roll/onboard-changeset.yaml"
|
|
8
|
+
_i18n_set en offboard.manual_offboard "Manual offboard — remove these by hand if they came from Roll:"
|
|
9
|
+
_i18n_set zh offboard.manual_offboard "手动清理——如果这些文件来自 Roll,请手动删除:"
|
|
10
|
+
_i18n_set en offboard.manual_rm_roll "rm -rf .roll/ # all process artefacts"
|
|
11
|
+
_i18n_set zh offboard.manual_rm_roll "rm -rf .roll/ # 所有过程文件"
|
|
12
|
+
_i18n_set en offboard.manual_rm_agents "rm -f AGENTS.md CLAUDE.md # only if they were generated by roll init"
|
|
13
|
+
_i18n_set zh offboard.manual_rm_agents "rm -f AGENTS.md CLAUDE.md # 仅当这些文件由 roll init 生成"
|
|
14
|
+
_i18n_set en offboard.manual_edit_gitignore "Edit .gitignore to remove any '.roll/' entry"
|
|
15
|
+
_i18n_set zh offboard.manual_edit_gitignore "编辑 .gitignore 移除 '.roll/' 条目"
|
|
16
|
+
|
|
17
|
+
_i18n_set en offboard.unknown_flag "Unknown flag: %s"
|
|
18
|
+
_i18n_set zh offboard.unknown_flag "未知参数"
|
|
19
|
+
_i18n_set en offboard.failed_to_parse_changeset "Failed to parse changeset"
|
|
20
|
+
_i18n_set zh offboard.failed_to_parse_changeset "解析变更清单失败"
|
|
21
|
+
_i18n_set en offboard.applying_offboard " Applying offboard..."
|
|
22
|
+
_i18n_set zh offboard.applying_offboard "执行 offboard..."
|
|
23
|
+
_i18n_set en offboard.offboard_complete_offboard "Offboard complete. Offboard"
|
|
24
|
+
_i18n_set zh offboard.offboard_complete_offboard "完成。"
|
|
25
|
+
|
|
26
|
+
_i18n_set en offboard.en "[EN:拒绝处理 '%s' — 路径不在当前项目下,可能是误用...]"
|
|
27
|
+
_i18n_set zh offboard.en "拒绝处理 '%s' — 路径不在当前项目下,可能是误用"
|
|
28
|
+
_i18n_set en offboard.change_list_is_empty_nothing_to "Change list is empty, nothing to offboard."
|
|
29
|
+
_i18n_set zh offboard.change_list_is_empty_nothing_to "变更清单为空,无需 offboard。"
|
|
30
|
+
_i18n_set en offboard.above_is_a_dry_run_preview "Above is a dry-run preview. Add --confirm to execute."
|
|
31
|
+
_i18n_set zh offboard.above_is_a_dry_run_preview " 以上为预演结果。加 --confirm 后才会真正执行。"
|
|
File without changes
|
package/lib/i18n/peer.sh
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
|
|
2
|
+
_i18n_set en peer.unknown_option_1 "Unknown option: %s"
|
|
3
|
+
_i18n_set zh peer.unknown_option_1 "未知选项: %s"
|
|
4
|
+
_i18n_set en peer.from_is_required "--from is required."
|
|
5
|
+
_i18n_set zh peer.from_is_required "必须指定 --from。"
|
|
6
|
+
_i18n_set en peer.no_available_peer_found_for_tag "No available peer found for tag '%s'."
|
|
7
|
+
_i18n_set zh peer.no_available_peer_found_for_tag "未找到 tag '%s' 的可用 peer。"
|
|
8
|
+
_i18n_set en peer.auto_selected_peer "Auto-selected peer: %s"
|
|
9
|
+
_i18n_set zh peer.auto_selected_peer "自动选择 peer: %s"
|
|
10
|
+
_i18n_set en peer.peer_pair_is_abandoned_run_roll "Peer pair %s is abandoned. Run 'roll peer reset %s %s' to restore. Peer"
|
|
11
|
+
_i18n_set zh peer.peer_pair_is_abandoned_run_roll "对 %s 已废弃。运行 'roll peer reset %s %s' 恢复。"
|
|
12
|
+
_i18n_set en peer.peer_review_aborted_by_user "Peer review aborted by user."
|
|
13
|
+
_i18n_set zh peer.peer_review_aborted_by_user "用户取消 peer review。"
|
|
14
|
+
_i18n_set en peer.calling "Calling %s..."
|
|
15
|
+
_i18n_set zh peer.calling "调用 %s..."
|
|
16
|
+
_i18n_set en peer.peer_stderr_peer "%sPeer stderr Peer"
|
|
17
|
+
_i18n_set zh peer.peer_stderr_peer "标准错误:%s"
|
|
18
|
+
_i18n_set en peer.could_not_parse_resolution_from_peer "Could not parse resolution from peer response."
|
|
19
|
+
_i18n_set zh peer.could_not_parse_resolution_from_peer "无法解析 peer 响应中的决议状态。"
|
|
20
|
+
_i18n_set en peer.peer_review_result_peer_review "%sPeer Review Result Peer Review"
|
|
21
|
+
_i18n_set zh peer.peer_review_result_peer_review "结果%s"
|
|
22
|
+
_i18n_set en peer.consensus_reached_proceed_with_execution "Consensus reached. Proceed with execution."
|
|
23
|
+
_i18n_set zh peer.consensus_reached_proceed_with_execution "达成共识,继续执行。"
|
|
24
|
+
_i18n_set en peer.max_rounds_reached_escalating_to_user "Max rounds reached. Escalating to user."
|
|
25
|
+
_i18n_set zh peer.max_rounds_reached_escalating_to_user "达到最大轮数,升级给用户。"
|
|
26
|
+
_i18n_set en peer.peer_requests_continue_to_round_round "Peer requests %s. Continue to round %s."
|
|
27
|
+
_i18n_set zh peer.peer_requests_continue_to_round_round "请求 %s,继续第 %s 轮。"
|
|
28
|
+
_i18n_set en peer.peer_review_escalated_or_failed_human "Peer review escalated or failed. Human decision required. Peer review"
|
|
29
|
+
_i18n_set zh peer.peer_review_escalated_or_failed_human "升级或失败,需要人类决策。"
|
|
30
|
+
|
|
31
|
+
_i18n_set en peer.en_peer_review "[EN:启动 peer review: %s → %s (第 %s 轮,...]"
|
|
32
|
+
_i18n_set zh peer.en_peer_review "启动 peer review: %s → %s (第 %s 轮, tag: %s)"
|
|
33
|
+
_i18n_set en peer.en_enter_n "[EN:按 Enter 执行或输入 n 取消。%s 秒后自动执行......]"
|
|
34
|
+
_i18n_set zh peer.en_enter_n "按 Enter 执行或输入 n 取消。%s 秒后自动执行..."
|
|
35
|
+
|
|
36
|
+
_i18n_set en peer.no_peer_runs_yet "No peer review runs yet."
|
|
37
|
+
_i18n_set zh peer.no_peer_runs_yet "还没有 peer review 记录。"
|
|
38
|
+
_i18n_set en peer.no_peer_logs_found "No peer logs found."
|
|
39
|
+
_i18n_set zh peer.no_peer_logs_found "还没有 peer 日志。"
|
|
40
|
+
_i18n_set en peer.jq_required_for_roll_peer_runs "jq is required for 'roll peer runs'."
|
|
41
|
+
_i18n_set zh peer.jq_required_for_roll_peer_runs "'roll peer runs' 需要安装 jq。"
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
_i18n_set en peer_help.usage_roll_peer_options "Usage: roll peer [options]"
|
|
3
|
+
_i18n_set zh peer_help.usage_roll_peer_options "用法: roll peer [选项]"
|
|
4
|
+
_i18n_set en peer_help.from_tool_originating_agent_kimi_claude " --from <tool> Originating agent (kimi, claude, pi)"
|
|
5
|
+
_i18n_set zh peer_help.from_tool_originating_agent_kimi_claude "发起方"
|
|
6
|
+
_i18n_set en peer_help.to_tool_target_peer_auto_detected " --to <tool> Target peer (auto-detected if omitted)"
|
|
7
|
+
_i18n_set zh peer_help.to_tool_target_peer_auto_detected "对端 peer(省略则自动选择)"
|
|
8
|
+
_i18n_set en peer_help.round_n_current_round_default_1 " --round <N> Current round (default: 1)"
|
|
9
|
+
_i18n_set zh peer_help.round_n_current_round_default_1 "当前轮数"
|
|
10
|
+
_i18n_set en peer_help.tag_type_task_type_for_routing " --tag <type> Task type for routing (architecture, security, test...)"
|
|
11
|
+
_i18n_set zh peer_help.tag_type_task_type_for_routing "任务类型"
|
|
12
|
+
_i18n_set en peer_help.context_file_context_file_to_send " --context <file> Context file to send to peer"
|
|
13
|
+
_i18n_set zh peer_help.context_file_context_file_to_send "上下文文件"
|
|
14
|
+
_i18n_set en peer_help.yes_yolo_skip_opt_out_prompt " --yes, --yolo Skip opt-out prompt"
|
|
15
|
+
_i18n_set zh peer_help.yes_yolo_skip_opt_out_prompt "跳过确认提示"
|
|
16
|
+
_i18n_set en peer_help.status_show_peer_review_state " status Show peer review state"
|
|
17
|
+
_i18n_set zh peer_help.status_show_peer_review_state "显示状态"
|
|
18
|
+
_i18n_set en peer_help.log_show_latest_peer_transcript " log Show latest peer review transcript"
|
|
19
|
+
_i18n_set zh peer_help.log_show_latest_peer_transcript "查看最新 peer 日志"
|
|
20
|
+
_i18n_set en peer_help.runs_show_recent_peer_review_runs " runs [N] Show recent peer review runs"
|
|
21
|
+
_i18n_set zh peer_help.runs_show_recent_peer_review_runs "查看最近 peer review 记录"
|
|
22
|
+
_i18n_set en peer_help.reset_pair_all_reset_peer_state " reset <pair|--all> Reset peer state"
|
|
23
|
+
_i18n_set zh peer_help.reset_pair_all_reset_peer_state "重置状态"
|
|
24
|
+
_i18n_set en peer_help.help_show_this_help " help Show this help"
|
|
25
|
+
_i18n_set zh peer_help.help_show_this_help "显示帮助"
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
|
|
2
|
+
_i18n_set en peer_reset.all_peer_states_reset "All peer states reset."
|
|
3
|
+
_i18n_set zh peer_reset.all_peer_states_reset "所有 peer 状态已重置。"
|
|
4
|
+
_i18n_set en peer_reset.usage_roll_peer_reset_from_to "Usage: roll peer reset <from>→<to> | --all"
|
|
5
|
+
_i18n_set zh peer_reset.usage_roll_peer_reset_from_to "用法: roll peer reset <from>→<to> | --all"
|
|
6
|
+
_i18n_set en peer_reset.peer_state_reset_peer "Peer state reset: %s Peer"
|
|
7
|
+
_i18n_set zh peer_reset.peer_state_reset_peer "状态已重置: %s"
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
_i18n_set en peer_status.peer_review_status_peer_review "%sPeer Review Status Peer Review"
|
|
3
|
+
_i18n_set zh peer_status.peer_review_status_peer_review "状态%s"
|
|
4
|
+
_i18n_set en peer_status.no_peer_review_history_yet "No peer review history yet."
|
|
5
|
+
_i18n_set zh peer_status.no_peer_review_history_yet "暂无 peer review 记录。"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
_i18n_set en prices_refresh.unknown_flag_1 "Unknown flag: %s"
|
|
3
|
+
_i18n_set zh prices_refresh.unknown_flag_1 "未知参数: %s"
|
|
4
|
+
_i18n_set en prices_refresh.roll_unknown_vendor_vendor "[roll] unknown vendor: {vendor}"
|
|
5
|
+
_i18n_set zh prices_refresh.roll_unknown_vendor_vendor "未知厂商"
|
|
6
|
+
_i18n_set en prices_refresh.roll_known_vendors_join_sorted_vendor "[roll] known vendors: {', '.join(sorted(VENDOR_URLS))}"
|
|
7
|
+
_i18n_set zh prices_refresh.roll_known_vendors_join_sorted_vendor "已知厂商"
|
|
8
|
+
_i18n_set en prices_refresh.roll_keeping_existing_snapshot_no_changes "[roll] keeping existing snapshot, no changes written"
|
|
9
|
+
_i18n_set zh prices_refresh.roll_keeping_existing_snapshot_no_changes "保留旧快照,未写入新文件"
|
|
10
|
+
_i18n_set en prices_refresh.roll_keeping_existing_snapshot_no_changes_2 "[roll] keeping existing snapshot, no changes written"
|
|
11
|
+
_i18n_set zh prices_refresh.roll_keeping_existing_snapshot_no_changes_2 "保留旧快照,未写入新文件"
|
|
12
|
+
_i18n_set en prices_refresh.roll_up_to_date "[roll] up to date"
|
|
13
|
+
_i18n_set zh prices_refresh.roll_up_to_date "价格快照已是最新"
|
|
14
|
+
_i18n_set en prices_refresh.roll_baseline_snapshot_written "[roll] baseline snapshot written"
|
|
15
|
+
_i18n_set zh prices_refresh.roll_baseline_snapshot_written "写入首份基线快照"
|
|
16
|
+
_i18n_set en prices_refresh.roll_new_snapshot_written "[roll] new snapshot written"
|
|
17
|
+
_i18n_set zh prices_refresh.roll_new_snapshot_written "写入新版价格快照"
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
|
|
2
|
+
_i18n_set en prices_show.price_snapshot "price snapshot"
|
|
3
|
+
_i18n_set zh prices_show.price_snapshot "价格快照"
|
|
4
|
+
_i18n_set en prices_show.snapshots_len_mp_snapshots_loaded " snapshots {len(mp._SNAPSHOTS)} loaded"
|
|
5
|
+
_i18n_set zh prices_show.snapshots_len_mp_snapshots_loaded "已加载"
|
|
6
|
+
_i18n_set en prices_show.rates_per_million_tokens "rates per million tokens"
|
|
7
|
+
_i18n_set zh prices_show.rates_per_million_tokens "每百万 token 单价"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Roll i18n catalog — shared / common messages (US-I18N-002).
|
|
3
|
+
# Sourced by lib/i18n.sh. Fill with _i18n_set.
|
|
4
|
+
|
|
5
|
+
# ── update notification ──
|
|
6
|
+
_i18n_set en update.available "v%s available — run 'roll update' to upgrade"
|
|
7
|
+
_i18n_set zh update.available "有新版本 v%s — 运行 'roll update' 升级"
|
|
8
|
+
|
|
9
|
+
# ── changelog heading ──
|
|
10
|
+
_i18n_set en changelog.heading "Recent Changes"
|
|
11
|
+
_i18n_set zh changelog.heading "最近更新"
|
|
12
|
+
|
|
13
|
+
# ── init: onboard agent ──
|
|
14
|
+
_i18n_set en init.onboard_retry "retry the same agent: roll init"
|
|
15
|
+
_i18n_set zh init.onboard_retry "再试一次同一个 agent: roll init"
|
|
16
|
+
_i18n_set en init.onboard_switch "switch to another: ROLL_ONBOARD_AGENT=<name> roll init"
|
|
17
|
+
_i18n_set zh init.onboard_switch "换一个 agent: ROLL_ONBOARD_AGENT=<name> roll init"
|
|
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
|
+
# ── peer help ──
|
|
26
|
+
_i18n_set en peer.help.from "Originating agent"
|
|
27
|
+
_i18n_set zh peer.help.from "发起方"
|
|
28
|
+
_i18n_set en peer.help.to "Target peer (auto-detected if omitted)"
|
|
29
|
+
_i18n_set zh peer.help.to "对端 peer(省略则自动选择)"
|
|
30
|
+
_i18n_set en peer.help.round "Current round (default: 1)"
|
|
31
|
+
_i18n_set zh peer.help.round "当前轮数"
|
|
32
|
+
_i18n_set en peer.help.tag "Task type for routing (architecture, security, test...)"
|
|
33
|
+
_i18n_set zh peer.help.tag "任务类型"
|
|
34
|
+
_i18n_set en peer.help.context "Context file to send to peer"
|
|
35
|
+
_i18n_set zh peer.help.context "上下文文件"
|
|
36
|
+
_i18n_set en peer.help.yes "Skip opt-out prompt"
|
|
37
|
+
_i18n_set zh peer.help.yes "跳过确认提示"
|
|
38
|
+
_i18n_set en peer.help.status_cmd "Show peer review state"
|
|
39
|
+
_i18n_set zh peer.help.status_cmd "显示状态"
|
|
40
|
+
|
|
41
|
+
# ── agent ──
|
|
42
|
+
_i18n_set en agent.use_hint "roll agent use <name> — switch agent for this project"
|
|
43
|
+
_i18n_set zh agent.use_hint "roll agent use <name> — 切换此项目的 agent"
|
|
44
|
+
_i18n_set en agent.list_hint "roll agent list — show installed agents"
|
|
45
|
+
_i18n_set zh agent.list_hint "roll agent list — 查看已安装的 agent"
|
|
46
|
+
|
|
47
|
+
# ── offboard ──
|
|
48
|
+
_i18n_set en offboard.manual_rm_agents "rm -f AGENTS.md CLAUDE.md # only if they were generated by roll init"
|
|
49
|
+
_i18n_set zh offboard.manual_rm_agents "rm -f AGENTS.md CLAUDE.md # 仅当这些文件由 roll init 生成"
|
|
50
|
+
_i18n_set en offboard.manual_rm_roll "rm -rf .roll/ # all process artefacts"
|
|
51
|
+
_i18n_set zh offboard.manual_rm_roll "rm -rf .roll/ # 所有过程文件"
|
|
52
|
+
_i18n_set en offboard.manual_edit_gitignore "Edit .gitignore to remove any '.roll/' entry"
|
|
53
|
+
_i18n_set zh offboard.manual_edit_gitignore "编辑 .gitignore 移除 '.roll/' 条目"
|
|
54
|
+
|
|
55
|
+
# ── doctor ──
|
|
56
|
+
_i18n_set en doctor.stale_plists "Stale launchd plists"
|
|
57
|
+
_i18n_set zh doctor.stale_plists "无效的 launchd 服务"
|
|
58
|
+
_i18n_set en doctor.stale_plists_path "Path no longer valid, clean up with:"
|
|
59
|
+
_i18n_set zh doctor.stale_plists_path "路径已失效,可清理:"
|
|
60
|
+
|
|
61
|
+
# ── check_structure (US-ONBOARD-004) ──
|
|
62
|
+
_i18n_set en check_structure.detected "Legacy structure detected at: %s"
|
|
63
|
+
_i18n_set zh check_structure.detected "发现老结构目录: %s"
|
|
64
|
+
_i18n_set en check_structure.pre_2_0_layout "This project uses the pre-2.0 layout (BACKLOG.md / docs/*). Roll 2.0 requires"
|
|
65
|
+
_i18n_set zh check_structure.pre_2_0_layout "此项目使用 2.0 之前的老结构 (BACKLOG.md / docs/*)。Roll 2.0 要求"
|
|
66
|
+
_i18n_set en check_structure.run_migration "process artifacts to live in .roll/. Run the migration to upgrade:"
|
|
67
|
+
_i18n_set zh check_structure.run_migration "过程文件放在 .roll/ 下。运行迁移命令升级:"
|
|
68
|
+
_i18n_set en check_structure.preview_changes "# Preview changes"
|
|
69
|
+
_i18n_set zh check_structure.preview_changes "# 预览变更"
|
|
70
|
+
_i18n_set en check_structure.execute "# Execute (single atomic commit)"
|
|
71
|
+
_i18n_set zh check_structure.execute "# 执行(单次原子提交)"
|
|
72
|
+
_i18n_set en check_structure.migration_guide "Migration guide"
|
|
73
|
+
_i18n_set zh check_structure.migration_guide "迁移指南"
|
|
74
|
+
_i18n_set en check_structure.roll_back "To roll back to Roll 1.x temporarily"
|
|
75
|
+
_i18n_set zh check_structure.roll_back "如需临时回退到 Roll 1.x"
|
|
76
|
+
|
|
77
|
+
# ── main dispatch ──
|
|
78
|
+
_i18n_set en main.unknown_command "Unknown command: %s"
|
|
79
|
+
_i18n_set zh main.unknown_command "未知命令: %s"
|
|
80
|
+
|
|
81
|
+
# ── dashboard status ──
|
|
82
|
+
_i18n_set en dashboard.pending "pending"
|
|
83
|
+
_i18n_set zh dashboard.pending "待办"
|
|
84
|
+
|
|
85
|
+
_i18n_set en shared.added_missing_config_entry "Added missing config entry: %s"
|
|
86
|
+
_i18n_set zh shared.added_missing_config_entry "已添加缺失配置项: %s"
|
|
87
|
+
_i18n_set en shared.config_updated_with_new_entries "Config updated with %s new entries"
|
|
88
|
+
_i18n_set zh shared.config_updated_with_new_entries "配置已更新,新增 %s 条目"
|
|
89
|
+
_i18n_set en shared.wrote "Wrote: %s"
|
|
90
|
+
_i18n_set zh shared.wrote "已写入: %s"
|
|
91
|
+
_i18n_set en shared.file_exists_and_differs "File exists and differs: %s"
|
|
92
|
+
_i18n_set zh shared.file_exists_and_differs "文件已存在且内容不同: %s"
|
|
93
|
+
_i18n_set en shared.skipped "Skipped: %s"
|
|
94
|
+
_i18n_set zh shared.skipped "已跳过: %s"
|
|
95
|
+
_i18n_set en shared.wrote_2 "Wrote: %s"
|
|
96
|
+
_i18n_set zh shared.wrote_2 "已写入: %s"
|
|
97
|
+
_i18n_set en shared.removed_stale "Removed stale %s: %s/%s"
|
|
98
|
+
_i18n_set zh shared.removed_stale "已删除过时%s: %s/%s"
|
|
99
|
+
_i18n_set en shared.skills_source_not_found_at_skills "Skills source not found at: %s/skills"
|
|
100
|
+
_i18n_set zh shared.skills_source_not_found_at_skills "技能源目录未找到: %s/skills"
|
|
101
|
+
_i18n_set en shared.removed_stale_skill "Removed stale skill: %s"
|
|
102
|
+
_i18n_set zh shared.removed_stale_skill "已删除过时技能: %s"
|
|
103
|
+
_i18n_set en shared.convention_source_not_found_at "Convention source not found at: %s"
|
|
104
|
+
_i18n_set zh shared.convention_source_not_found_at "约定源文件未找到: %s"
|
|
105
|
+
_i18n_set en shared.copying_global_conventions "Copying global conventions..."
|
|
106
|
+
_i18n_set zh shared.copying_global_conventions "正在复制全局约定..."
|
|
107
|
+
_i18n_set en shared.copying_project_templates "Copying project templates..."
|
|
108
|
+
_i18n_set zh shared.copying_project_templates "正在复制项目模板..."
|
|
109
|
+
_i18n_set en shared.convention_source_not_found_at_2 "Convention source not found at: %s"
|
|
110
|
+
_i18n_set zh shared.convention_source_not_found_at_2 "约定源文件未找到: %s"
|
|
111
|
+
_i18n_set en shared.run_this_from_the_roll_repo "Run this from the roll repo, or symlink bin/roll to PATH."
|
|
112
|
+
_i18n_set zh shared.run_this_from_the_roll_repo "请在 roll 仓库目录下运行,或将 bin/roll 软链接到 PATH。"
|
|
113
|
+
_i18n_set en shared.config_has_no_ai_entries_recreating "Config has no ai_* entries — recreating with defaults (backup saved)"
|
|
114
|
+
_i18n_set zh shared.config_has_no_ai_entries_recreating "配置无 ai_* 条目,将重建(已备份)"
|
|
115
|
+
_i18n_set en shared.backup_saved_roll_config_yaml_bak "Backup saved: ~/.roll/config.yaml.bak"
|
|
116
|
+
_i18n_set zh shared.backup_saved_roll_config_yaml_bak "备份已保存: ~/.roll/config.yaml.bak"
|
|
117
|
+
_i18n_set en shared.creating_default_config "Creating default config..."
|
|
118
|
+
_i18n_set zh shared.creating_default_config "正在创建默认配置..."
|
|
119
|
+
_i18n_set en shared.created_roll_config_yaml "Created: ~/.roll/config.yaml"
|
|
120
|
+
_i18n_set zh shared.created_roll_config_yaml "已创建: ~/.roll/config.yaml"
|
|
121
|
+
_i18n_set en shared.skipped_resolves_to_repo_refusing_to "Skipped ~/%s (resolves to repo — refusing to manage skills inside roll worktree)"
|
|
122
|
+
_i18n_set zh shared.skipped_resolves_to_repo_refusing_to "已跳过 ~/%s(解析到仓库目录 — 拒绝在 roll worktree 内管理技能)"
|
|
123
|
+
_i18n_set en shared.removing_legacy_symlink_skills "Removing legacy symlink ~/%s/skills -> %s"
|
|
124
|
+
_i18n_set zh shared.removing_legacy_symlink_skills "正在移除遗留软链接 ~/%s/skills -> %s"
|
|
125
|
+
_i18n_set en shared.skipped_skills_unknown_symlink_target "Skipped ~/%s/skills -> %s (unknown symlink target)"
|
|
126
|
+
_i18n_set zh shared.skipped_skills_unknown_symlink_target "已跳过 ~/%s/skills -> %s(未知软链接目标)"
|
|
127
|
+
_i18n_set en shared.skipped_skills_created_path_resolves_to "Skipped ~/%s/skills (created path resolves to repo — refusing to write)"
|
|
128
|
+
_i18n_set zh shared.skipped_skills_created_path_resolves_to "已跳过 ~/%s/skills(创建路径解析到仓库 — 拒绝写入)"
|
|
129
|
+
_i18n_set en shared.skills_linked_in_skills_new_repaired "Skills linked in ~/%s/skills (+%s new, ~%s repaired, -%s pruned)"
|
|
130
|
+
_i18n_set zh shared.skills_linked_in_skills_new_repaired "已在 ~/%s/skills 中创建软链接(新增 +%s,修复 ~%s,清理 -%s)"
|
|
131
|
+
_i18n_set en shared.wrote_3 "Wrote: %s"
|
|
132
|
+
_i18n_set zh shared.wrote_3 "已写入: %s"
|
|
133
|
+
_i18n_set en shared.created "Created: %s"
|
|
134
|
+
_i18n_set zh shared.created "已创建: %s"
|
|
135
|
+
_i18n_set en shared.appended_roll_md_to "Appended @roll.md to: %s"
|
|
136
|
+
_i18n_set zh shared.appended_roll_md_to "已将 @roll.md 追加至: %s"
|
|
137
|
+
_i18n_set en shared.already_included "Already included: %s"
|
|
138
|
+
_i18n_set zh shared.already_included "已包含: %s"
|
|
139
|
+
_i18n_set en shared.updating_skills "Updating skills..."
|
|
140
|
+
_i18n_set zh shared.updating_skills "正在更新技能..."
|
|
141
|
+
_i18n_set en shared.skills_updated_in_roll_skills "Skills updated in ~/.roll/skills"
|
|
142
|
+
_i18n_set zh shared.skills_updated_in_roll_skills "技能已更新至 ~/.roll/skills"
|
|
143
|
+
_i18n_set en shared.creating_skill_symlinks_for_ai_tools "Creating skill symlinks for AI tools..."
|
|
144
|
+
_i18n_set zh shared.creating_skill_symlinks_for_ai_tools "正在为 AI 工具创建技能软链接..."
|
|
145
|
+
_i18n_set en shared.tmux_not_found_installing_via_brew "tmux not found — installing via brew..."
|
|
146
|
+
_i18n_set zh shared.tmux_not_found_installing_via_brew "未安装 tmux,正在通过 brew 安装..."
|
|
147
|
+
_i18n_set en shared.tmux_installed_tmux "tmux installed. tmux"
|
|
148
|
+
_i18n_set zh shared.tmux_installed_tmux "已安装。"
|
|
149
|
+
_i18n_set en shared.brew_install_tmux_failed_install_manually "brew install tmux failed — install manually: brew install tmux brew"
|
|
150
|
+
_i18n_set zh shared.brew_install_tmux_failed_install_manually "安装失败,请手动 'brew install tmux'"
|
|
151
|
+
_i18n_set en shared.tmux_required_but_brew_not_available "tmux required but brew not available — install manually: brew install tmux"
|
|
152
|
+
_i18n_set zh shared.tmux_required_but_brew_not_available "缺少 brew,请手动 'brew install tmux'"
|
|
153
|
+
_i18n_set en shared.tmux_required_install_via_your_package "tmux required — install via your package manager (e.g. apt install tmux / pacman -S tmux)"
|
|
154
|
+
_i18n_set zh shared.tmux_required_install_via_your_package "请用系统包管理器安装 tmux"
|
|
155
|
+
|
|
156
|
+
_i18n_set en shared.skipped_resolves_to_repo "Skipped ~/%s/skills (resolves to repo — check if ~/%s symlinks to roll repo)"
|
|
157
|
+
_i18n_set zh shared.skipped_resolves_to_repo "已跳过 ~/%s/skills(解析到仓库 — 检查 ~/%s 是否软链接到 roll 仓库)"
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Roll i18n catalog — roll-brief skill user-facing strings (US-I18N-003).
|
|
3
|
+
# These are the templates shown to users by agents executing roll-brief.
|
|
4
|
+
|
|
5
|
+
# ── Brief content headers ──
|
|
6
|
+
_i18n_set en brief.title "Roll Brief — %s"
|
|
7
|
+
_i18n_set zh brief.title "Roll 简报 — %s"
|
|
8
|
+
_i18n_set en brief.summary "Summary"
|
|
9
|
+
_i18n_set zh brief.summary "摘要"
|
|
10
|
+
_i18n_set en brief.completed "Completed: %s"
|
|
11
|
+
_i18n_set zh brief.completed "已完成: %s"
|
|
12
|
+
_i18n_set en brief.in_progress "In Progress: %s"
|
|
13
|
+
_i18n_set zh brief.in_progress "进行中: %s"
|
|
14
|
+
_i18n_set en brief.backlog_queue "Backlog Queue: %s pending"
|
|
15
|
+
_i18n_set zh brief.backlog_queue "Backlog 队列: %s 个待办"
|
|
16
|
+
_i18n_set en brief.requires_attention "Requires Attention"
|
|
17
|
+
_i18n_set zh brief.requires_attention "需要关注"
|
|
18
|
+
_i18n_set en brief.release_readiness "Release Readiness"
|
|
19
|
+
_i18n_set zh brief.release_readiness "发版就绪"
|
|
20
|
+
_i18n_set en brief.ready "Ready to release"
|
|
21
|
+
_i18n_set zh brief.ready "可以发版"
|
|
22
|
+
_i18n_set en brief.not_ready "Not ready — %s blockers"
|
|
23
|
+
_i18n_set zh brief.not_ready "暂不可发版 — %s 个阻塞项"
|
|
24
|
+
|
|
25
|
+
# ── Section headers in generated brief ──
|
|
26
|
+
_i18n_set en brief.section_completed "Completed (%s items)"
|
|
27
|
+
_i18n_set zh brief.section_completed "已完成(%s 项)"
|
|
28
|
+
_i18n_set en brief.section_in_progress "In Progress"
|
|
29
|
+
_i18n_set zh brief.section_in_progress "进行中"
|
|
30
|
+
_i18n_set en brief.section_queue "Pending Queue (%s items)"
|
|
31
|
+
_i18n_set zh brief.section_queue "待处理队列(%s 项)"
|
|
32
|
+
_i18n_set en brief.section_insights "Insights from Dream"
|
|
33
|
+
_i18n_set zh brief.section_insights "悟见"
|
|
34
|
+
_i18n_set en brief.section_escalations "Requires Human Attention"
|
|
35
|
+
_i18n_set zh brief.section_escalations "需人工介入"
|
|
36
|
+
_i18n_set en brief.section_doc_coverage "Documentation Coverage"
|
|
37
|
+
_i18n_set zh brief.section_doc_coverage "文档覆盖度"
|
|
38
|
+
_i18n_set en brief.section_release "Release Readiness"
|
|
39
|
+
_i18n_set zh brief.section_release "发版就绪"
|
|
40
|
+
|
|
41
|
+
# ── Step 5: Notification ──
|
|
42
|
+
_i18n_set en brief.generated "Brief generated: %s"
|
|
43
|
+
_i18n_set zh brief.generated "简报已生成:%s"
|
|
44
|
+
_i18n_set en brief.release_ready_status "Ready to release"
|
|
45
|
+
_i18n_set zh brief.release_ready_status "可发版"
|
|
46
|
+
_i18n_set en brief.release_hold_status "Hold — %s"
|
|
47
|
+
_i18n_set zh brief.release_hold_status "暂缓 — %s"
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Roll i18n catalog — roll-build skill user-facing strings (US-I18N-003).
|
|
3
|
+
# These are the templates/output blocks shown to users by agents executing roll-build.
|
|
4
|
+
|
|
5
|
+
# ── Phase 1-2: Clarify & Assess ──
|
|
6
|
+
_i18n_set en build.clarified_goal "Clarified Goal"
|
|
7
|
+
_i18n_set zh build.clarified_goal "目标澄清"
|
|
8
|
+
_i18n_set en build.complexity_assessment "Complexity Assessment"
|
|
9
|
+
_i18n_set zh build.complexity_assessment "复杂度评估"
|
|
10
|
+
_i18n_set en build.uncertainty_areas "Uncertainty Areas"
|
|
11
|
+
_i18n_set zh build.uncertainty_areas "不确定性"
|
|
12
|
+
_i18n_set en build.approach_confirmation "Approach Confirmation"
|
|
13
|
+
_i18n_set zh build.approach_confirmation "方案确认"
|
|
14
|
+
_i18n_set en build.what_changes "What changes"
|
|
15
|
+
_i18n_set zh build.what_changes "变更内容"
|
|
16
|
+
_i18n_set en build.the_approach "The approach"
|
|
17
|
+
_i18n_set zh build.the_approach "方案"
|
|
18
|
+
_i18n_set en build.files_touched "Files touched"
|
|
19
|
+
_i18n_set zh build.files_touched "涉及文件"
|
|
20
|
+
|
|
21
|
+
# ── Phase 2.5: Parallel Dispatch ──
|
|
22
|
+
_i18n_set en build.parallel_dispatch "Parallel Dispatch: %s Actions running in parallel"
|
|
23
|
+
_i18n_set zh build.parallel_dispatch "并行分发: %s 个 Action 并行执行"
|
|
24
|
+
_i18n_set en build.agent_running "Agent %s [Action: %s] ⏳ Running..."
|
|
25
|
+
_i18n_set zh build.agent_running "Agent %s [Action: %s] ⏳ 运行中..."
|
|
26
|
+
_i18n_set en build.agent_done "Agent %s [Action: %s] ✅ Done (%s TCR commits)"
|
|
27
|
+
_i18n_set zh build.agent_done "Agent %s [Action: %s] ✅ 完成 (%s 个 TCR 提交)"
|
|
28
|
+
_i18n_set en build.merge_summary "Merge: %s/%s succeeded, merging..."
|
|
29
|
+
_i18n_set zh build.merge_summary "合并: %s/%s 成功,正在合并..."
|
|
30
|
+
_i18n_set en build.integration_tests "Integration tests: running..."
|
|
31
|
+
_i18n_set zh build.integration_tests "集成测试: 运行中..."
|
|
32
|
+
|
|
33
|
+
# ── Phase 4: Test Design Review ──
|
|
34
|
+
_i18n_set en build.test_design "Test Design"
|
|
35
|
+
_i18n_set zh build.test_design "测试设计"
|
|
36
|
+
_i18n_set en build.scenarios "Scenarios"
|
|
37
|
+
_i18n_set zh build.scenarios "场景"
|
|
38
|
+
_i18n_set en build.test_types "Test Types"
|
|
39
|
+
_i18n_set zh build.test_types "测试类型"
|
|
40
|
+
|
|
41
|
+
# ── Phase 5: TCR ──
|
|
42
|
+
_i18n_set en build.tcr_cycle "TCR CYCLE (Test && Commit || Revert)"
|
|
43
|
+
_i18n_set zh build.tcr_cycle "TCR 循环 (Test && Commit || Revert)"
|
|
44
|
+
_i18n_set en build.micro_step "MICRO-STEP %s: %s"
|
|
45
|
+
_i18n_set zh build.micro_step "微步骤 %s: %s"
|
|
46
|
+
|
|
47
|
+
# ── Phase 6: Pre-Push CI Gate ──
|
|
48
|
+
_i18n_set en build.ci_check_failed "Local CI check failed"
|
|
49
|
+
_i18n_set zh build.ci_check_failed "本地 CI 检查失败"
|
|
50
|
+
_i18n_set en build.ci_check_passed "CI check passed"
|
|
51
|
+
_i18n_set zh build.ci_check_passed "CI 检查通过"
|
|
52
|
+
|
|
53
|
+
# ── Phase 10.5: Verification Gate ──
|
|
54
|
+
_i18n_set en build.verification_gate "Verification Gate"
|
|
55
|
+
_i18n_set zh build.verification_gate "验证门"
|
|
56
|
+
_i18n_set en build.evidence_checklist "Evidence checklist (each item must have actual output)"
|
|
57
|
+
_i18n_set zh build.evidence_checklist "证据清单(每项必须有实际输出)"
|
|
58
|
+
_i18n_set en build.tests_passed "Tests passed: paste actual test run output"
|
|
59
|
+
_i18n_set zh build.tests_passed "测试通过: 粘贴实际测试输出"
|
|
60
|
+
_i18n_set en build.build_succeeded "Build succeeded: paste build output"
|
|
61
|
+
_i18n_set zh build.build_succeeded "构建成功: 粘贴构建输出"
|
|
62
|
+
_i18n_set en build.online_verification "Online verification: screenshot / curl output / log snippet"
|
|
63
|
+
_i18n_set zh build.online_verification "在线验证: 截图 / curl 输出 / 日志片段"
|
|
64
|
+
_i18n_set en build.no_regression "No regression: verify at least one existing feature still works"
|
|
65
|
+
_i18n_set zh build.no_regression "无回归: 验证至少一个已有功能仍然正常"
|
|
66
|
+
_i18n_set en build.gate_decision "Gate Decision"
|
|
67
|
+
_i18n_set zh build.gate_decision "门控决议"
|
|
68
|
+
_i18n_set en build.gate_pass "All items have evidence → Can mark as DONE"
|
|
69
|
+
_i18n_set zh build.gate_pass "所有项有证据 → 可标记为完成"
|
|
70
|
+
_i18n_set en build.gate_fail "Any item missing evidence → Gather evidence before passing the gate"
|
|
71
|
+
_i18n_set zh build.gate_fail "任一项缺证据 → 收集证据后再过门"
|
|
72
|
+
|
|
73
|
+
# ── Phase 12: Report & Celebrate ──
|
|
74
|
+
_i18n_set en build.pushed_to "Pushed to GitHub: origin/main"
|
|
75
|
+
_i18n_set zh build.pushed_to "已推送至 GitHub: origin/main"
|
|
76
|
+
_i18n_set en build.deployed "Deployed"
|
|
77
|
+
_i18n_set zh build.deployed "已部署"
|
|
78
|
+
_i18n_set en build.verified "Verified"
|
|
79
|
+
_i18n_set zh build.verified "已验证"
|
|
80
|
+
_i18n_set en build.changes_summary "Changes"
|
|
81
|
+
_i18n_set zh build.changes_summary "变更"
|
|
82
|
+
_i18n_set en build.commits_count "Commits"
|
|
83
|
+
_i18n_set zh build.commits_count "提交"
|
|
84
|
+
_i18n_set en build.tests_added "Tests"
|
|
85
|
+
_i18n_set zh build.tests_added "测试"
|
|
86
|
+
_i18n_set en build.tcr_stats "TCR Stats"
|
|
87
|
+
_i18n_set zh build.tcr_stats "TCR 统计"
|
|
88
|
+
_i18n_set en build.review_gate "Review Gate"
|
|
89
|
+
_i18n_set zh build.review_gate "评审门"
|
|
90
|
+
_i18n_set en build.backlog_updated "BACKLOG: %s marked ✅ Done"
|
|
91
|
+
_i18n_set zh build.backlog_updated "BACKLOG: %s 已标记 ✅ Done"
|
|
92
|
+
_i18n_set en build.changelog_bundled "CHANGELOG: bundled into completion commit"
|
|
93
|
+
_i18n_set zh build.changelog_bundled "CHANGELOG: 已并入完成提交"
|
|
94
|
+
_i18n_set en build.shipped "Shipped"
|
|
95
|
+
_i18n_set zh build.shipped "已交付"
|
|
96
|
+
_i18n_set en build.next_options "Next Options"
|
|
97
|
+
_i18n_set zh build.next_options "下一步"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Roll i18n catalog — roll-design skill user-facing strings (US-I18N-003).
|
|
3
|
+
_i18n_set en design.epic "Epic: %s"
|
|
4
|
+
_i18n_set zh design.epic "Epic: %s"
|
|
5
|
+
_i18n_set en design.feature "Feature: %s"
|
|
6
|
+
_i18n_set zh design.feature "功能: %s"
|
|
7
|
+
_i18n_set en design.user_story "User Story: %s"
|
|
8
|
+
_i18n_set zh design.user_story "用户故事: %s"
|
|
9
|
+
_i18n_set en design.acceptance_criteria "Acceptance Criteria"
|
|
10
|
+
_i18n_set zh design.acceptance_criteria "验收标准"
|
|
11
|
+
_i18n_set en design.domain_model "Domain Model"
|
|
12
|
+
_i18n_set zh design.domain_model "领域模型"
|
|
13
|
+
_i18n_set en design.aggregates "Aggregates"
|
|
14
|
+
_i18n_set zh design.aggregates "聚合"
|
|
15
|
+
_i18n_set en design.context_map "Context Map"
|
|
16
|
+
_i18n_set zh design.context_map "上下文映射"
|
|
17
|
+
_i18n_set en design.stories_created "Created %s stories in backlog"
|
|
18
|
+
_i18n_set zh design.stories_created "已在 backlog 创建 %s 个故事"
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Roll i18n catalog — roll-fix skill user-facing strings (US-I18N-003).
|
|
3
|
+
# These are templates/output blocks shown to users by agents executing roll-fix.
|
|
4
|
+
|
|
5
|
+
# ── Section 3: Test Design Review ──
|
|
6
|
+
_i18n_set en fix.test_design "Test Design for Fix"
|
|
7
|
+
_i18n_set zh fix.test_design "修复测试设计"
|
|
8
|
+
_i18n_set en fix.verification_approach "Verification Approach"
|
|
9
|
+
_i18n_set zh fix.verification_approach "验证方式"
|
|
10
|
+
_i18n_set en fix.test_scenarios "Test Scenarios"
|
|
11
|
+
_i18n_set zh fix.test_scenarios "测试场景"
|
|
12
|
+
_i18n_set en fix.fix_verification "Fix verification"
|
|
13
|
+
_i18n_set zh fix.fix_verification "修复验证"
|
|
14
|
+
_i18n_set en fix.regression_check "Regression check"
|
|
15
|
+
_i18n_set zh fix.regression_check "回归检查"
|
|
16
|
+
|
|
17
|
+
# ── Section 4: TCR Implementation ──
|
|
18
|
+
_i18n_set en fix.tcr_cycle "TCR CYCLE FOR FIX"
|
|
19
|
+
_i18n_set zh fix.tcr_cycle "修复 TCR 循环"
|
|
20
|
+
_i18n_set en fix.micro_step "MICRO-STEP %s: %s"
|
|
21
|
+
_i18n_set zh fix.micro_step "微步骤 %s: %s"
|
|
22
|
+
|
|
23
|
+
# ── Section 6: Quality Review ──
|
|
24
|
+
_i18n_set en fix.self_review "Self Review Report"
|
|
25
|
+
_i18n_set zh fix.self_review "自审报告"
|
|
26
|
+
_i18n_set en fix.scope "Scope"
|
|
27
|
+
_i18n_set zh fix.scope "范围"
|
|
28
|
+
_i18n_set en fix.critical "Critical"
|
|
29
|
+
_i18n_set zh fix.critical "严重"
|
|
30
|
+
_i18n_set en fix.warnings "Warnings"
|
|
31
|
+
_i18n_set zh fix.warnings "警告"
|
|
32
|
+
_i18n_set en fix.suggestions "Suggestions"
|
|
33
|
+
_i18n_set zh fix.suggestions "建议"
|
|
34
|
+
_i18n_set en fix.passed_dimensions "Passed dimensions"
|
|
35
|
+
_i18n_set zh fix.passed_dimensions "通过维度"
|
|
36
|
+
|
|
37
|
+
# ── Section 10.5: Verification Gate ──
|
|
38
|
+
_i18n_set en fix.issue_resolved "Issue resolved"
|
|
39
|
+
_i18n_set zh fix.issue_resolved "问题已解决"
|
|
40
|
+
|
|
41
|
+
# ── Section 11: Report ──
|
|
42
|
+
_i18n_set en fix.bug_identified "Bug identified: %s"
|
|
43
|
+
_i18n_set zh fix.bug_identified "Bug 已识别: %s"
|
|
44
|
+
_i18n_set en fix.root_cause "Root cause"
|
|
45
|
+
_i18n_set zh fix.root_cause "根因"
|
|
46
|
+
_i18n_set en fix.fix_applied "Fix applied via TCR"
|
|
47
|
+
_i18n_set zh fix.fix_applied "已通过 TCR 应用修复"
|
|
48
|
+
_i18n_set en fix.tests_updated "Tests updated: %s"
|
|
49
|
+
_i18n_set zh fix.tests_updated "测试已更新: %s"
|
|
50
|
+
_i18n_set en fix.regression_verified "Regression verified"
|
|
51
|
+
_i18n_set zh fix.regression_verified "回归验证通过"
|
|
52
|
+
_i18n_set en fix.fix_complete "Fix complete: %s"
|
|
53
|
+
_i18n_set zh fix.fix_complete "修复完成: %s"
|