How should I go about rewriting Makefiles in terms of Gruntfile.js?

I'd like to make my Node projects a bit more idiomatic, making use of popular Node technologies like grunt. How should I rewrite my dependent shell tasks in my Makefiles in something like Gruntfile.js? There doesn't seem to be clear documentation on how to do this.

Is there another Node build technology I should be using? I would just write one-liner scripts in package.json, but npm doesn't have a way to specity that tasks dependent on one another.

Everything in grunt are tasks. You can use a task like grunt-shell to run your shell commands.

There's an open ticket for better docs about this.