awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
facebook avatar

facebook/watchman

0
View on GitHub↗
13,613 stars·1,058 forks·C++·MIT·18 viewsfacebook.github.io/watchman↗

Watchman

Watchman is a filesystem change monitor and recursive directory watcher that operates as a background service to track file modifications in real time. It functions as an event-driven file trigger and state query engine, allowing users to retrieve directory snapshots and lists of changed files since a previous check.

The project provides tooling for incremental builds by identifying exactly which files have changed to compile only necessary project components. It is designed for large scale directory watching, monitoring massive file trees while executing external commands or scripts automatically when detected changes occur within monitored root folders.

The service covers real-time file monitoring, filesystem state querying, and event-driven task automation. It supports subscribing to notifications for file changes and triggering automated actions based on specific events.

Features

  • File System Monitors - Tracks modifications to files and directories in real time to trigger automated actions.
  • Filesystem Change Monitors - Provides a background service that tracks filesystem modifications in real time to trigger automated actions.
  • Filesystem Snapshots - Creates point-in-time baselines of directory trees to compare against future filesystem changes.
  • Filesystem State Querying - Retrieves lists of changed files and current directory snapshots to determine processing needs.
  • Incremental State Tracking - Records only the differences between filesystem snapshots to minimize the data transmitted to clients.
  • Event-Driven Automation Engines - Executes external commands or scripts automatically based on detected filesystem changes.
  • Filesystem State Query Engines - Provides a utility for retrieving lists of changed files and directory snapshots since a previous check.
  • Incremental Build Engines - Identifies exactly which files changed to allow for the execution of only necessary build steps.
  • Build Triggers - Initiates automated build or restart tasks immediately after source code files are modified.
  • Event-Driven Triggers - Functions as a system that executes external commands automatically in response to filesystem events.
  • Action Triggers - Executes specific external commands or scripts automatically when filesystem changes are detected.
  • Large Scale Directory Watching - Efficiently monitors massive file trees for changes without consuming excessive system memory or CPU.
  • Directory Watchers - Monitors large directory trees recursively and provides querying capabilities for the current filesystem state.
  • Background Daemons - Operates as a background daemon process that maintains long-lived state and handles multiple client connections.
  • Real-time Change Tracking - Tracks changes to files and directories in real time to trigger automated tasks or update states.
  • Kernel Event Polling - Listens for filesystem change notifications via OS kernels to avoid expensive manual directory scanning.
  • Path-Based Subscriptions - Tracks changes by associating specific directory paths with interested clients and their notification preferences.
  • Alert Notification Systems - Allows clients to register for real-time alerts when file changes occur within a monitored root.
  • File System Utilities - File watching and change triggering.
  • Orchestration And Workflow - Service for watching file changes and triggering actions.
  • Mobile Device Management and Utilities - Watches file systems and triggers actions on changes.
  • Terminal Utilities - Watches files and triggers actions on changes.
  • Version Control Add-ons - Triggers incremental builds when files change.

Star history

Star history chart for facebook/watchmanStar history chart for facebook/watchman

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does facebook/watchman do?

Watchman is a filesystem change monitor and recursive directory watcher that operates as a background service to track file modifications in real time. It functions as an event-driven file trigger and state query engine, allowing users to retrieve directory snapshots and lists of changed files since a previous check.

What are the main features of facebook/watchman?

The main features of facebook/watchman are: File System Monitors, Filesystem Change Monitors, Filesystem Snapshots, Filesystem State Querying, Incremental State Tracking, Event-Driven Automation Engines, Filesystem State Query Engines, Incremental Build Engines.

Which projects share features with facebook/watchman?

Projects with overlapping indexed features include: powerline/powerline — Powerline is a statusline and prompt generation framework designed to provide consistent visual information across… facebook/pyre-check — Pyre is a high-performance static type checker and analysis tool for Python. It identifies type errors and ensures… inotify-tools/inotify-tools — Inotify-tools is a collection of command-line utilities that provide a direct interface to the Linux kernel inotify… neogitorg/neogit — Neogit is a visual Git version control client designed for managing repositories through staging, committing, pushing,… axkibe/lsyncd — lsyncd is a synchronization service and background daemon that monitors local directories for changes and mirrors them… canop/bacon — Bacon is a background job runner and text-based user interface test dashboard designed for tracking code health and…

Projects sharing features with Watchman

These projects share indexed features with Watchman. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • powerline/powerlinepowerline avatar

    powerline/powerline

    14,770View on GitHub↗

    Powerline is a statusline and prompt generation framework designed to provide consistent visual information across terminal shells, text editors, and multiplexers. It functions as a configuration-driven customization engine that allows users to define themes, color schemes, and dynamic segment layouts to maintain a cohesive interface across diverse command-line environments. The system utilizes a persistent background daemon to manage state and rendering logic, which offloads processing tasks to minimize resource consumption and ensure high responsiveness across multiple active application in

    Python
    View on GitHub↗14,770
  • facebook/pyre-checkfacebook avatar

    facebook/pyre-check

    7,169View on GitHub↗

    Pyre is a high-performance static type checker and analysis tool for Python. It identifies type errors and ensures type safety without executing the program, utilizing a static type inference engine to maintain consistency across functions. The project is distinguished by an incremental type analysis engine that operates as a background daemon. This system monitors filesystem changes to re-validate only modified parts of a project, reducing the time required for repeated analysis. It also includes a static analysis security tool that uses taint analysis to track untrusted data flows and ident

    OCaml
    View on GitHub↗7,169
  • inotify-tools/inotify-toolsinotify-tools avatar

    inotify-tools/inotify-tools

    3,398View on GitHub↗

    Inotify-tools is a collection of command-line utilities that provide a direct interface to the Linux kernel inotify subsystem. It functions as a filesystem event monitor, allowing users to track modifications, creations, and deletions of files and directories in real time. The project translates low-level kernel event structures into human-readable text output, enabling the integration of filesystem monitoring into shell scripts and automated workflows. It manages multiple filesystem watches by tracking individual file descriptors and supports recursive directory traversal to ensure comprehen

    C++cfsnotifyinotify
    View on GitHub↗3,398
  • axkibe/lsyncdaxkibe avatar

    axkibe/lsyncd

    6,049View on GitHub↗

    lsyncd is a synchronization service and background daemon that monitors local directories for changes and mirrors them to remote targets in real time. It operates as a sync manager that orchestrates the movement of local data to remote hosts, ensuring data consistency through automated mirroring. The project uses an embedded Lua scripting engine to define configuration logic, allowing for custom synchronization actions and layered rule definitions. It leverages rsync for delta-transfers to minimize bandwidth and utilizes SSH for secure encrypted communication with remote servers. The service

    Lua
    View on GitHub↗6,049
  • Compare all 30 related projects→