mstrap
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.
Aims
- 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/bootstrapandscript/setup
- Currently hooks into a project's
- Eventually: leverage
mrubyfor user-defined extensions written in Ruby, such as environment migrations.
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.
Installation & Usage
Please refer to the documentation site for documentation
Development
- Install dependencies
- macOS:
brew install crystal meson libevent pcre openssl - Debian/Ubuntu:
- Install Crystal
sudo apt install libevent-dev libpcre3-dev libssl-dev patchelf
git clone [email protected]:maxfierke/mstrap.gitmakebin/mstrapwill be created
Contributing
- 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
Contributors
- Max Fierke - creator and maintainer