{"id":13694104,"url":"https://github.com/VKCOM/noverify","last_synced_at":"2025-05-03T01:31:35.767Z","repository":{"id":34248487,"uuid":"172060294","full_name":"VKCOM/noverify","owner":"VKCOM","description":"Pretty fast linter (code static analysis utility) for PHP","archived":false,"fork":false,"pushed_at":"2025-04-18T00:20:16.000Z","size":46004,"stargazers_count":680,"open_issues_count":75,"forks_count":59,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-04-18T12:17:45.388Z","etag":null,"topics":["go","golang","linter","noverify","php"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VKCOM.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-22T12:09:57.000Z","updated_at":"2025-04-18T00:05:37.000Z","dependencies_parsed_at":"2024-03-10T15:40:02.582Z","dependency_job_id":"0d06c6d2-908d-4a8c-87ec-864ee34c0eeb","html_url":"https://github.com/VKCOM/noverify","commit_stats":{"total_commits":861,"total_committers":33,"mean_commits":26.09090909090909,"dds":"0.49245063879210216","last_synced_commit":"7929fd34d2228685a39519d0d696b578e1950e9b"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VKCOM%2Fnoverify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VKCOM%2Fnoverify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VKCOM%2Fnoverify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VKCOM%2Fnoverify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VKCOM","download_url":"https://codeload.github.com/VKCOM/noverify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252130406,"owners_count":21699084,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["go","golang","linter","noverify","php"],"created_at":"2024-08-02T17:01:24.362Z","updated_at":"2025-05-03T01:31:30.756Z","avatar_url":"https://github.com/VKCOM.png","language":"Go","funding_links":[],"categories":["开源类库","Open source library","Table of Contents","Go"],"sub_categories":["代码分析","Code Analysis","Developer tools"],"readme":"![](docs/noverify_small.png)\n\n![Build Status](https://github.com/VKCOM/noverify/workflows/Go/badge.svg) [![Go Report Card](https://goreportcard.com/badge/github.com/VKCOM/noverify)](https://goreportcard.com/report/github.com/vkcom/noverify) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE) [![Telegram chat](https://img.shields.io/badge/chat-join-brightgreen?logo=telegram)](https://t.me/noverify_linter)\n\n## NoVerify\n\nNoVerify is a PHP linter: it finds possible bugs and style violations in your code.\n\n- NoVerify has no config: any reported issue in your PHPDoc or PHP code must be fixed.\n- NoVerify aims to understand PHP code at least as well as PHPStorm does. If it behaves incorrectly or sub optimally, please [report issue](https://github.com/VKCOM/noverify/issues/new).\n- This tool is written in [Go](https://golang.org/) and uses fork of [z7zmey/php-parser](https://github.com/VKCOM/php-parser).\n\n## Features\n\n1. Fast: analyze ~100k LOC/s (lines of code per second) on Core i7;\n2. Incremental: can analyze changes in git and show only new reports. Indexing speed is ~1M LOC/s;\n3. Auto fixes for some warnings;\n4. PHP 7 and PHP 8 support;\n5. Diff and baseline modes support.\n\n## Default lints\n\nNoVerify by default has the following checks:\n\n- Unreachable code\n- Too few arguments when calling a function/method\n- Call to undefined function/method\n- Fetching of undefined constant/class property\n- Class not found\n- PHPDoc is incorrect\n- Undefined variable\n- Variable not always defined\n- Case without `break;`\n- Syntax error\n- Unused variable\n- Incorrect access to private/protected elements\n- Incorrect implementation of `IteratorAggregate` interface\n- Incorrect array definition, e.g. duplicate keys\n- And others, you can see the entire list [here](/docs/checkers_doc.md)\n\n## Playground\n\nTry NoVerify now in [Playground](https://vkcom.github.io/noverify/playground/) (not supported Safari yet).\n\n## Plugins\n\n- [Using NoVerify in PhpStorm](docs/phpstorm-plugin.md)\n\n## User Guide\n\n- [How to install NoVerify](docs/install.md)\n\nUsing NoVerify as linter:\n- [Using NoVerify as linter / static analyser](docs/getting_started.md)\n\nExtending NoVerify:\n- [Writing own rules quickly with PHP](docs/dynamic_rules.md)\n- [Writing new checks in Go](docs/writing-checks-in-go.md)\n\nUsing NoVerify as PHP [language server](https://langserver.org) (version **0.3.0** and bellow):\n- [Using NoVerify as language server for VSCode](docs/vscode-plugin.md)\n- [Using NoVerify as language server for Sublime Text](docs/sublime-plugin.md)\n- [Writing new IDE/editor plugin](docs/writing-new-ide-plugin.md)\n\n## Contributing\n\nFeel free to contribute to this project. See [CONTRIBUTING.md](https://github.com/VKCOM/noverify/blob/master/CONTRIBUTING.md) for more information. Join [our chat \u003csup\u003eru\u003c/sup\u003e](https://t.me/noverify_linter) in a telegram if you want to discuss something.\n\n## The License\n\nNoVerify is distributed under the MIT License, on behalf of VK.com (V Kontakte LLC).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVKCOM%2Fnoverify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FVKCOM%2Fnoverify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVKCOM%2Fnoverify/lists"}