@@ -3,20 +3,9 @@ name: Claude Code Review
33on :
44 pull_request :
55 types : [opened, synchronize]
6- # Optional: Only run on specific file changes
7- # paths:
8- # - "src/**/*.ts"
9- # - "src/**/*.tsx"
10- # - "src/**/*.js"
11- # - "src/**/*.jsx"
126
137jobs :
148 claude-review :
15- # Optional: Filter by PR author
16- # if: |
17- # github.event.pull_request.user.login == 'external-contributor' ||
18- # github.event.pull_request.user.login == 'new-developer' ||
19- # github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
209
2110 runs-on : ubuntu-latest
2211 permissions :
@@ -31,17 +20,20 @@ jobs:
3120 with :
3221 fetch-depth : 1
3322
23+ - name : Setup Python and Serena MCP
24+ run : |
25+ sudo apt-get update
26+ sudo apt-get install -y python3 python3-pip
27+ pip3 install uv
28+ uvx install --from git+https://github.com/oraios/serena serena
29+
3430 - name : Run Claude Code Review
3531 id : claude-review
36- uses : anthropics/claude-code-action@beta
32+ uses : anthropics/claude-code-action@v1
3733 with :
3834 claude_code_oauth_token : ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
3935
40- # Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4.1)
41- # model: "claude-opus-4-1-20250805"
42-
43- # Direct prompt for automated review (no @claude mention needed)
44- direct_prompt : |
36+ prompt : |
4537 Please review this pull request and provide feedback on:
4638 - Code quality and best practices
4739 - Potential bugs or issues
5143
5244 Be constructive and helpful in your feedback.
5345
54- # Optional: Use sticky comments to make Claude reuse the same comment on subsequent pushes to the same PR
55- # use_sticky_comment: true
56-
57- # Optional: Customize review based on file types
58- # direct_prompt: |
59- # Review this PR focusing on:
60- # - For TypeScript files: Type safety and proper interface usage
61- # - For API endpoints: Security, input validation, and error handling
62- # - For React components: Performance, accessibility, and best practices
63- # - For tests: Coverage, edge cases, and test quality
64-
65- # Optional: Different prompts for different authors
66- # direct_prompt: |
67- # ${{ github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' &&
68- # 'Welcome! Please review this PR from a first-time contributor. Be encouraging and provide detailed explanations for any suggestions.' ||
69- # 'Please provide a thorough code review focusing on our coding standards and best practices.' }}
70-
71- # Optional: Add specific tools for running tests or linting
72- # allowed_tools: "Bash(npm run test),Bash(npm run lint),Bash(npm run typecheck)"
73-
74- # Optional: Skip review for certain conditions
75- # if: |
76- # !contains(github.event.pull_request.title, '[skip-review]') &&
77- # !contains(github.event.pull_request.title, '[WIP]')
78-
46+ claude_args : |
47+ --mcp-config ".github/workflows/mcp-config.json"
48+ --allowedTools mcp__context7__resolve-library-id,mcp__context7__get-library-docs,mcp__sequential-thinking__sequentialthinking,mcp__serena__find_symbol,mcp__serena__get_symbols_overview,mcp__serena__search_for_pattern,mcp__serena__find_referencing_symbols,mcp__serena__replace_symbol_body,mcp__serena__insert_after_symbol,mcp__serena__insert_before_symbol
0 commit comments