emcrisostomo/fswatch
A cross-platform file change monitor with multiple backends: Apple macOS File System Events, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify and fanotify, Microsoft Windows and a stat()-based backend. observed · 2026-08-28
Health v2 · maintenance only
95/100
- Activity 93
- Release rhythm 94
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 9
- age_days: 6278
- days_rel: 42
- days_push: 42
- n_releases_24m: 10
Adoption not part of the score
5588 stars · 346 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
fswatch is a cross-platform file change monitor that emits notifications when files or directories are modified, using native OS backends such as macOS FSEvents, Linux inotify/fanotify, BSD kqueue, Solaris FEN, and Windows ReadDirectoryChangesW, with a portable stat-based fallback. It ships as a CLI tool plus libfswatch, a library with C, C++, and Go bindings.
Use cases
- watch source files and rerun tests or rebuild on change
- trigger a command whenever a directory is modified
- monitor log or config files for changes in shell scripts
- cross-platform file watching without OS-specific code
- filter file change events with regex include/exclude patterns
- stream changed file paths into a pipeline with null-delimited output
When to choose
- you need a single portable file-watching command across macOS, Linux, BSD, Solaris, and Windows
- you want native, efficient file system event APIs instead of polling
- you need a C/C++/Go library for embedding file monitoring into your own tools
- you want regex filtering, custom output formats, and batched event counts for build automation
When to avoid
- you only target Linux and prefer a lightweight inotify-only tool
- you need a long-running daemon with alerting or monitoring integrations rather than a CLI stream
- your project requires a permissively licensed dependency, since fswatch is GPL-3.0
Facets
cli-tool · maturity active
file-system developer-tools cli workflow-automation developer-tools cross-platform windows bsd cli cross-platform file-change-monitor inotify fsevents kqueue fanotify watch-files libfswatch command-line automation macos linux
2 sources
- readme: https://github.com/emcrisostomo/fswatch · fetched 2026-08-28 · 89837cfa146f
- homepage: https://emcrisostomo.github.io/fswatch/ · fetched 2026-08-29 · ea34111ed861
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| emcrisostomo/fswatch | main | 95 |
For agents
markdown · JSON · MCP: product_card(name="emcrisostomo/fswatch")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem