Grunt
A JavaScript task runner
...With literally hundreds of plugins to choose from, you can use Grunt to automate just about anything with a minimum of effort. If someone hasn't already built what you need, authoring and publishing your own Grunt plugin to npm is a breeze. Many of the tasks you need are already available as Grunt Plugins, and new plugins are published every day. While installing grunt is simple, it's slightly more involved to get it running on your project.