devex-makefile¶
A collection of opinionated Makefile recipes for all sorts of dev things — built to improve the developer experience when working with various ecosystems and tools. 🚀
Wait… but why? 🤨
Because make commands are short and easy to remember, they autocomplete, and
they document themselves using the
self-documenting makefile
approach. Running make apply or make plan is simply nicer than remembering
the full terraform apply -var-file=… -lock=true … incantation every time. 😏
Also, because… why not? 🤓
Documentation¶
Full usage docs live at https://serpro69.github.io/devex-makefile/.
Quick start¶
Every makefile wraps a real tool with sane defaults, so your day-to-day workflow collapses down to a handful of memorable commands:
make init # prepare the working directory / backend
make plan # preview changes
make apply # apply changes
make help # see everything the makefile can do
The easiest way to use a makefile is to add this repo as a git submodule and symlink the one you want:
git submodule add https://github.com/serpro69/devex-makefile.git
ln -s devex-makefile/terraform-gcp/Makefile Makefile
make help
See the Installation guide for details (including the raw-download option).
Contents¶
Infrastructure as Code¶
| Makefile | Tool | State backend | Docs |
|---|---|---|---|
terraform-gcp |
Terraform | Google Cloud Storage | ↗ |
tofu-gcp |
OpenTofu | Google Cloud Storage | ↗ |
tofu |
OpenTofu | Local (encrypted with SOPS) | ↗ |
pulumi-gcp |
Pulumi | Google Cloud Storage or local | ↗ |
License¶
This code is licensed under the MIT License.
Contribute¶
I made these makefiles to simplify my own workflows, but I'm happy if you find them useful too. Fixes, new commands, new makefiles, customizable configuration, documentation — literally anything is welcome.
- Open an issue (optional — PRs without an issue are fine, as long as the change is clear).
- Fork this repository 🍴
- Make your change (you already have
makeinstalled, right? 🤨). - Open a pull request. 😮💨
- Profit. 🤑