mcpField
W
working-in-parallel

working-in-parallel

github.com/letta-aiAgent 工作流3.7k59 次安装今天更新
代码仓库

关于 working-in-parallel

这项技能指导在同一仓库中使用 Git worktree 隔离并行 Agent 任务,并涵盖准备、项目设置检查和清理流程。

主要功能

  1. 01隔离并行工作区
  2. 02限定使用 `.letta/worktrees/`
  3. 03执行命令前检查项目设置
  4. 04提供 worktree 管理命令
  5. 05检查提交钩子

适用场景

  1. 01另一 Agent 执行长任务时处理快速修复
  2. 02并行开发不同功能以避免文件冲突
  3. 03在同一仓库中同时推进多项工作

安装

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

$npx skills add https://github.com/letta-ai/letta-code --skill working-in-parallel

安装后在 Claude Code 中输入/working-in-parallel确认已加载。

详细介绍

并行工作

当另一个 Agent 在同一目录中工作时,使用 git worktrees 并行工作。

Git worktrees 可将多个分支检出到不同目录中。每个工作树都有各自隔离的文件,同时共享相同的 Git 历史记录和远程连接。一个工作树中的更改不会影响其他工作树,因此并行工作的 Agent 不会互相干扰。

了解更多:Git worktree 文档

重要:工作树位置

所有工作树都必须创建在仓库根目录下的 .letta/worktrees/ 中。 这样可以让工作树井然有序、被 Git 忽略,并且不会放在用户的项目目录中。

创建第一个工作树之前,请确保 .letta/worktrees 已添加到仓库的 .gitignore 中:

# Add to .gitignore if not already present
grep -q '.letta/worktrees' .gitignore 2>/dev/null || echo '.letta/worktrees' >> .gitignore

重要:先检查项目设置

在新工作树中运行任何命令之前,请先检查项目的设置说明:

  1. 阅读 README——通常包含安装和构建命令
  2. 检查 claude.md 或 AGENT.md——查看是否有面向 Agent 的指南
  3. 查看你的 project 记忆块——其中包含已了解的项目偏好

不要假设项目使用的是 npm、bun 还是 pnpm——先检查项目!

快速开始

# Ensure .letta/worktrees is gitignored
grep -q '.letta/worktrees' .gitignore 2>/dev/null || echo '.letta/worktrees' >> .gitignore

# Create worktree with new branch (from repo root)
git worktree add -b fix/my-feature .letta/worktrees/my-feature main

# Work in the worktree
cd .letta/worktrees/my-feature

# CHECK PROJECT SETUP FIRST - then install dependencies
# Read README.md or check project memory block for correct command
bun install  # Example - verify this is correct for YOUR project!

# Make changes, commit, push, PR
git add <files>
git commit -m "fix: description"
git push -u origin fix/my-feature
gh pr create --title "Fix: description" --body "## Summary..."

# Clean up when done (from repo root)
git worktree remove .letta/worktrees/my-feature

关键命令

git worktree add -b <branch> .letta/worktrees/<name> main  # Create with new branch
git worktree add .letta/worktrees/<name> <existing-branch>  # Use existing branch
git worktree list                                            # Show all worktrees
git worktree remove .letta/worktrees/<name>                  # Remove worktree

适用场景

  • 另一个 Agent 正在当前目录中工作
  • 一个会话中有长时间运行的任务,需要在另一个会话中快速修复
  • 用户希望在 Agent 处理单独功能的同时继续开发

工作树中的提交前钩子

工作树共享 .git,但根据项目设置,提交前钩子可能需要初始化。创建工作树并安装依赖后,请确认钩子已启用,再进行提交。如有需要,请查阅项目文档或运行项目的钩子设置命令。

提示

  • 始终使用 .letta/worktrees/——绝不要在此目录之外创建工作树
  • 安装前先查看项目设置文档——README、claude.md、项目记忆块
  • 清晰命名工作树:.letta/worktrees/feature-auth、.letta/worktrees/bugfix-123
  • 使用项目的包管理器安装依赖(先检查!)
  • 删除工作树之前先推送更改

替代方案:克隆仓库

有些用户更喜欢多次克隆仓库(gh repo clone owner/repo project-01),这样思路更简单。此方法会占用更多磁盘空间,但能提供完全隔离。如果用户对工作树表示困惑或明确更喜欢克隆,请改用这种方式。

评论

支持 Markdown