{"repo":"ekristen/go-project-template","free":true,"listed":false,"github":"https://github.com/ekristen/go-project-template","clone":"git clone https://github.com/ekristen/go-project-template.git","description":"Opinionated Go Project Template","language":"Go","stars":13,"topics":["automated","golang","goreleaser","mkdocs-material","opinionated","renovate","template"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"Go Project Template This is an opinionated go project template to use as a starting point for new projects. Features - Builds with GoReleaser - Automated with GitHub Actions - Signed with Cosign (providing you generate a private key) - Linting with golangci-lint - Automated with GitHub Actions - Builds with Docker - While designed to use goreleaser, you can still just run docker build - Apple Notary Signing Support - Opinionated Layout - Never use internal/ folder - Everything is under pkg/ folder - Commits must meet Conventional Commits - Automated with GitHub Actions (commit-lint) - Automatic Dependency Management with Renovate - Automatic Semantic Releases - Documentation with Material for MkDocs - API Server Example - Uses Gorilla Mux (yes it's been archived, still the best option) - Stubbed out Go Tests ( note: they are not comprehensive) Opinionated Decisions - Uses init functions for registering commands globally. - This allows for multiple main package files to be written and include different commands. - Allows the command code to remain isolated from each other and a simple import to include the command. Multi-Platform Builds This project is designed to build for multiple platforms, including macOS, Linux, and Windows. It also supports multiple architectures including amd64 and arm64. The goreleaser configuration is set up to build for all platforms and architectures by default. It even supports pushing multi-architecture docker manifests by default. Some knowledge ","default_branch":null,"files":null,"tree":[],"storefront":"/r/ekristen","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ekristen/go-project-template/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}