Every commit, gathered.

GitGrainDownload for Mac

A git app for Mac

Your commitslive everywhere.Let's gather them.

Download for MacScroll to grow ↓
api-gatewaydotfilesportfolioml-notebooksclient/acmeside-questme@work.iome@gmail.comold@uni.eduinfrablogmobile-app

Scattered acrossdozens of repos.

And every email address you've ever committed from. Your work is real — it's just spread thin.

Point it at your projects folder.

GitGrain finds every repository inside.

One profile. All of you.

Every author, every address, combined into a single harvest.

Your profile

The field is your year.

4,812 commits · 37 repos · 3 emails

118

day streak

Your longest run, across every repo at once.

Tue 22:00

your hour

When you actually do your best work.

312k

lines yours

Written by you — not vendored, not generated.

Streaks, personal bests, and the hours you commit most.

Not a leaderboard. A quiet record of how you've grown.

Also, a git client

Tend it every day.

Commit graph

See every branch grow and rejoin.

@@ -12,3 +12,4 @@Stage hunk
export function profile(repos) {
- return repos[0].commits
+ return repos.flatMap(r => r.commits)
+ .filter(byAuthor(me))
}

Stage by hunk

Pick exactly the lines that belong together.

  • git checkout -b harvest
  • git rebase main
  • ↶ Undo rebase
  • ✓ Conflicts resolved in-app

Branch, merge, rebase

And undo it, if history needs a second draft.

GitHub
GitLab
Bitbucket

GitHub · GitLab · Bitbucket

Push, pull and review pull requests.

✦ Suggested
feat(profile): merge authors across emails
- dedupe by normalized address

Claude Code drafts the message

From your staged changes — only when you ask.

It all stayson your Mac.

From git, locally
Your stats come straight from git on your machine.
Keychain
Account tokens never leave your Keychain.
No account, no server
There's no GitGrain account and no GitGrain server.
No tracking
Claude sees your code only when you ask.

Bring inthe harvest.

Download for Mac

Free · macOS · No sign-up