commit a1b6363c732432cbe84b8ba33a440c2cdebda253 Author: edfig Date: Fri Oct 17 00:47:12 2025 +0200 Add README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..fcc3e44 --- /dev/null +++ b/README.md @@ -0,0 +1,121 @@ +# prch - Pretty PR Checks + +A beautiful command-line tool for viewing GitHub Pull Request checks with style using [gum](https://github.com/charmbracelet/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`)](https://cli.github.com/) - GitHub's official command line tool +- [gum](https://github.com/charmbracelet/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: + ```bash + sudo cp prch /usr/local/bin/prch + sudo chmod 755 /usr/local/bin/prch + ``` + +2. Verify installation: + ```bash + prch --help + ``` + +## Usage + +### Basic Usage + +View PR checks for a specific pull request: +```bash +prch +``` + +Example: +```bash +prch 5 +``` + +### Watch Mode + +Continuously monitor PR checks with automatic updates every 10 seconds: +```bash +prch --watch +# or +prch -w +``` + +Example: +```bash +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 +