Beholder
The Clojure directory watcher from Krell as a standalone library.
Install / Use
/learn @nextjournal/BeholderREADME
Beholder
The Clojure directory watcher from krell as a standalone library.

Built using the Java library directory-watcher. From its README:
A directory watcher utility for JDK 8+ that aims to provide accurate and efficient recursive watching for Linux, macOS and Windows. In particular, this library provides a JNA-based WatchService for Mac OS X to replace the default polling-based JDK implementation.
The core directory-watcher library is designed to have minimal dependencies; currently it only depends on slf4j-api (for internal logging, which can be disabled by passing a NOPLogger in the builder) and jna (for the macOS watcher implementation).
Initial development by David Nolen.
Usage
Pass a callback function and paths to watch.
(require '[nextjournal.beholder :as beholder])
(def watcher
(beholder/watch prn "src"))
(beholder/stop watcher)
Whenever a file changes, your callback function will be invoked with a
map with :type and :path keys. Possible values for :type are
:create, :modify, :delete or :overflow.
License
Copyright © 2021 Nextjournal
Distributed under the EPL-1.0 License.
Related Skills
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
