skuid-grunt

Yep, exactly.  The environment variables would allow you to build grunt targets based on purpose rather than environment/purpose combo.

dmc has worked out really well for me thus far, although I’ll admit to just starting to make the jump over to it.

dmc grew out of grunt-ant-sfdc (https://github.com/kevinohara80/grunt-ant-sfdc) which offered hardcoded and environment variable style configuration.