Watchman is a file watching service that monitors files and triggers actions when they change.
Watchman solves the problem of efficiently detecting file changes and responding to them. Rather than polling the filesystem repeatedly, it maintains a persistent service that watches files and records when modifications occur. When files matching specified patterns change, the tool can trigger automated actions such as rebuilding assets or running other tasks. This approach reduces the overhead of continuous polling and provides immediate notification of changes.
Watchman suits projects that need responsive file monitoring at scale, particularly build systems and development tools that must react quickly to source code changes. The tool is most valuable in environments where frequent file polling would be expensive or where latency matters. It provides client libraries for Python, Rust, and JavaScript, making it accessible to projects using these languages. The project maintains official support for Windows, macOS, and recent Linux distributions, with community-maintained support for additional platforms including Homebrew, FreeBSD, and Solaris.
Development is maintained by the source control team at Meta Platforms, with a clear compatibility commitment documented for users. The project accepts community contributions and maintains active issue tracking on GitHub. Support extends across multiple operating systems and language bindings, indicating ongoing investment in cross-platform usability and developer accessibility.