name: Claude Code Review on: pull_request: types: [opened, synchronize, ready_for_review, reopened] jobs: claude-review: runs-on: ubuntu-latest permissions: contents: read pull-requests: write issues: read id-token: write steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 1 - name: Run Claude Code Review id: claude-review uses: anthropics/claude-code-action@v1 with: claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} # or: claude-api-key: ${{ secrets.CLAUDE_API_KEY }} # When track_progress is enabled: # - Creates a tracking comment with progress checkboxes # - Includes all PR context (comments, attachments, images) # - Updates progress as the review proceeds # - Marks as completed when done track_progress: true prompt: | REPO: ${{ github.repository }} PR NUMBER: ${{ github.event.pull_request.number }} Perform a comprehensive code review with the following focus areas: 1. **Code Quality** - Clean code principles and best practices - Proper error handling and edge cases - Code readability and maintainability 2. **Security** - Check for potential security vulnerabilities - Validate input sanitization - Review authentication/authorization logic 3. **Performance** - Identify potential performance bottlenecks - Review database queries for efficiency - Check for memory leaks or resource issues 4. **Testing** - Verify adequate test coverage - Review test quality and edge cases - Check for missing test scenarios 5. **Documentation** - Ensure code is properly documented - Verify README updates for new features - Check API documentation accuracy Provide detailed feedback using inline comments for specific issues. Use top-level comments for general observations or praise. Use the repository's CLAUDE.md for guidance on style and conventions. Be constructive and helpful in your feedback. Use `gh pr comment` with your Bash tool to leave your review as a comment on the PR. # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md # or https://docs.anthropic.com/en/docs/claude-code/sdk#command-line for available options claude_args: '--model claude-opus-4-1-20250805 --allowed-tools "mcp__github_inline_comment__create_inline_comment,Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr list:*)"'