OS-native file watching
Kernel file events on macOS, Linux, and Windows. No polling loop, no battery drain.
Open source · MIT · v0.1.2
gity is a tiny Rust daemon that brings sub-millisecond git status
to monorepos with millions of files — using OS-native file watchers,
Git's fsmonitor v2 protocol,
and a warm cache that survives reboots.
cargo install gity · brew install neul-labs/tap/gity · npm i -g gity-cli
git statusShips everywhere your team already installs things.
Every release is published with OIDC-based trusted publishing and signed with SLSA-style attestations.
How it works
Kernel file events on macOS, Linux, and Windows. No polling loop, no battery drain.
Stock Git 2.37+ talks to the daemon over Git's own wire protocol. No fork, no patch.
Status results persist across reboots, so repeat calls come back from cache.
Prefetch, repack, and GC run on a scheduler that watches CPU and battery.
Watch them race
Run gity demo on your own machine to see the race below.
Below is what it looks like on a representative 250k-file monorepo.
$ git status # vanilla
$ git status # with gity registered
One command to install. One to register.
gity ships everywhere your team already installs things. The same single binary, regardless of how you get it.
cargo install gityRequires a Rust toolchain. Add --features tray for the system tray UI.
$ gity register ~/work/monorepo
$ cd ~/work/monorepo
$ git status # now returns in milliseconds How gity compares
| Capability | gity | Native fsmonitor | Watchman | Scalar / VFS for Git |
|---|---|---|---|---|
| Single portable binary | ✓ | needs Watchman or Perl helper | ✓ | Windows-only / large install |
| Cross-platform (macOS / Linux / Windows) | ✓ | ✓ | ✓ | Windows only (ProjFS) |
| Zero-config registration | 1 command | config + helper | config + helper | multi-step setup |
| Background prefetch + maintenance | ✓ | — | — | Scalar only |
| Warm cache shared across worktrees | ✓ | — | — | — |
| User-space (no kernel module) | ✓ | ✓ | ✓ | kernel VFS (ProjFS) |
| IDE event subscriptions | pub/sub IPC | — | pub/sub | — |
| License | MIT | GPL (Git) | MIT (Meta) | MIT (Microsoft) |
From the blog
FAQ
gity is a small Rust daemon that watches your repo with OS-native file watchers and speaks Git's fsmonitor v2 protocol, so `git status` returns in milliseconds even in monorepos with millions of files.
Git's flags are necessary but insufficient: they speed up status, but they don't watch files in the background, don't cache results across processes, and don't run prefetch or maintenance. gity wraps all of that into one binary with one command.
No. Run `gity register <path>` once. From then on, every `git status`, `git diff`, and IDE call gets accelerated transparently. No alias, no wrapper, no fork of Git.
Yes. The daemon is ~12 MB, idles under 0.1% CPU, and throttles itself when the system is under load. Resource ceilings (memory, file descriptors) are enforced per-repo.
gity does not modify your Git history, does not upload anything to the cloud, and does not require admin privileges. It is a user-space daemon that talks to Git over a documented protocol.
Yes. gity is MIT-licensed, the source is on GitHub, and all distribution channels (crates.io, Homebrew, npm, PyPI, GitHub Releases) are free and use OIDC-based trusted publishing for supply-chain integrity.
Explore gity
Install, register a repo, and get fast git status in four steps.
Explore →OS-native watching, fsmonitor v2, warm cache, and background maintenance.
Explore →Every gity subcommand, flag, and example, in one reference.
Explore →The Rust workspace, IPC, fsmonitor protocol, and CPU/battery-aware scheduler.
Explore →Headline speed numbers, methodology, and how to reproduce them.
Explore →Where gity pays off: monorepos, CI/CD pipelines, and IDE integration.
Explore →gity vs Watchman, native fsmonitor, Scalar / VFS for Git, and untrackedCache.
Explore →fsmonitor, daemon, warm cache, scheduler, oneshot, IPC, and more.
Explore →Platforms, install, CI, IDE integration, troubleshooting, and verification.
Explore →Deep dives on Git performance, the fsmonitor protocol, and monorepo workflows.
Explore →Get gity
One command to install, one to register, and your monorepo starts feeling like a tiny one. MIT-licensed and free to use.