WTS Expert 是围绕 @desplega.ai/wts 这一命令行工具的使用专家技能。@desplega.ai/wts 用于管理 Git worktree,并集成了 tmux、Claude Code 启动器支持和 GitHub PR 创建功能。
用途 WTS(Worktree Switch)用于简化 Git worktree 管理。传统方式下,多个分支需要在同一目录中来回切换;worktree 允许在多个独立目录中同时检出多个分支。WTS 在此基础上增加了:在 .worktrees/<project>/<date>-<alias>/ 路径下有序创建 worktree、tmux 窗口集成、Claude Code 自动启动、从 worktree 创建 GitHub PR,以及清理已合并的 worktree。
主要能力与常用命令
- 初始化项目:wts init
- 创建 worktree:wts create <alias>
- 使用新分支创建:wts create <alias> -n
- 结合 tmux 与 Claude 创建:wts create <alias> --tmux --claude
- 列出 worktree:wts list
- 切换 worktree:wts switch(fzf 选择器)
- 创建 PR:wts pr
- 删除 worktree:wts delete <alias>
- 清理已合并项:wts cleanup
使用方式 在协助用户时,技能建议按以下步骤进行:
- 理解目标:若请求不明确,询问用户想完成什么,是开始新功能、切换上下文还是清理。
- 检查前置条件:确认 wts 是否已安装,可用 which wts 或 npm list -g @desplega.ai/wts 检查;若未安装,安装命令为 npm install -g @desplega.ai/wts。
- 检查项目状态:确认是否处于 Git 仓库(git rev-parse --git-dir),以及项目是否已初始化(检查 ~/.wts.json 中是否包含当前目录)。
- 执行命令:根据用户目标运行 wts 命令,运行前始终先展示命令。
常见工作流
- 开始新功能:wts create my-feature --new-branch --tmux --claude
- 在功能间切换:wts switch(交互式 fzf)、wts switch my-feature(直接切换)、wts switch my-feature --tmux(在新 tmux 窗口中切换)
- 创建 Pull Request:wts pr、wts pr --draft(草稿)、wts pr --web(创建后在浏览器打开)
- 清理:wts cleanup --dry-run(预览将清理的内容)、wts cleanup(清理已合并的 worktree)、wts cleanup --older-than 30(包含超过 30 天的 worktree)
配置
- 全局配置(~/.wts.json):存储所有已跟踪项目及默认设置,包括 worktreeDir(worktree 的基础目录)、tmuxWindowTemplate(tmux 窗口名称模板)、autoTmux(自动在 tmux 中打开)、autoClaude(自动启动 Claude Code)。
- 项目配置(.wts-config.json):项目级覆盖设置,包括 setupScript(worktree 创建后运行的脚本);所有全局设置均可按项目覆盖。
故障排查
- 提示“Project not initialized”:在项目根目录运行 wts init。
- 提示“Worktree already exists”:用 wts list 查看现有 worktree,然后切换或删除。
- 提示“Branch already exists”:使用 -b <existing-branch> 而非 -n(新分支)。
- tmux 不工作:确保已安装 tmux,并在可启动 tmux 的 tmux 会话或终端中运行。
适用场景与限制 适用于需要管理多个 Git 分支并行开发、在 worktree 间切换、结合 tmux 与 Claude Code 工作、从 worktree 创建 GitHub PR 以及清理已合并 worktree 的场景。完整命令文档(含所有标志与选项)参见 COMMANDS.md。关于该技能的收费、价格、平台支持范围等更多信息暂未提供。