Why run bower as a shell program in grunt instead of defining it in npm? It would remove the dependency for grunt-shell and grunt could be used just to build the dist package and run tests (a devDependencies instead of a dependency)