Skip to content

lesss go

lesss go #5

name: Claude Comment Response
on:
issue_comment:
types: [created] # Triggers when someone comments on an issue or PR
jobs:
respond-to-claude-mention:
# Only run if the comment mentions @claude
if: contains(github.event.comment.body, '@claude')
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
discussions: write
id-token: write
statuses: write
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch full history for accurate diffs
# If running on a PR comment, we need to explicitly check out the PR branch
- name: Checkout PR branch if needed
if: github.event.issue.pull_request
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Get the PR number from the issue object
PR_NUMBER="${{ github.event.issue.number }}"
echo "Checking out PR #${PR_NUMBER}"
# Use GitHub CLI to checkout the PR
# This handles both internal branches and forks automatically
gh pr checkout ${PR_NUMBER}
echo "Current branch: $(git branch --show-current)"
git status
- name: Claude Response
uses: anthropics/claude-code-action@beta
with:
# Your GitHub token for API operations
github_token: ${{ secrets.GITHUB_TOKEN }}
# Pass the comment text as the prompt
direct_prompt: "${{ github.event.comment.body }}"
# Define which tools Claude can use
allowed_tools: |-
# Git inspection commands (read-only)
Bash(git status)
Bash(git log)
Bash(git show)
Bash(git blame)
Bash(git ls-files)
Bash(git branch)
Bash(git tag)
Bash(git diff)
# File modifications
Bash(git add)
Bash(git commit)
# File exploration tools
View # Read file contents
Edit # Edit files
GlobTool # Find files by pattern
GrepTool # Search file contents
BatchTool # Run multiple tools in parallel
# Timeout after 20 minutes
timeout_minutes: 20
# Your Anthropic API key (stored as a GitHub secret)
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}