Idempotent Bash setup scripts made easy.
See the Example directory.
It means that applying the same function multiple times is the same as applying it once. In other words, don't run code if the effect of the code is already present.
For setup scripts, this means that when you re-run your setup script, it only runs the commands that whose conditions are not yet satisfied thereby saving time on potentially long-running actions.
This project was inspired by Ansible and Bash Booster. I like the idea of idempotent setup scripts, but I needed more reporting of status to log files so I can debug particularly tricky environments.
Puppet and Chef are other popular alternatives for writing setup scripts, but I haven't used them extensively.
Licensed under the MIT License.