返回 Skill 列表
extension
分类: 开发与工程无需 API Key

git-worktree-setup

在同时处理多个分支或创建并行的Claude Code会话时使用PROACTIVELY。自动执行带有先决条件检查、开发环境初始化和安全清理的git工作树创建。支持单个工作树、批量创建和工作树移除。不适用于非git项目或没有工作树的分支管理。

person作者: jakexiaohubgithub

Git Worktree Setup

Automates git worktree creation for parallel Claude Code sessions without conflicts.

When to Use

Trigger Phrases:

  • "create a worktree for [branch-name]"
  • "set up worktree for [feature]"
  • "create worktrees for [branch1], [branch2]"
  • "remove worktree [name]"
  • "list my worktrees"

Use Cases:

  • Working on multiple features simultaneously
  • Parallel Claude Code sessions on different branches
  • Code review while continuing development
  • Emergency hotfixes without interrupting work

Quick Decision Matrix

| Request | Mode | Action | |---------|------|--------| | "create worktree for X" | Single | Create one worktree | | "set up worktrees for X, Y" | Batch | Create multiple | | "remove worktree X" | Cleanup | Remove specific | | "list worktrees" | List | Display status |

Workflow Overview

Phase 0: Prerequisites (Mandatory)

# Verify git repo
git rev-parse --is-inside-work-tree

# Check uncommitted changes
git status --porcelain

# Get repo name
basename $(git rev-parse --show-toplevel)

Phase 1: Gather Information

  • Branch name (required)
  • New or existing branch
  • Location (default: ../repo-branch)
  • Setup dev environment

Phase 2: Create Worktree

# New branch
git worktree add ../project-feature -b feature

# Existing branch
git worktree add ../project-bugfix bugfix

Phase 3: Dev Environment Setup

  • Detect package manager
  • Run install
  • Copy .env files

Phase 4: Next Steps

  • Show worktree path
  • Provide navigation commands
  • List all worktrees

Quick Reference Commands

# Create with new branch
git worktree add ../project-branch -b branch-name

# Create from existing
git worktree add ../project-branch branch-name

# List all
git worktree list

# Remove worktree
git worktree remove ../project-branch

# Remove worktree and branch
git worktree remove ../project-branch
git branch -D branch-name

Package Manager Detection

| Lock File | Manager | |-----------|---------| | pnpm-lock.yaml | pnpm | | yarn.lock | yarn | | bun.lockb | bun | | package-lock.json | npm |

Common Issues

| Issue | Cause | Fix | |-------|-------|-----| | "invalid reference" | Branch doesn't exist | Use -b for new | | "already exists" | Directory exists | Choose different location | | "uncommitted changes" | Dirty working dir | Commit or stash |

Safety Protocols

Before Creating:

  • [ ] Verify git repository
  • [ ] Check clean working directory
  • [ ] Validate target directory available

Before Cleanup:

  • [ ] Confirm user intent
  • [ ] Check for uncommitted changes
  • [ ] Warn about permanent branch deletion

Example Output

✓ Worktree created: /Users/connor/myapp-feature-auth
✓ Branch: feature-auth (new)
✓ Dependencies installed

Next steps:
  cd ../myapp-feature-auth
  claude

All worktrees:
- /path/to/main (main) ← current
- /path/to/worktree (feature-auth) ← new

Success Criteria

  • [ ] Worktree in correct location
  • [ ] Branch checked out properly
  • [ ] Files visible in directory
  • [ ] Dev environment ready
  • [ ] Appears in git worktree list
  • [ ] User can start Claude Code

Reference Materials

  • modes/ - Detailed mode workflows
  • templates/ - Setup script templates
  • data/best-practices.md
  • data/troubleshooting.md

Version: 1.0.0 | Author: Connor