Skip to content

This repository contains common scripts that I used over all projects

Notifications You must be signed in to change notification settings

obalunenko/go-tools

Repository files navigation

Latest release artifacts

Go Tools

This repository, go-tools, includes a compilation of common tools used across various projects by the repository owner.

These accompany a Docker image which you can swiftly pull using the following command:

docker pull ghcr.io/obalunenko/go-tools:latest

Contents

Go base image

The base image is built on top of the official image golang:1.23.1-alpine3.20 and includes the following tools:

Below is a full manifest of the tools available
Tool Version Description
go-enum v0.6.0 An enum generator for go
enumer v1.1.2 A Go tool to auto generate methods for your enums
gocov v1.1.0 Coverage testing tool for The Go Programming Language
svu v2.2.0 Semantic Version Util
swagger v0.31.0 Client/Server from OpenAPI docs generation tool
golangci-lint v1.60.3 Fast linters Runner for Go
goreleaser v2.2.0 Deliver Go binaries as fast and easily as possible
gocov-html v1.4.0 Make pretty HTML output from gocov, a coverage testing tool for Go
goveralls v0.0.12 Go integration for Coveralls.io continuous code coverage tracking system.
tparse v0.14.0 CLI tool for summarizing go test output. Pipe friendly. CI/CD friendly.
coverbadger v1.4.0 Generate coverage badge images for Markdown files using Go
goreadme v1.4.2 Generate readme file from Go doc
goose v3.22.0 A database migration tool
swag v1.16.3 Automatically generate RESTful API documentation with Swagger 2.0 for Go
pkgsite v0.0.0-20240905030440-6b577b411ef5 Pkgsite extracts and generates documentation for Go programs. It runs as a web server and presents the documentation as a web page.
fiximports v0.24.0 The fiximports command fixes import declarations to use the canonical import path for packages that have an "import comment" as defined by https://golang.org/s/go14customimport.
goimports v0.24.0 Command goimports updates your Go import lines, adding missing ones and removing unreferenced ones
stringer v0.24.0 Stringer is a tool to automate the creation of methods that satisfy the fmt.Stringer interface.
govulncheck v1.1.3 Govulncheck reports known vulnerabilities that affect Go code.
gotestsum v1.12.0 'go test' runner with output optimized for humans, JUnit XML for CI integration, and a summary of the test results.
gofumpt v0.7.0 A stricter gofmt

How to Use

The go-tools Docker image is engineered to allow for seamless implementation with your code.

  • Pull the image
  • Run the image with your code mounted as a volume
  • Execute the desired commands.

This container is available at go-tools container on GitHub Packages