birch

Git Worktree Manager

A CLI that simplifies creating, tracking, and managing git worktrees. Auto-generated memorable names, state tracking, smart pruning, and custom configuration.

npm install -g @matthamlin/birch
$ birch new
Created worktree "swift-cedar"
  Branch: swift-cedar
  Path: ~/.birch/worktrees/my-project/swift-cedar

$ cd $(birch go swift-cedar)

$ birch list
swift-cedar   swift-cedar   ~/.birch/worktrees/.../swift-cedar
bold-maple    bold-maple    ~/.birch/worktrees/.../bold-maple

Memorable Names

2,500 unique compound names like "swift-cedar" and "bold-maple". No more worktree-1, worktree-2.

Smart Pruning

Detects merged branches including squash merges. Cleans up stale worktrees automatically.

Flexible Storage

Store worktrees locally or centralized in your home directory. Configurable per repository.

State Tracking

Tracks creation time, last access, branch, and path for every worktree in a simple JSON file.

Custom Branch Names

Configure a naming function to map worktree names to your team's branch convention.

Zero Dependencies

Built with Node.js builtins only. Fast startup, no supply chain risk.