Skip to content

chore(deps): bump the radix-ui group across 1 directory with 24 updates #58

chore(deps): bump the radix-ui group across 1 directory with 24 updates

chore(deps): bump the radix-ui group across 1 directory with 24 updates #58

name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
# Optional: Only run on specific file changes
# paths:
# - "src/**/*.ts"
# - "src/**/*.tsx"
# - "src/**/*.js"
# - "src/**/*.jsx"
jobs:
claude-review:
# Optional: Filter by PR author
# if: |
# github.event.pull_request.user.login == 'external-contributor' ||
# github.event.pull_request.user.login == 'new-developer' ||
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
runs-on: ubuntu-latest
permissions:
contents: write # Allow Claude to suggest file changes
pull-requests: write # Allow Claude to create review comments
issues: write # Allow Claude to create issues for findings
id-token: write # For OIDC authentication
actions: read # Read CI results
checks: write # Create check runs for review status
statuses: write # Update commit status
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
fetch-depth: 1
- name: Run Claude Code Review
id: claude-review
uses: anthropics/claude-code-action@beta
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
# Use Claude Opus 4.1 for thorough code reviews
model: "claude-opus-4-1-20250805"
# Comprehensive review prompt with project-specific focus
direct_prompt: |
Please perform a thorough code review of this pull request.
CRITICAL PROJECT RULES:
1. All calculations MUST use unitMath service (src/services/unitMath.ts) - NEVER use native JS math
2. All new code must be TypeScript with proper types
3. Use @/ import alias consistently
4. Follow existing patterns in the codebase
Review for:
- **Math Operations**: Flag ANY use of +, -, *, /, Math.* in calculation code
- **TypeScript**: Proper typing, no 'any' types, interfaces defined
- **Code Quality**: DRY principles, readability, maintainability
- **Potential Bugs**: Edge cases, null checks, error handling
- **Performance**: Unnecessary re-renders, memoization opportunities
- **Security**: Input validation, XSS prevention, no exposed secrets
- **Test Coverage**: New features should have tests
- **Accessibility**: ARIA labels, keyboard navigation for UI changes
- **Gridfinity Logic**: Correct bin calculations, spacer generation
Format your review with:
✅ What looks good
⚠️ Suggestions for improvement
🚨 Critical issues that must be fixed
Be specific with line numbers and provide code examples for fixes.
# Use sticky comments to update review on new commits
use_sticky_comment: true
# Enhanced permissions for review actions
additional_permissions: |
actions: read
checks: write
statuses: write
# 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.' }}
# Allow Claude to run verification commands during review
allowed_tools: |
Bash(npm run test:*)
Bash(npm run lint:*)
Bash(npm run typecheck:*)
Bash(npm run build:*)
Bash(npx vitest *)
Bash(npx eslint *)
Bash(npx tsc --noEmit)
Bash(git diff)
Bash(git log)
Bash(rg *)
Bash(grep -r)
Bash(find * -type f -name)
Bash(cat *)
Bash(head *)
Bash(tail *)
# Custom environment for review context
claude_env: |
REVIEW_MODE: strict
PROJECT: gridfinity-space-optimizer
TECH_STACK: React,TypeScript,Vite,TailwindCSS,MathJS