One of my favorite tools I use almost daily is
inotify(7) based task runner. When combined with
find or your favorite "rewrite it in Rust" implementation, it becomes a powerful tool for tightening the feedback loop during development. I throw it in a neovim terminal buffer off to the side and hack away.
fd -g '*.py' | entr -c pytest tests/
fd -g '*.py' | entr -c mypy /_
fd -g '*.py' | entr -c go test ./...
fd -g '*.rs' | entr -c cargo test
Usually only a problem for Python, but if executing all tests in PWD are too slow, I replace
/_/folder/nothing with a specific file. It's easy enough to ctrl-c the entr process and modify the end.
I could probably combine it with
parallel for better performance in some situations if the test runner doesn't already offer it, but I don't think it's really necessary.