All your git repositories in one place — what changed, and where you forgot to commit.
GitPulse · macOS · menu bar
git status tells you about one repository. With thirty, the question is not "what is here" but "where did I leave something behind".
And once you let an automated tool touch git, the question becomes "what can it break" — and usually the answer is "everything".
Six steps, in the order they happen. The last two are the agentic part — the rest runs regardless.
GitPulse scans the folders you point it at, detects git repositories, and shows for each: the current branch, modified, staged and untracked files, how many commits you are ahead or behind, and what was committed today. You get a full dashboard and a summary in the menu bar.
It can connect to GitHub with your own token to compare what you have locally against what exists remotely, telling you which repositories you never cloned and which clones you forgot.
It also ships an MCP server so Claude Code can read that state and propose changes — without being able to apply them. Every write goes through a confirmation you give in the app, with a token that expires. Dangerous git operations — force-push, reset --hard, clean, rebase — are blocked structurally, not merely discouraged.
Built with
Four things you can check in the app's source, not just take our word for.
There is no licence gate in the binary. Everything this page shows already runs unconditionally, today, for anyone who installs the app.
grep -rl "MTWLicensing|Entitlement" Sources/ — no matches, across 109 Swift files
force-push, reset --hard, clean, rebase, merge, checkout -f are refused with a dedicated error code, not merely discouraged from the interface.
Sources/GitPulse/Core/Agent/SafeGitRunner.swift
The suite covers binding confirmation tokens to a single action, refusing dangerous commands, and the audit log.
swift test — 309 tests, 0 failures
The feature is off by default. If you turn it on, only commit messages and a changed-file count leave the Mac — never the source.
Sources/GitPulse/Core/AI/AISummaryService.swift
A dashboard that is honest about its own edges is more trustworthy than one that isn't.
Compares against GitHub only — GitLab and Bitbucket are not covered.
README.md — every remote comparison described is GitHub-specific
Does not sync state across Macs — everything is local, per machine.
README.md — "Local-first. Data is stored as plain JSON in ~/Library/Application Support/GitPulse/"
The GitHub token is added by hand — there is no OAuth flow.
README.md — connects via your own PAT or one-click import from the `gh` CLI
Requirements
€39, once. The app does check a licence — the Ed25519 public key and the verifier are both in the binary you download from this page.
Not through dangerous commands: force-push, reset --hard, clean, rebase, merge and checkout -f are blocked in code (SafeGitRunner.swift). Every other write needs a confirmation token you give yourself, in the app.
Yes. The build you download is signed with a Developer ID (Team 83S677R8NP) and notarised by Apple — `spctl` marks it "accepted", and an ordinary double-click is enough on first launch.
Commit messages and a count of changed files. Never the source code. The feature is off by default.
Not yet — the remote comparison is built for GitHub only.
+ VAT, calculated at checkout for your country
Open the app, go to Preferences → Licence and paste the key from the email.