-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Add Claude Code GitHub workflow #2550
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| 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 | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 1 | ||
|
|
||
| - name: Run Claude Code | ||
| id: claude | ||
| uses: anthropics/claude-code-action@beta | ||
| with: | ||
| anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} | ||
|
|
||
| # Allow Claude to read CI results on PRs | ||
| additional_permissions: | | ||
| actions: read | ||
|
|
||
| # Trigger when assigned to an issue | ||
| assignee_trigger: "claude" | ||
|
|
||
| # Allow Claude to run bash | ||
| # This should be safe given the repo is already public | ||
| allowed_tools: "Bash" | ||
|
|
||
| custom_instructions: | | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it makes sense to add this as-is so we can do a general pass at these issues and PRs, but ultimately it seems like we need to give Claude a reference to MCP docs and/or specs to augment instructions and existing MCP knowledge. For example, locally I am using in this server I created for referencing official docs: https://github.com/olaservo/mcp-advisor Perhaps we should formalize a simple docs/specs server for this and other use cases?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, having a good docs server would be good! Although I was planning to get something basic up and running with this PR, and we can add extra tools / context to Claude as we discover where it falls short. Also to be clear: this workflow only runs when someone explicitly tags Claude with
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK! I approved but not sure if you meant you were adding something else here before making this active, so I held off on merging just in case. |
||
| If posting a comment to GitHub, give a concise summary of the comment at the top and put all the details in a <details> block. | ||
Uh oh!
There was an error while loading. Please reload this page.