Getting Started with Bop
This guide walks you through installing Bop, configuring your API key, and running your first code review. You’ll be up and running in under a minute.
Prerequisites
- LLM API Key: An Anthropic API key is all you need to get started. Additional providers (OpenAI, Gemini, Ollama) are optional.
- Git: Bop works with Git repositories
- GitHub Token (optional): Required for PR reviews and GitHub integration
Installation
macOS (Homebrew)
| |
Linux (AMD64)
| |
Linux (ARM64)
| |
Windows
Download from GitHub Releases, extract the zip, and add the directory to your PATH.
Verify Installation
| |
Configuration
Bop works out of the box with minimal configuration. You just need one API key.
Option 1: Environment Variables (Recommended for Getting Started)
Set your API key as an environment variable:
| |
Add these to your shell profile (~/.bashrc, ~/.zshrc, etc.) to persist them.
Want more providers? You can optionally add OpenAI (
OPENAI_API_KEY), Gemini (GEMINI_API_KEY), or Ollama for multi-provider reviews. See the Configuration Guide.
Option 2: Configuration File
Create a project-level config at bop.yaml or .bop.yaml in your repo root, or a user-level config at ~/.config/bop/bop.yaml:
| |
See the Configuration Guide for all options.
Your First Review
Review a Local Branch
Navigate to your Git repository and run:
| |
Bop will:
- Compute the diff between your branch and the base
- Send the changes to the configured reviewer
- Generate findings with severity levels and suggestions
- Output results to the
review-output/directory
Review a GitHub Pull Request
| |
Understanding the Output
Bop generates three output files:
| Format | File | Use Case |
|---|---|---|
| Markdown | review-*.md | Human-readable findings |
| JSON | review-*.json | Programmatic processing |
| SARIF | review-*.sarif | CI/CD integration, IDE support |
Each finding includes:
- Severity: critical, high, medium, or low
- Category: security, bug, performance, maintainability, etc.
- Location: File path and line numbers
- Description: What the issue is
- Suggestion: How to fix it
Example Output
| |
Next Steps
- CLI Reference - Learn all CLI commands and flags
- MCP Integration - Use Bop with Claude Code or Cursor
- GitHub Actions - Automate PR reviews
- Configuration - Customize reviewers and behavior
- Reviewer Personas - Understand built-in and custom reviewers