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

diff

Show detailed diff/stats for one or more PRs directly in the terminal.

Synopsis

prctrl diff [OPTIONS]

Options

FlagDescriptionDefault
<PR_NUMBER>Target a specific PR by number (positional)Interactive selection
--pr, -p <NUMBER>Target a specific PR by number (shorthand)Interactive selection
--pr-numbers <NUMBERS>Target multiple PRs by number (comma-separated)None
--all, -aShow diff/stats for all pending reviews without promptingfalse
--dry-run, -nPreview which PRs would be diffed without actually displayingfalse
--jsonOutput as JSON for scriptingfalse
--priority, -PShow priority score (1-5 stars based on age and size)false
--repo <PATTERN>Filter by repository name (partial match, case-insensitive)None
--author <PATTERN>Filter by author username (partial match, case-insensitive)None
--since-days, -s <DAYS>Only show PRs created since this many days agoNone

Examples

# Show diff for a specific PR (positional)
prctrl diff 4821

# Show diff for a specific PR (shorthand)
prctrl diff --pr 4821
prctrl diff -p 4821

# Show diffs for multiple PRs at once
prctrl diff --pr-numbers 4821,4822,4823

# Interactive mode (select from pending reviews)
prctrl diff

# Show diff/stats for ALL pending reviews at once
prctrl diff --all

# Preview which PRs would be diffed (without displaying)
prctrl diff --all --dry-run
prctrl diff --all -n

# Show diffs for all PRs in a specific repo
prctrl diff --all --repo frontend

# Filter to specific author before selecting
prctrl diff --author sarah_dev

# Show only recent PRs (last 7 days)
prctrl diff --all --since-days 7

# Combine filters
prctrl diff --all --repo frontend --since-days 14

# JSON output for scripting
prctrl diff --pr 4821 --json

# Show priority scores
prctrl diff --pr 4821 --priority

Output

Displays comprehensive PR information including:

  • Title & Number: PR title with number
  • Author & Age: Who opened it and when
  • Branch: Source branch name
  • Status: DRAFT or READY status
  • Lines: Additions and deletions
  • Size Category: XS (<50), S (50-200), M (200-500), L (500-1000), XL (1000+)
  • Age Category: 🔥 HOT (today), ⚡ FRESH (1-2d), 📅 WEEK OLD (3-7d), ⚠️ STALE (8-14d), 🚨 OLD (15d+)
  • Priority Score: 1-5 star rating based on urgency (only when --priority flag is used)
  • Repository: Full repo name
  • URL: Direct link to the PR

JSON Output

When --json is used, outputs a single JSON object per PR:

{
  "pr_number": 4821,
  "pr_title": "feat: add CSV export",
  "repo": "myorg/frontend",
  "author": "sarah_dev",
  "branch": "feature/export",
  "url": "https://github.com/myorg/frontend/pull/4821",
  "age_days": 5,
  "age_category": "WEEK_OLD",
  "size_lines": 277,
  "size_category": "M",
  "additions": 245,
  "deletions": 32,
  "draft": false,
  "priority_score": 3
}