bashful
Use a yaml file to stitch together commands and bash snippits
...The idea is that your bash automation should be “quiet and shy-like” rather than verbose and messy, so bashful provides a structured way to describe tasks (commands, downloads, nested operations) in a YAML file, and then run them with a nice terminal UI showing progress bars, logs, ETAs, etc. It supports features such as downloading scripts, bundling sets of commands and resources, tagging tasks, running subsets via tags, logging both stdout and stderr, and error-handling policies (e.g., which commands should halt execution on failure). The tool is cross-platform (supports Linux, macOS, Windows), installable via Go or via package managers, and licensed under MIT.