go/template
go/template
provides a blueprint for production-ready Go project layouts.
Credit to Renée French for the Go Gopher logo
Credit to Go Authors for the official Go logo
Batteries included
- Makefile for most common tasks
- optimized Dockerfile
- golangci-lint default configuration
- pre-push git hook to ensure no linting issues
- gRPC support
- folder structure based on github.com/golang-standards/project-layout
- enforced default packages
go.uber.org/zap
for logginggo.uber.org/automaxprocs
to be safe in container environments (see this article for more information)
Usage
Install
go install github.com/schwarzit/go-template/cmd/gt@latest
Initialize your repo from the template
Use the template to generate your repo:
gt new
Initialize the project:
cd <your project>
make all
Options
To get an overview of all options that can be set for the template you can take a look at the options definition file, run the CLI or check out the testing example values file.
Maintainers
Name | |
---|---|
@brumhard | [email protected] |
@linuxluigi | [email protected] |
@danielzwink | [email protected] |
Contribution
If you want to contribute to go/template
please have a look at our contribution guidelines.