mcpField
R
recollect-worktree

recollect-worktree

github.com/timelessco开发41 次安装
代码仓库

关于 recollect-worktree

recollect-worktree 是用于管理 Recollect 仓库中 Git worktree 的技能。它会复制 `.env.local` 并运行 `pnpm install`,为隔离开发或代码审查准备分支。

主要功能

  1. 01创建 worktree 和分支
  2. 02自动复制 `.env.local`
  3. 03运行 `pnpm install` 安装依赖
  4. 04列出、切换和清理 worktree
  5. 05创建或移除前进行确认

适用场景

  1. 01在隔离的 worktree 中审查 PR
  2. 02并行开发多个功能
  3. 03无需切换分支即可测试功能分支

安装

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

$npx skills add https://github.com/timelessco/recollect --skill recollect-worktree

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

附带文件scripts/worktree-manager.sh

详细介绍

管理 Recollect 仓库的 Git worktree,以便隔离并行开发。

功能:

  • 从 main 分支创建 worktree,并使用清晰的分支名称
  • 自动复制 .env.local(Supabase/Cloudflare 密钥)
  • 运行 pnpm install,让 worktree 做好开发准备
  • 列出、切换和清理 worktree

适用场景:

  • 代码审查(/review):提供用于审查 PR 的隔离环境
  • 功能开发(/work):并行开发多个功能
  • 测试:无需切换分支即可测试功能分支

<quick_start>

# Create a new worktree (copies .env.local, runs pnpm install)
bash .claude/skills/recollect-worktree/scripts/worktree-manager.sh create feature-name

# List all worktrees
bash .claude/skills/recollect-worktree/scripts/worktree-manager.sh list

# Switch to a worktree
bash .claude/skills/recollect-worktree/scripts/worktree-manager.sh switch feature-name

# Clean up inactive worktrees
bash .claude/skills/recollect-worktree/scripts/worktree-manager.sh cleanup

</quick_start>

**`create [from-branch]`**

创建新的 worktree 并安装依赖。

bash .claude/skills/recollect-worktree/scripts/worktree-manager.sh create feature-login

执行内容:

  1. 检查 worktree 是否已存在
  2. 从远程更新基础分支
  3. 创建新的 worktree 和分支
  4. 复制 .env.local
  5. 运行 pnpm install
  6. 显示用于切换到 worktree 的路径

list 或 ls

列出所有 worktree 及其分支和状态。

switch <name> 或 go <name>

切换到现有 worktree。

cleanup 或 clean

确认后移除未活动的 worktree。

<workflow_examples> PR 审查:

# Create worktree for PR review
bash .claude/skills/recollect-worktree/scripts/worktree-manager.sh create pr-664-lightbox

# Move to worktree and start dev
cd .worktrees/pr-664-lightbox
pnpm run dev

# After review, return and cleanup
cd ../..
bash .claude/skills/recollect-worktree/scripts/worktree-manager.sh cleanup

并行开发:

# Start first feature
bash .claude/skills/recollect-worktree/scripts/worktree-manager.sh create feature-a

# Start second feature
bash .claude/skills/recollect-worktree/scripts/worktree-manager.sh create feature-b

# Switch between them
bash .claude/skills/recollect-worktree/scripts/worktree-manager.sh switch feature-a

</workflow_examples>

**`/review` 命令:** 1. 检查当前分支 2. 如果当前已处于 PR 分支 → 留在该分支 3. 如果处于其他分支 → 提供 worktree 选项: “使用 worktree 进行隔离审查?(y/n)” - 是 → 调用 recollect-worktree skill - 否 → 在当前分支上查看 PR 差异并继续

/work 命令:

  1. 询问:“你想如何开展工作?”
    • 在当前 worktree 上创建新分支(直接开发)
    • 使用 worktree(并行开发)
  2. 如果选择 worktree → 调用 recollect-worktree skill

<design_principles> KISS: 使用一个管理脚本、简单的命令和合理的默认设置

合理的默认设置:

  • 从 main 创建 worktree(除非另有指定)
  • 存放在 .worktrees/ 目录中
  • 分支名称作为 worktree 名称
  • 自动复制 .env.local
  • 自动运行 pnpm install

安全优先:

  • 创建或移除前进行确认
  • 不会移除当前 worktree
  • 提供清晰的错误消息 </design_principles>

<technical_details> 目录结构:

.worktrees/
├── feature-login/
│   ├── .git
│   ├── .env.local      # Copied from main
│   ├── node_modules/   # Installed via pnpm
│   └── ...
└── pr-664-lightbox/
    └── ...

工作原理:

  • 使用 git worktree add 创建隔离环境
  • 每个 worktree 都有自己的分支
  • 与主仓库共享 Git 历史记录
  • 轻量(使用文件系统链接,不会重复存储) </technical_details>

<success_criteria> Worktree 满足以下条件时即准备就绪:

  • .worktrees/<name>/ 目录存在
  • worktree 中存在 .env.local
  • 存在 node_modules/(已完成 pnpm install)
  • pnpm run dev 可以成功启动 </success_criteria>

评论

支持 Markdown