SuperAPI AI 工具集

worktrunk

编程与开发

查看项目

更新于 10-15 08:21

技能介绍

用途

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;可查看钩子日志调试。