Better shutdown. #20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Claude Assistant | |
| on: | |
| issue_comment: | |
| types: [created] | |
| pull_request_review_comment: | |
| types: [created] | |
| pull_request: | |
| types: [opened, synchronize] # opened = new PR, synchronize = new commits pushed | |
| issues: | |
| types: [opened, assigned] | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| issues: write | |
| id-token: write | |
| actions: read # Required for Claude to read CI results on PRs | |
| jobs: | |
| # Auto-review for same-repo PRs | |
| claude-review: | |
| if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - uses: anthropics/claude-code-action@v1 | |
| with: | |
| anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} | |
| track_progress: true # ✨ Enables tracking comments | |
| claude_args: | | |
| --model opus \ | |
| --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)" | |
| prompt: | | |
| REPO: ${{ github.repository }} | |
| PR NUMBER: ${{ github.event.pull_request.number }} | |
| Act as a code reviewer for this pull request. Focus your review on: | |
| - Overall code quality and adherence to best practices | |
| - Possible bugs, edge cases, or logical errors | |
| - Security concerns or unsafe patterns | |
| - Performance characteristics and potential optimizations | |
| Provide thorough, actionable feedback, and use inline comments for any line-specific issues you identify. | |
| Note: The PR branch is already checked out in the current working directory. | |
| Use `gh pr comment` for summary or top-level feedback on the PR. | |
| Use `mcp__github_inline_comment__create_inline_comment` to annotate specific code issues inline. | |
| Only post GitHub comments - don't submit review text as messages. | |
| Use top-level comments for general observations or praise. | |
| # Manual review triggered by "@claude review" comment (works for forks too) | |
| claude-manual-review: | |
| if: | | |
| github.event_name == 'issue_comment' && | |
| github.event.issue.pull_request && | |
| contains(github.event.comment.body, '@claude review') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Checkout PR branch | |
| run: gh pr checkout ${{ github.event.issue.number }} | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| - uses: anthropics/claude-code-action@v1 | |
| with: | |
| anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} | |
| track_progress: true # ✨ Enables tracking comments | |
| claude_args: | | |
| --model opus \ | |
| --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)" | |
| prompt: | | |
| REPO: ${{ github.repository }} | |
| PR NUMBER: ${{ github.event.issue.number }} | |
| Act as a code reviewer for this pull request. Focus your review on: | |
| - Overall code quality and adherence to best practices | |
| - Possible bugs, edge cases, or logical errors | |
| - Security concerns or unsafe patterns | |
| - Performance characteristics and potential optimizations | |
| Provide thorough, actionable feedback, and use inline comments for any line-specific issues you identify. | |
| Note: The PR branch is already checked out in the current working directory. | |
| Use `gh pr comment` for summary or top-level feedback on the PR. | |
| Use `mcp__github_inline_comment__create_inline_comment` to annotate specific code issues inline. | |
| Only post GitHub comments - don't submit review text as messages. | |
| Use top-level comments for general observations or praise. | |
| # General interactive mode - responds to @claude mentions (but NOT review requests on PRs) | |
| claude-response: | |
| if: | | |
| (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude') && !contains(github.event.comment.body, '@claude review')) || | |
| (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude') && !contains(github.event.comment.body, '@claude review')) || | |
| (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude') && !contains(github.event.review.body, '@claude review')) || | |
| (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Checkout PR branch (if on a PR) | |
| if: github.event.issue.pull_request || github.event.pull_request | |
| run: gh pr checkout ${{ github.event.issue.number || github.event.pull_request.number }} | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| - uses: anthropics/claude-code-action@v1 | |
| with: | |
| anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} | |
| claude_args: | | |
| --model opus \ | |
| --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr create:*),Bash(git checkout:*),Bash(git add:*),Bash(git commit:*),Bash(git push:*),Bash(git branch:*),Edit,Write,MultiEdit" |