Reviewer Personas
Bop uses reviewer personas to provide focused, expert-level code review. Each reviewer has a distinct focus area and set of categories they prioritize.
Built-in Reviewer
Bop ships with a single default reviewer that works out of the box with one API key.
Default Reviewer
| Property | Value |
|---|---|
| Provider | Anthropic (Claude) |
| Weight | 1.0 |
| Persona | None (uses review.instructions) |
The default reviewer performs a comprehensive review guided by the review.instructions block in your config. It covers security, bugs, code quality, architecture, and performance in a single pass.
This design means you get broad coverage with just one API key. For specialized, deeper reviews, configure custom reviewers below.
Using Reviewers
Default Behavior
By default, Bop uses the built-in default reviewer:
| |
Selecting Specific Reviewers
| |
In Configuration
| |
Creating Custom Reviewers
Define custom reviewers in your bop.yaml or .bop.yaml to get specialized, deeper reviews.
Example: Security Reviewer
| |
Example: Architecture Reviewer
| |
Example: Performance Reviewer
| |
Example: Multi-Reviewer Panel
Combine multiple specialized reviewers for comprehensive coverage:
| |
Example: Domain-Specific Reviewer
| |
Example: Test Quality Reviewer
| |
Reviewer Properties
provider (required)
The LLM provider to use for this reviewer:
anthropic- Claude modelsopenai- GPT modelsgemini- Gemini modelsollama- Local models
model (optional)
Override the provider’s default model:
| |
weight (optional)
Influence in consensus merging (default: 1.0):
1.5- Higher influence (findings prioritized)1.0- Normal influence0.5- Lower influence (findings deprioritized)
Weights affect how duplicate findings are merged when multiple reviewers identify the same issue.
persona (optional)
Instructions that define the reviewer’s expertise and focus. The built-in default reviewer has no persona and uses review.instructions instead.
| |
focus (optional)
Categories this reviewer prioritizes:
| |
ignore (optional)
Categories this reviewer skips:
| |
Available Categories
Use these categories in focus and ignore:
| Category | Description |
|---|---|
security | Security vulnerabilities |
bug | Logic errors and bugs |
test_coverage | Missing or inadequate tests |
maintainability | Code maintainability issues |
architecture | Architectural concerns |
performance | Performance problems |
error_handling | Error handling issues |
observability | General observability |
logging | Logging-specific issues |
metrics | Metrics-specific issues |
tracing | Distributed tracing |
style | Code style and formatting |
documentation | Documentation quality |
Consensus and Merging
When multiple reviewers are used, Bop merges their findings using a consensus algorithm:
- Fingerprinting: Findings are fingerprinted based on file, line range, and description
- Grouping: Similar findings are grouped together
- Weighting: Reviewer weights influence which description/severity is kept
- Deduplication: Semantic deduplication removes near-duplicates
Example
If both security and architecture reviewers flag the same code:
| |
The merged finding will:
- Use the security reviewer’s description (higher weight)
- Keep severity as critical
- Note agreement from multiple reviewers
Best Practices
- Start with the default: The built-in reviewer covers most needs with one API key
- Add reviewers incrementally: Start with one custom reviewer for your biggest concern (e.g., security)
- Adjust weights: Increase weight for your most important concerns
- Use focus/ignore: Prevent reviewer overlap and reduce noise
- Keep personas focused: Shorter, focused personas produce better results
- Test your reviewers: Run reviews and iterate on personas based on quality