Of all of the new tools that I've picked up using for development in the past six months, there is one that has come to stand above the others for its nearly universal utility. That tool is Guard.
Guard is a RubyGem but don't let that fool you into thinking it's only
useful for Ruby projects. Guard is essentially an
everything. It provides a general purpose set of tools for watching
when files are changed in your project and taking action based on it.
You can use it to do just about anything, but common uses will include: