gitwatcher is a terminal GitHub pull-request monitor. Authenticate with
gh auth login (or GH_TOKEN) and run bun run src/index.tsx.
The app has five feeds: Review, Mentions, Mine, Involves, and Unresolved. The Unresolved queue contains open PRs involving you that have at least one unresolved inline review thread or a failing aggregate CI status. Pull-request labels appear in an aligned, GitHub-colored column beside each title. Each row also shows the latest aggregate CI state. Each feed intentionally shows the newest 100 matching pull requests.
To narrow every feed's scope, add up to 16 repositories to the human-editable
JSON file at
$XDG_CONFIG_HOME/gitwatcher/config.json, or at
~/.config/gitwatcher/config.json when XDG_CONFIG_HOME is unset:
{
"repos": [
"owner/name",
"another-owner/another-repository"
]
}On macOS, ~/Library/Application Support/gitwatcher/config.json is also read
as a fallback. The allowlist is applied inside every GitHub search query, so
the app never downloads a global result set and filters it locally. Longer
allowlists are split into bounded searches and merged by repository and PR
number.
j/kmoves between PRs; keys1through5select a feed./filters the current queue by repository, title, author, or label.mexplicitly toggles read/unread state; merely previewing a PR does not mark it read.- Narrow terminals use one pane at a time:
Enteropens the selected detail andEscreturns to the queue. In split view, drag the divider with the mouse to resize the panes. - Inline review conversations are grouped by their top-level comment and file. Their diff hunk is shown directly in the reader, with the commented line or range highlighted. General comments and review events stay in Activity.
- Descriptions and comments render Markdown plus GitHub's common embedded HTML elements, including changelog details, headings, lists, code, and links.
- Conversation headers prefer each author's public GitHub profile name and fall back to their username when no name is available.
dopens the selected PR patch in the embedded Hunk diff viewer. Usej/kor Page Up / Page Down to scroll, the arrow keys to pan long lines, andEscto return to the pull-request queue.cwrites a general PR comment.[/]selects an inline thread andtreplies to it. UseCtrl+Sto review either message, thenyto post,eto edit, orEscto cancel.
Comment POSTs are never automatically retried: if a request times out after GitHub accepts it, retrying could create a duplicate. The embedded Hunk viewer is currently read-only; gitwatcher posts comments through the GitHub API directly. Creating a brand-new inline comment still needs a native diff-line selection flow.