A cross-platform file change monitor with multiple backends: Apple OS X File System Events API, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify and a stat()-based backend.
The interface is similar to petoem/inotify.cr but I needed something that would work on osx also. Instead of learning the internals in this case I took the binding approach.
The crystal-fswatch shard is already already ready for MT. The fswatch required a dedicated thread AFAIK, so actually it was harder to make it work on ST than MT .