prs lets you stay updated on PRs from your terminal.
🤔 Motivation
For my day job as a tech lead, I need to stay updated on several PRs, and my
hope is that prs will let me do that faster than the Github web UI (or other
tools for that matter).
💾 Installation
homebrew:
brew install dhth/tap/prs
go:
go install github.com/dhth/prs@latest
Or get the binaries directly from a release. Read more about verifying the
authenticity of released artifacts here.
🔑 Authentication
You can have prs make authenticated calls to GitHub on your behalf in either
of two ways:
Have an authenticated instance of gh available
(recommended).
Provide a valid Github token via $GH_TOKEN.
⚡️ Usage
prs has two modes:
Query mode (default): lets you search PRs based on a query you provide (based
on github’s search
syntax)
Repos mode: let you pick a repository from a predefined list
Query Mode
prs --query='type:pr repo:neovim/neovim state:open label:lua linked:issue'# view open PRs where you're the authorprs -q 'type:pr author:@me state:open'# view open PRs where a review has been requested from youPRS_QUERY='type:pr user-review-requested:@me state:open' prs
# read query from prs' config fileprs
For every configuration property, the order of priority is: flag >> environment variables >> config file, ie, flags take the highest priority.
Screenshots
PR List View
PR Timeline List View
PR Timeline Item Detail View
PR Details View
Keyboard Shortcuts
General
q/esc/ctrl+c go back
Q quit from anywhere
? Open Help View
d Open PR Details View
ctrl+v Show PR details using gh
PR List View
Indicators for current review decision:
± implies CHANGES_REQUESTED
🟡 implies REVIEW_REQUIRED
✅ implies APPROVED
⏎/tab/shift+tab/2 Switch focus to PR Timeline View
ctrl+s Switch focus to Repo List View (when --mode=repos)
ctrl+d Show PR diff
ctrl+r Reload PR list
ctrl+b Open PR in browser
PR Details View
h/N/← Go to previous section
l/n/→ Go to next section
1/2/3... Go to specific section
J/] Go to next PR
K/[ Go to previous PR
d Go back to last view
ctrl+b Open PR in browser
Timeline List View
tab/shift+tab/1 Switch focus to PR List View
⏎/3 Show details for PR timeline item (when applicable)
ctrl+d Show PR diff
ctrl+b Open timeline item in browser
ctrl+r Reload PR timeline
Timeline Item Detail View
1 Switch focus to PR List View
2 Switch focus to PR Timeline List View
ctrl+d Show PR diff
ctrl+b Open timeline item in browser
h/N/← Go to previous section
l/n/→ Go to next section
🔐 Verifying release artifacts
In case you get the prs binary directly from a release, you may want to
verify its authenticity. Checksums are applied to all released artifacts, and
the resulting checksum file is signed using
cosign.
Steps to verify (replace the version in the commands listed with the one you
want):