mgechev/revive

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

View on GitHub ↗Jump to charts ↓Open shareable report →

Summary Information

Updated 49 minutes ago
Added to GitGenius on September 12th, 2026
Created on July 4th, 2017
Open Issues & Pull Requests: 74 (+0)
GitHub issues: Enabled
Number of forks: 330
Total Stargazers: 5,550 (+0)
Total Subscribers: 33 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 11.8 hours
Mean response time: 9.6 days
90th percentile: 11.5 days
Tracked items: 213

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 65% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "question" is answered fastest, typically in under an hour, while "rule proposal" waits about 4 days. Only 6% of issues opened in the past year have been closed. Three people close 90% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 57
New in 7 days: 0
Closed in 7 days: 2
Avg open age: 602 days
Stale 30+ days: 53
Stale 90+ days: 51

Recent activity

Opened in 7 days: 0
Closed in 7 days: 2
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (56)
  • good first issue (32)
  • bug (30)
  • rule proposal (29)
  • false positive (16)
  • question (15)
  • docs (10)
  • low priority (9)

Detailed Description

Revive is a linter for Go that serves as a drop-in replacement for golint with significantly improved performance and configurability.

Revive addresses the limitations of golint by introducing a configuration-driven approach to linting. Rather than enforcing a fixed set of rules, it allows developers to selectively enable or disable rules through a TOML configuration file and customize individual rule behavior. The tool achieves substantial performance gains by making type checking optional; when type-checking rules are disabled, revive runs over six times faster than golint while maintaining the same rule coverage. It also provides fine-grained control over linting scope through comment directives that can disable rules for specific lines or file ranges, extending beyond golint's support for generated files only.

Teams should adopt revive if they want flexibility in their linting standards without sacrificing speed. It suits projects that need stricter code review processes or want to enforce custom coding standards through extensible rules. The tool is particularly valuable for teams already using golint who seek faster execution and more granular configuration without switching to a completely different linter. Revive integrates with common Go development workflows, including text editors, GitHub Actions, and linter aggregators like golangci-lint.

The project maintains steady development activity with regular updates addressing bug fixes and feature enhancements. The codebase demonstrates responsiveness to user-reported issues and pull requests. Development follows a structured approach with clear documentation of available rules, formatters, and extensibility patterns, enabling community contributions of custom rules and formatters. The project provides multiple output formatters including JSON, SARIF, and Checkstyle formats, supporting integration into various development and CI/CD environments.