Skip to content

devantler-tech/go-template

Go Template

License Go Report Card Go Reference

A minimal, batteries-included Go template for new projects. Skip the boilerplate — start from a clean, idiomatic scaffold with linting, CI/CD, releases, and agent tooling already wired up.

✨ What's included

  • Idiomatic scaffold — a no-op main.go plus the conventional cmd/, internal/, and pkg/ layout, ready for your first package.
  • Linting & formattinggolangci-lint v2 (formatters + default: all linters) in CI, with MegaLinter covering everything else. A pre-commit hook runs golangci-lint formatting (and mockery mock generation) locally on commit.
  • CI/CD — a required-checks workflow on pull requests and the merge queue, plus a GoReleaser release pipeline (cd.yaml) triggered on v* tags.
  • Coveragego test coverage reported via GitHub Code Quality.
  • Dependency managementDependabot keeps Go modules and pinned GitHub Actions current (daily).
  • Agent-readyAGENTS.md conventions and a .claude/skills/maintain card so the autonomous Daily AI Assistant (and any agentic tool) can maintain the repo.

The minimum Go version is declared in go.mod — the single source of truth.

🚀 Use this template

Create a new repository from the template with the GitHub CLI:

gh repo create my-project --template devantler-tech/go-template --public --clone
cd my-project

Or click Use this template on the repository page.

Then point the module at your own path:

go mod edit -module github.com/<you>/my-project
go mod tidy

📝 Usage

Add a dependency

go get example.com/awesome-lib@latest

Build your project

go build ./...

Run your project

go run ./<project>

Test your project

go test ./...

🤖 Maintenance

This template is maintained by an autonomous AI assistant. The conventions, validation commands, and contribution workflow live in AGENTS.md.

About

A simple Go template for new projects.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages