Skip to content

MacroPower/go_template

Repository files navigation

go_template

A template for my Go projects.

Features

  • Linting and formatting (golangci-lint v2, prettier).
  • Reproducible dev environment (devbox), auto-activated with direnv.
  • Dagger-based CI: every gate runs through the local ci toolchain (dagger call ci <task>), composing shared toolchains from go.jacobcolvin.com/x (devbox, goreleaser, security, zizmor).
  • Conventional-commit enforcement (commitlint + lefthook git hooks).
  • Build and release automation (goreleaser binaries plus Dagger-native multi-arch images with cosign keyless signing).
  • Cobra command-line interface with fang; structured logging and profiling from go.jacobcolvin.com/x.
  • Taskfile with format, lint, test, check, and build targets.

Install

task build          # cross-compile snapshot binaries to ./dist via Dagger
go install ./cmd/go_template

Usage

go_template hello
go_template version

Development

devbox install      # provision the toolchain (or run `direnv allow`)
task check          # local gate: lint + test
task check:all      # everything CI runs (adds the Dagger-backed gates)

About

A template for my Go projects.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages