GolangCI
Open Source SaaS service for running linters on Github pull requests. Free for Open Source.
ArchivedArchived repositoryProgramming Languages
A curated list of awesome Go linters. More than 60 linters and tools!
This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.
Open Source SaaS service for running linters on Github pull requests. Free for Open Source.
Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
GopherCI helps you maintain high-quality Go projects, by checking each GitHub Pull Request, for backward incompatible changes, and a suite of other tests.
Go repo report card.
The open and extensible static analysis platform.
Automated Code Analysis for repos on GitHub or BitBucket.
Automated code review & repair
A proprietery code quality checker that can be integrated with GitHub
An automated code reviewing tool. Improving developers' productivity.
Fix duplicate imports that have the same import path but different import names.
Gofmt formats Go programs. Must have for every project. Don't forget to use -s flag.
The tool is a modified fork of gofmt, enforcing a stricter format than gofmt, while being backwards compatible.
Goimports does everything that gofmt does. Additionally it checks unused imports.
Report code that is unnecessarily indented
ABC metrics for Go source code.
Count the maxdepth of go functions. It's helpful to see if a function needs to be splitted into several smaller functions, for readability purpose.
linter that checks for long functions. It can check both the number of lines and the number of statements.
Computes and checks the cyclomatic complexity of functions.
nakedret is a Go static analysis tool to find naked returns in functions greater than a specified function length.
It finds any functions that are too long or have too many parameters or results.
Finds assignments/declarations with too many blank identifiers.
Tool for code clone detection.
checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style refered to some points in Go Code Review Comments.
go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.
source code analyzer that helps you to make your Go programs more consistent.
source code analyzer that helps you to maintain variable/field naming conventions inside your project.
checks that printf-like functions are named with f at the end.
Define and run pattern-based custom linting rules.
Find init functions, to reduce side effects in code.
Find global vars, to reduce side effects in code.
Find in Go repeated strings that could be replaced by a constant.
Golint is a linter for Go source code.
gosimple is a linter for Go source code that specialises on simplifying code.
Verify imports grouping and ordering.
Linter that suggests narrower interface types.
Line length linter, used to enforce line length in files.
Finds commonly misspelled English words
disallow boolean params to functions (flags).
Find code that shadows Go's built-in identifiers (e.g., append, copy, int).
~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint
Remove unnecessary type conversions from Go source.
Find in Go exported variables that could be unexported.
Checks for unnecessary newlines at the start and end of functions
Checks recent changes to a Go project for backwards incompatible changes.
Badtime is a Golang linter that detects inappropriate usage of the time.Time struct.
checks whether HTTP response body is closed and a re-use of TCP connection is not blocked
durcheck is a very simple linter which detects potential bugs with time.Duration in a Go package.
enumcase checks every switch statement handles all const values of the type.
Enum linter for enumerated types in Go.
Inspects source code for security problems by scanning the Go AST.
Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string. Can check shadowing of variables, but must be enabled explicitly.
Checks all possible cases of type-switch are handled.
Checks all possible cases of type-switch are handled.
Go lint which detects recursive locks, which may lead to dead locks.
Static analysis tool for Golang that protects against SQL injections.
scopelint checks for unpinned variables in go programs.
checks whether Close on sql.Rows is called.
Finds unused code.
Detect when assignments to existing variables are not used.
Find unused global variables and constants.
Report unused function parameters.
gosimple is a linter for Go source code that specialises on simplifying code.
Find unused global variables and constants.
Find unused global variables and constants.
Statically analyzes Go code and reports functions that are passing large structs by value.
Tool to detect Go structs that would take less memory if their fields were sorted.
Find slice declarations that could potentially be preallocated.
Tool to detect range statements iterating over addressable arrays
Console application that displays outdated packages.
go-template-lint is a linter for Go text/template (and html/template) template files.
Find all TODO/FIXME comments.
Set of specific checks.
gosimple is a linter for Go source code that specialises on simplifying code.
source code linter that brings checks that are currently not implemented in other linters.
tarp finds functions and methods without direct unit tests in Go source code.
Magic number detector for Go.
A Go tool to help identify Deprecated Go Modules.
Linters Runner for Go. 5x faster than gometalinter. Nice colored output. Can report only new issues. Fewer false-positives. Yaml/toml config.
Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form.
Run linters as part of go test.
Filters output from static analysis tools, showing only recently changed lines of code
"reviewdog" provides a way to post review comments to code hosting service, such as GitHub, automatically by integrating with any linter tools with ease.
speedup linting by caching gometalinter result.
A simple terminal UI for Go linters.
rust-unofficial/awesome-rust
A curated list of Rust code and resources.
jaywcjlove/awesome-mac
This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.
vinta/awesome-python
Curated Python frameworks, libraries and resources.
fffaraz/awesome-cpp
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
avelino/awesome-go
Curated Go frameworks and libraries.
ziadoz/awesome-php
A curated list of amazingly awesome PHP libraries, resources and shiny things.