Bare-repo git worktree manager
curl -fsSL https://raw.githubusercontent.com/strazan/sigtree/main/install.sh | bashsigtree init git@github.com:org/repo.gitCreates a bare-repo layout:
repo/
.bare/ ← bare git repo
repo-main/ ← primary worktree on main
cd repo/repo-main
sigtree my-featuresigtree goOpens an interactive fuzzy search (requires fzf). Falls back to a numbered list if fzf isn't installed. The installer adds a shell wrapper so sigtree go can cd in your current shell.
cd repo/repo-main
sigtree cleanScans for stale worktrees and prompts to remove each one. A worktree is stale if its branch has been merged into main, or if it has no commits in the last N days (default 30).
Create ~/.config/sigtree/config for global settings, or .sigtree in the repo root for per-repo settings. Per-repo overrides global.
# Commands to run after worktree creation (multiple lines run in order)
setup = pnpm install --silent
setup = pnpm dlx turbo build
# Command to launch at the end (default: claude)
launch = claude
# What counts as stale for `sigtree clean` (default: merged, 30d)
# merged - branch is merged into main
# <N>d - no commits in N days
# Combine with comma: merged, 14d
stale = merged, 30d
If no setup is configured, sigtree tries to auto-detect package manager from lockfiles