关于 recollect-worktree
recollect-worktree 是用于管理 Recollect 仓库中 Git worktree 的技能。它会复制 `.env.local` 并运行 `pnpm install`,为隔离开发或代码审查准备分支。
主要功能
- 01创建 worktree 和分支
- 02自动复制 `.env.local`
- 03运行 `pnpm install` 安装依赖
- 04列出、切换和清理 worktree
- 05创建或移除前进行确认
适用场景
- 01在隔离的 worktree 中审查 PR
- 02并行开发多个功能
- 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
执行内容:
- 检查 worktree 是否已存在
- 从远程更新基础分支
- 创建新的 worktree 和分支
- 复制
.env.local - 运行
pnpm install - 显示用于切换到 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 命令:
- 询问:“你想如何开展工作?”
- 在当前 worktree 上创建新分支(直接开发)
- 使用 worktree(并行开发)
- 如果选择 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