FAQ
The questions developers ask, answered.
If something's still unclear, open an issue on GitHub — fastest path to a real answer.
Browse
All questions
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.
macOS (Apple Silicon and Intel), Linux (x86_64 and aarch64, glibc and musl), and Windows (x86_64). The same single binary works everywhere; there are no platform-specific configuration files.
Pick your favourite package manager: `cargo install gity`, `brew install neul-labs/tap/gity`, `npm install -g gity-cli`, `pip install gity-cli`. Pre-built binaries (.deb, .pkg, .msi, .tar.gz) are also available on the GitHub releases page.
On repositories with 10,000+ tracked files we typically observe a 100x–500x speedup on `git status` once the cache is warm. The included `gity demo` command runs a side-by-side race against vanilla Git in your terminal so you can measure on your own machine.
Yes. gity recognizes that multiple worktrees share the same underlying object store and replicates hot cache keys across them, so switching to a new feature branch is instant.
Use `gity daemon oneshot <repo>` — it starts the daemon, services a single repo for the duration of your job, and shuts down cleanly. This is the recommended pattern for ephemeral CI runners where a long-lived daemon would be wasted.
`gity health <path>` shows watcher tokens, scheduler state, and the current resource budget for a single repo. `gity daemon metrics` prints aggregate daemon CPU, RSS, file descriptors, and cache hit rates across every registered repo.
Every release ships with a SLSA-style attestation. Run `gh attestation verify gity-0.1.2-x86_64-unknown-linux-gnu.tar.gz --owner neul-labs` to confirm the binary was built by our GitHub Actions workflow and not tampered with downstream.
Scalar and gity solve overlapping but different problems. Scalar is Microsoft's curated wrapper that bundles Git's performance features — partial clone, sparse-checkout, fsmonitor, and background maintenance — with known-good defaults, and it's battle-tested on Windows-scale monorepos. gity is a focused, cross-platform fsmonitor + maintenance helper: a small single-purpose binary with a CPU/battery-aware scheduler and a cache shared across worktrees, without wrapping your whole Git workflow. Both want the `core.fsmonitor` slot, so pick one per repo. See /compare/projfs-gvfs-scalar for the full breakdown.
gity is an OS-native fsmonitor daemon that speaks Git's fsmonitor v2 protocol, so `git status` returns in milliseconds even in monorepos with millions of files. Beyond raw watching, it runs background prefetch and maintenance on a CPU/battery-aware scheduler, shares its status cache across worktrees of the same repo, and services many repos from a single daemon (plus a oneshot mode for CI). Per repo, `core.fsmonitor` can be `true` or point to a helper like gity — not both. See /compare/native-fsmonitor.
Git's built-in fsmonitor (2.37+) is the zero-install baseline — enable `core.fsmonitor` and you're done for a single repo. Watchman is Meta's general-purpose file watcher (it also powers Jest, Mercurial, and Buck); it works as an fsmonitor backend but is extra software to install and tune on Linux/macOS. Scalar is Microsoft's workflow wrapper that turns on Git's performance features together for giant monorepos. gity is a focused, cross-platform native watcher — one small binary, no Watchman install, with multi-worktree cache sharing and CI oneshot mode. See /compare/watchman and /compare/projfs-gvfs-scalar.
Get gity
Try gity on your biggest repo.
One command to install, one to register, and your monorepo starts feeling like a tiny one. MIT-licensed and free to use.