|
1 | | -name: Claude PR Assistant |
| 1 | +name: Claude Code |
2 | 2 |
|
3 | 3 | on: |
4 | 4 | issue_comment: |
|
11 | 11 | types: [submitted] |
12 | 12 |
|
13 | 13 | jobs: |
14 | | - claude-code-action: |
| 14 | + claude: |
15 | 15 | if: | |
16 | 16 | (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) || |
17 | 17 | (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || |
18 | 18 | (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) || |
19 | | - (github.event_name == 'issues' && contains(github.event.issue.body, '@claude')) |
| 19 | + (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) |
20 | 20 | runs-on: ubuntu-latest |
21 | 21 | permissions: |
22 | | - contents: read |
23 | | - pull-requests: read |
24 | | - issues: read |
| 22 | + contents: write |
| 23 | + pull-requests: write |
| 24 | + issues: write |
25 | 25 | id-token: write |
| 26 | + actions: read # Required for Claude to read CI results on PRs |
26 | 27 | steps: |
27 | 28 | - name: Checkout repository |
28 | 29 | uses: actions/checkout@v4 |
29 | 30 | with: |
30 | 31 | fetch-depth: 1 |
31 | 32 |
|
32 | | - - name: Run Claude PR Action |
| 33 | + - name: Run Claude Code |
| 34 | + id: claude |
33 | 35 | uses: anthropics/claude-code-action@beta |
34 | 36 | with: |
35 | 37 | anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} |
36 | | - # Or use OAuth token instead: |
37 | | - # claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} |
38 | | - timeout_minutes: "60" |
39 | | - # mode: tag # Default: responds to @claude mentions |
40 | | - # Optional: Restrict network access to specific domains only |
41 | | - # experimental_allowed_domains: | |
42 | | - # .anthropic.com |
43 | | - # .github.com |
44 | | - # api.github.com |
45 | | - # .githubusercontent.com |
46 | | - # bun.sh |
47 | | - # registry.npmjs.org |
48 | | - # .blob.core.windows.net |
| 38 | + |
| 39 | + # This is an optional setting that allows Claude to read CI results on PRs |
| 40 | + additional_permissions: | |
| 41 | + actions: read |
| 42 | +
|
| 43 | + # Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4.1) |
| 44 | + # model: "claude-opus-4-1-20250805" |
| 45 | + |
| 46 | + # Optional: Customize the trigger phrase (default: @claude) |
| 47 | + # trigger_phrase: "/claude" |
| 48 | + |
| 49 | + # Optional: Trigger when specific user is assigned to an issue |
| 50 | + # assignee_trigger: "claude-bot" |
| 51 | + |
| 52 | + # Optional: Allow Claude to run specific commands |
| 53 | + # allowed_tools: "Bash(npm install),Bash(npm run build),Bash(npm run test:*),Bash(npm run lint:*)" |
| 54 | + |
| 55 | + # Optional: Add custom instructions for Claude to customize its behavior for your project |
| 56 | + # custom_instructions: | |
| 57 | + # Follow our coding standards |
| 58 | + # Ensure all new code has tests |
| 59 | + # Use TypeScript for new files |
| 60 | + |
| 61 | + # Optional: Custom environment variables for Claude |
| 62 | + # claude_env: | |
| 63 | + # NODE_ENV: test |
0 commit comments