go_module
A very opiniated golang module template that fits my own taste and workflow
Features
These are the things you get if you use this template:
- Clean and structured folder layout following the conventions
- Support for logging using
aspirador
- Support for build, share, and run with
docker
- Support for environment config with
env
- Support for different type of modules: library, cli app and web service
- Support for CORS (in case of web service)
- Support for request throttling (in case of web service)
- Support for private dependencies
- Linting with
golangci-lint
- Git Client hooks to enforce codestyle before pushing changes
Usage
mason make go_module --name <package_name> --description <package_description> --author <package_author> --type <library|cli|webService> --license <MIT|GNUGPLV3|none> --modulePath <golang_module_path> --dependabot <true|false> --openSource <true|false>