git-worktree-manager
Parallel development with git worktrees and deterministic port isolation. TRIGGER when: user wants to work on multiple branches simultaneously, run parallel agent sessions, manage worktree-based dev environments, or asks about port conflicts between concurrent services. DO NOT TRIGGER when: simple branch switching (use git checkout), or single-branch development with no parallelism needed.
git-worktree-manager
Parallel development using git worktrees with deterministic port allocation. Designed for multi-agent workflows where multiple branches run services concurrently without port collisions.
What You Get
- Worktree lifecycle management (create, list, cleanup)
- Deterministic port allocation with collision detection
- Docker Compose patterns for per-worktree services
- Decision matrix for when worktrees add value
Workflow
- Decide -- Check the decision matrix below. Worktrees add overhead; use them only when parallelism is required.
- Create --
git worktree add ../project-feature feature-branch - Allocate ports -- Use deterministic formula from port-allocation.md
- Run sessions -- Each worktree gets isolated services on unique ports
- Cleanup --
git worktree remove ../project-featureand release ports
Decision matrix
| Situation | Use worktree? | Why |
|---|---|---|
| Quick fix while feature branch is running | Yes | Keep feature services up, fix on main |
| Multiple agents working different features | Yes | Each agent gets isolated environment |
| Long-running test suite on one branch | Yes | Continue development without waiting |
| Simple feature branch, no running services | No | git checkout is simpler |
| Reviewing a PR locally | Maybe | Only if your current branch has state |
| Shared database migrations in flight | No | Worktrees share .git; migrations collide |
Rules
- Never create worktrees inside the main working tree
- Use sibling directories:
../project-feature, not./worktrees/feature - Always allocate ports before starting services
- Clean up worktrees when the branch is merged
- Commit or stash before removing a worktree
Reading guide
| Working on | Read |
|---|---|
| Port formula, collision checks, Docker Compose | port-allocation |