The following sections describe all options that are currently available for go/template for templating. The options are divided into base options and extension options. Base options are needed for the minimal base template and are mandatory in any case. The extension options on the other hand enable optional features in the template such as gRPC support or open source lincenses.
Name | Description |
---|---|
projectName |
Name of the project |
projectSlug |
Technical name of the project for folders and names. This will also be used as output directory. |
projectDescription |
Description of the project used in the README. |
appName |
The name of the binary that you want to create. Could be the same as your "projectSlug" but since Go supports multiple apps in one repo it could also be sth. else. For example if your project is for some API there could be one app for the server and one CLI client. |
moduleName |
The name of the Go module defined in the "go.mod" file. This is used if you want to "go get" the module. Please be aware that this depends on your version control system. The default points to "github.com" but for devops for example it would look sth. like this "dev.azure.com/org/project/repo.git" |
Name | Description |
---|---|
license |
Set an OpenSource license. Unsure which to pick? Checkout Github's https://choosealicense.com/ Options: 0: Add no license 1: MIT License 2: Apache License 2.0 3: GNU AGPLv3 4: GNU GPLv3 5: GNU LGPLv3 6: Mozilla Public License 2.0 7: Boost Software License 1.0 8: The Unlicense |
author |
License author |
codeowner |
Set the codeowner of the project |
Name | Description |
---|---|
provider |
Set an CI pipeline provider integration Options: 0: No CI 1: Github 2: Gitlab 3: Azure DevOps |
Name | Description |
---|---|
base |
Base configuration for gRPC |
grpcGateway |
Extend gRPC configuration with grpc-gateway |