improve claude code review

This commit is contained in:
KM Koushik
2025-08-02 20:58:06 +10:00
parent 609e4d04eb
commit 93987ed480

View File

@@ -1,76 +1,40 @@
name: Claude Code Review name: Claude Experimental Review Mode
on: on:
pull_request: issue_comment:
types: [opened, synchronize] types: [created]
# Optional: Only run on specific file changes
# paths:
# - "src/**/*.ts"
# - "src/**/*.tsx"
# - "src/**/*.js"
# - "src/**/*.jsx"
jobs: jobs:
claude-review: code-review:
# Optional: Filter by PR author # Run when someone comments "@claude review" on a PR conversation
# if: | if: |
# github.event.pull_request.user.login == 'external-contributor' || github.event.issue.pull_request &&
# github.event.pull_request.user.login == 'new-developer' || contains(github.event.comment.body, '@claude review')
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read
pull-requests: read pull-requests: write
issues: read issues: write
id-token: write id-token: write
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 1 fetch-depth: 0 # Full history for better diff analysis
- name: Run Claude Code Review - name: Code Review with Claude (Experimental)
id: claude-review
uses: anthropics/claude-code-action@beta uses: anthropics/claude-code-action@beta
with: with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} mode: experimental-review
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
timeout_minutes: "30"
custom_instructions: |
Focus on:
- Code quality and maintainability
- Security vulnerabilities
- Performance issues
- Best practices and design patterns
# Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4) Be constructive and provide specific suggestions for improvements.
# model: "claude-opus-4-20250514" Use GitHub's suggestion format when proposing code changes.
# Direct prompt for automated review (no @claude mention needed)
direct_prompt: |
Please review this pull request and provide feedback on:
- Code quality and best practices
- Potential bugs or issues
- Performance considerations
- Security concerns
Be constructive and helpful in your feedback.
# Optional: Use sticky comments to make Claude reuse the same comment on subsequent pushes to the same PR
# use_sticky_comment: true
# Optional: Customize review based on file types
# direct_prompt: |
# Review this PR focusing on:
# - For TypeScript files: Type safety and proper interface usage
# - For API endpoints: Security, input validation, and error handling
# - For React components: Performance, accessibility, and best practices
# - For tests: Coverage, edge cases, and test quality
# Optional: Different prompts for different authors
# direct_prompt: |
# ${{ github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' &&
# 'Welcome! Please review this PR from a first-time contributor. Be encouraging and provide detailed explanations for any suggestions.' ||
# 'Please provide a thorough code review focusing on our coding standards and best practices.' }}
# Optional: Add specific tools for running tests or linting
# allowed_tools: "Bash(npm run test),Bash(npm run lint),Bash(npm run typecheck)"
# Optional: Skip review for certain conditions
# if: |
# !contains(github.event.pull_request.title, '[skip-review]') &&
# !contains(github.event.pull_request.title, '[WIP]')