Native macOS · Free & open source

A maintainer's cockpit, docked in your menu bar.

RepoBar keeps GitHub work visible without living in tabs. CI state, issues, pull requests, releases, local checkouts, and rate limits — for every repository you care about, one click from the clock.

$ brew install --cask repobar
macOS 15+ Apple Silicon & Intel MIT licensed No telemetry
What you see

Everything a repo is up to, in one menu.

One dropdown, every signal that drives day-to-day maintainer work. No tabs, no dashboards, no waiting for a web page to hydrate.

Browse inline: issues pull requests releases CI runs discussions tags branches contributors commits activity

The real thing

Not a mockup. Your menu bar, tonight.

Repository cards, submenus for issues and commits, contribution graphs, and local Git state — all rendered natively, all one click deep.

Actual screenshot RepoBar menus on macOS showing repository cards with issues, PRs, CI runs, releases, commits, and a contribution heatmap
Local first

Built for people who actually clone.

RepoBar scans a projects folder such as ~/Projects and matches local checkouts to GitHub. Local state appears next to remote state — no second tool, no IDE switch.

  • BranchCurrent branch and upstream tracking ref.
  • SyncAhead/behind counts versus the upstream branch.
  • DirtyStaged, unstaged, and untracked file summary.
  • WorktreesAll worktrees with their checked-out branches.
  • Auto syncOptional fetch + fast-forward on a cadence. Never force-pushes, never resets.
  • OpenOpen in Finder, Terminal, or your editor — straight from the submenu.

A repository browser, not a picker.

Preferences › Repositories searches every repository RepoBar can access — by name, description, language, or topic — and lets you tag each one as Visible, Pinned, or Hidden. Manual rules survive even when a token rotation drops a repo from view, so access problems stay legible.

Authentication uses the RepoBar GitHub App for GitHub.com, with PAT fallback for SAML SSO and Enterprise. Tokens live in the macOS Keychain on release builds.

Offline-ready

Opens from local data. Spends requests carefully.

A persistent SQLite cache holds ETags, response bodies, GraphQL results, recent lists, and rate-limit state. And RepoBar reads GitHub backups in the same Git-backed snapshot format that gitcrawl.sh publishes.

One archive, two readers.

gitcrawl is a local-first GitHub crawler that publishes a portable SQLite database via Git. RepoBar reads the same snapshot shape — manifest.json plus per-table tables/<table>/*.jsonl(.gz) files — and imports it into its own cache.

When GitHub is rate-limited, offline, or having a day, RepoBar falls back to the imported archive automatically. Issue and PR lists keep answering; the menu never goes blank.

RepoBar owns its own cache and archive configuration. It never writes to gitcrawl databases and never reads gitcrawl config — point it at any compatible snapshot repository and it imports cleanly.

01gitcrawl.sh publishes a portable SQLite snapshot to a Git repo.
02RepoBar clones it and imports manifest.json into its own SQLite cache.
03Live GitHub requests are preferred while the budget is healthy and ETags are fresh.
04Rate-limited or offline? Archive reads serve issue and PR lists seamlessly.
05repobar archives update pulls the snapshot repo and re-imports on demand.
Automation

The same app, as a command.

RepoBar ships a repobar CLI alongside the app — same auth, same cache, same archive paths. Use it for scripts, agents, diagnostics, or just because you live in the terminal. --json for machines, --plain for pipes.

~ — repobar
$ repobar repos --owner openclaw --sort prs --plainopenclaw/openclaw    issues 12   prs  4   ★ 412   pushed 24m agoopenclaw/gitcrawl    issues  3   prs  1   ★  68   pushed  3h ago$ repobar rate-limits --plaincore    4983 / 5000   resets in 53mgraphql  984 / 5000   resets in 47msearch    24 /   30   resets in  1m$ repobar archives add openclaw --repo ~/Backups/github-openclawadded source 'openclaw' (format: discrawlSnapshot)$ repobar archives update openclaw --json{"source":"openclaw","manifestVersion":1,"importedTables":7,"totalRows":48211}
Install

Three paths, one menu bar.

Free and open source under the MIT license. Sparkle keeps release builds updated. macOS 15 (Sequoia) or later, Apple Silicon and Intel.

Direct

Download release

Signed and notarised .dmg on every release, straight from GitHub.

Latest release → All releases →
For hackers

Build from source

SwiftPM with pnpm wrapper scripts. Xcode 26 / Swift 6.2.

git clone https://github.com/steipete/RepoBar && cd RepoBar && pnpm start
FAQ

Common questions.

Does RepoBar need access to all my repositories?
No. RepoBar uses the RepoBar GitHub App for GitHub.com, which only sees what you let it see. Private organization repos require the App to be installed on that org. If you need access outside the App boundary (SAML SSO, fine-grained constraints, enterprise hosts), use a Personal Access Token with repo and read:org.
How is data cached, and what's the gitcrawl.sh integration?
RepoBar persists REST ETags and bodies, GraphQL responses, recent lists, and rate-limit state to its own SQLite database. It can also import GitHub backup archives that follow the gitcrawl.sh portable-store shape — a Git-backed SQLite snapshot with manifest.json and tables/<table>/*.jsonl(.gz). When GitHub is rate-limited or offline, archive reads keep the menu answering. RepoBar never writes to gitcrawl databases or reads gitcrawl config.
Will it auto-sync my local checkouts?
Optionally. RepoBar can fetch and fast-forward clean repositories on a cadence. It never force-pushes, hard-resets, or discards local changes. The reposync doc has the full rules.
What's the reference monitor?
An opt-in, cache-first watcher (Advanced settings). Copy something like #123 or a commit hash anywhere on your Mac, and RepoBar resolves it against cached issues, PRs, and commits in accessible repositories — falling back to live lookups on cache misses. The best match appears as its own menu bar item. Global monitoring requires the Accessibility permission.
Does it support GitHub Enterprise?
Yes. Configure the enterprise host and OAuth settings in Preferences › Accounts. Multiple accounts are supported side by side, each with its own cache. TLS is required.
Where do tokens live?
Release builds store tokens in the macOS Keychain. Debug builds and SwiftPM CLI and test runs default to file-backed auth storage so local development does not trigger Keychain prompts. Details in auth-storage.md.
Is it free?
Yes. MIT licensed, free forever, no telemetry, no analytics, no account.