Awesome Go

Code Analysis

38 libraries in this category

golangci-lint

A fast Go linters runner. It runs linters in parallel, uses caching, supports `yaml` config, has integrations with all major IDE and has dozens of linters included

19,442Code AnalysisCode Analysis
staticcheck

staticcheck is `go vet` on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#

6,910Code AnalysisCode Analysis
revive

~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for `golint`

5,554Code AnalysisCode Analysis
errcheck

Errcheck is a program for checking for unchecked errors in Go programs

2,530Code AnalysisCode Analysis
GoPlantUML

Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them

2,080Code AnalysisCode Analysis
go-critic

source code linter that brings checks that are currently not implemented in other linters

2,076Code AnalysisCode Analysis
vacuum

An ultra-super-fast, lightweight OpenAPI linter and quality checking tool

1,138Code AnalysisCode Analysis
golines

Formatter that automatically shortens long lines in Go code

1,123Code AnalysisCode Analysis
go-cleanarch

go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects

983Code AnalysisCode Analysis
php-parser

A Parser for PHP written in Go

957Code AnalysisCode Analysis
goast-viewer

Web based Golang AST visualizer

793Code AnalysisCode Analysis
go-mod-outdated

An easy way to find outdated dependencies of your Go projects

671Code AnalysisCode Analysis
goreturns

Adds zero-value return statements to match the func return types

538Code AnalysisCode Analysis
todocheck

Static code analyser which links TODO comments in code with issues in your issue tracker

441Code AnalysisCode Analysis
Chronos

Detects race conditions statically

438Code AnalysisCode Analysis
unconvert

Remove unnecessary type conversions from Go source

388Code AnalysisCode Analysis
wrapcheck

A linter to check that errors from external packages are wrapped

373Code AnalysisCode Analysis
dupl

Tool for code clone detection

369Code AnalysisCode Analysis
tickgit

CLI and go package for surfacing code comment TODOs (in any language) and applying a `git blame`to identify the author

324Code AnalysisCode Analysis
gostatus

Command line tool, shows the status of repositories that contain Go packages

246Code AnalysisCode Analysis
apicompat

Checks recent changes to a Go project for backwards incompatible changes

182Code AnalysisCode Analysis
testifylint

A linter that checks usage of [github.com/stretchr/testify](https://github.com/stretchr/testify)

173Code AnalysisCode Analysis
ast-metrics

Static code analyzer for Go and other languages: complexity, coupling, cohesion and maintainability metrics, with HTML, JSON, Markdown and SARIF reports

160Code AnalysisCode Analysis
go-checkstyle

checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style referred to some points in Go Code Review Comments

130Code AnalysisCode Analysis
asty

Converts golang AST to JSON and JSON to AST

88Code AnalysisCode Analysis
fatcontext

Fatcontext detects nested contexts in loops or function literals

83Code AnalysisCode Analysis
lint

Run linters as part of go test

66Code AnalysisCode Analysis
ChainJacking

Find which of your Go lang direct GitHub dependencies is susceptible to ChainJacking attack

64Code AnalysisCode Analysis
validate

Automatically validates struct fields with tags

62Code AnalysisCode Analysis
usestdlibvars

A linter that detect the possibility to use variables/constants from the Go standard library

48Code AnalysisCode Analysis
stto

A light-weight superfast line of code counter written in pure Go

47Code AnalysisCode Analysis
go-outdated

Console application that displays outdated packages.

43Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.
gocondense

A gofmt-compatible formatter that condenses multi-line constructs onto single lines where they fit

22Code AnalysisCode Analysis
gomarklint

Markdown linter with built-in HTTP link validation, single binary, no Node.js required

19Code AnalysisCode Analysis
blanket

blanket is a tool that helps you catch functions which don't have direct unit tests in your Go packages.

18Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.
golang-ifood-sdk

iFood API SDK

13Code AnalysisCode Analysis
structalign

Shows how a struct's fields could be reordered to use less memory, printing a diff instead of rewriting files

9Code AnalysisCode Analysis
deadmono

Wrapper around deadcode for detection of dead code in Go monorepo

2Code AnalysisCode Analysis