entr - a utility for running arbitrary commands when files change. Uses kqueue(2) to avoid polling. Reads a list of files provided on STDIN and runs the supplied command if any of them are modified.