Create your Link in Bio for Bluesky

Claude Code Actionを再作成 (#137)

authored by mkizka.dev and committed by

GitHub 4b8a06da 26ded77f

+76 -53
+54
.github/workflows/claude-code-review.yml
··· 1 + name: Claude Code Review 2 + 3 + on: 4 + pull_request: 5 + types: [opened, synchronize] 6 + # Optional: Only run on specific file changes 7 + # paths: 8 + # - "src/**/*.ts" 9 + # - "src/**/*.tsx" 10 + # - "src/**/*.js" 11 + # - "src/**/*.jsx" 12 + 13 + jobs: 14 + claude-review: 15 + # Optional: Filter by PR author 16 + # if: | 17 + # github.event.pull_request.user.login == 'external-contributor' || 18 + # github.event.pull_request.user.login == 'new-developer' || 19 + # github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' 20 + 21 + runs-on: ubuntu-latest 22 + permissions: 23 + contents: read 24 + pull-requests: read 25 + issues: read 26 + id-token: write 27 + 28 + steps: 29 + - name: Checkout repository 30 + uses: actions/checkout@v4 31 + with: 32 + fetch-depth: 1 33 + 34 + - name: Run Claude Code Review 35 + id: claude-review 36 + uses: anthropics/claude-code-action@v1 37 + with: 38 + claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} 39 + prompt: | 40 + Please review this pull request and provide feedback on: 41 + - Code quality and best practices 42 + - Potential bugs or issues 43 + - Performance considerations 44 + - Security concerns 45 + - Test coverage 46 + 47 + Use the repository's CLAUDE.md for guidance on style and conventions. Be constructive and helpful in your feedback. 48 + 49 + Use `gh pr comment` with your Bash tool to leave your review as a comment on the PR. 50 + 51 + # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md 52 + # or https://docs.anthropic.com/en/docs/claude-code/sdk#command-line for available options 53 + claude_args: '--allowed-tools "Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr list:*)"' 54 +
+22 -53
.github/workflows/claude.yml
··· 20 20 runs-on: ubuntu-latest 21 21 permissions: 22 22 contents: read 23 - pull-requests: write 24 - issues: write 23 + pull-requests: read 24 + issues: read 25 25 id-token: write 26 + actions: read # Required for Claude to read CI results on PRs 26 27 steps: 27 - - name: React with eyes 28 - uses: actions/github-script@v7 28 + - name: Checkout repository 29 + uses: actions/checkout@v4 29 30 with: 30 - script: | 31 - let commentId; 32 - if (context.eventName === 'issue_comment') { 33 - commentId = context.payload.comment.id; 34 - } else if (context.eventName === 'pull_request_review_comment') { 35 - commentId = context.payload.comment.id; 36 - } else if (context.eventName === 'pull_request_review') { 37 - // PRレビューの場合、レビュー自体にリアクションする 38 - await github.rest.pulls.createReviewComment({ 39 - owner: context.repo.owner, 40 - repo: context.repo.repo, 41 - pull_number: context.payload.pull_request.number, 42 - body: '👀', 43 - commit_id: context.payload.pull_request.head.sha, 44 - path: '', 45 - line: 1 46 - }); 47 - return; 48 - } else if (context.eventName === 'issues') { 49 - // Issueの場合、Issue自体にリアクションする 50 - await github.rest.reactions.createForIssue({ 51 - owner: context.repo.owner, 52 - repo: context.repo.repo, 53 - issue_number: context.payload.issue.number, 54 - content: 'eyes' 55 - }); 56 - return; 57 - } 58 - if (commentId) { 59 - await github.rest.reactions.createForIssueComment({ 60 - owner: context.repo.owner, 61 - repo: context.repo.repo, 62 - comment_id: commentId, 63 - content: 'eyes' 64 - }); 65 - } 66 - - uses: actions/checkout@v4 67 - - run: | 68 - npm i -g corepack@latest 69 - corepack enable pnpm 70 - - uses: actions/setup-node@v4 71 - with: 72 - node-version-file: .node-version 73 - cache: pnpm 74 - - run: pnpm i 31 + fetch-depth: 1 32 + 75 33 - name: Run Claude Code 76 34 id: claude 77 - uses: anthropics/claude-code-action@beta 35 + uses: anthropics/claude-code-action@v1 78 36 with: 79 - anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} 80 - allowed_tools: "Bash(pnpm:*)" 81 - timeout_minutes: 5 37 + claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} 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: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it. 44 + # prompt: 'Update the pull request description to include a summary of changes.' 45 + 46 + # Optional: Add claude_args to customize behavior and configuration 47 + # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md 48 + # or https://docs.anthropic.com/en/docs/claude-code/sdk#command-line for available options 49 + # claude_args: '--model claude-opus-4-1-20250805 --allowed-tools Bash(gh pr:*)' 50 +