name: Claude Assistant on: issue_comment: types: [created] pull_request_review_comment: types: [created] issues: types: [opened, assigned] pull_request_review: types: [submitted] jobs: claude-response: runs-on: ubuntu-latest if: | (github.actor == 'dodox') && ( (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')) ) steps: - uses: actions/checkout@v4 - uses: markwylde/claude-code-gitea-action@gitea with: model: claude-sonnet-4-6 allowed_tools: | Bash claude_code_oauth_token: ${{ secrets.CLAUDE_CREDENTIALS }} gitea_token: ${{ secrets.CLAUDE_USER_GITEA_TOKEN }} claude_git_name: Claude claude_git_email: claude_code@dominik-roth.eu trigger_phrase: "@claude" opus-response: runs-on: ubuntu-latest if: | (github.actor == 'dodox') && ( (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@opus')) || (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@opus')) || (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@opus')) || (github.event_name == 'issues' && contains(github.event.issue.body, '@opus')) ) steps: - uses: actions/checkout@v4 - uses: markwylde/claude-code-gitea-action@gitea with: model: claude-opus-4-6 allowed_tools: | Bash claude_code_oauth_token: ${{ secrets.CLAUDE_CREDENTIALS }} gitea_token: ${{ secrets.CLAUDE_USER_GITEA_TOKEN }} claude_git_name: Claude claude_git_email: claude_code@dominik-roth.eu trigger_phrase: "@opus" access-denied: runs-on: ubuntu-latest if: | (github.actor != 'dodox') && ( (github.event_name == 'issue_comment' && (contains(github.event.comment.body, '@claude') || contains(github.event.comment.body, '@opus'))) || (github.event_name == 'pull_request_review_comment' && (contains(github.event.comment.body, '@claude') || contains(github.event.comment.body, '@opus'))) || (github.event_name == 'pull_request_review' && (contains(github.event.review.body, '@claude') || contains(github.event.review.body, '@opus'))) || (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.body, '@opus'))) ) steps: - name: Access denied - only dodox can use Claude run: | echo "❌ Access Denied: User '${{ github.actor }}' is not authorized to use Claude" echo "Only the repository owner 'dodox' can use the @claude or @opus assistant to prevent quota abuse" exit 1