lets task runner
Created on 2021-11-25T19:11:36-06:00
Task runner which accepts definitions and meta-data in YAML. Runs whatever shell you configure it to run.
Optionally allows command line parameters to tasks. This uses "docopt" notation to indicate which parameters are allowed.
One or more files can be specified to checksum. Lets will then record the hashes of those files and pass whether or not the checksums match to the shell via an environment variable. This can be used to determine if a potentially expensive update task needs to be run or not.
January 2023
Still using this a year later (2022-2023.)
December 2023
Still using this for projects. Looking in to giving `just` a try. I overlooked it because it is written in Rust and does not have the checksum computing features.
I still dislike that YAML is used to describe jobs. The syntax is annoying and it often means having to pull up the reference manual when writing a new job file. But the software works, lets me use the fish shell for scripts, and I have not had a real impetus to change. Does not appear in the Alpine packages and I never got around to adding one there. Alpine has `taskfile` which is another Go+YAML project, one which uses its own version of a shell and has a lot more complexity than lets.