Github PR Status Checker
Find a file
2025-10-17 00:47:12 +02:00
README.md Add README.md 2025-10-17 00:47:12 +02:00

prch - Pretty PR Checks

A beautiful command-line tool for viewing GitHub Pull Request checks with style using gum.

Created for streamlined PR review workflows with Terraform Cloud and GitHub Actions.

Features

  • Color-coded PR status (Draft, Open, Merged, Closed)
  • Review approval status tracking
  • Comment count display
  • Intelligent filtering (shows only Terraform plans with changes, failures, or pending checks)
  • Compact Terraform plan formatting with emoji indicators
  • Watch mode for continuous updates
  • Clean, formatted table output

Prerequisites

  • GitHub CLI (gh) - GitHub's official command line tool
  • gum - Charm's tool for glamorous shell scripts
  • jq - Command-line JSON processor
  • column - Text column formatting utility (usually pre-installed on Linux/macOS)

Installation

  1. Copy the script to your system:

    sudo cp prch /usr/local/bin/prch
    sudo chmod 755 /usr/local/bin/prch
    
  2. Verify installation:

    prch --help
    

Usage

Basic Usage

View PR checks for a specific pull request:

prch <PR_NUMBER>

Example:

prch 5

Watch Mode

Continuously monitor PR checks with automatic updates every 10 seconds:

prch <PR_NUMBER> --watch
# or
prch <PR_NUMBER> -w

Example:

prch 5 --watch

Watch mode features:

  • Auto-refreshes every 10 seconds
  • Shows "Last updated" timestamp
  • Automatically stops when all checks complete
  • Press Ctrl+C to exit manually

Output Format

The tool displays:

  1. Header: PR number, title, and URL in a bordered box
  2. Status Line: PR state (Draft/Open/Merged/Closed), review status, and comment count
  3. Check Statistics: Total checks, successes (with hidden count), failures, and pending
  4. Check Table: Filtered list of checks showing:
    • Status icon (✓ success, ✗ failure, pending)
    • Check name (abbreviated for Terraform Cloud checks)
    • Description (compact format for Terraform plans: 🟢+13 🛠~3 🗑-0)
    • Full URL to check details

Intelligent Filtering

The tool only shows checks that matter:

  • ✓ Terraform plans with actual changes
  • ✓ Failed checks
  • ✓ Pending or in-progress checks
  • ✗ Successful routine checks (hidden to reduce noise)
  • ✗ "Run not triggered" entries

When all notable checks are hidden, displays: "✓ All checks passed"

Example Output

╔═══════════════════════════════════════════════════════════════════╗
║                                                                   ║
║  #680 | Adding automatic back up module to its-prod-p1p2          ║
║       https://github.com/ucsb/its.infr.util.iac/pull/680         ║
║                                                                   ║
╚═══════════════════════════════════════════════════════════════════╝

Status: Open | Reviews: ✓ Approved (2) | Comments: 5

Total: 19 | Success: 19 (18 hidden) | Failed: 0 | Pending: 0

  STATUS  NAME              DESCRIPTION       URL
  ──────  ────              ───────────       ───

  ✓       TF - its-prod-p1p2  🟢+13 🛠~3 🗑-0  https://app.terraform.io/app/...

License

MIT

Author