用途
Worktrunk(wt CLI)用于管理 git worktree。它通过分支名称来引用工作树,并根据可配置的路径模板计算实际路径,从而简化多工作树并行开发的日常操作。
主要能力
- 切换与创建:
wt switch可切换到已有工作树,wt switch --create创建新分支与工作树,wt switch -返回上一个工作树,wt switch pr:123检出 PR 分支。支持^(默认分支)、@(当前工作树)、-(上一个)等快捷键。无参数时打开交互式选择器,带实时 diff/log 预览。 - 列表查看:
wt list显示紧凑状态,--full显示 CI 状态与 LLM 摘要,--branches包含无工作树的分支,--format=json输出 JSON。符号包括 @ 当前、^ main、+ 暂存、* 未暂存、upN/downN 领先/落后。 - 合并与清理:
wt merge执行 8 步流水线:commit → squash → rebase → pre-merge 钩子 → 快进合并 → pre-remove 钩子 → 清理 → post 钩子。wt remove清理工作树(含 5 项安全检查),--force跳过检查。 - 单项操作:
wt step提供 commit、squash、rebase、push、copy-ignored、diff、eval、for-each 等子命令。
使用方式
核心命令示例:
wt switch feat # 切换到已有工作树
wt switch --create feat # 创建新分支 + 工作树
wt switch -c -x claude feat # 创建并在其中运行 Claude
wt switch -c feat -- 'Fix GH #322' # 创建 + Claude 带提示
wt switch --create part2 --base=@ # 从当前 HEAD 分支
配置分为用户级 ~/.config/worktrunk/config.toml(如 worktree-path 模板、LLM 提交信息、别名)和项目级 .config/wt.toml(提交到仓库,供团队共享钩子与设置)。模板变量包括 {{ branch }}、{{ repo }}、{{ repo_path }}、{{ worktree_path }}、{{ vars.* }};过滤器包括 sanitize、sanitize_db、hash_port。
钩子生命周期:pre-start、post-start、pre-commit、post-commit、pre-merge、post-merge、pre-remove、post-remove,分别用于拷贝缓存、安装依赖、lint、推送、合并前本地 CI 门禁、通知、停止服务、清理缓存等。
状态工具:wt config state marker set、wt config state default-branch、wt config state logs get --hook=...。
适用场景
- 并行运行 AI 编码智能体(多个
wt switch -x claude -c ...)。 - 消除冷启动:通过 post-start 钩子
wt step copy-ignored拷贝 node_modules、.env、缓存。 - 每个工作树独立开发服务器与数据库(使用 hash_port 与模板变量)。
- 智能体交接(tmux、Zellij)与状态标记。
限制
资料未提供关于支持平台、依赖版本、性能开销或许可证的具体信息。故障排查方面提到:若 wt switch 不切换目录,需运行 wt config shell install 并重载 shell;可查看钩子日志调试。