I stumbled into Grunt a while ago but only recently I got a chance to play around with it and integrate it into a NodeJS project.
Writing custom task is also pretty simple and straight forward, Especially with the grunt utilities. Here is an example of a custom plugin that performs Git commits:
Full plugin can be found here
* Notice how simple it is to spawn command line (external) tasks.
Another point in favor of Grunt is the good documentation & tutorial that have become quite rare in the JS Jungle.
To conclude this short overview – I will defiantly use Grunt in future client JS and Node JS projects.