claude-code-review.yml•3.29 kB
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:
    # Only run for organization members and collaborators
    if: |
      github.event.pull_request.author_association == 'OWNER' ||
      github.event.pull_request.author_association == 'MEMBER' ||
      github.event.pull_request.author_association == 'COLLABORATOR'
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
      issues: read
      id-token: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 1
      - name: Run Claude Code Review
        id: claude-review
        uses: anthropics/claude-code-action@v1
        with:
          claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
          github_token: ${{ secrets.GITHUB_TOKEN }}
          track_progress: true  # Enable visual progress tracking
          allowed_bots: '*'
          prompt: |
            Review this Basic Memory PR against our team checklist:
            ## Code Quality & Standards
            - [ ] Follows Basic Memory's coding conventions in CLAUDE.md
            - [ ] Python 3.12+ type annotations and async patterns
            - [ ] SQLAlchemy 2.0 best practices
            - [ ] FastAPI and Typer conventions followed
            - [ ] 100-character line length limit maintained
            - [ ] No commented-out code blocks
            ## Testing & Documentation
            - [ ] Unit tests for new functions/methods
            - [ ] Integration tests for new MCP tools
            - [ ] Test coverage for edge cases
            - [ ] Documentation updated (README, docstrings)
            - [ ] CLAUDE.md updated if conventions change
            ## Basic Memory Architecture
            - [ ] MCP tools follow atomic, composable design
            - [ ] Database changes include Alembic migrations
            - [ ] Preserves local-first architecture principles
            - [ ] Knowledge graph operations maintain consistency
            - [ ] Markdown file handling preserves integrity
            - [ ] AI-human collaboration patterns followed
            ## Security & Performance
            - [ ] No hardcoded secrets or credentials
            - [ ] Input validation for MCP tools
            - [ ] Proper error handling and logging
            - [ ] Performance considerations addressed
            - [ ] No sensitive data in logs or commits
            
            ## Compatability
            - [ ] File path comparisons must be windows compatible
            - [ ] Avoid using emojis and unicode characters in console and log output
            Read the CLAUDE.md file for detailed project context. For each checklist item, verify if it's satisfied and comment on any that need attention. Use inline comments for specific code issues and post a summary with checklist results.
          # Allow broader tool access for thorough code review
          claude_args: '--allowed-tools "Bash(gh pr:*),Bash(gh issue:*),Bash(gh api:*),Bash(git log:*),Bash(git show:*),Read,Grep,Glob"'