{"id":13471590,"url":"https://github.com/golang/lint","last_synced_at":"2026-10-18T20:26:34.634Z","repository":{"id":37404714,"uuid":"10443324","full_name":"golang/lint","owner":"golang","description":"[mirror] This is a linter for Go source code. (deprecated)","archived":true,"fork":false,"pushed_at":"2021-05-08T22:21:20.000Z","size":358,"stargazers_count":3960,"open_issues_count":0,"forks_count":473,"subscribers_count":14,"default_branch":"master","last_synced_at":"2026-10-05T16:49:34.808Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/golang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-02T22:45:37.000Z","updated_at":"2026-09-26T23:28:52.000Z","dependencies_parsed_at":"2022-08-02T11:52:39.581Z","dependency_job_id":null,"html_url":"https://github.com/golang/lint","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/golang/lint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golang%2Flint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golang%2Flint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golang%2Flint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golang%2Flint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/golang","download_url":"https://codeload.github.com/golang/lint/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golang%2Flint/sbom","scorecard":{"id":434480,"data":{"date":"2025-08-11","repo":{"name":"github.com/golang/lint","commit":"6edffad5e6160f5949cdefc81710b2706fbcd4f6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T04:15:27.028Z","repository_id":37404714,"created_at":"2025-08-19T04:15:27.028Z","updated_at":"2025-08-19T04:15:27.028Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38341188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-18T02:00:06.448Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T16:00:47.029Z","updated_at":"2026-10-18T20:26:34.298Z","avatar_url":"https://github.com/golang.png","language":"Go","funding_links":[],"categories":["Code Analysis","Misc","开源类库","Go","Linters","代码分析","Code Checking","Open source library","Language and Tooling","Programming Languages","[](https://github.com/golang/go/wiki/CodeTools#code-formatting)Code Formatting","Libraries for creating HTTP middlewares","相关工具`go相关工具和插件`","相关工具"],"sub_categories":["Routers","代码分析","Style and Patterns Checking","路由器","Contents","HTTP Load testing","Code Analysis","Go","Linters and Formatters","Middlewares","[](https://github.com/golang/go/wiki/CodeTools#tools)Tools"],"readme":"**NOTE:** Golint is [deprecated and frozen](https://github.com/golang/go/issues/38968).\nThere's no drop-in replacement for it, but tools such as [Staticcheck](https://staticcheck.io/)\nand `go vet` should be used instead.\n\nGolint is a linter for Go source code.\n\n[![Go Reference](https://pkg.go.dev/badge/golang.org/x/lint.svg)](https://pkg.go.dev/golang.org/x/lint)\n[![Build Status](https://travis-ci.org/golang/lint.svg?branch=master)](https://travis-ci.org/golang/lint)\n\n## Installation\n\nGolint requires a\n[supported release of Go](https://golang.org/doc/devel/release.html#policy).\n\n    go get -u golang.org/x/lint/golint\n\nTo find out where `golint` was installed you can run `go list -f {{.Target}} golang.org/x/lint/golint`. For `golint` to be used globally add that directory to the `$PATH` environment setting.\n\n## Usage\n\nInvoke `golint` with one or more filenames, directories, or packages named\nby its import path. Golint uses the same\n[import path syntax](https://golang.org/cmd/go/#hdr-Import_path_syntax) as\nthe `go` command and therefore\nalso supports relative import paths like `./...`. Additionally the `...`\nwildcard can be used as suffix on relative and absolute file paths to recurse\ninto them.\n\nThe output of this tool is a list of suggestions in Vim quickfix format,\nwhich is accepted by lots of different editors.\n\n## Purpose\n\nGolint differs from gofmt. Gofmt reformats Go source code, whereas\ngolint prints out style mistakes.\n\nGolint differs from govet. Govet is concerned with correctness, whereas\ngolint is concerned with coding style. Golint is in use at Google, and it\nseeks to match the accepted style of the open source Go project.\n\nThe suggestions made by golint are exactly that: suggestions.\nGolint is not perfect, and has both false positives and false negatives.\nDo not treat its output as a gold standard. We will not be adding pragmas\nor other knobs to suppress specific warnings, so do not expect or require\ncode to be completely \"lint-free\".\nIn short, this tool is not, and will never be, trustworthy enough for its\nsuggestions to be enforced automatically, for example as part of a build process.\nGolint makes suggestions for many of the mechanically checkable items listed in\n[Effective Go](https://golang.org/doc/effective_go.html) and the\n[CodeReviewComments wiki page](https://golang.org/wiki/CodeReviewComments).\n\n## Scope\n\nGolint is meant to carry out the stylistic conventions put forth in\n[Effective Go](https://golang.org/doc/effective_go.html) and\n[CodeReviewComments](https://golang.org/wiki/CodeReviewComments).\nChanges that are not aligned with those documents will not be considered.\n\n## Contributions\n\nContributions to this project are welcome provided they are [in scope](#scope),\nthough please send mail before starting work on anything major.\nContributors retain their copyright, so we need you to fill out\n[a short form](https://developers.google.com/open-source/cla/individual)\nbefore we can accept your contribution.\n\n## Vim\n\nAdd this to your ~/.vimrc:\n\n    set rtp+=$GOPATH/src/golang.org/x/lint/misc/vim\n\nIf you have multiple entries in your GOPATH, replace `$GOPATH` with the right value.\n\nRunning `:Lint` will run golint on the current file and populate the quickfix list.\n\nOptionally, add this to your `~/.vimrc` to automatically run `golint` on `:w`\n\n    autocmd BufWritePost,FileWritePost *.go execute 'Lint' | cwindow\n\n\n## Emacs\n\nAdd this to your `.emacs` file:\n\n    (add-to-list 'load-path (concat (getenv \"GOPATH\")  \"/src/golang.org/x/lint/misc/emacs/\"))\n    (require 'golint)\n\nIf you have multiple entries in your GOPATH, replace `$GOPATH` with the right value.\n\nRunning M-x golint will run golint on the current file.\n\nFor more usage, see [Compilation-Mode](http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation-Mode.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolang%2Flint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgolang%2Flint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolang%2Flint/lists"}