Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .github/workflows/claude.yml
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: |
Copy link
Member

Choose a reason for hiding this comment

The 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?

Copy link
Member Author

Choose a reason for hiding this comment

The 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 @claude, not on all issues and PRs by default.

Copy link
Member

Choose a reason for hiding this comment

The 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.
Loading