- Click the
Use this template
button, then clickCreate a new repository
to create a new repo with the same file structure as this template. - There are a number of comments marked with
TODO
throughout the repo; go through them all and update as appropriate, then remove theTODO
comment. - Replace all instances of
backend-go-repo-template
with the name of the new repo. - Update this
README.md
- Profit.
Before starting development work on this repo, pre-commit
must be installed.
In order to do so, run the command make init-pre-commit
from the repository root.
Once this is done, the following checks will be performed on every commit to the repo and must pass before the commit is allowed:
- check-yaml - Checks YAML files for errors
- check-merge-conflict - Ensures there are no merge conflict markers
- end-of-file-fixer - Adds a newline to end of files
- trailing-whitespace - Trims trailing whitespace
- no-commit-to-branch - Ensures commits are not made directly to
main
- go-fmt - Runs
gofmt
- go-imports - Runs
goimports
- golangci-lint - run
golangci-lint run ./...
- go-critic - run
gocritic check ./...
- go-build - run
go build
- go-mod-tidy - run
go mod tidy -v
Will detect any potential secrets or sensitive information before allowing a commit.
- Test variables that may resemble secrets (random hex strings, etc.) should be prefixed with
test_
- The inline comment
pragma: allowlist secret
may be added to a line to force acceptance of a false positive