OS-native file watching
FSEvents on macOS, inotify on Linux, ReadDirectoryChangesW on Windows. Sub-millisecond change detection with kernel-level events — no polling, no battery drain.
Features
gity is deliberately small. It does the handful of things that make Git slow on a big repo — and does them well, with defaults that are right out of the box.
The four pillars
FSEvents on macOS, inotify on Linux, ReadDirectoryChangesW on Windows. Sub-millisecond change detection with kernel-level events — no polling, no battery drain.
gity speaks Git's own fsmonitor wire protocol, so `git status` only scans the files that actually changed. Works with stock Git 2.37+ — no fork, no patch.
Status results live in a memory-mapped sled database that survives reboots. Repeated polls — from your shell, your IDE, your CI hook — return in microseconds.
While you're at lunch, gity runs prefetch, repack, and GC on a scheduler that respects CPU and battery. Your repo stays fast without you scheduling a single cron job.
And the rest of it
gity register starts the daemon, attaches the watcher, and installs the fsmonitor hook. gity unregister restores the prior state exactly. No config files.
gity daemon oneshot accelerates a single job and exits cleanly — no persistent process left on an ephemeral runner, no cleanup step.
Beyond the fsmonitor protocol, gity events streams filesystem changes over IPC so editors and tools can subscribe instead of polling.
gity health and gity list --stats report watcher tokens, scheduler queue depth, CPU, RSS, and cache hit rate — so you can see what it's doing and what's failing.
The scheduler respects CPU and battery budgets and enforces per-repo ceilings on memory and file descriptors, so a background daemon never becomes the thing slowing you down.
Architecture →The same ~12 MB binary ships via cargo, Homebrew, npm, pip, .deb, .pkg, MSI, snap, and choco — macOS, Linux, and Windows.
Install →Get gity
One command to install, one to register, and your monorepo starts feeling like a tiny one. MIT-licensed and free to use.