# fsnotify/fsnotify

Cross-platform filesystem notifications for Go.

Repository: https://github.com/fsnotify/fsnotify
Canonical: https://ross.abutalabs.com/products/fsnotify
Language: Go
License: BSD-3-Clause
License Family: permissive
Last push: 2026-05-11T11:23:52+00:00

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 81, release rhythm 58, longevity 100
- inputs: {"age_days": 4449, "days_push": 114, "days_rel": 121, "gap_med": 155, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 10772, forks 980 (observed 2026-08-28T04:10:44.222679+00:00)

## What it is
fsnotify is a Go library providing cross-platform filesystem notifications using native OS backends like inotify, kqueue, and ReadDirectoryChangesW. It lets Go programs watch files and directories and receive events for writes, creates, removes, and renames.

## Use cases
- watch a directory for file changes in go
- trigger rebuilds when source files change
- monitor config files for modifications
- detect when files are created or deleted in a folder
- build a file sync tool that reacts to edits
- get notified when a log file is written to

## When to choose
- you need file change notifications in a Go program across Linux, macOS, Windows, or BSD
- you want a mature, widely used library with native OS event backends rather than polling
- you need low-level file events to build your own watcher logic on top of

## When to avoid
- you need polling-based watching for network mounts or unsupported platforms
- you need fanotify, FSEvents, or USN Journal features not yet supported
- you are not working in Go

## Facets
- artifact type: library
- maturity: stable
- function: file-system, developer-tools
- domain: developer-tools, files, cross-platform
- platform: go, windows, bsd, cross-platform
- tags: filesystem-watcher, inotify, kqueue, file-events, notifications, linux, macos

## Member repositories
- fsnotify/fsnotify (main) score 77

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:44.222679+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:17:53.040063+00:00, confidence not recorded.
  - readme: https://github.com/fsnotify/fsnotify (fetched 2026-08-28T04:10:44.222679+00:00, sha 1863a58b9dfe)
- Data as of 2026-08-30T08:39:29.467469+00:00.
