|
1 | | -name: Claude Code Review |
| 1 | +name: Basic PR Review with Claude |
2 | 2 |
|
3 | 3 | on: |
4 | 4 | pull_request: |
5 | | - types: [opened, synchronize] |
6 | | - # Optional: Only run on specific file changes |
7 | | - # paths: |
8 | | - # - "src/**/*.ts" |
9 | | - # - "src/**/*.tsx" |
10 | | - # - "src/**/*.js" |
11 | | - # - "src/**/*.jsx" |
| 5 | + types: [opened, synchronize, reopened, ready_for_review] |
| 6 | + |
| 7 | + # Manual trigger for testing |
| 8 | + workflow_dispatch: |
12 | 9 |
|
13 | 10 | jobs: |
14 | 11 | claude-review: |
15 | | - # Optional: Filter by PR author |
16 | | - # if: | |
17 | | - # github.event.pull_request.user.login == 'external-contributor' || |
18 | | - # github.event.pull_request.user.login == 'new-developer' || |
19 | | - # github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' |
20 | | - |
| 12 | + name: Claude Code Review |
21 | 13 | runs-on: ubuntu-latest |
| 14 | + |
| 15 | + # Skip draft PRs unless manually triggered |
| 16 | + if: github.event.pull_request.draft == false || github.event_name == 'workflow_dispatch' |
| 17 | + |
22 | 18 | permissions: |
23 | 19 | contents: read |
24 | | - pull-requests: read |
25 | | - issues: read |
| 20 | + pull-requests: write |
26 | 21 | id-token: write |
27 | | - |
| 22 | + |
28 | 23 | steps: |
29 | | - - name: Checkout repository |
| 24 | + - name: Checkout code |
30 | 25 | uses: actions/checkout@v4 |
31 | 26 | with: |
32 | | - fetch-depth: 1 |
33 | | - |
| 27 | + fetch-depth: 0 |
| 28 | + |
34 | 29 | - name: Run Claude Code Review |
35 | | - id: claude-review |
36 | | - uses: anthropics/claude-code-action@v1 |
| 30 | + uses: amondnet/claude-code-review@main |
37 | 31 | with: |
38 | 32 | claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} |
39 | | - prompt: | |
40 | | - Please review this pull request and provide feedback on: |
41 | | - - Code quality and best practices |
42 | | - - Potential bugs or issues |
43 | | - - Performance considerations |
44 | | - - Security concerns |
45 | | - - Test coverage |
46 | | -
|
47 | | - Use the repository's CLAUDE.md for guidance on style and conventions. Be constructive and helpful in your feedback. |
48 | | -
|
49 | | - Use `gh pr comment` with your Bash tool to leave your review as a comment on the PR. |
50 | | -
|
51 | | - # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md |
52 | | - # or https://docs.anthropic.com/en/docs/claude-code/sdk#command-line for available options |
53 | | - claude_args: '--allowed-tools "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:*)"' |
| 33 | + review_type: 'comprehensive' |
| 34 | + progress_tracking: true |
| 35 | + severity_labels: true |
| 36 | + max_review_comments: 30 |
| 37 | + exclude_paths: 'node_modules,dist,build,.git,*.lock' |
| 38 | + github_token: ${{ secrets.GITHUB_TOKEN }} |
| 39 | + |
| 40 | + - name: Review Complete Notification |
| 41 | + if: always() |
| 42 | + run: | |
| 43 | + echo "🎉 Claude code review completed!" |
| 44 | + echo "Check the PR for detailed feedback and suggestions." |
0 commit comments