Hi @brian_cloutier,
A couple of things that come to mind (although I should probably flesh out a section on the README for this):
* Auto-Generated Help From comments - There are patterns for adding a 'help' target in make that generates light documentation for the targets - I maintain a gist for such a pattern in a different github account.
* Per-Command Shell - bash, python, ruby, you decide !
* Per-Command Options/flags - With documentation!
* Positional Arguments - By default, make treats all non-variable arguments as targets, so you can't say "make action argument"
* Commands Executed in One Sub-Shell - By default make executes each line of a recipe in a separate sub-shell, requiring you to use '\' to link multiple lines into a single recipe.
No doubt make is useful for this, hence why all my dev friends use it, but make was not designed to manage non-build-related targets, and has some cracks in it with regards to that use case.
I think (hope) run can prove useful as a dedicated tool for this use case.
Thanks for the question - I hope that helps - Please let me know if you have any other comments or questions.