A collection of Makefile recipes for... all sorts of dev things that I use personally or profesionally with the aim to improve development experience when working with various dev ecosystems and tools. 🚀
Wait... but why? 🤨
Well... because make commands are short and easy to remember. They can be autocompleted. And you can document them easily taking the approach of self-documenting makefiles.
So I usually prefer running make test, make apply, make whatnot over ./gradlew clean test ..., or terraform apply ..., or docker-compose up ... etc. 😏
Also, because... why not? 🤓
The easiest way I found to use this project is through cloning it as a git submodule, and then creating a symlink to the necessary makefile, for example:
# add submodule
git submodule add https://github.com/serpro69/devex-makefile.git
# create a symlink
ln -s devex-makefile/terraform-gcp/Makefile Makefile
# test it out
make helpUsing a git submodule makes it easier to pull latest changes and fixes, if you're interested in those.
You can, of course, just download the raw version of Makefile and add it directly to your project. The choice, as they say, is yours.
Each directory should usually contain a readme with usage details for a given makefile. If not - do try to run make help.
pulumi-gcp- recipes for working with Pulumi and the Google Cloud Platform (gcs) backend for state filesterraform-gcp- recipes for working with Terraform and the Google Cloud Platform (gcs) backend for state filestofu- recipes for working with OpenTofu using the local backend for state filestofu-gcp- recipes for working with OpenTofu and the Google Cloud Platform (gcs) backend for state files
This code is licensed under the MIT License.
(c) Særgeir
So, you've made it this far 🤓 Congrats! 🎉 I've made these makefile to simplify my own workflows, but I'm happy if you've found any of this code useful as well. If you want to contribute anything: fixes, new commands to existing makefiles (or new makefiles altogether), customizable configuration, documentation; like, literally, anything - you should definitely do so.
Steps:
- Open a new issue (Totally optional. I'll accept PR's w/o having an open issue, so long as it's clear what the change is all about.)
- Fork this repository 🍴
- Install dependencies (I guess you already have
makeinstalled? 🤨) - Bang your head against the keyboard from frustration 😡😤🤬 (Who said coding was easy?)
- Open a pull request once you're finished 😮💨
- Profit 🤑