Mage is “a make/rake-like build tool using Go.”
The initial idea to get Mage in place was twofold:
- We wanted a cross-platform system like Makefile that would be stupid-easy for the dev team to use.
- We also wanted a foundation we could extend to address needs we haven’t thought of yet.
That was it, pretty simple. Cross-platform and extendable.
We quickly added a series of pre-commit hooks, with help from Husky, to address the recurring merge request (pull request) issues - saving valuable time for all involved.
While not the shortest command,
go run mage.go <target>, is easily supportable across all operating systems Go supports.
Mage has turned out to be a great cross-platform solution for task scripting.