Skip to content

wwmoraes/maker

Repository files navigation

maker

GNU make snippets manager

Status GitHub Issues GitHub Pull Requests License

Docker Image Size (latest semver) Docker Image Version (latest semver) Docker Pulls

Maintainability Test Coverage


📝 Table of Contents

🧐 About

Maker provides CLI tools to manage and use GNU make-compliant snippet files, which contain rules to deal with specific domains such as programming language toolchains or helper tools as docker, linters, dependency injectors (google wire, uber fx, etc) that are needed during any stage of a repository management.

Those snippet files rely on a convention-over-configuration style that uses variables that can be either set before the include happens or overridden later on. They also should not be modified directly on the client repositories, as they are meant to be updated with the upstream version.

Why?

  • GNU make is true to the Unix philosophy: it does one thing, and does it well (since 1976!)
  • newer language tool kits (2010+ at least) often include their own tool chain, which adds extra commands and flags to learn and repeat yourself when using them
  • convention-over-configuration for common/best practices, which speed up project creation, maintenance and usage

🏁 Getting Started

Clone the repository and use make/make all to build, lint, test and generate coverage information.

To contribute please make sure you have installed the pre-commit hooks before committing.

Prerequisites

For building locally:

  • Golang 1.15+
  • GNU Make (optional)

For contributing:

  • pre-commit tool
  • golangci-lint binary on path
  • hadolint binary on path

Install pre-commit using your package manager and then run pre-commit install once to configure the repository hooks. You can then commit normally.

🔧 Running the tests

All tests can be run using make test. Coverage is done through make coverage.

🎈 Usage

Add notes about how to use the system.

🔧 Built Using

🧑‍💻 Authors

🎉 Acknowledgements

  • Hat tip to anyone whose code was used
  • Inspiration
  • References

About

make-all-the-things Makefile includes manager

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published