1+ name : Claude Code
2+
3+ on :
4+ issue_comment :
5+ types : [created]
6+ pull_request_review_comment :
7+ types : [created]
8+ issues :
9+ types : [opened, assigned]
10+ pull_request_review :
11+ types : [submitted]
12+
13+ jobs :
14+ claude :
15+ if : |
16+ (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17+ (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18+ (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19+ (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
20+ runs-on : ubuntu-latest
21+ permissions :
22+ contents : write
23+ pull-requests : write
24+ issues : write
25+ id-token : write
26+ actions : read # Required for Claude to read CI results on PRs
27+ steps :
28+ - name : Checkout repository
29+ uses : actions/checkout@v4
30+ with :
31+ fetch-depth : 1
32+
33+ - name : Run Claude Code
34+ id : claude
35+ uses : anthropics/claude-code-action@v1
36+ with :
37+ anthropic_api_key : ${{ secrets.ANTHROPIC_API_KEY }}
38+
39+ # Optional: Customize the trigger phrase (default: @claude)
40+ # trigger_phrase: "/claude"
41+
42+ # Optional: Trigger when specific user is assigned to an issue
43+ assignee_trigger : " claude-bot"
44+
45+ # Optional: Configure Claude's behavior with CLI arguments
46+ # claude_args: |
47+ # --model claude-opus-4-1-20250805
48+ # --max-turns 10
49+ # --allowedTools "Bash(npm install),Bash(npm run build),Bash(npm run test:*),Bash(npm run lint:*)"
50+ # --system-prompt "Follow our coding standards. Ensure all new code has tests. Use TypeScript for new files."
51+
52+ # Optional: Advanced settings configuration
53+ # settings: |
54+ # {
55+ # "env": {
56+ # "NODE_ENV": "test"
57+ # }
58+ # }
0 commit comments