Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

PRCtrl

Stop drowning in PR notifications. Let AI triage your reviews.

PRCtrl is your terminal-native PR companion. It watches your GitHub PRs, notifies you when action is needed, and helps you review smarter with AI-powered triage.

┌─────────────────────────────────────────────────────────────┐
│  🔔 PR #4821: feat: add CSV export                        │
│  PRCtrl                                         │
│  👤 alice • +120 lines • opened 2 days ago                 │
│                                                             │
│  ✅ Chrome opens automatically → PR ready for review       │
└─────────────────────────────────────────────────────────────┘

Why PRCtrl?

  • No more tab switching — Everything in your terminal
  • AI-powered triage — Let Claude analyze PRs for you
  • Smart notifications — macOS native alerts, auto-opens PRs
  • 30+ commands — From quick glances to deep dive analysis

Installation

cargo install --git https://github.com/JeremySomsouk/prctrl

Quick Start

# 1. Configure your GitHub credentials
prctrl config init

# 2. See what needs your attention
prctrl list

# 3. Let AI triage the important ones
prctrl delegate

# 4. Monitor in background (get notified of new PRs)
prctrl monitor &

Your First Review Workflow

# See all PRs waiting for you
prctrl list

# Output:
# 🔍 3 pending review(s)
#   [1] feat: add CSV export        #4821 (frontend)  👤 alice +120 - 2 days
#   [2] fix: flaky CI              #312 (backend)    👤 bob   +45  - 4 days
#   [3] chore: update deps         #891 (deps)       👤 carol +890 - 1 day

# Want to focus on important stuff only?
prctrl quick --max-lines 200

# Search for a specific PR?
prctrl search "security"

# Let Claude decide what's important?
prctrl delegate

Common Workflows

Morning Check (5 seconds)

prctrl summary
# Output: "📊 12 PRs pending • Oldest: 5 days • 3 urgent • 2 quick wins"

Before a Meeting

# Grab the essentials
prctrl top --limit 5

# Check if any have failing CI
prctrl ci --failed-only

Deep Work Session

# Start monitoring (you'll be notified of new PRs)
prctrl monitor --interval 300 &

# When you get a notification...
prctrl review --pr 4821  # Read the diff without leaving terminal
prctrl diff --pr 4821     # See stats

# Approve directly from CLI
prctrl approve --pr 4821 -m "LGTM! Good tests."

End of Week

# Generate a report of what you reviewed
prctrl report --days 7

# See your activity
prctrl activity --days 7

Configuration

Interactive Setup

prctrl config init

This creates a configuration file at ~/.prctrl/config.toml:

[github]
token = "ghp_xxxxxxxxxxxxxxxxxxxx"
username = "john_doe"
org = "my-company"
repos = ["frontend", "backend"]
teams = ["platform", "backend"]  # optional

Environment Variables (Alternative)

Instead of a config file, you can use environment variables:

# Required
PRCTRL_GITHUB_TOKEN=ghp_xxxxxxxxxxxx
PRCTRL_GITHUB_USERNAME=john_doe
PRCTRL_GITHUB_ORG=my-company
PRCTRL_GITHUB_REPOS=frontend,backend

# Optional
PRCTRL_GITHUB_TEAMS=platform,backend
PRCTRL_CREW_MEMBERS=alice,bob,carol
PRCTRL_ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxx

Getting a GitHub Token

  1. Go to GitHub → Settings → Developer Settings → Personal Access Tokens
  2. Generate New Token (Classic)
  3. Select scopes: repo, read:user, notifications
  4. Add the token to your config or environment

All Commands

Core Commands

CommandDescription
listList all PRs waiting for your review
delegateAsk Claude to triage each PR
mineList your own open PRs
statsSee your review statistics
team-summaryTeam-wide pending PR view

Taking Action

CommandDescription
assignAssign yourself to a PR
approveApprove a PR
claimClaim PRs for review
commentPost a comment
reviewFull diff review in terminal

Finding PRs

CommandDescription
searchSearch by keyword in title
filterFilter by repo/author/size/age
topHighest priority PRs
quickSmall PRs you can knock out fast
catchupOldest, most-ignored PRs
agePRs grouped by age bracket

Information

CommandDescription
diffStats and changes for a PR
filesList changed files
ciCI/CD pipeline status
conflictsPRs with merge conflicts
labelsPR labels
summaryOne-line overview
healthGitHub API status & rate limits

Background Monitoring

CommandDescription
monitorWatch for new PRs + notify
monitor-stopStop monitoring
monitor-statusCheck if running

Utilities

CommandDescription
browseOpen PRs in browser
snoozeHide PRs temporarily
reportWeekly review report
cleanClear cached review files
activityYour recent review history
mentionsGitHub notifications

Global Flags

These work with most commands:

FlagDescription
-o, --output-dir <DIR>Output folder (default: ./reviews)
-p, --pr <NUMBER>Target specific PR
-m, --include-mineInclude your own PRs
-d, --include-draftsInclude draft PRs
-c, --crewOnly show team member PRs
--jsonOutput as JSON for scripting

License

MIT — Jeremy Somsouk