vibestreak. Sign in with GitHub
CLI

Commands

The CLI runs on each machine you code on. It reads your AI agents' history and your git log, and sends daily totals only: never prompts, code, file paths or repo names.

Get started on a machine

npx vibestreak

Sets this machine up in one go: opens your browser to sign in with GitHub and approve the machine (check the code matches your terminal), uploads your history, and offers background sync with the evening streak nudge. Nothing to copy or paste.

npx vibestreak setup --token PASTE_YOUR_TOKEN

The same with nothing to answer, using a token from Settings → Machines: links the machine, counts commits by the addresses in its git config, syncs, and turns on autosync and the nudge. Good for a server, or a second machine. Without --token it signs in through the browser.

npx vibestreak login

Links (or relinks) this machine in the browser. No browser on it, such as a server over SSH? Open the link it prints on any device. Or create a token in Settings → Machines (sign in) and run npx vibestreak login --token PASTE_YOUR_TOKEN.

npx vibestreak emails scan

Lists every author address in your repos. Add each one that is you with the next command; the GitHub noreply addresses of your linked accounts are added for you.

npx vibestreak emails add you@example.com

Counts commits made with that address, e.g. a work address or a second GitHub account.

npx vibestreak sync

Collects and uploads your daily totals now. Takes a few seconds; prints what it found.

npx vibestreak autosync on

Syncs in the background at 09:17, 13:17 and 17:17, and checks your streak at 20:30 (launchd on macOS, systemd or cron on Linux, Task Scheduler on Windows). Setup asks; this turns it on later.

Your streak in the terminal

npx vibestreak

Once set up, your dashboard: streak, level and the days to the next one, the last twelve weeks as a heatmap, and your rank.

npx vibestreak me

Your profile: streak, a heatmap as wide as your window (orange dots are days you shipped with AI), and your totals.

npx vibestreak profile hattray

Anyone's public profile, the same way.

npx vibestreak board

The leaderboard: the top ten with each person's last four weeks, and your row pinned below if you rank lower.

npx vibestreak board 7d shipped claude

Any mix of a period (today 7d 30d 90d all), a ranking (consistency shipped streak tokens) and a tool. Your own dates: npx vibestreak board --from 2026-07-01 --to 2026-07-31.

npx vibestreak today

Who is coding with AI today, and whose streak ends at midnight.

In Claude, ChatGPT and other assistants (MCP)

vibestreak is an MCP server: add it once, then ask things like "what's my streak?", "who's top of the board this week?" or "show me @hattray's heatmap". Read-only; nothing to install.

https://vibestreak.kingsbridge-consultancy.com/mcp

The server address to paste into your assistant.

claude mcp add --transport http vibestreak https://vibestreak.kingsbridge-consultancy.com/mcp

Claude Code. For your own profile even when hidden, add --header "Authorization: Bearer YOUR_TOKEN" (a token from Settings → Machines).

Claude (web and desktop): Settings → Connectors → Add custom connector, and paste the address. ChatGPT: Settings → Apps & Connectors → Advanced → turn on Developer mode, then create a connector with the address and no authentication. Tools: get_leaderboard, get_profile, get_today, and get_my_profile (needs your token).

Stay current

npx vibestreak status

Everything at a glance: your profile and GitHub accounts, the last sync, your streak today, whether autosync and the nudge are on, and when the next sync runs.

npx vibestreak nudge

The nudge on its own: whether it is on, when it checks, the last time it nudged you, and whether tonight's check would.

npx vibestreak pause

Pauses the background syncs and the streak nudge until tomorrow 06:00, or for as long as you say: npx vibestreak pause 3h, npx vibestreak pause 5d (up to 7 days). They carry on by themselves afterwards, and the first sync uploads what you did meanwhile, so your streak loses nothing. npx vibestreak sync still works while paused.

npx vibestreak resume

Ends a pause now.

npx vibestreak autosync off

Stops the background syncs and the streak check for good (until autosync on). For a break of more than a week.

npx vibestreak nudge test

Shows a sample streak notification now, so you can check notifications reach you.

npx vibestreak nudge off

Turns off the 20:30 streak check; the background syncs keep running.

npx vibestreak nudge at 21:45

Moves the evening check to your time, anywhere from 17:00 to 23:30 (9:45pm works too). The default is 20:30; npx vibestreak nudge at default goes back to it.

npx vibestreak nudge on

Turns it back on: a notification when your streak ran through yesterday and today has nothing yet, once a day at most.

npx vibestreak sync --quiet

A sync that prints one line: what the background syncs run. The evening job runs npx vibestreak nudge run --quiet: a sync, then the streak check.

Accounts and repos

npx vibestreak whoami

The profile and GitHub accounts this machine syncs to.

npx vibestreak emails

The addresses this machine counts commits for.

npx vibestreak emails remove you@example.com

Stops counting an address (someone else's, or a bot).

npx vibestreak roots

The folders searched for git repos (Desktop, Downloads, Documents, Projects, code and similar, four levels deep).

npx vibestreak roots add ~/work

Adds a folder to search; npx vibestreak roots remove ~/work takes one away.

See exactly what's sent

npx vibestreak collect

Reads everything a sync would and prints a summary. Nothing leaves the machine.

npx vibestreak collect --json

The exact upload, field by field. What each field is.

Troubleshooting