A curated list of awesome Go tools. Inspired by awesome-go.
The most import is The go tools must be an command line tool, not lib
Please take a quick gander at the contribution guidelines first. Thanks to all contributors.
If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!
Libraries for package and dependency management.
- colorgo - A wrapper around
go
command for colorizedgo build
output. - gigo - PIP-like dependency tool for golang, with support for private repositories and hashes.
- godep - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies.
- gom - Go Manager - bundle for go.
- goop - A simple dependency manager for Go (golang), inspired by Bundler.
- gopm - Go Package Manager
- gpm - Barebones dependency manager for Go.
- johnny-deps - Minimal dependency version using Git
- nut - Vendor Go dependencies
- panicparse - Groups similar goroutines and colorizes stack dump.
- VenGO - create and manage exportable isolated go virtual environments
Libraries for development servers.
- algernon - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber.
- Caddy - Caddy is an alternative, HTTP/2 web server that's easy to configure and use.
- consul - Consul is a tool for service discovery, monitoring and configuration.
- devd - A local webserver for developers
- etcd - A highly-available key value store for shared configuration and service discovery.
- nsq - A realtime distributed messaging platform
- yakvs - A small, networked, in-memory key-value store.
Libraries for parsing and manipulating texts.
Tools for error-checking, linting, etc.
- doc - Go documentation tool that produces an alternative doc format.
- dupl - A tool for code clone detection.
- errcheck - Errcheck is a program for checking for unchecked errors in Go programs.
- gcvis - Visualise Go program GC trace data in real time.
- Go Metalinter - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form.
- goast-viewer - Web based Golang AST visualizer.
- GoCover.io - GoCover.io offers the code coverage of any golang package as a service.
- goimports - Tool to fix (add, remove) your Go imports automatically.
- GoLint - Golint is a linter for Go source code.
- Golint online - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
- goreturns - Adds zero-value return statements to match the func return types.
- gostatus - A command line tool, shows the status of repositories that contain Go packages.
- validate - Automatically validates struct fields with tags.
Tools for testing and dependencies.
- aptly - aptly is a Debian repository management tool
- awsenv - a small binary that loads Amazon (AWS) environment variables for a profile
- Boom - Boom is a tiny program that sends some load to a web application.
- bosun - Time Series Alerting Framework
- dogo - Monitoring changes in the source file and automatically compile and run (restart).
- Dropship - A tool for deploying code via cdn.
- EasySSH - Golang package for easy remote execution through SSH and SCP downloading.
- Go Metrics - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics.
- go-selfupdate - Enable your Go applications to self update.
- gobrew - gobrew lets you easily switch between multiple versions of go.
- godbg - Web-based gdb front-end application.
- Gogs - A Self Hosted Git Service in the Go Programming Language.
- gonative - Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages.
- gox - A dead simple, no frills Go cross compile tool.
- goxc - build tool for Go, with a focus on cross-compiling and packaging.
- hk - Heroku command-line interface in Go.
- kala - Simplistic, modern, and performant job scheduler.
- lstags - manipulates Docker images across different registries.
- Mora - REST server for accessing MongoDB documents and meta data.
- ostent - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB
- Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
- Rodent - Rodent helps you manage Go versions, projects and track dependencies.
- s3gof3r - A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.
- Vegeta - HTTP load testing tool and library. It's over 9000!
- webhook - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server
- Wide - A Web-based IDE for Teams using Golang.
Tools that did not fit into any above categories.
- boxed - Dropbox based blog engine
- Circuit - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications.
- Comcast - Simulate bad network connections
- confd - Manage local application configuration files using templates and data from etcd or consul.
- Docker - An open platform for distributed applications for developers and sysadmins.
- fleet - A Distributed init System.
- Go Package Store - An app that displays updates for the Go packages in your GOPATH.
- gocc - Gocc is a compiler kit for Go written in Go.
- Gor - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.
- hugo - A Fast and Modern Static Website Engine
- Postman - Command-line utility for batch-sending email.