mstrap (short for "machine bootstrap") is a tool for provisioning and managing a development environment. It is a convention-over-configuration tool, which aims to leverage existing ecosystem tools to provide a one-command provisioning experience for a new machine.
The approach is inspired by the chirpstrap
tool built at Iora Health,
but is built and maintained in my personal capacity and is not associated with
Iora Health.
- Run on a new machine with no development tools installed
- Leverage existing ecosystem tools, when possible
- Avoid vendoring or overriding tool defaults
- Hook into standard scripts-to-rule-them-all
- Currently hooks into a project's
script/bootstrap
andscript/setup
- Currently hooks into a project's
mstrap
is wholly centered around proving a no-runtime-dependency (other than
normal system libraries) approach and will always remain a tool designed around
being possible to run immediately after taking a new machine out of its box, and
finishing the OS setup.
Please refer to the documentation site for documentation
- Install dependencies
- macOS:
brew install crystal meson libevent pcre2 openssl
- Debian/Ubuntu:
- Install Crystal
sudo apt install meson libevent-dev libpcre2-dev libssl-dev patchelf
git clone git@github.com:maxfierke/mstrap.git
make
bin/mstrap
will be created
- Fork it (https://github.com/maxfierke/mstrap/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
- Max Fierke - creator and maintainer