#!/usr/bin/env bash set -euo pipefail usage() { cat <<'EOF' usage: scripts/worktree-start [--dry-run] [start-ref] Create an issue-specific git worktree under branches/. Examples: scripts/worktree-start fix/issue-123-example scripts/worktree-start --dry-run review/pr-123-scope-check prgs/master EOF } dry_run=0 if [[ "${1:-}" == "--dry-run" ]]; then dry_run=1 shift fi if [[ $# -lt 1 || $# -gt 2 ]]; then usage >&2 exit 2 fi branch="$1" start_ref="${2:-prgs/master}" script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" repo_root="$(cd "$script_dir/.." && pwd)" worktree_name="${branch//\//-}" worktree_path="$repo_root/branches/$worktree_name" if [[ -e "$worktree_path" ]]; then cat >&2 <