# gity — Make large Git repositories feel instant gity is an open-source 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 warm caches that survive reboots. > https://gity.neullabs.com ## Get started - [Install gity](https://gity.neullabs.com/install): nine install methods (cargo, brew, npm, pip, .deb, .pkg, MSI, snap, choco) — same binary, every platform. - [CLI docs](https://gity.neullabs.com/docs): every gity subcommand, flag, and example. - [Architecture](https://gity.neullabs.com/architecture): how gity is built — Rust crates, IPC, fsmonitor protocol, scheduler. - [Benchmarks](https://gity.neullabs.com/benchmarks): headline numbers and methodology. - [FAQ](https://gity.neullabs.com/faq): platform support, troubleshooting, verification. ## Articles - [Anatomy of the gity Daemon](https://gity.neullabs.com/blog/anatomy-of-the-gity-daemon): A walk through the gity codebase — the eight Rust crates, the IPC protocol, the storage layer, and the design choices that make a 12 MB binary serve a 250k-file monorepo. - [Where `git status` Time Actually Goes: a Microbenchmark](https://gity.neullabs.com/blog/git-status-microbenchmarks): We profiled `git status` on a 250k-file monorepo across macOS, Linux, and Windows. Here's where the milliseconds end up — and why fsmonitor wins by a factor of 50. - [Why We Built gity](https://gity.neullabs.com/blog/why-we-built-gity): The story behind a small Rust daemon that makes Git fast on giant monorepos — and the engineering decisions that fell out of the design constraints. - [Background `git maintenance`, Explained](https://gity.neullabs.com/blog/background-git-maintenance-explained): Git ships a scheduler for prefetch, commit-graph, and incremental repack. Here's what each task does, when it pays off, and how gity makes it CPU- and battery-aware. - [Git Worktrees: Shared Caches, Faster Branch Switching](https://gity.neullabs.com/blog/multiple-worktrees-shared-cache): Why `git worktree` is underused, how to set up two or three worktrees for parallel feature work, and what gity does to keep status caches warm across them. - [Why Your IDE's Git Status Is Slow (and How to Fix It)](https://gity.neullabs.com/blog/ide-git-status-polling-fix): VS Code, IntelliJ, and Sublime all poll `git status` aggressively for their gutter decorations. Here's what to change so your editor stops eating CPU. - [Accelerate CI/CD: Where to Spend Git Performance Budget](https://gity.neullabs.com/blog/accelerate-ci-cd-git-operations): Concrete patterns to cut Git wall-clock time in CI/CD — partial clone, oneshot fsmonitor, sparse checkout, and the surprising cost of shallow clones. - [FSEvents, inotify, ReadDirectoryChangesW: Cross-Platform File Watching](https://gity.neullabs.com/blog/fsevents-inotify-readdirectorychangesw-cross-platform): A deep dive into the three OS-native file-change APIs that power every modern file watcher — and the corner cases each one will throw at you. - [gity vs Scalar, VFS for Git, and ProjFS](https://gity.neullabs.com/blog/gity-vs-vfs-projfs-gvfs): Microsoft's lineage of giant-monorepo tools — GVFS, VFS for Git, Scalar — versus user-space accelerators like gity. What each really does and when to reach for which. - [gity vs Git's Built-in fsmonitor: When to Pick Which](https://gity.neullabs.com/blog/gity-vs-native-fsmonitor): Git ships a native fsmonitor daemon. Here's what it actually covers, what's still missing, and when adding gity on top makes sense. - [gity vs Watchman: Which Git Accelerator Should You Use?](https://gity.neullabs.com/blog/gity-vs-watchman): An honest comparison of gity and Facebook's Watchman for accelerating Git on large repositories — what each does best, what's awkward, and how to pick. - [Monorepo Git Performance: A Practical Guide](https://gity.neullabs.com/blog/monorepo-git-performance-guide): Everything we've learned shipping git tooling for million-file monorepos — what scales, what doesn't, and the order to apply each fix. - [Git's `fsmonitor` Protocol v2, Explained](https://gity.neullabs.com/blog/git-fsmonitor-protocol-explained): What fsmonitor actually does, how the v2 wire protocol works between Git and a helper, and why it can make `git status` 100× faster without modifying Git itself. - [How to Speed Up `git status` in a Large Monorepo](https://gity.neullabs.com/blog/speed-up-git-status-large-monorepo): A practical guide to making git status return in milliseconds, not seconds — covering fsmonitor v2, untrackedCache, partial clones, and when each technique actually helps. ## Comparisons - [gity vs Git's `untrackedCache`](https://gity.neullabs.com/compare/git-untracked-cache): Git's untrackedCache speeds up status by remembering untracked-file lists. Here's what it does, what it doesn't, and why fsmonitor is the bigger win. - [gity vs Scalar, VFS for Git, and ProjFS](https://gity.neullabs.com/compare/projfs-gvfs-scalar): Microsoft's lineage of giant-monorepo tools versus a focused user-space Git accelerator. Where each fits. - [gity vs Git's Built-in fsmonitor](https://gity.neullabs.com/compare/native-fsmonitor): Git 2.37+ ships its own fsmonitor daemon. Here's what it does, what it doesn't, and when adding gity on top is worth it. - [gity vs Watchman](https://gity.neullabs.com/compare/watchman): Meta's general-purpose file watcher versus a focused Git accelerator. Here's how to pick — and when running both makes sense. ## Project - Source code: https://github.com/neul-labs/gity - Releases: https://github.com/neul-labs/gity/releases - License: MIT - Maintainer: Dipankar Sarkar, Neul Labs