← ClaudeAtlas

rig-worktreelisted

Manage isolated git worktrees: create one wired up for dev (fetch, branch from base, symlink env, install deps), list them with PR state, or safely remove merged ones. A shared bootstrap that implement-style flows can call, also usable directly. Triggers on: 'worktree', 'set up a worktree', 'new worktree', 'list worktrees', 'remove worktree', 'isolate this in a worktree', 'symlink env into worktree'.
agent-rig/rig · ★ 0 · Code & Development · score 69
Install: claude install-skill agent-rig/rig
# Worktree — isolated dev checkout lifecycle Create / list / remove isolated git worktrees under `.claude/rig-worktrees/`. Creation produces a worktree that's actually ready to run: fetched from origin, branched from the right base, env files symlinked, dependencies installed. This is a shared bootstrap you can call directly (spikes, ad-hoc branches, parallel experiments) and that implement-style flows and prune/rig-tidy steps can delegate to. The logic lives in two scripts so the invariants live in one place: `.claude/scripts/setup-worktree.sh` (create) and `.claude/scripts/remove-worktree.sh` (teardown). **Creation encodes three invariants that bite if skipped** — fetch-before-branch (stale local refs silently start you on a pre-merge tip), env symlinks (missing secrets read as flaky/timeout test failures, not "config not found"), and a per-worktree dependency install (installed deps don't carry across worktrees → `Cannot find package '...'`). Don't reimplement these inline; call the scripts. ## Configuration Reads `.rig/config.json` (missing keys → defaults): | Key | Default | Used for | |---|---|---| | `vcs.baseRef` | `origin/main` | Default `--base` the worktree branches from. | | `vcs.branchConvention` | `{user}/{ticket}-{slug}` | Template when inferring a branch name from a ticket ID. | | `vcs.defaultBranch` | `main` | The trunk (informational; the main worktree). | | `runtime.installCommand` | derived from `packageManager` | Passed to the setup script as `--insta