Create a tool for automating the steps required to build a javascript project.
A sample project is supplied with coffeescript files. These need to be compiled to javascript, then minified and concatenated. The build tool should be able accept generalised instructions for carrying out each of these steps.
Where possible the build tool should be lazy, only running steps if they produce fresh output.