From a6ca65328b70e0f86bf5cef4c5257b8af8a12e57 Mon Sep 17 00:00:00 2001 From: kashyap murali Date: Tue, 2 Sep 2025 11:40:47 -0700 Subject: [PATCH] restore: bring back generic tag mode example (claude.yml) (#516) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * restore: bring back generic tag mode example (claude.yml) PR #505 removed claude.yml as part of simplifying examples, but this left a gap - there was no longer a generic tag mode example showing how to respond to @claude mentions. This file serves as the primary starting point for users wanting to use tag mode to have Claude respond to mentions in: - Issue comments - Pull request review comments - Issues (when opened or assigned) - Pull request reviews The example includes all required permissions and shows optional configurations commented out. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude * format: add missing newline at end of claude.yml Co-authored-by: kashyap murali --------- Co-authored-by: Claude Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com> Co-authored-by: kashyap murali --- examples/claude.yml | 58 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 examples/claude.yml diff --git a/examples/claude.yml b/examples/claude.yml new file mode 100644 index 0000000..556b5e6 --- /dev/null +++ b/examples/claude.yml @@ -0,0 +1,58 @@ +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: write + pull-requests: write + issues: write + id-token: write + actions: read # Required for Claude to read CI results on PRs + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Run Claude Code + id: claude + uses: anthropics/claude-code-action@v1 + with: + anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} + + # Optional: Customize the trigger phrase (default: @claude) + # trigger_phrase: "/claude" + + # Optional: Trigger when specific user is assigned to an issue + # assignee_trigger: "claude-bot" + + # Optional: Configure Claude's behavior with CLI arguments + # claude_args: | + # --model claude-opus-4-1-20250805 + # --max-turns 10 + # --allowedTools "Bash(npm install),Bash(npm run build),Bash(npm run test:*),Bash(npm run lint:*)" + # --system-prompt "Follow our coding standards. Ensure all new code has tests. Use TypeScript for new files." + + # Optional: Advanced settings configuration + # settings: | + # { + # "env": { + # "NODE_ENV": "test" + # } + # }