entr is a critical part of my workflow these days. I have set up an alias `w` which watches a specific file and I have set vim to touch that file every time I save. This works for basically all projects with no setup.
Example `w cargo test` runs my tests on save. `w systemctl reload nginx` when I am trying out changes to `nginx.conf`, `w gitlab-runner exec docker build` or `w d eval 'cargo build --release && time target/release/solve' games/micheal-fogleman.txt` to build and benchmark my program on every save.
It is incredibly simple and useful for just about anything.