// readme

πŸ“ Service

Template for a typical service written on Go.

πŸ›« Quick start

$ make setup
$ make help

$ make find-todos
$ make test lint
$ TIMEOUT=5s make test-with-coverage
$ alias run=./Taskfile
$ run refresh
$ run help

$ run docs # === `run docs install -- build -- start`
$ run docs npm ci
$ run docs npm i nextra@latest

$ run tools go generate tools.go
$ run tools golangci-lint --version -- mockgen --version
$ run which goimports golangci-lint govulncheck mockgen
$ make tools
$ source bin/activate

$ which goimports
$ goimports -local $(go list -m) -w ./...
$ make go-1.19 # or go-1.20, etc.
/src# make go-env 2>/dev/null | grep GOVERSION
# GOVERSION:   1.19.10
/src# make test

πŸ’‘ Idea

Define a powerful template that quickly creates a new Go service. Not only does it provide a starting point for new projects, but it comes equipped with pre-configured ci/cd and inventory.

$ server up &
$ client call

πŸ† Motivation

At OctoLab, we want to start new projects faster using best practices with a predefined structure and focusing on core ideas implementation rather than wasting time…