93 Resources
octocov is a tool for collecting code metrics (code coverage, code to test ratio and test execution time).
goreporter A Golang tool that does static analysis, unit testing, code review and generate code quality report. This is a tool that concurrently runs
golangci-lint Fast linters runner for Go golangci-lint is a fast Go linters runner. It runs linters in parallel, uses caching, supports yaml config, h
fastdiv Fast division, modulus and divisibility checks for divisors known only at runtime via the method of: "Faster Remainder by Direct Computation:
reviewdog - A code review dog who keeps your codebase healthy. reviewdog provides a way to post review comments to code hosting service, such as GitHu
go-gitlab A GitLab API client enabling Go programs to interact with GitLab in a simple and uniform way NOTE Release v0.6.0 (released on 25-08-2017) no
gocloc A little fast cloc(Count Lines Of Code), written in Go. Inspired by tokei. Installation $ go get -u github.com/hhatto/gocloc/cmd/gocloc Usage
Catalyst Speed up your reactions Website - The Catalyst Handbook (Documentation) - Try online (user: bob, password: bob) Catalyst is an incident respo
golines Golines is a golang formatter that shortens long lines, in addition to all of the formatting fixes done by gofmt. Motivation The standard gola
Go Report Card A web application that generates a report on the quality of an open source go project. It uses several measures, including gofmt, go ve
go-critic Highly extensible Go source code linter providing checks currently missing from other linters. There is never too much static code analysis.
Sloc Cloc and Code (scc) A tool similar to cloc, sloccount and tokei. For counting physical the lines of code, blank lines, comment lines, and physica
revive Fast, configurable, extensible, flexible, and beautiful linter for Go. Drop-in replacement of golint. Revive provides a framework for developme
goconst Find repeated strings that could be replaced by a constant. Motivation There are obvious benefits to using constants instead of repeating stri
reviewdog - A code review dog who keeps your codebase healthy. reviewdog provides a way to post review comments to code hosting service, such as GitHu
errcheck errcheck is a program for checking for unchecked errors in go programs. Install go get -u github.com/kisielk/errcheck errcheck requires Go 1
The advanced Go linter Staticcheck is a state of the art linter for the Go programming language. Using static analysis, it finds bugs and performance
GoKart is a static analysis tool for Go that finds vulnerabilities using the SSA (single static assignment) form of Go source code.
A reference for the Go community that covers the fundamentals of writing clean code and discusses concrete refactoring examples specific to Go.
Clean Architecture checker for Golang go-cleanarch was created to keep Clean Architecture rules, like a The Dependency Rule and interaction between mo
GoPlantUML PlantUML Class Diagram Generator for golang projects. Generates class diagram text compatible with plantuml with the information of all str
PHP Parser written in Go This project uses goyacc and ragel tools to create PHP parser. It parses source code into AST. It can be used to write static
tickgit ๐๏ธ tickgit is a tool to help you manage latent work in a codebase. Use the tickgit command to view pending tasks, progress reports, completio
๐๐tfsec uses static analysis of your terraform templates to spot potential security issues.
gopatch is a tool to match and transform Go code. It is meant to aid in refactoring and restyling.
depth is tool to retrieve and visualize Go source code dependency trees. Install Download the appropriate binary for your platform from the Rele
GERRITFMT This is a style verifier intended to be used with the Gerrit checks plugin. HOW TO USE Install formatters: go install github.com/bazelbuild/
Coca - toolbox for system refactoring and analysis Coca is a toolbox which is design for legacy system refactoring and analysis, includes call graph,
GoAst Viewer Golang AST visualizer. Demo GoAst Viewer Demo Usage You just need to run a http server and open your browser to index.html Installation T
perfguard This tool is a work in progress. It's not production-ready yet. perfgu
structslop Package structslop defines an Analyzer that checks struct can be re-arranged fields to get optimal struct size.
go-mod-outdated An easy way to find outdated dependencies of your Go projects. go-mod-outdated provides a table view of the go list -u -m -json all co
Wrapcheck A simple Go linter to check that errors from external packages are wrapped during return to help identify the error source during debugging.
wrapmsg wrapmsg is Go code linter. this enforces fmt.Errorf's message when you wrap error. Example // OK ๐๐ป if err := pkg.Cause(); err != nil { re
gcnotifier gcnotifier provides a way to receive notifications after every run of the garbage collector (GC). Knowing when GC runs is useful to instruc
Emacs Builds Nightly binary builds of Emacs for macOS as a self-contained Emacs.app, with native-compilation. Features Self-contained Emacs.app applic
Detect non-inclusive language in your source code. I stay woke - Erykah Badu Creating an inclusive work environment is imperative to a healthy, suppor
Go performance measurement, storage, and analysis tools This subrepository holds the source for various packages and tools related to performance meas
go-checkstyle checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style refered to some points i
Introduction apicompat is a tool to check for the introduction of backwards incompatible changes. apicompat: Guarantees that all consumers of a librar
Golint is a linter for Go source code. Installation Golint requires a supported release of Go. go get -u golang.org/x/lint/golint To find out where g
Tagliatelle A linter that handles struct tags. Supported string casing: camel pascal kebab snake goCamel Respects Go's common initialisms (e.g. HttpRe
clinar - A tool to cleanup stale gitlab runners This tool basically getโs all offline runners which a user can administer. If you donโt provide the --
This project is no longer maintained I'm sorry but I do not have the bandwidth to maintain this tool. Please do not send issues or PRs. Thank you. gcv
nilnil Checks that there is no simultaneous return of nil error and an invalid value. Installation & usage $ go install github.com/Antonboom/nilnil@la
dupl dupl is a tool written in Go for finding code clones. So far it can find clones only in the Go source files. The method uses suffix tree for seri
todocheck todocheck is a static code analyzer for annotated TODO comments. It let's you create actionable TODOs by annotating them with issues from an
Go Flow Levee This static analysis tool works to ensure your program's data flow does not spill beyond its banks. An input program's data flow is expl
xk6bundler xk6bundler is a CLI tool and GitHub Action makes bundle k6 with extensions as fast and easily as possible. Features Build for multiple targ
About The unconvert program analyzes Go packages to identify unnecessary type conversions; i.e., expressions T(x) where x already has type T. Install
Shotizam Shotizam analyzes the size of Go binaries and outputs SQL with size info for analysis in SQLite3. $ shotizam --sqlite /some/go.binary SQLite
Shotizam Shotizam analyzes the size of Go binaries and outputs SQL with size info for analysis in SQLite3. $ shotizam --sqlite /some/go.binary SQLite
blanket blanket is a tool that helps you catch functions which don't have direct unit tests in your Go packages. Installation go get -u gitlab.com/ver
a Go code to detect leaks in JS files via regex patterns