Skip to content

habedi/template-go-project

Repository files navigation

Go Project Template

Template Go Project Logo

Tests Lints Linux Build Windows Build MacOS Build
Go Version Go Report Card Go Reference Release Total Downloads
Code Coverage CodeFactor Docs License

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.

Features

  • 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

Getting Started

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

Contributing

See CONTRIBUTING.md for details on how to make a contribution.

License

This project is licensed under the MIT License (LICENSE or https://opensource.org/licenses/MIT)