Give npm scripts a chance
blog.cesarandreu.com
blog.cesarandreu.com
The benefit is: distribute via npm
The cost is: (lots of) extra typing for common commands
When I'm in my terminal (messing with Docker, changing permissions, running scripts, etc.), I run a lot of aliased commands, so the cost is much higher than the benefit for me.
Distribution via npm isn't that much better than committing a bash script to a git repo and having everyone on the team add it to .bashrc (or whatever their equivalent is). npm is just an extra layer for something that bash supports natively.
I have enough trouble dealing with folks who do Mac only stuff (as a Linux user) to not be sensitive to those concerns.
Your dev environment isn't the only dev environment.
It also means that if you decide to contribute to a random project, you can simply run "npm test" to make sure your changes are valid. No need to screw around installing mocha or karma or whatever test framework the project is using.
You can safely assume that everyone that's using node will have npm, so it makes sense to keep tasks contained in npm.
You can safely assume that everyone using node will have npm, so keeping scripts contained within package.json is simpler.
If someone decides to contribute to your project they don't have to worry about setting anything up, they can run "npm test" or whatever tasks.