gh-repo-dashboard

module
v1.11.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 3, 2026 License: MIT

README

gh-repo-dashboard

demo

See the status of every git and jj repository under a directory in one dashboard, with GitHub pull request and CI state beside the local status. Fetch, prune, and delete merged branches across all of them at once.

Install

# GitHub CLI extension
gh extension install kyleking/gh-repo-dashboard
# Homebrew
brew install --cask kyleking/tap/gh-repo-dashboard
# from source
go build -o gh-repo-dashboard ./cmd/gh-repo-dashboard

Quick start

Pass the directories that hold your repositories:

gh repo-dashboard -depth 2 ~/Developer

Move with j and k, press v to expand the repo under the cursor without leaving the list, x to mark it, enter to open it, and ? for the keymap. Set scan_paths in the config file once and gh repo-dashboard launches from anywhere with no arguments.

Run it inside a repository and it opens that repo directly, listing each branch with its pull request, CI checks, and which sibling checkout or worktree currently holds it. x marks rows, V opens a range, and a offers the verbs for whatever is marked: switch branch, push with --follow-tags, open a pull request, squash-merge one, apply a stash, or open a notes file in $EDITOR. Anything that reaches the remote or destroys work asks for confirmation first.

What it does not do

  • Commit, stage, rebase, or resolve conflicts. The writes it does make are fetch, remote prune, deleting a branch, applying or dropping a stash, switching branch, pushing, and creating or squash-merging a pull request
  • Replace a single-repo client. Use lazygit or gitui for staging, hunk-level work, and history surgery
  • Replace gh. Pull request data comes from the gh CLI, and every non-GitHub column still works when gh is missing or logged out
  • Edit your notes files itself. It reads them, and hands one to $EDITOR on request so the writing stays yours
  • Run as a server or daemon. --cli and --script are one-shot headless runs

Full docs: ./docs

License

MIT

Directories

Path Synopsis
cmd
gh-repo-dashboard command
Package main implements gh-repo-dashboard: K9s-inspired Bubble Tea TUI for managing multiple git and jj repositories
Package main implements gh-repo-dashboard: K9s-inspired Bubble Tea TUI for managing multiple git and jj repositories
internal
app
Package app implements the Bubble Tea TUI model, update, and view for gh-repo-dashboard.
Package app implements the Bubble Tea TUI model, update, and view for gh-repo-dashboard.
batch
Package batch runs repo operations (fetch, prune, cleanup) over multiple repos concurrently.
Package batch runs repo operations (fetch, prune, cleanup) over multiple repos concurrently.
cli
Package cli implements the non-interactive --cli mode that prints repo summaries as JSON instead of launching the TUI.
Package cli implements the non-interactive --cli mode that prints repo summaries as JSON instead of launching the TUI.
config
Package config loads the optional TOML config file, applied below flags and above built-in defaults.
Package config loads the optional TOML config file, applied below flags and above built-in defaults.
copier
Package copier reads a repo's .copier-answers.yml and compares its installed template commit against the template's latest upstream semver tag.
Package copier reads a repo's .copier-answers.yml and compares its installed template commit against the template's latest upstream semver tag.
discovery
Package discovery walks configured base paths to find git and jj repositories.
Package discovery walks configured base paths to find git and jj repositories.
filters
Package filters implements repo list filtering, fuzzy search, and sorting.
Package filters implements repo list filtering, fuzzy search, and sorting.
models
Package models defines the domain types shared across the repo dashboard: repos, branches, pull requests, and the filter/sort state used to display them.
Package models defines the domain types shared across the repo dashboard: repos, branches, pull requests, and the filter/sort state used to display them.
ui/styles
Package styles names the lipgloss styles the TUI's views share, built from the Catppuccin flavor aragonite detects for the terminal.
Package styles names the lipgloss styles the TUI's views share, built from the Catppuccin flavor aragonite detects for the terminal.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL