diff --git a/.git-wt/pr-hook b/.git-wt/pr-hook new file mode 100755 index 0000000000..ec588aeec7 --- /dev/null +++ b/.git-wt/pr-hook @@ -0,0 +1,14 @@ +#!/bin/sh +# Invoked by @zkochan/git-wt's `wt` shell function after `wt ` +# creates a worktree and cds into it. Silently no-ops for contributors who +# don't have claude installed. +command -v claude >/dev/null 2>&1 || exit 0 +exec claude --dangerously-skip-permissions "Review and fix PR #$PR_NUMBER. Steps: +1. Use gh to read the PR description, diff, and all review comments (both PR-level and inline). +2. Understand the intent of the PR and what each change does. +3. Resolve any conflicts with the base branch by running './shell/resolve-pr-conflicts.sh $PR_NUMBER'. This force-fetches the base branch (avoiding stale refs), rebases, and auto-resolves lockfile conflicts. If it prints MANUAL_RESOLUTION_NEEDED, read the listed conflicted files, resolve the conflict markers, run 'git add' on each resolved file, then run './shell/resolve-pr-conflicts.sh $PR_NUMBER --continue' to finish the rebase and push. Do NOT skip this step. Do NOT assume the branch is up to date. +4. Address every review comment — fix the code as requested or as appropriate. +5. Look for any other bugs, issues, or style problems in the changed code and fix those too. +6. Run the relevant tests to verify your fixes work (check CLAUDE.md for how to run tests). +7. Give me a summary of what you found and what you changed, including any conflicts you resolved. +Do NOT push. Leave all non-merge changes unstaged for me to review." diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d8919628f9..a1e9379b63 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -81,6 +81,12 @@ Passing a number is interpreted as a PR number. The PR is fetched via `git fetch origin pull//head` into a local branch named `pr-`, so it works for both same-repo branches and forks. +If [Claude Code](https://www.anthropic.com/claude-code) is installed on your system, `wt +` will additionally launch a Claude review of the PR via the tracked hook at +`.git-wt/pr-hook`. The hook silently no-ops if `claude` isn't on your `PATH`, so contributors +who don't use Claude aren't affected. Requires `@zkochan/git-wt` ≥ 0.0.3, which is the +version that introduced the per-repo hook lookup. + If you only need the worktree path (e.g. to open it in an editor) without switching directories, run the underlying script directly: