Skip to content

Commit a579658

Browse files
Claude Code Review workflow
1 parent 5e07e22 commit a579658

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Claude Code Review
2+
3+
on:
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"
12+
13+
jobs:
14+
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+
21+
runs-on: ubuntu-latest
22+
permissions:
23+
contents: read
24+
pull-requests: read
25+
issues: read
26+
id-token: write
27+
28+
steps:
29+
- name: Checkout repository
30+
uses: actions/checkout@v4
31+
with:
32+
fetch-depth: 1
33+
34+
- name: Run Claude Code Review
35+
id: claude-review
36+
uses: anthropics/claude-code-action@beta
37+
with:
38+
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
39+
40+
# Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4)
41+
# model: "claude-opus-4-20250514"
42+
43+
# Direct prompt for automated review (no @claude mention needed)
44+
direct_prompt: |
45+
Please review this pull request and provide feedback on:
46+
- Code quality and best practices
47+
- Potential bugs or issues
48+
- Performance considerations
49+
- Security concerns
50+
- Test coverage
51+
52+
Be constructive and helpful in your feedback.
53+
54+
# Optional: Customize review based on file types
55+
# direct_prompt: |
56+
# Review this PR focusing on:
57+
# - For TypeScript files: Type safety and proper interface usage
58+
# - For API endpoints: Security, input validation, and error handling
59+
# - For React components: Performance, accessibility, and best practices
60+
# - For tests: Coverage, edge cases, and test quality
61+
62+
# Optional: Different prompts for different authors
63+
# direct_prompt: |
64+
# ${{ github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' &&
65+
# 'Welcome! Please review this PR from a first-time contributor. Be encouraging and provide detailed explanations for any suggestions.' ||
66+
# 'Please provide a thorough code review focusing on our coding standards and best practices.' }}
67+
68+
# Optional: Add specific tools for running tests or linting
69+
# allowed_tools: "Bash(npm run test),Bash(npm run lint),Bash(npm run typecheck)"
70+
71+
# Optional: Skip review for certain conditions
72+
# if: |
73+
# !contains(github.event.pull_request.title, '[skip-review]') &&
74+
# !contains(github.event.pull_request.title, '[WIP]')
75+

0 commit comments

Comments
 (0)