Browse Source
Add Claude Code GitHub Workflow (#8687)
* "Claude PR Assistant workflow"
* "Claude Code Review workflow"
pull/8685/head
Chris Lu
3 days ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
94 additions and
0 deletions
-
.github/workflows/claude-code-review.yml
-
.github/workflows/claude.yml
|
|
@ -0,0 +1,44 @@ |
|
|
|
|
|
name: Claude Code Review |
|
|
|
|
|
|
|
|
|
|
|
on: |
|
|
|
|
|
pull_request: |
|
|
|
|
|
types: [opened, synchronize, ready_for_review, reopened] |
|
|
|
|
|
# Optional: Only run on specific file changes |
|
|
|
|
|
# paths: |
|
|
|
|
|
# - "src/**/*.ts" |
|
|
|
|
|
# - "src/**/*.tsx" |
|
|
|
|
|
# - "src/**/*.js" |
|
|
|
|
|
# - "src/**/*.jsx" |
|
|
|
|
|
|
|
|
|
|
|
jobs: |
|
|
|
|
|
claude-review: |
|
|
|
|
|
# Optional: Filter by PR author |
|
|
|
|
|
# if: | |
|
|
|
|
|
# github.event.pull_request.user.login == 'external-contributor' || |
|
|
|
|
|
# github.event.pull_request.user.login == 'new-developer' || |
|
|
|
|
|
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' |
|
|
|
|
|
|
|
|
|
|
|
runs-on: ubuntu-latest |
|
|
|
|
|
permissions: |
|
|
|
|
|
contents: read |
|
|
|
|
|
pull-requests: read |
|
|
|
|
|
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 }} |
|
|
|
|
|
plugin_marketplaces: 'https://github.com/anthropics/claude-code.git' |
|
|
|
|
|
plugins: 'code-review@claude-code-plugins' |
|
|
|
|
|
prompt: '/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}' |
|
|
|
|
|
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md |
|
|
|
|
|
# or https://code.claude.com/docs/en/cli-reference for available options |
|
|
|
|
|
|
|
|
@ -0,0 +1,50 @@ |
|
|
|
|
|
name: Claude Code |
|
|
|
|
|
|
|
|
|
|
|
on: |
|
|
|
|
|
issue_comment: |
|
|
|
|
|
types: [created] |
|
|
|
|
|
pull_request_review_comment: |
|
|
|
|
|
types: [created] |
|
|
|
|
|
issues: |
|
|
|
|
|
types: [opened, assigned] |
|
|
|
|
|
pull_request_review: |
|
|
|
|
|
types: [submitted] |
|
|
|
|
|
|
|
|
|
|
|
jobs: |
|
|
|
|
|
claude: |
|
|
|
|
|
if: | |
|
|
|
|
|
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) || |
|
|
|
|
|
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || |
|
|
|
|
|
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) || |
|
|
|
|
|
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) |
|
|
|
|
|
runs-on: ubuntu-latest |
|
|
|
|
|
permissions: |
|
|
|
|
|
contents: read |
|
|
|
|
|
pull-requests: read |
|
|
|
|
|
issues: read |
|
|
|
|
|
id-token: write |
|
|
|
|
|
actions: read # Required for Claude to read CI results on PRs |
|
|
|
|
|
steps: |
|
|
|
|
|
- name: Checkout repository |
|
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
with: |
|
|
|
|
|
fetch-depth: 1 |
|
|
|
|
|
|
|
|
|
|
|
- name: Run Claude Code |
|
|
|
|
|
id: claude |
|
|
|
|
|
uses: anthropics/claude-code-action@v1 |
|
|
|
|
|
with: |
|
|
|
|
|
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} |
|
|
|
|
|
|
|
|
|
|
|
# This is an optional setting that allows Claude to read CI results on PRs |
|
|
|
|
|
additional_permissions: | |
|
|
|
|
|
actions: read |
|
|
|
|
|
|
|
|
|
|
|
# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it. |
|
|
|
|
|
# prompt: 'Update the pull request description to include a summary of changes.' |
|
|
|
|
|
|
|
|
|
|
|
# Optional: Add claude_args to customize behavior and configuration |
|
|
|
|
|
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md |
|
|
|
|
|
# or https://code.claude.com/docs/en/cli-reference for available options |
|
|
|
|
|
# claude_args: '--allowed-tools Bash(gh pr:*)' |
|
|
|
|
|
|