dominikh/go-tools

Staticcheck - The advanced Go linter

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 40 minutes ago
Added to GitGenius on September 9th, 2026
Created on January 24th, 2017
Open Issues & Pull Requests: 575 (+0)
GitHub issues: Enabled
Number of forks: 421
Total Stargazers: 6,891 (+0)
Total Subscribers: 72 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.8 hours
Mean response time: 135.7 days
90th percentile: 297.1 days
Tracked items: 142

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 86% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "bug" is answered fastest, typically in about 2 hours, while "enhancement" waits about 10 days. Only 4% of issues opened in the past year have been closed. Three people close 86% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 59
New in 7 days: 3
Closed in 7 days: 0
Avg open age: 878 days
Stale 30+ days: 54
Stale 90+ days: 53

Recent activity

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

Top labels

  • false-positive (44)
  • new-check (33)
  • bug (21)
  • false-negative (18)
  • enhancement (14)
  • invalid (8)
  • needs-decision (8)
  • waiting-for-feedback (6)

Detailed Description

Staticcheck is an advanced static analysis linter for Go that finds bugs, performance issues, offers code simplifications, and enforces style rules.

The tool uses static analysis to examine Go code without executing it, identifying problems that range from correctness issues to performance inefficiencies and style violations. It operates as a command-line tool that integrates into development workflows and CI/CD pipelines to catch issues before code is deployed.

Staticcheck suits any Go project where code quality and correctness matter, from small utilities to large production systems. The repository also includes complementary tools for struct memory layout analysis: structlayout displays field sizes and padding within structs, structlayout-optimize reorders fields to minimize padding overhead, and structlayout-pretty formats the output with ASCII art visualization. Installation is straightforward via go install with released versions, and prebuilt binaries are available. The tool can analyze code targeting any Go version up to the latest release.

The project is actively maintained with financial support from private and corporate sponsors, ensuring continued development. The codebase includes both the main staticcheck tool and supporting libraries, though the libraries lack stable APIs and may experience backwards-incompatible changes. The master branch is generally stable but may contain new checks or breaking changes, positioning it as suitable for beta testing. Extensive documentation is available on the project's website covering installation, usage, and the checks performed.