Revive

Fast, configurable, extensible, and beautiful linter for Go.

Revive logo by Georgi Serev

Why revive?

rule

100+ rules

Rules covering style and naming, complexity, errors, and Go idioms.

tune

Configurable

Enable, disable, and configure rules with a TOML file. Set the severity and the exit code per rule.

extension

Extensible

Write your own rules and formatters on top of the revive framework.

format_list_bulleted

Formatters

Friendly, stylish, plain, unix, JSON, NDJSON, checkstyle, and SARIF output out of the box.

block

Inline control

Disable a rule or the whole linter for a file or a range of lines with comments, not only in generated files.

speed

Fast

Lints large codebases in seconds, and even faster with type checking disabled.