Create or reuse a git worktree for a pull request or branch so reviews and work happen in isolation
Set up an isolated git worktree.
Parse $ARGUMENTS to extract:
.worktrees/--pr <number> (optional) — checkout a GitHub PR into the worktree using gh pr checkout--branch <ref> (optional) — create the worktree from a specific branch or refThe worktree path is: <repo-root>/.worktrees/<name>
For example, if the repo root is /home/user/src/dlt and the name is review-pr-3584, the worktree path is /home/user/src/dlt/.worktrees/review-pr-3584.
Create the .worktrees directory if it does not exist:
mkdir -p <repo-root>/.worktrees
Check if a worktree already exists at that path:
git worktree list
--pr was given, run cd <worktree-path> && gh pr checkout <number> to make sure it is up to date.--branch was given, run git -C <worktree-path> checkout <ref>.--pr was given, first resolve the PR's branch name: gh pr view <number> --json headRefName -q .headRefName--pr or --branch was given, check git worktree list output for any other worktree that already has the same branch checked out. If found:
AskUserQuestion to ask the user: "Branch <branch> is already checked out in worktree <existing-path>. Use that worktree instead?"--branch was given: git worktree add .worktrees/<name> <ref>git worktree add .worktrees/<name> --detach--pr was given, then also: cd <worktree-path> && gh pr checkout <number>gh pr checkout handles fetching, fork tracking, and branch setup automatically.cd <worktree-path>
Then verify the switch took effect:
pwd
If pwd does not show the worktree path, stop with an error — the cwd did not persist.
Worktree ready: <worktree-path>