utkarsh261/pho

TUI for Github Pull Requests

9

stars

74

commits

Go

primary language

Sep 8, 2026

updated

github.com/utkarsh261/pho
github
tui

README

image

A TUI for GitHub pull requests.

image

Features

  • Dashboard - Auto-discovers repos, lists PRs across My PRs, Needs Review, Involving, and Recent tabs with a live preview pane.
  • Jump to repo/PR - Ctrl+P to fuzzy-find and jump to any PR.
  • Open a PR directly - pho pr 123 to launch straight into a PR's detail view.
  • PR detail - Browse description, diff, comments, and commits. Sidebar for files and CI checks.
  • Diff navigation - Line-by-line cursor, gg/G, Ctrl+d/Ctrl+u, visual mode for selecting ranges.
  • Inline reviews - Draft inline comments on diff lines, edit, discard, and batch-submit with a review event. Just like Github web UI.
  • Comments & approvals - Post top-level comments, review comments, or approve directly.
  • PR actions - Edit title/body, merge (with method selection), close/reopen, and checkout the branch locally.
  • Commit view - Inspect individual commits and their diffs.
  • Search - / to search within diffs and descriptions; n/N to jump between matches.

Install

go install github.com/utkarsh261/pho/cmd/pho@latest

Binary lands in $(go env GOPATH)/bin/pho.

Or pin a specific version:

go install github.com/utkarsh261/pho/cmd/pho@v0.1.0

Add it to the $PATH:

echo 'export PATH="$(go env GOPATH)/bin:$PATH"' >> ~/.zshrc

Usage

Right now, pho looks at only the cwd and its direct children directories (if they are actually git repos). So if you have some repositories cloned in a directory, you can either open pho in that directory or:

$(go env GOPATH)/bin/pho -root ~/path/to/dir/containing/all/cloned/repositories

or simply start it in the current directory

pho

Requirements

Build

go build -o pho ./cmd/pho

With just:

just build

Run

./pho

Flags:

FlagDescription
--versionPrint version and exit
--debugEnable debug logging
--resetClear all caches and exit
--config <path>Path to config file
--root <dir>Root directory to scan for git repos (default .)

Test

go test ./...

With just:

just test

Vet

go vet ./...

With just:

just vet

Logs

tail -f ~/.local/state/pho/debug.log

Why

So that i can build it exactly how i want a tool which i use on a regular basis to be.

Contributors

utkarsh261

74 commits

utkarsh261/pho

TUI for Github Pull Requests

9

stars

74

commits

Go

primary language

Sep 8, 2026

updated

github.com/utkarsh261/pho
github
tui

README

image

A TUI for GitHub pull requests.

image

Features

  • Dashboard - Auto-discovers repos, lists PRs across My PRs, Needs Review, Involving, and Recent tabs with a live preview pane.
  • Jump to repo/PR - Ctrl+P to fuzzy-find and jump to any PR.
  • Open a PR directly - pho pr 123 to launch straight into a PR's detail view.
  • PR detail - Browse description, diff, comments, and commits. Sidebar for files and CI checks.
  • Diff navigation - Line-by-line cursor, gg/G, Ctrl+d/Ctrl+u, visual mode for selecting ranges.
  • Inline reviews - Draft inline comments on diff lines, edit, discard, and batch-submit with a review event. Just like Github web UI.
  • Comments & approvals - Post top-level comments, review comments, or approve directly.
  • PR actions - Edit title/body, merge (with method selection), close/reopen, and checkout the branch locally.
  • Commit view - Inspect individual commits and their diffs.
  • Search - / to search within diffs and descriptions; n/N to jump between matches.

Install

go install github.com/utkarsh261/pho/cmd/pho@latest

Binary lands in $(go env GOPATH)/bin/pho.

Or pin a specific version:

go install github.com/utkarsh261/pho/cmd/pho@v0.1.0

Add it to the $PATH:

echo 'export PATH="$(go env GOPATH)/bin:$PATH"' >> ~/.zshrc

Usage

Right now, pho looks at only the cwd and its direct children directories (if they are actually git repos). So if you have some repositories cloned in a directory, you can either open pho in that directory or:

$(go env GOPATH)/bin/pho -root ~/path/to/dir/containing/all/cloned/repositories

or simply start it in the current directory

pho

Requirements

Build

go build -o pho ./cmd/pho

With just:

just build

Run

./pho

Flags:

FlagDescription
--versionPrint version and exit
--debugEnable debug logging
--resetClear all caches and exit
--config <path>Path to config file
--root <dir>Root directory to scan for git repos (default .)

Test

go test ./...

With just:

just test

Vet

go vet ./...

With just:

just vet

Logs

tail -f ~/.local/state/pho/debug.log

Why

So that i can build it exactly how i want a tool which i use on a regular basis to be.

Contributors

utkarsh261

74 commits

Languages

Go

100.0%