Why not Makefile ?

Make is not actually that great of a task runner, but the syntax is easy and its ubiquitous.

I created a tool that allows you to define tasks in the easy make-style, but is purpose-build to be a task runner:

* https://github.com/TekWizely/run