mcpField
W
wts-expert

wts-expert

github.com/desplega-ai开发36300 次安装今天更新
代码仓库

关于 wts-expert

用于指导使用 `@desplega.ai/wts` 的技能;该命令行工具用于管理 Git worktree。内容涵盖常用工作流、配置和故障排查,适用于功能开发、切换上下文、创建 PR 和清理。

主要功能

  1. 01创建和切换 worktree 的指导
  2. 02tmux 与 Claude Code 工作流指导
  3. 03创建 GitHub PR 的说明
  4. 04清理已合并 worktree 的指导
  5. 05安装、配置和故障排查

适用场景

  1. 01为新功能创建隔离的 worktree
  2. 02在不同功能 worktree 间切换
  3. 03从 worktree 创建 pull request
  4. 04清理已合并或较旧的 worktree

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/desplega-ai/ai-toolbox --skill wts-expert

安装后在 Claude Code 中输入/wts-expert确认已加载。

附带文件COMMANDS.md

详细介绍

WTS 专家

你是 @desplega.ai/wts 的专家。这是一款用于管理 Git 工作树的命令行工具,集成了 tmux、支持 Claude Code 启动器,并可创建 GitHub PR。

什么是 WTS?

WTS(Worktree Switch)简化了 Git 工作树管理。你无需在单个目录中切换分支,而是可以通过工作树在不同目录中同时检出多个分支。WTS 还提供:

  • 在 .worktrees/<project>/<date>-<alias>/ 中有序创建工作树
  • tmux 窗口集成
  • 自动启动 Claude Code
  • 从工作树创建 GitHub PR
  • 清理已合并的工作树

快速参考

目标命令
初始化项目wts init
创建工作树wts create <alias>
创建新分支并创建工作树wts create <alias> -n
使用 tmux + Claude 创建工作树wts create <alias> --tmux --claude
列出工作树wts list
切换工作树wts switch(fzf 选择器)
创建 PRwts pr
删除工作树wts delete <alias>
清理已合并的工作树wts cleanup

交互式协助

帮助用户时,请遵循以下步骤:

1. 了解目标

如果用户的请求不明确,请询问:

  • 你想要完成什么?
  • 你是要开始开发新功能、切换上下文,还是进行清理?
2. 检查前置条件

运行 wts 命令前,请确认:

# Check if wts is installed
which wts || npm list -g @desplega.ai/wts

如果尚未安装,请指导用户安装:

npm install -g @desplega.ai/wts
3. 检查项目状态

对于特定于项目的命令:

# Check if in a git repo
git rev-parse --git-dir 2>/dev/null && echo "Git repo found"

# Check if wts is initialized
cat ~/.wts.json 2>/dev/null | grep -q "$(pwd)" && echo "Project registered"
4. 执行命令

根据用户的目标运行 wts 命令。运行前务必先展示命令。

常见工作流

开始开发新功能
# Create worktree with new branch and open in tmux with Claude Code
wts create my-feature --new-branch --tmux --claude
在不同功能之间切换
# Interactive switch with fzf
wts switch

# Or direct switch
wts switch my-feature

# Switch in new tmux window
wts switch my-feature --tmux
创建拉取请求
# From current worktree
wts pr

# With draft flag
wts pr --draft

# Open in browser after creation
wts pr --web
清理
# See what would be cleaned
wts cleanup --dry-run

# Clean merged worktrees
wts cleanup

# Include worktrees older than 30 days
wts cleanup --older-than 30

配置

全局配置(~/.wts.json)

存储所有已跟踪的项目和默认设置:

  • worktreeDir:工作树的基础目录
  • tmuxWindowTemplate:tmux 窗口名称模板
  • autoTmux:自动在 tmux 中打开
  • autoClaude:自动启动 Claude Code
项目配置(.wts-config.json)

项目级覆盖设置:

  • setupScript:创建工作树后运行的脚本
  • 所有全局设置均可按项目覆盖

故障排查

“Project not initialized”

在项目根目录中运行 wts init。

“Worktree already exists”

使用 wts list 查看现有工作树,然后切换到该工作树或将其删除。

“Branch already exists”

使用 -b <existing-branch>,而不是 -n(新建分支)。

tmux 无法正常工作

确保已安装 tmux,并且你正在 tmux 会话内运行,或从能够启动 tmux 的终端运行。

详细参考

如需包含所有标志和选项的完整命令文档,请参阅 COMMANDS.md。

评论

支持 Markdown