Files
claude-settings/commands/review-pr.md
Alexander Hinrichs 57f52fd4b7 feat: add custom agents and slash commands
Add comprehensive custom agents for specialized workflows:
- gentoo-sysadmin: Gentoo Linux system administration (OpenRC, Portage)
- tdd-test-writer: TDD Ping-Pong workflow implementation
- code-reviewer: Code review against strict style guidelines
- documentation-writer: Comprehensive project documentation
- python-ai-tutor: AI/ML coursework assistant with teaching focus
- dotfiles-manager: Dotfiles management with chezmoi

Add custom slash commands for quick workflows:
- /gentoo-update: Safe Gentoo system update procedure
- /tdd-next: Start next TDD test cycle
- /style-check: Comprehensive code style validation
- /doc-sync: Update all project documentation
- /review-pr: Review pull request before merge
- /script-install: Install system script with proper permissions

Updated .gitignore to properly track agents and commands while
excluding session-specific data (plans/, etc.)

Added README.md documenting the configuration structure and usage.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 19:27:13 +01:00

3.1 KiB

Review Pull Request

Comprehensive code review before submitting or merging pull request.

Pre-Review Checks

  1. Get PR details:

    gh pr view <number>
    gh pr diff <number>
    
  2. Review commit history:

    git log origin/main..HEAD --oneline
    
  3. Check changed files:

    git diff origin/main..HEAD --stat
    git diff origin/main..HEAD
    

Code Review Checklist

Code Quality

Style Compliance

  • 80-character line limit enforced
  • 2-space indentation consistent
  • Language-specific style guide followed
  • No commented-out code
  • No debug print statements

Code Structure

  • Functions are focused (single responsibility)
  • No excessive nesting (>3 levels)
  • No magic numbers
  • Descriptive variable/function names
  • No duplicate code (DRY)

Comments & Documentation

  • Complex logic has explanatory comments
  • Comments explain WHY, not WHAT
  • No obvious/redundant comments
  • Documentation updated (README, API docs)

Security Review

  • No hardcoded secrets (API keys, passwords, tokens)
  • Input validation present
  • SQL queries parameterized (no string concatenation)
  • Output properly encoded (XSS prevention)
  • Authentication/authorization checks in place
  • No unsafe deserialization
  • Dependencies are up to date
  • Secrets use environment variables or secret manager

Testing

  • Tests added for new functionality
  • Tests pass locally
  • Edge cases covered
  • No tests disabled/skipped without justification
  • Test names describe behavior
  • Mocks used appropriately

Functionality

  • Code solves the stated problem
  • No over-engineering
  • Error handling appropriate
  • Logging at appropriate levels
  • Performance considerations addressed
  • Backwards compatibility maintained (if applicable)

Git Hygiene

  • Commit messages follow conventions
  • Commits are atomic and focused
  • No merge commits (should be rebased)
  • No commits with "WIP" or "fix typo"
  • Branch name follows conventions

Review Output Format

Approved

[What was done well - be specific]

⚠️ Warnings (Non-blocking)

[Issues that should be addressed but don't block merge]

Example:

  • src/utils.py:42 - Function could be simplified
  • README.md - Missing example for new feature

Required Changes (Blocking)

[Critical issues that MUST be fixed before merge]

Example:

  • src/api.py:78 - SQL injection vulnerability (use parameterized query)
  • tests/ - No tests for new authentication flow
  • .env - Secrets file committed, must be removed from history

💡 Suggestions (Optional)

[Nice-to-have improvements for future consideration]

Summary

[Overall assessment and recommendation: Approve / Request Changes / Comment]

Commands

Review locally:

gh pr checkout <number>
make test
make lint

Leave review comment:

gh pr review <number> --comment -b "<message>"

Approve:

gh pr review <number> --approve

Request changes:

gh pr review <number> --request-changes -b "<message>"