name: Claude Code on: issue_comment: types: [created] pull_request_review_comment: types: [created] pull_request_review: types: [submitted] concurrency: group: claude-${{ github.event.pull_request.number || github.event.issue.number }} cancel-in-progress: true jobs: claude: if: | (github.event_name != 'issue_comment' || github.event.issue.pull_request != null) && contains(github.event.comment.body || github.event.review.body, '@claude') && (github.event.comment.user.type || github.event.review.user.type) != 'Bot' && contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association || github.event.review.author_association) runs-on: ubuntu-latest timeout-minutes: 15 permissions: contents: read issues: write pull-requests: write actions: read # Required for Claude to read CI results on PRs steps: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 1 - name: Run Claude Code id: claude uses: anthropics/claude-code-action@11a9dadd198803a0cea6bd53da3e0e8a762fc6ea # v1.0.108 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} github_token: ${{ secrets.GITHUB_TOKEN }}