live · scanning local repos
gitpulse — main

GitPulse

All your git repositories in one place — what changed, and where you forgot to commit.

GitPulse · macOS · menu bar

The problem

One repository, you can keep in your head. Thirty, you cannot.

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".

The flow

Step by step

Six steps, in the order they happen. The last two are the agentic part — the rest runs regardless.

01ScanIndexes the folders you point it at and finds every git repository there on its own.
02Show the real stateCurrent branch, modified, staged and untracked files, how many commits you are ahead or behind the remote.
03Track liveUpdates the state as it happens, not only when you open the app.
04Compare against GitHubWith your own token, shows which repositories you never cloned locally and which clones you forgot on disk.
05Propose over MCPClaude Code reads the state through the local MCP server and can propose changes — it never applies them on its own.
06You confirmEvery write needs a confirmation token you give in the app, and lands in the audit log.
What it shows

A dashboard for every repository you have

Discovery & local state

  • Finds git repositories on its own in the folders you point it at
  • Real state per repository: branch, uncommitted, staged, untracked, ahead/behind
  • A menu-bar summary, without opening the app
  • Tracks changes as they happen rather than by polling

GitHub & sync

  • Compares against GitHub with your own token: what you never cloned, what you forgot

AI summaries

  • Optional AI summaries that send only commit messages and a file count — never code

Safe for automation

  • MCP server: Claude Code reads state and proposes, you confirm in the app
  • Dangerous git operations are blocked structurally, not merely discouraged
  • An audit log for every confirmed action
In detail

From scan to confirmed proposal

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

Swift
SwiftUI
Git
GitHub
MCP

Why you can trust it

Four things you can check in the app's source, not just take our word for.

Zero licensing code

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

Dangerous git operations are blocked in code

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

309 automated tests, all green

The suite covers binding confirmation tokens to a single action, refusing dangerous commands, and the audit log.

swift test — 309 tests, 0 failures

AI summaries never see the code

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

What it does not do yet

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

System
macOS 14.0 or later
Architecture
Universal binary — Apple Silicon and Intel
Signing
Developer ID, notarised by Apple — Gatekeeper accepts it with no warning
Network
GitHub REST API (optional) and, if you enable summaries, the AI provider you chose

Questions

€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.

Purchase

GitPulse for Mac

€39

+ VAT, calculated at checkout for your country

Activation

How to activate your licence

Download the app

Download version 3.8.2

7.1 MB

Open the app, go to Preferences → Licence and paste the key from the email.