GitHub stars in your macOS menu bar.
A tiny native app for watching your repositories — public and private —
release downloads without keeping GitHub open.
Stargazer Bar is an open-source macOS GitHub stars menu bar app for maintainers who want lightweight launch or release telemetry. Public repositories are measured by stars; private ones — which have none — are measured by what needs you: a failing build, an unanswered issue, a new pull request. It works as a small GitHub release download counter too: the headline number stays in the menu bar, detail lives in the dropdown, and the app reads GitHub directly without a backend.
Homebrew (recommended)
brew install --cask jazzyalex/stargazer-bar/stargazer-barDirect download
Grab the signed, notarized Apple silicon DMG from the latest release.
- ⭐ Live star counts for multiple public repos in your menu bar — no browser tab required
- 🔒 Private repos too: track what needs you, with a 30-day commit chart counted across every branch
- 📦 Release download totals from GitHub's latest releases API page (up to 100 releases)
- 📈 Per-repo star and fork trend charts directly in the menu
- 🧭 Maintainer radar for CI status, recent commits, new PRs/issues, and unanswered issues
- 🖼️ Copy milestone text or a square share image when a repo passes a rounded download/star mark
- 🔔 Per-repository star sounds, so each tracked project can have its own update cue
- 🔑 Track any public repo without a GitHub account; sign-in powers the repo picker, and a read-only fine-grained token unlocks private repos
- 🔄 Sparkle auto-updates, EdDSA-signed and notarized
- 🔒 Private by default — no backend, no telemetry, Keychain-stored tokens
- 🪶 Native Apple silicon app, designed to stay out of the way
steipete/CodexBar:
The app stores tracked repository metadata and settings locally in UserDefaults. Optional GitHub OAuth tokens are stored in Keychain. There is no backend and no telemetry. The only non-GitHub network activity is optional Sparkle update checking.
xcodebuild -project GHMenuStars.xcodeproj -scheme GHMenuStars -configuration Debug build
xcodebuild -project GHMenuStars.xcodeproj -scheme GHMenuStars -configuration Debug \
-destination 'platform=macOS,arch=arm64' testThe Connect GitHub feature uses GitHub's OAuth device flow. Manual repository tracking works without credentials; the signed-in repository picker requires a GitHub OAuth app client id.
For local builds, copy Config/Local.xcconfig.example to Config/Local.xcconfig and set GHMENUSTARS_GITHUB_OAUTH_CLIENT_ID. The local config file is gitignored. You can also pass GHMENUSTARS_GITHUB_OAUTH_CLIENT_ID=... to xcodebuild, or launch with GH_MENU_STARS_GITHUB_CLIENT_ID=... for one-off debugging.
Release & deploy
Stargazer Bar uses Sparkle 2 for signed automatic updates. The production appcast is published at:
https://jazzyalex.github.io/stargazer-bar/appcast.xml
The release helper builds the Release app, signs with Developer ID, notarizes and staples the app and DMG, generates a Sparkle EdDSA-signed appcast for the zipped archive (release notes from docs/CHANGELOG.md), creates or updates the GitHub release, commits the appcast, verifies the public release, and updates the Homebrew cask tap:
VERSION=0.2 tools/release/deploy-stargazer-bar.sh
tools/release/verify-deployment.sh 0.2The script expects gh authentication, a Developer ID Application certificate, notary credentials, and the Sparkle EdDSA private key in Keychain. tools/release/.env may provide TEAM_ID, DEV_ID_APP, NOTARY_KEY_PATH, NOTARY_KEY_ID, NOTARY_ISSUER, or SPARKLE_ED_KEY_FILE.
Homebrew tap settings:
UPDATE_CASK=1
CASK_REPO=jazzyalex/homebrew-stargazer-barTo test the full local release path without publishing or modifying docs/appcast.xml:
VERSION=0.2 tools/release/test-release-path.shThis builds the Release app, signs with Developer ID, packages a DMG and Sparkle ZIP, checksums them, renders release notes, and generates a signed Sparkle appcast under dist/release-path-test. It notarizes when credentials are configured; set REQUIRE_NOTARY=1 to fail the test if notarization is unavailable.
BSD 3-Clause · See Third-Party Notices
