spill ๐ต
Your standup, spilled. spill scans a folder of git repos and prints what you
did and what you're doing โ synthesized from local git and (optionally)
your GitHub activity via the gh CLI. Not a commit dump: merged PRs, reviews
you gave, comments you left, branches in flight, uncommitted work โ even the
repos you starred along the way.
$ cd ~/code && spill
spill ยท Fri Jul 4 ยท today + yesterday
DONE
icebreaker-bingo
main ยท 2 commits
Scaffold Rails 8.1 app on Ruby 4.0.4
Add QR code page
acme/website
opened and merged PR #12 โ Fix nav
acme/dashboard
reviewed PR #87 โ Payout calc
commented on #103 โ Rate limiting rollout
DOING
icebreaker-bingo
feed-page: 3 unpushed commits
acme/website
uncommitted changes (4 files)
PR #14 open โ Live feed ยท 5 days
3 quiet repos skipped
Explored: nilbuild/git-standup
Everything is grouped per repo โ commits and GitHub activity for a repo sit
under one subtitle. In a terminal, DONE/DOING and repo subtitles are
colored (green/yellow/cyan) and secondary lines are dimmed โ set NO_COLOR
or pipe the output to disable it. While spill is collecting local git and
GitHub data, a small teapot spinner animates on stderr.
Install
gem install spill
Requires Ruby โฅ 3.2 and git. The GitHub section lights up automatically if
the gh CLI is installed and authenticated โ no
tokens, no config. No gh? Local git still works; the section is skipped.
Usage
spill # scan the current directory (repos up to 2 levels down)
spill ~/code # scan somewhere else
spill --since "3 days ago" # wider window ("yesterday", "2 weeks ago", "2026-07-01")
spill --author me@work.com # override the git author
spill --no-github # local git only
spill --no-ai # skip the AI summary
The AI summary
On macOS, when Apple Intelligence's on-device model is available and you're running in a terminal, spill adds key points right below the header โ up to three short first-person sentences per repo, drawing on commit subjects and the first line of their bodies:
โข acme/website โ Unified zone resolution and closed enforcement gaps;
my API endpoints PR is still open.
โข spill โ Hardened the narrator compile path with an atomic rename,
a timeout, and failure caching.
Each repo gets its own model call over an explicit list of its facts, so
projects are never blended together. It runs entirely on-device via Apple's
Foundation Models framework: no API keys, no network calls, nothing leaves
your machine. The first run compiles a tiny Swift helper (needs Xcode
Command Line Tools); after that it's cached and instant. Skip it with
--no-ai. Everywhere else โ Linux, piped output, the model unavailable, no
Swift toolchain โ spill is unaffected: the report renders exactly as before,
silently.
Roadmap
Deployment detection and a NEXT section from issue trackers โ see docs/specs for the layered design.
License
MIT