This is a generic project template for Go projects. It provides a minimalistic project structure with pre-configured GitHub Actions, Makefile, and example configuration files for a few popular development tools. It is inspired by the recommendations in golang-standards/project-layout. I share it here in case it might be useful to others.
- Minimalistic project structure
- Pre-configured GitHub Actions for testing, building the binaries, and linting
- Makefile for managing the development workflow and tasks like formatting, testing, linting, etc.
- Example configuration files for popular tools like
golangci-lint
- GitHub badges for tests, builds, code quality and coverage, documentation, etc.
- GitHub release workflow for creating releases and publishing binaries
- Code of Conduct and Contributing Guidelines
Check out the Makefile for available commands to manage the development workflow of the project.
# Install system dependencies (Go and GNU Make)
sudo apt install golang-go make
# See all available commands and their descriptions
make help
See CONTRIBUTING.md for details on how to make a contribution.
This project is licensed under the MIT License (LICENSE or https://opensource.org/licenses/MIT)