Skip to content

ci: set up fork CI, agent file, and fix clippy #7

ci: set up fork CI, agent file, and fix clippy

ci: set up fork CI, agent file, and fix clippy #7

Workflow file for this run

name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
pull_request_review:
types: [submitted]
pull_request:
types: [opened, synchronize, ready_for_review, reopened]
issues:
types: [opened]
jobs:
interactive:
if: |
(github.event_name == 'issue_comment' &&
contains(github.event.comment.body, '@claude') &&
(github.event.comment.author_association == 'MEMBER' ||
github.event.comment.author_association == 'COLLABORATOR' ||
github.event.comment.author_association == 'OWNER')) ||
(github.event_name == 'pull_request_review_comment' &&
contains(github.event.comment.body, '@claude') &&
(github.event.comment.author_association == 'MEMBER' ||
github.event.comment.author_association == 'COLLABORATOR' ||
github.event.comment.author_association == 'OWNER')) ||
(github.event_name == 'pull_request_review' &&
contains(github.event.review.body, '@claude') &&
(github.event.review.author_association == 'MEMBER' ||
github.event.review.author_association == 'COLLABORATOR' ||
github.event.review.author_association == 'OWNER'))
runs-on: ubuntu-24.04
timeout-minutes: 45
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
actions: read
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
additional_permissions: |
actions: read
claude_args: |
--allowedTools "Read,Write,Edit,Glob,Grep,mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr checks:*),Bash(gh pr edit:*),Bash(gh pr list:*),Bash(gh issue view:*),Bash(gh issue edit:*),Bash(gh issue comment:*),Bash(gh issue list:*),Bash(gh label list:*),Bash(gh run view:*),Bash(gh run list:*),Bash(git log:*),Bash(git diff:*),Bash(git show:*),Bash(git blame:*),Bash(git status:*),Bash(git add:*),Bash(git commit:*),Bash(git push:*),Bash(git checkout:*),Bash(cargo:*),Bash(ls:*),Bash(tree:*)"
pr-review:
if: |
github.event_name == 'pull_request' &&
(github.event.action == 'opened' ||
github.event.action == 'synchronize' ||
github.event.action == 'ready_for_review' ||
github.event.action == 'reopened')
runs-on: ubuntu-24.04
timeout-minutes: 30
permissions:
contents: read
pull-requests: write
id-token: write
actions: read
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
additional_permissions: |
actions: read
claude_args: |
--allowedTools "Read,Glob,Grep,mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr checks:*),Bash(gh label list:*),Bash(gh run view:*),Bash(gh run list:*),Bash(git log:*),Bash(git diff:*),Bash(git show:*),Bash(git blame:*),Bash(git status:*),Bash(ls:*),Bash(tree:*)"
prompt: |
REPO: ${{ github.repository }}
PR NUMBER: ${{ github.event.pull_request.number }}
Review this pull request following the guidelines in CLAUDE.md.
## Conversation awareness
Before posting any feedback:
1. Read the existing PR comments and review threads using `gh pr view --comments` and `gh pr view --json reviews`.
2. Check which review threads are already resolved vs unresolved.
3. Do NOT re-raise points that have already been addressed or resolved in the conversation history.
4. Do NOT repeat feedback that you or another bot already posted on this PR.
5. If this is a `synchronize` event (new push), focus your review on the new changes and whether previous feedback was addressed. Do not re-review unchanged code.
## Review style
- Calibrate review effort to the size and risk of the PR. A trivial getter does not need the same scrutiny as a new opcode.
- Be concise. Batch all feedback into ONE top-level `gh pr comment` and a small number of inline comments. Do NOT post multiple top-level comments.
- Only comment on issues that actually matter. Skip trivial style nits that don't affect correctness or maintainability.
- Never repeat the same point in multiple places. Say it once, in the most relevant location.
- If the PR is clean or all prior feedback has been addressed, a single "LGTM" comment is sufficient. Do not manufacture feedback just to have something to say.
Use `gh pr comment` for top-level feedback (exactly one comment).
Use `mcp__github_inline_comment__create_inline_comment` (with `confirmed: true`) to highlight specific code issues.