[
  {
    "path": ".github/FUNDING.yml",
    "content": "github: analysis-tools-dev \nopen_collective: analysis-tools\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/--suggest-tool.yaml",
    "content": "name: ⚙️ Suggest Tool\ndescription: Suggest a new tool to be added to the list\ntitle: \"⚙️ New Tool Suggestion: \"\nlabels: [suggestion]\nassignees:\n- mre\nbody:\n- type: markdown\n  attributes:\n    value: |\n      ❤️ Thank you for taking the time to suggest a new tool!\n\n- type: input\n  attributes:\n    label: Tool Name?\n  validations:\n    required: true\n\n- type: textarea\n  attributes:\n    label: Description\n    description: What does the tool do? A clear and concise description of what you want to happen.\n  validations:\n    required: true\n\n- type: checkboxes\n  attributes:\n    label: Tool category\n    description: A tool can be a formatter, a linter, or both.\n    options:\n      - label: 🌈 Formatter\n        required: false\n      - label: 🔍 Linter\n        required: false\n\n- type: textarea\n  attributes:\n    label: tags\n    description: A list of tags (languages) that this tool supports. (See [here](https://github.com/analysis-tools-dev/static-analysis/blob/master/data/tags.yml) for a list of options)\n    placeholder: |\n      * c\n      * cpp\n      * go\n      * js\n  validations:\n    required: true\n\n- type: input\n  attributes:\n    label: License\n    description: The license of the tool (e.g. MIT, Apache, or proprietary)\n  validations:\n    required: false\n\n- type: checkboxes\n  attributes:\n    label: How can the tool be used?\n    options:\n      - label: Command Line\n        required: false\n      - label: Web Service\n        required: false\n      - label: IDE-Plugin\n        required: false\n\n- type: input\n  attributes:\n    label: Source URL\n    description: URL to the source code (if the tool is open source)\n    placeholder: https://github.com/tool/repo\n  validations:\n    required: false\n\n- type: input\n  attributes:\n    label: Source URL\n    description: URL to tool homepage (if any)\n    placeholder: https://example.com\n  validations:\n    required: false\n    \n- type: textarea\n  attributes:\n    label: Resources\n    description: Found a nice product video or a blog post about a tool? Please add it here.\n    placeholder: |\n      * [Product Video](https://www.youtube.com/watch?v=dQw4w9WgXcQ)\n      * [Article](https://analysis-tools.dev/blog/our-mission)\n  validations:\n    required: false\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/new-issue.md",
    "content": "---\nname: New issue\nabout: Describe this issue template's purpose here.\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n<!--\n👋 Thank you for your contribution!\n\nIf a tool is missing on the list, please don't open an issue, but create a pull request right away because that's easier to handle. Thanks! 😃\nOtherwise feel free to delete this text block and describe the issue here.\n-->\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "version: 2\nupdates:\n- package-ecosystem: cargo\n  directory: \"/data/render\"\n  schedule:\n    interval: daily\n    time: \"11:00\"\n  open-pull-requests-limit: 10\n"
  },
  {
    "path": ".github/pull_request_template.md",
    "content": "<!--\n\n👋 Thank you for your contribution!\nPlease make sure to check all of the items below.\n\n- 🚨 New tools have to be added to `data/tools/` (NOT directly to the `README.md`).\n- If you propose to deprecate a tool, you have to provide a reason below.\n- More details in the contributors guide, `CONTRIBUTING.md`\n\n-->\n\n* [ ] I have not changed the `README.md` directly.\n\n\n"
  },
  {
    "path": ".github/workflows/auto-merge.yml",
    "content": "name: auto-merge\n\non:\n  pull_request:\n\njobs:\n  auto-merge:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n      - uses: ahmadnassri/action-dependabot-auto-merge@v2\n        with:\n          github-token: ${{ secrets.AUTOMERGE_TOKEN }}\n"
  },
  {
    "path": ".github/workflows/ci.yml",
    "content": "name: CI\n\non:\n  pull_request:\n    branches: [master]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n\n      - name: Prevent file change\n        uses: xalvarez/prevent-file-change-action@v1\n        with:\n          githubToken: ${{ secrets.GITHUB_TOKEN }}\n          pattern: README.md\n          trustedAuthors: mre, jakubsacha\n\n      - name: Render list\n        run: make render-skip-deprecated\n"
  },
  {
    "path": ".github/workflows/links.yml",
    "content": "name: Links\n\non:\n  repository_dispatch:\n  workflow_dispatch:\n  schedule:\n    - cron: \"00 18 * * *\"\n\njobs:\n  linkChecker:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n\n      - name: Link Checker\n        uses: lycheeverse/lychee-action@master\n        with:\n          args: --accept 200,204,429 README.md\n        env:\n          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}\n        \n      - name: Create Issue From File\n        if: env.lychee_exit_code != 0\n        uses: peter-evans/create-issue-from-file@v4\n        with:\n          title: Link Checker Report\n          content-filepath: ./lychee/out.md\n          labels: report, automated issue\n"
  },
  {
    "path": ".github/workflows/render.yml",
    "content": "name: Render\n\non:\n  push:\n    branches: [master]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    \n    permissions:\n      # Give the default GITHUB_TOKEN write permission to commit and push the\n      # added or changed files to the repository.\n      contents: write\n\n    steps:\n      - uses: actions/checkout@v3\n        \n      - name: Render list\n        run: make render\n        env:\n          GITHUB_TOKEN: ${{ github.token }}\n        \n      - uses: stefanzweifel/git-auto-commit-action@v4.1.2\n        with:\n          commit_message: Commit list\n          commit_user_name: Analysis Tools Bot\n          commit_user_email: bot@analysis-tools.dev\n          commit_author: Analysis Tools Bot <bot@analysis-tools.dev>\n\n      - name: Redeploy website\n        uses: peter-evans/repository-dispatch@v3\n        with:\n          token: ${{ secrets.REPO_ACCESS_TOKEN }}\n          repository: analysis-tools-dev/website-next\n          event-type: rebuild\n"
  },
  {
    "path": ".github/workflows/stale.yml",
    "content": "name: \"Close stale issues\"\non:\n  schedule:\n    - cron: \"0 4 * * *\"\n\njobs:\n  stale:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/stale@v4.1.0\n        with:\n          repo-token: ${{ secrets.GITHUB_TOKEN }}\n          stale-issue-message: >\n            This issue has been automatically marked as stale because it has not had\n            recent activity in the last 60 days. It will be closed in 7 days if no further activity occurs.\n            Thank you for your contributions.\n          days-before-stale: 60\n          days-before-close: 7\n          stale-issue-label: stale\n"
  },
  {
    "path": ".github/workflows/stats.yml",
    "content": "name: Stats\n\non:\n  repository_dispatch:\n  workflow_dispatch:\n  # Disable cron for now as we have not migrated our analytics yet\n  # schedule:\n  #   - cron: \"00 22 * * *\"\n\njobs:\n  stats:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n        with:\n          token: ${{ secrets.GH_STATS_COMMIT_TOKEN }}\n\n      - name: Install logcli\n        run: |\n          rm -rf logcli.zip logcli-linux-amd64\n          wget -nc -q -O \"logcli.zip\" \"https://github.com/grafana/loki/releases/download/v2.4.2/logcli-linux-amd64.zip\"\n          unzip logcli.zip\n          chmod a+x logcli-linux-amd64\n\n      - name: Run logcli\n        run: |\n          mkdir -p data/api/stats/\n          ./logcli-linux-amd64 -q --org-id=${ORG_ID} instant-query 'topk(25, sum(count_over_time({path=~\"/tool/.*\"}[7d])) by (path))' > data/api/stats_tools_raw.json\n          cat data/api/stats_tools_raw.json | jq '[.[] | {(.metric.path | sub(\"^\\/tool\\/\"; \"\")): (.value[1]|tonumber) }] | add' > data/api/stats/tools_unsorted.json\n          cat data/api/stats/tools_unsorted.json | jq 'to_entries | sort_by(.value) | reverse | from_entries' > data/api/stats/tools.json\n          rm data/api/stats/tools_unsorted.json\n          rm data/api/stats_tools_raw.json\n          ./logcli-linux-amd64 -q --org-id=${ORG_ID} instant-query 'topk(25, sum(count_over_time({path=~\"/tag/.*\"}[7d])) by (path))' > data/api/stats_tags_raw.json\n          cat data/api/stats_tags_raw.json | jq '[.[] | {(.metric.path | sub(\"^\\/tool\\/\"; \"\")): (.value[1]|tonumber) }] | add' > data/api/stats/tags_unsorted.json\n          cat data/api/stats/tags_unsorted.json | jq 'to_entries | sort_by(.value) | reverse | from_entries' > data/api/stats/tags.json\n          rm data/api/stats/tags_unsorted.json\n          rm data/api/stats_tags_raw.json\n        env:\n          ORG_ID: ${{secrets.LOKI_ORG_ID}}\n          LOKI_ADDR: http://loki.jorgelbg.me\n\n      - uses: stefanzweifel/git-auto-commit-action@v4.1.2\n        with:\n          branch: ${{ github.head_ref }}\n          commit_message: Commit list\n          commit_user_name: Analysis Tools Bot\n          commit_user_email: bot@analysis-tools.dev\n          commit_author: Analysis Tools Bot <bot@analysis-tools.dev>\n"
  },
  {
    "path": ".gitignore",
    "content": "logcli-linux-amd64\nlogcli.zip"
  },
  {
    "path": ".lycheeignore",
    "content": "# Bot detection issue\nmathworks.com\n# Forbidden\nhttps://www.freepik.com/\n# (Occasional) Timeouts\nhttps://npo-echelon.ru/en/solutions/appchecker.php\nhttps://www.qualys.com/apps/container-security\n# 415 Unsupported Media Type (site works in browser)\ndickgrune.com\nzigrin.com\n# Cloudflare bot protection\nspinroot.com\n# npmjs.com blocks automated requests\nhttps://www.npmjs.com/package/tslint-clean-code\n# GitHub wiki intermittent 502\nhttps://github.com/flowr-analysis/flowr/wiki/Terminology#program-slice"
  },
  {
    "path": ".vscode/settings.json",
    "content": "{\n    \"cSpell.words\": [\n        \"dlang\",\n        \"verilog\"\n    ]\n}"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Thank you for contributing\n\nPlease feel free to open a pull request if you know of a static analysis tool that\nis not mentioned here.  \nIf you're in doubt if a tool is a good fit for the list, **don't open an issue,\nbut create a pull request right away** because that's easier to handle. Thanks!\n:smiley:\n\n### Requirements\n\nEach tool on the list should be\n\n- actively maintained (more than one contributor)\n- actively used (have **more than 20 stars on Github or similar impact**)\n- relatively mature (project exists for at least three months)\n\n### Format\n\n⚠️ **The main `README.md` is just a rendered version of the data. Do not edit it\nmanually.**\n\nTo add a new tool, please create a file in the `data/tools` directory like\n`data/tools/<toolname>.yml`. Feel free to check out a few other YAML files in\nthat directory to see how it should look like.\n\n- Make each tool description as precise as possible.  Please limit the\n  description to **500 characters**.\n- Add a license. If it's a proprietary tool, use `license: proprietary`.\n- Please add as many tags as possible. You can choose from the tags in\n  `data/tags.yml` If a tool does not match any existing tag, feel free to add a\n  new tag but also add it to `data/tags.yml`.\n\nFinally, create a pull request with all your changes. You can call `make\nrender` to check for errors before.  This is optional, because it will also be\ndone when creating a pull request.\n\n### How to mark a tool as unmaintained/deprecated\n\nSometimes a tool becomes unmaintained and there's nothing wrong with that.  \nAfter all, a tool can still be very valuable to the community - even without\nfrequent updates.  \nHowever, since it is one of the goals of this project to allow people to make an\ninformed decision on what is the best tool for the job, we are marking\nunmaintained or deprecated tools after a while.\n[Here](https://github.com/mre/awesome-static-analysis/issues/223) is a nice\ndiscussion about why we think this is necessary. If you find a tool, which is\nunmaintained, please add `deprecated: true` to the entry in `data/tools/` and\ncreate a pull request in which you provide an objective explanation as to why\nyou think the tool should be marked deprecated. Every deprecation will be\nhandled on a case-by-case basis.\n\n**Thanks for helping out!** :tada:\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2021 The analysis tools developers\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "Makefile",
    "content": "# Static Analysis Tools Repository Makefile\n\n.PHONY: render render-skip-deprecated check clippy fmt test clean help\n\n# Default target shows help\nhelp:\n\t@echo \"Available targets:\"\n\t@echo \"  render              - Render README.md and JSON API from YAML sources\"\n\t@echo \"  render-skip-deprecated - Render without deprecated tools\"\n\t@echo \"  check               - Run cargo check\"\n\t@echo \"  clippy              - Run clippy lints\"\n\t@echo \"  fmt                 - Format Rust code\"\n\t@echo \"  test                - Run tests\"\n\t@echo \"  clean               - Clean build artifacts\"\n\t@echo \"  help                - Show this help\"\n\n# Main rendering targets\nrender:\n\tcargo run --manifest-path data/render/Cargo.toml -- --tags data/tags.yml --tools data/tools --md-out README.md --json-out data/api\n\nrender-skip-deprecated:\n\tcargo run --manifest-path data/render/Cargo.toml -- --tags data/tags.yml --tools data/tools --md-out README.md --json-out data/api --skip-deprecated\n\n# Development targets\ncheck:\n\tcargo check --manifest-path data/render/Cargo.toml\n\nclippy:\n\tcargo clippy --manifest-path data/render/Cargo.toml -- -D warnings\n\nfmt:\n\tcargo fmt --manifest-path data/render/Cargo.toml\n\ntest:\n\tcargo test --manifest-path data/render/Cargo.toml\n\nclean:\n\tcargo clean --manifest-path data/render/Cargo.toml"
  },
  {
    "path": "README.md",
    "content": "<!-- 🚨🚨 DON'T EDIT THIS FILE DIRECTLY. Edit `data/tools.yml` instead. 🚨🚨 -->\n\n <a href=\"https://analysis-tools.dev/\">\n   <img alt=\"Analysis Tools Website\" src=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/redesign.svg\" />\n </a>\n\nThis repository lists **static analysis tools** for all programming languages, build tools, config files and more. The focus is on tools which improve code quality such as linters and formatters.\nThe official website, [analysis-tools.dev](https://analysis-tools.dev/) is based on this repository and adds rankings, user comments, and additional resources like videos for each tool.\n\n[![Website](https://img.shields.io/badge/Website-Online-2B5BAE)](https://analysis-tools.dev)\n![CI](https://github.com/analysis-tools-dev/static-analysis/workflows/CI/badge.svg)\n[![Links](https://github.com/analysis-tools-dev/static-analysis/actions/workflows/links.yml/badge.svg)](https://github.com/analysis-tools-dev/static-analysis/actions/workflows/links.yml)\n\n## Sponsors\n\nThis project would not be possible without the generous support of our sponsors.\n\n<table>\n   <tr>\n      <td>\n         <a href=\"https://www.pixee.ai/\">\n            <picture >\n               <source width=\"200px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/sponsors/pixee-light.png\">\n               <img width=\"200px\" alt=\"Pixee\" src=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/sponsors/pixee-dark.png\">\n            </picture>\n         </a>\n      </td>\n      <td>\n         <a href=\"https://coderabbit.ai\">\n            <img width=\"200px\" src=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/sponsors/code-rabbit.svg\" />\n         </a>\n      </td>\n      <td>\n         <a href=\"https://semgrep.dev/\">\n            <img width=\"200px\" src=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/sponsors/semgrep.svg\" />\n         </a>\n      </td>\n      <td>\n         <a href=\"https://offensive360.com/\">\n            <img width=\"200px\" src=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/sponsors/offensive360.png\" />\n         </a>\n      </td>\n   </tr>\n</table>\n\nIf you also want to support this project, head over to our [Github sponsors page](https://github.com/sponsors/analysis-tools-dev).\n\n## Meaning of Symbols:\n\n- :copyright: stands for proprietary software. All other tools are Open Source.\n- :information_source: indicates that the community does not recommend to use this tool for new projects anymore. The icon links to the discussion issue.\n- :warning: means that this tool was not updated for more than 1 year, or the repo was archived.\n\nPull requests are very welcome!  \nAlso check out the sister project, [awesome-dynamic-analysis](https://github.com/mre/awesome-dynamic-analysis).\n\n## Table of Contents\n\n#### [Programming Languages](#programming-languages-1)\n\n\n- [ABAP](#abap)\n- [Ada](#ada)\n- [Assembly](#asm)\n- [Awk](#awk)\n- [C](#c)\n- [C#](#csharp)\n- [C++](#cpp)\n- [Clojure](#clojure)\n- [CoffeeScript](#coffeescript)\n- [ColdFusion](#coldfusion)\n- [Crystal](#crystal)\n- [Dart](#dart)\n- [Delphi](#delphi)\n- [Dlang](#dlang)\n- [Elixir](#elixir)\n- [Elm](#elm)\n- [Erlang](#erlang)\n- [F#](#fsharp)\n- [Fortran](#fortran)\n- [Go](#go)\n- [Groovy](#groovy)\n- [Haskell](#haskell)\n- [Haxe](#haxe)\n- [Java](#java)\n- [JavaScript](#javascript)\n- [Julia](#julia)\n- [Kotlin](#kotlin)\n- [Lua](#lua)\n- [MATLAB](#matlab)\n- [Nim](#nim)\n- [Ocaml](#ocaml)\n- [PHP](#php)\n- [PL/SQL](#plsql)\n- [Perl](#perl)\n- [Python](#python)\n- [R](#r)\n- [Rego](#rego)\n- [Ruby](#ruby)\n- [Rust](#rust)\n- [SQL](#sql)\n- [Scala](#scala)\n- [Shell](#shell)\n- [Swift](#swift)\n- [Tcl](#tcl)\n- [TypeScript](#typescript)\n- [Verilog/SystemVerilog](#verilog)\n- [Vim Script](#vim-script)\n- [WebAssembly](#wasm)\n\n#### [Multiple Languages](#multiple-languages-1)\n\n#### [Other](#other-1)\n<details>\n <summary>Show Other</summary>\n\n- [.env](#dotenv)\n- [Ansible](#ansible)\n- [Archive](#archive)\n- [Azure Resource Manager](#arm)\n- [Binaries](#binary)\n- [Build tools](#buildtool)\n- [CSS/SASS/SCSS](#css)\n- [Config Files](#configfile)\n- [Configuration Management](#configmanagement)\n- [Containers](#container)\n- [Continuous Integration](#ci)\n- [Deno](#deno)\n- [Dockerfile](#dockerfile)\n- [Embedded](#embedded)\n- [Embedded Ruby (a.k.a. ERB, eRuby)](#erb)\n- [Gherkin](#gherkin)\n- [HTML](#html)\n- [JSON](#json)\n- [Kubernetes](#kubernetes)\n- [LaTeX](#latex)\n- [Laravel](#laravel)\n- [Makefiles](#make)\n- [Markdown](#markdown)\n- [Metalinter](#meta)\n- [Mobile](#mobile)\n- [Nix](#nix)\n- [Node.js](#nodejs)\n- [Packages](#package)\n- [Prometheus](#prometheus)\n- [Protocol Buffers](#protobuf)\n- [Puppet](#puppet)\n- [Rails](#rails)\n- [Security/SAST](#security)\n- [Smart Contracts](#smart-contracts)\n- [Support](#support)\n- [Template-Languages](#template)\n- [Terraform](#terraform)\n- [Translation](#translation)\n- [Vue.js](#vue)\n- [Writing](#writing)\n- [YAML](#yaml)\n- [git](#git)\n</details>\n\n---\n\n## Programming Languages\n\n<a name=\"abap\" />\n<h2>ABAP</h2>\n\n\n- [abaplint](https://abaplint.org) — Linter for ABAP, written in TypeScript.\n\n- [abapOpenChecks](https://docs.abapopenchecks.org) — Enhances the SAP Code Inspector with new and customizable checks.\n\n\n<a name=\"ada\" />\n<h2>Ada</h2>\n\n\n- [Polyspace for Ada](https://www.mathworks.com/products/polyspace-ada.html) :copyright: — Provide code verification that proves the absence of overflow, divide-by-zero, out-of-bounds array access, and certain other run-time errors in source code.\n\n- [SPARK](https://www.adacore.com/about-spark) :copyright: — Static analysis and formal verification toolset for Ada.\n\n\n<a name=\"asm\" />\n<h2>Assembly</h2>\n\n\n- **STOKE** :warning: — A programming-language agnostic stochastic optimizer for the x86_64 instruction set. It uses random search to explore the extremely high-dimensional space of all possible program transformations.\n\n\n<a name=\"awk\" />\n<h2>Awk</h2>\n\n\n- [gawk --lint](https://www.gnu.org/software/gawk/manual/html_node/Options.html) — Warns about constructs that are dubious or nonportable to other awk implementations.\n\n\n<a name=\"c\" />\n<h2>C</h2>\n\n\n- [Astrée](https://www.absint.com/astree/index.htm) :copyright: — Astrée automatically proves the absence of runtime errors and invalid con­current behavior in C/C++ applications. It is sound for floating-point computations, very fast, and exceptionally precise. The analyzer also checks for MISRA/CERT/CWE/Adaptive Autosar coding rules and supports qualification for ISO 26262, DO-178C level A, and other safety standards. Jenkins and Eclipse plugins are available.\n\n- [CBMC](http://www.cprover.org/cbmc) — Bounded model-checker for C programs, user-defined assertions, standard assertions, several coverage metric analyses.\n\n- [clang-tidy](https://clang.llvm.org/extra/clang-tidy) — Clang-based C++ linter tool with the (limited) ability to fix issues, too.\n\n- [clazy](https://github.com/KDE/clazy) — Qt-oriented static code analyzer based on the Clang framework. clazy is a compiler plugin which allows clang to understand Qt semantics. You get more than 50 Qt related compiler warnings, ranging from unneeded memory allocations to misusage of API, including fix-its for automatic refactoring.\n\n- [CMetrics](https://github.com/MetricsGrimoire/CMetrics) — Measures size and complexity for C files.\n\n- [CPAchecker](https://cpachecker.sosy-lab.org) — A tool for configurable software verification of C programs.  The name CPAchecker was chosen to reflect that the tool is based on the CPA concepts and is used for checking software programs.\n\n- [cppcheck](https://cppcheck.sourceforge.io) — Static analysis of C/C++ code.\n\n- [CppDepend](https://www.cppdepend.com) :copyright: — Measure, query and visualize your code and avoid unexpected issues, technical debt and complexity.\n\n- [cpplint](https://github.com/cpplint/cpplint) — Automated C++ checker that follows Google's style guide.\n\n- [cqmetrics](https://github.com/dspinellis/cqmetrics) — Quality metrics for C code.\n\n- [CScout](https://www.spinellis.gr/cscout) — Complexity and quality metrics for C and C preprocessor code.\n\n- **ENRE-cpp** :warning: — ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code. ENRE-cpp is a ENtity Relationship Extractor for C/C++ based on @eclipse/CDT. (Under development)\n\n- [ESBMC](http://esbmc.org) — ESBMC is an open source, permissively licensed, context-bounded model checker based on satisfiability modulo theories for the verification of single- and multi-threaded C/C++ programs.\n\n- **flawfinder** :warning: — Finds possible security weaknesses.\n\n- **flint++** :warning: — Cross-platform, zero-dependency port of flint, a lint program for C++ developed and used at Facebook.\n\n- [Frama-C](https://www.frama-c.com) — A sound and extensible static analyzer for C code.\n\n- [GCC](https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html) — The GCC compiler has static analysis capabilities since version 10. This option is only available if GCC was configured with analyzer support enabled.  It can also output its diagnostics to a JSON file in the SARIF format (from v13).\n\n- [Goblint](https://goblint.in.tum.de) — A static analyzer for the analysis of multi-threaded C programs. Its primary focus is the  detection of data races, but it also reports other runtime errors, such as buffer overflows and null-pointer dereferences.\n\n- [Helix QAC](https://www.perforce.com/products/helix-qac) :copyright: — Enterprise-grade static analysis for embedded software. Supports MISRA, CERT, and AUTOSAR coding standards.\n\n- [IKOS](https://github.com/nasa-sw-vnv/ikos) — A sound static analyzer for C/C++ code based on LLVM.\n\n- [KLEE](http://klee.github.io/) — A dynamic symbolic execution engine built on top of the LLVM compiler infrastructure.  It can auto-generate test cases for programs such that the test cases exercise as much of the program as possible.\n\n- [LDRA](https://ldra.com) :copyright: — A tool suite including static analysis (TBVISION) to various standards including MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ & Custom Rules.\n\n- **MATE** :warning: — A suite of tools for interactive program analysis with a focus on hunting for bugs in C and C++ code. MATE unifies application-specific and low-level vulnerability analysis using code property graphs (CPGs), enabling the discovery of highly application-specific vulnerabilities that depend on both implementation details and the high-level semantics of target C/C++ programs.\n\n- [PC-lint](https://pclintplus.com/) :copyright: — Static analysis for C/C++. Runs natively under Windows/Linux/MacOS. Analyzes code for virtually any platform, supporting C11/C18 and C++17.\n\n- [Phasar](https://phasar.org) — A LLVM-based static analysis framework which comes with a taint and type state analysis.\n\n- [Polyspace Bug Finder](https://www.mathworks.com/products/polyspace-bug-finder.html) :copyright: — Identifies run-time errors, concurrency issues, security vulnerabilities, and other defects in C and C++ embedded software.\n\n- [Polyspace Code Prover](https://www.mathworks.com/products/polyspace-code-prover.html) :copyright: — Provide code verification that proves the absence of overflow, divide-by-zero, out-of-bounds array access, and certain other run-time errors in C and C++ source code.\n\n- [scan-build](https://clang-analyzer.llvm.org/scan-build.html) — Frontend to drive the Clang Static Analyzer built into Clang via a regular build.\n\n- [splint](http://splint.org) — Annotation-assisted static program checker.\n\n- [SVF](https://svf-tools.github.io/SVF) — A static tool that enables scalable and precise interprocedural dependence analysis for C and C++ programs.\n\n- [TrustInSoft Analyzer](https://trust-in-soft.com) :copyright: — Exhaustive detection of coding errors and their associated security vulnerabilities. This encompasses a sound undefined behavior detection (buffer overflows, out-of-bounds array accesses, null-pointer dereferences, use-after-free, divide-by-zeros, uninitialized memory accesses, signed overflows, invalid pointer arithmetic, etc.), data flow and control flow verification as well as full functional verification of formal specifications. All versions of C up to C18 and C++ up to C++20 are supported. TrustInSoft Analyzer will acquire ISO 26262 qualification in Q2'2023 (TCL3). A MISRA C checker is also bundled.\n\n- **vera++** :warning: — Vera++ is a programmable tool for verification, analysis and transformation of C++ source code.\n\n\n<a name=\"csharp\" />\n<h2>C#</h2>\n\n\n- [.NET Analyzers](https://github.com/DotNetAnalyzers) — An organization for the development of analyzers (diagnostics and code fixes) using the .NET Compiler Platform.\n\n- [ArchUnitNET](https://github.com/TNG/ArchUnitNET) — A C# architecture test library to specify and assert architecture rules in C# for automated testing.\n\n- [code-cracker](https://code-cracker.github.io) — An analyzer library for C# and VB that uses Roslyn to produce refactorings, code analysis, and other niceties.\n\n- **CSharpEssentials** :warning: — C# Essentials is a collection of Roslyn diagnostic analyzers, code fixes and refactorings that make it easy to work with C# 6 language features.\n\n- [Designite](http://www.designite-tools.com) :copyright: — Designite supports detection of various architecture, design, and implementation smells, computation of various code quality metrics, and trend analysis.\n\n- [Gendarme](https://www.mono-project.com/docs/tools+libraries/tools/gendarme) — Gendarme inspects programs and libraries that contain code in ECMA CIL format (Mono and .NET).\n\n- **Infer#** :warning: — InferSharp (also referred to as Infer#) is an interprocedural and  scalable static code analyzer for C#. Via the capabilities of Facebook's Infer,  this tool detects null pointer dereferences and resource leaks.\n\n- [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) — A Roslyn analyzer to enforce some good practices in C# in terms of design, usage, security, performance, and style.\n\n- [NDepend](http://www.ndepend.com) :copyright: — Measure, query and visualize your code and avoid unexpected issues, technical debt and complexity.\n\n- [Puma Scan](https://pumasecurity.io) — Puma Scan provides real time secure code analysis for common vulnerabilities (XSS, SQLi, CSRF, LDAPi, crypto, deserialization, etc.) as development teams write code in Visual Studio.\n\n- [Roslynator](https://github.com/JosefPihrt/Roslynator) — A collection of 190+ analyzers and 190+ refactorings for C#, powered by Roslyn.\n\n- [SonarAnalyzer.CSharp](https://github.com/SonarSource/sonar-dotnet) — These Roslyn analyzers allow you to produce Clean Code that is safe, reliable, and maintainable by helping you find and correct bugs, vulnerabilities, and code smells in your codebase.\n\n- **VSDiagnostics** :warning: — A collection of static analyzers based on Roslyn that integrates with VS.\n\n- [Wintellect.Analyzers](https://github.com/Wintellect/Wintellect.Analyzers) — .NET Compiler Platform (\"Roslyn\") diagnostic analyzers and code fixes.\n\n\n<a name=\"cpp\" />\n<h2>C++</h2>\n\n\n- [Astrée](https://www.absint.com/astree/index.htm) :copyright: — Astrée automatically proves the absence of runtime errors and invalid con­current behavior in C/C++ applications. It is sound for floating-point computations, very fast, and exceptionally precise. The analyzer also checks for MISRA/CERT/CWE/Adaptive Autosar coding rules and supports qualification for ISO 26262, DO-178C level A, and other safety standards. Jenkins and Eclipse plugins are available.\n\n- [CBMC](http://www.cprover.org/cbmc) — Bounded model-checker for C programs, user-defined assertions, standard assertions, several coverage metric analyses.\n\n- [clang-tidy](https://clang.llvm.org/extra/clang-tidy) — Clang-based C++ linter tool with the (limited) ability to fix issues, too.\n\n- [clazy](https://github.com/KDE/clazy) — Qt-oriented static code analyzer based on the Clang framework. clazy is a compiler plugin which allows clang to understand Qt semantics. You get more than 50 Qt related compiler warnings, ranging from unneeded memory allocations to misusage of API, including fix-its for automatic refactoring.\n\n- [CMetrics](https://github.com/MetricsGrimoire/CMetrics) — Measures size and complexity for C files.\n\n- [cppcheck](https://cppcheck.sourceforge.io) — Static analysis of C/C++ code.\n\n- [CppDepend](https://www.cppdepend.com) :copyright: — Measure, query and visualize your code and avoid unexpected issues, technical debt and complexity.\n\n- [cpplint](https://github.com/cpplint/cpplint) — Automated C++ checker that follows Google's style guide.\n\n- [cqmetrics](https://github.com/dspinellis/cqmetrics) — Quality metrics for C code.\n\n- [CScout](https://www.spinellis.gr/cscout) — Complexity and quality metrics for C and C preprocessor code.\n\n- **ENRE-cpp** :warning: — ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code. ENRE-cpp is a ENtity Relationship Extractor for C/C++ based on @eclipse/CDT. (Under development)\n\n- [ESBMC](http://esbmc.org) — ESBMC is an open source, permissively licensed, context-bounded model checker based on satisfiability modulo theories for the verification of single- and multi-threaded C/C++ programs.\n\n- **flawfinder** :warning: — Finds possible security weaknesses.\n\n- **flint++** :warning: — Cross-platform, zero-dependency port of flint, a lint program for C++ developed and used at Facebook.\n\n- [GCC](https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html) — The GCC compiler has static analysis capabilities since version 10. This option is only available if GCC was configured with analyzer support enabled.  It can also output its diagnostics to a JSON file in the SARIF format (from v13).\n\n- [Helix QAC](https://www.perforce.com/products/helix-qac) :copyright: — Enterprise-grade static analysis for embedded software. Supports MISRA, CERT, and AUTOSAR coding standards.\n\n- [IKOS](https://github.com/nasa-sw-vnv/ikos) — A sound static analyzer for C/C++ code based on LLVM.\n\n- [KLEE](http://klee.github.io/) — A dynamic symbolic execution engine built on top of the LLVM compiler infrastructure.  It can auto-generate test cases for programs such that the test cases exercise as much of the program as possible.\n\n- [LDRA](https://ldra.com) :copyright: — A tool suite including static analysis (TBVISION) to various standards including MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ & Custom Rules.\n\n- **MATE** :warning: — A suite of tools for interactive program analysis with a focus on hunting for bugs in C and C++ code. MATE unifies application-specific and low-level vulnerability analysis using code property graphs (CPGs), enabling the discovery of highly application-specific vulnerabilities that depend on both implementation details and the high-level semantics of target C/C++ programs.\n\n- [PC-lint](https://pclintplus.com/) :copyright: — Static analysis for C/C++. Runs natively under Windows/Linux/MacOS. Analyzes code for virtually any platform, supporting C11/C18 and C++17.\n\n- [Phasar](https://phasar.org) — A LLVM-based static analysis framework which comes with a taint and type state analysis.\n\n- [Polyspace Bug Finder](https://www.mathworks.com/products/polyspace-bug-finder.html) :copyright: — Identifies run-time errors, concurrency issues, security vulnerabilities, and other defects in C and C++ embedded software.\n\n- [Polyspace Code Prover](https://www.mathworks.com/products/polyspace-code-prover.html) :copyright: — Provide code verification that proves the absence of overflow, divide-by-zero, out-of-bounds array access, and certain other run-time errors in C and C++ source code.\n\n- [scan-build](https://clang-analyzer.llvm.org/scan-build.html) — Frontend to drive the Clang Static Analyzer built into Clang via a regular build.\n\n- [splint](http://splint.org) — Annotation-assisted static program checker.\n\n- [SVF](https://svf-tools.github.io/SVF) — A static tool that enables scalable and precise interprocedural dependence analysis for C and C++ programs.\n\n- [TrustInSoft Analyzer](https://trust-in-soft.com) :copyright: — Exhaustive detection of coding errors and their associated security vulnerabilities. This encompasses a sound undefined behavior detection (buffer overflows, out-of-bounds array accesses, null-pointer dereferences, use-after-free, divide-by-zeros, uninitialized memory accesses, signed overflows, invalid pointer arithmetic, etc.), data flow and control flow verification as well as full functional verification of formal specifications. All versions of C up to C18 and C++ up to C++20 are supported. TrustInSoft Analyzer will acquire ISO 26262 qualification in Q2'2023 (TCL3). A MISRA C checker is also bundled.\n\n- **vera++** :warning: — Vera++ is a programmable tool for verification, analysis and transformation of C++ source code.\n\n\n<a name=\"clojure\" />\n<h2>Clojure</h2>\n\n\n- [clj-kondo](https://github.com/borkdude/clj-kondo) — A linter for Clojure code that sparks joy. It informs you about potential errors while you are typing.\n\n\n<a name=\"coffeescript\" />\n<h2>CoffeeScript</h2>\n\n\n- **coffeelint** :warning: — A style checker that helps keep CoffeeScript code clean and consistent.\n\n\n<a name=\"coldfusion\" />\n<h2>ColdFusion</h2>\n\n\n- [Fixinator](https://fixinator.app) :copyright: — Static security code analysis for ColdFusion or CFML code. Designed to work within a CI pipeline or from the developers terminal.\n\n\n<a name=\"crystal\" />\n<h2>Crystal</h2>\n\n\n- [ameba](https://crystal-ameba.github.io) — A static code analysis tool for Crystal.\n\n- [crystal](https://crystal-lang.org) — The Crystal compiler has built-in linting functionality.\n\n\n<a name=\"dart\" />\n<h2>Dart</h2>\n\n\n- **Dart Code Metrics** :warning: — Additional linter for Dart. Reports code metrics, checks for anti-patterns and provides additional rules for Dart analyzer.\n\n- [effective_dart](https://pub.dev/packages/effective_dart) — Linter rules corresponding to the guidelines in Effective Dart\n\n- **lint** :warning: — An opinionated, community-driven set of lint rules for Dart and Flutter projects. Like pedantic but stricter\n\n- **Linter for dart** :warning: — Style linter for Dart.\n\n\n<a name=\"delphi\" />\n<h2>Delphi</h2>\n\n\n- [DelphiLint](https://github.com/integrated-application-development/delphilint) — A Delphi IDE package providing on-the-fly code analysis and linting, powered by SonarDelphi.\n\n- [Fix Insight](https://www.tmssoftware.com/site/fixinsight.asp) :copyright: — A free IDE Plugin for static code analysis. A _Pro_ edition includes a command line tool for automation purposes.\n\n- [Pascal Analyzer](https://peganza.com/products_pal.html) :copyright: — A static code analysis tool with numerous reports. A free _Lite_ version is available with limited reporting.\n\n- [Pascal Expert](https://peganza.com/products_pex.html) :copyright: — IDE plugin for code analysis. Includes a subset of Pascal Analyzer reporting capabilities and is available for Delphi versions 2007 and later.\n\n- [SonarDelphi](https://github.com/integrated-application-development/sonar-delphi) — Delphi static analyzer for the SonarQube code quality platform.\n\n\n<a name=\"dlang\" />\n<h2>Dlang</h2>\n\n\n- [D-scanner](https://github.com/dlang-community/D-Scanner) — D-Scanner is a tool for analyzing D source code.\n\n\n<a name=\"elixir\" />\n<h2>Elixir</h2>\n\n\n- [credo](https://github.com/rrrene/credo) — A static code analysis tool with a focus on code consistency and teaching.\n\n- [dialyxir](https://github.com/jeremyjh/dialyxir) — Mix tasks to simplify use of Dialyzer in Elixir projects.\n\n- [sobelow](https://github.com/nccgroup/sobelow) — Security-focused static analysis for the Phoenix Framework.\n\n\n<a name=\"elm\" />\n<h2>Elm</h2>\n\n\n- **elm-analyse** :warning: — A tool that allows you to analyse your Elm code, identify deficiencies and apply best practices.\n\n- [elm-review](https://package.elm-lang.org/packages/jfmengels/elm-review/latest) — Analyzes whole Elm projects, with a focus on shareable and custom rules written in Elm that add guarantees the Elm compiler doesn't give you.\n\n\n<a name=\"erlang\" />\n<h2>Erlang</h2>\n\n\n- [dialyzer](https://www.erlang.org/doc/man/dialyzer.html) — The DIALYZER, a DIscrepancy AnaLYZer for ERlang programs. Dialyzer is a static analysis tool that identifies software discrepancies,  such as definite type errors, code that has become dead or unreachable  because of programming error, and unnecessary tests,  in single Erlang modules or entire (sets of) applications.\nDialyzer starts its analysis from either debug-compiled BEAM bytecode  or from Erlang source code. The file and line number of a discrepancy  is reported along with an indication of what the discrepancy is about.  Dialyzer bases its analysis on the concept of success typings,  which allows for sound warnings (no false positives).\n\n- [elvis](https://github.com/inaka/elvis) — Erlang Style Reviewer.\n\n- **Primitive Erlang Security Tool (PEST)** :warning: — A tool to do a basic scan of Erlang source code and report any function calls that may cause Erlang source code to be insecure.\n\n\n<a name=\"fsharp\" />\n<h2>F#</h2>\n\n\n- [fantomas](https://fsprojects.github.io/fantomas/) — F# source code formatter.\n\n- [FSharpLint](https://github.com/fsprojects/FSharpLint) — Lint tool for F#.\n\n- [ionide-analyzers](https://ionide.io/ionide-analyzers/) — A collection of F# analyzers, built with the FSharp.Analyzers.SDK.\n\n\n<a name=\"fortran\" />\n<h2>Fortran</h2>\n\n\n- [Fortitude](https://fortitude.readthedocs.io) — Fortran linter, inspired by (and built on) Ruff, and based on community best practices. Supports latest Fortran (2023) standard.\n\n- [fprettify](https://pypi.python.org/pypi/fprettify) — Auto-formatter for modern fortran source code, written in Python.\nFprettify is a tool that provides consistent whitespace, indentation, and delimiter alignment in code, including the ability to change letter case and handle preprocessor directives, all while preserving revision history and tested for editor integration.\n\n- **i-Code CNES for Fortran** :warning: — An open source static code analysis tool for Fortran 77, Fortran 90 and Shell.\n\n\n<a name=\"go\" />\n<h2>Go</h2>\n\n\n- [aligncheck](https://gitlab.com/opennota/check) — Find inefficiently packed structs.\n\n- [bodyclose](https://github.com/timakin/bodyclose) — Checks whether HTTP response body is closed.\n\n- [deadcode](https://github.com/tsenart/deadcode) — Finds unused code.\n\n- **dingo-hunter** :warning: — Static analyser for finding deadlocks in Go.\n\n- [dogsled](https://github.com/alexkohler/dogsled) — Finds assignments/declarations with too many blank identifiers.\n\n- [dupl](https://github.com/mibk/dupl) — Reports potentially duplicated code.\n\n- [errcheck](https://github.com/kisielk/errcheck) — Check that error return values are used.\n\n- [errwrap](https://github.com/fatih/errwrap) — Wrap and fix Go errors with the new %w verb directive.  This tool analyzes fmt.Errorf() calls and reports calls that contain a verb directive that  is different than the new %w verb directive introduced in Go v1.13.  It's also capable of rewriting calls to use the new %w wrap verb directive.\n\n- [flen](https://github.com/lafolle/flen) — Get info on length of functions in a Go package.\n\n- **Go Meta Linter** :warning: — Concurrently run Go lint tools and normalise their output. Use `golangci-lint` for new projects.\n\n- [go tool vet --shadow](https://golang.org/cmd/vet#hdr-Shadowed_variables) — Reports variables that may have been unintentionally shadowed.\n\n- [go vet](https://golang.org/cmd/vet) — Examines Go source code and reports suspicious.\n\n- **go-consistent** :warning: — Analyzer that helps you to make your Go programs more consistent.\n\n- [go-critic](https://github.com/go-critic/go-critic) — Go source code linter that maintains checks which are currently not implemented in other linters.\n\n- [go/ast](https://golang.org/pkg/go/ast) — Package ast declares the types used to represent syntax trees for Go packages.\n\n- **goast** :warning: — Go AST (Abstract Syntax Tree) based static analysis tool with Rego.\n\n- **gochecknoglobals** :warning: — Checks that no globals are present.\n\n- [goconst](https://github.com/jgautheron/goconst) — Finds repeated strings that could be replaced by a constant.\n\n- [gocyclo](https://github.com/fzipp/gocyclo) — Calculate cyclomatic complexities of functions in Go source code.\n\n- [gofmt -s](https://golang.org/cmd/gofmt) — Checks if the code is properly formatted and could not be further simplified.\n\n- [gofumpt](https://github.com/mvdan/gofumpt) — Enforce a stricter format than `gofmt`, while being backwards-compatible.  That is, `gofumpt` is happy with a subset of the formats that `gofmt` is happy with.\nThe tool is a fork of `gofmt` as of Go 1.19, and requires Go 1.18 or later.  It can be used as a drop-in replacement to format your Go code, and running gofmt  after gofumpt should produce no changes.\n`gofumpt` will never add rules which disagree with `gofmt` formatting. So we extend `gofmt` rather than compete with it.\n\n- [goimports](https://pkg.go.dev/golang.org/x/tools/cmd/goimports) — Checks missing or unreferenced package imports.\n\n- [gokart](https://github.com/praetorian-inc/gokart) — Golang security analysis with a focus on minimizing false positives. It is capable of tracing the source of variables and function arguments  to determine whether input sources are safe.\n\n- [GolangCI-Lint](https://golangci-lint.run) — Alternative to `Go Meta Linter`: GolangCI-Lint is a linters aggregator.\n\n- [golint](https://github.com/golang/lint) — Prints out coding style mistakes in Go source code.\n\n- [goreporter](https://github.com/360EntSecGroup-Skylar/goreporter) — Concurrently runs many linters and normalises their output to a report.\n\n- [goroutine-inspect](https://github.com/linuxerwang/goroutine-inspect) — An interactive tool to analyze Golang goroutine dump.\n\n- [gosec (gas)](https://securego.io) — Inspects source code for security problems by scanning the Go AST.\n\n- [gotype](https://pkg.go.dev/golang.org/x/tools/cmd/gotype) — Syntactic and semantic analysis similar to the Go compiler.\n\n- [govulncheck](https://go.dev/blog/vuln) — Govulncheck reports known vulnerabilities that affect Go code.  It uses static analysis of source code or a binary's symbol table to narrow down reports to only those that could affect the application.\nBy default, govulncheck makes requests to the Go vulnerability database at https://vuln.go.dev. Requests to the vulnerability database contain only module paths, not code or other properties of your program.\n\n- [ineffassign](https://github.com/gordonklaus/ineffassign) — Detect ineffectual assignments in Go code.\n\n- **interfacer** :warning: — Suggest narrower interfaces that can be used.\n\n- [lll](https://github.com/walle/lll) — Report long lines.\n\n- **maligned** :warning: — Detect structs that would take less memory if their fields were sorted.\n\n- [misspell](https://github.com/client9/misspell) — Finds commonly misspelled English words.\n\n- [nakedret](https://github.com/alexkohler/nakedret) — Finds naked returns.\n\n- [nargs](https://github.com/alexkohler/nargs) — Finds unused arguments in function declarations.\n\n- [OSV-Scanner](https://osv.dev/) — Vulnerability scanner written in Go which uses the data provided by OSV.dev. Developed by Google to scan dependencies across multiple languages and package managers for known vulnerabilities. Supports container scanning, license scanning, and guided remediation. Works with lockfiles, SBOMs, and container images to identify security issues.\n\n- [prealloc](https://github.com/alexkohler/prealloc) — Finds slice declarations that could potentially be preallocated.\n\n- [Reviewdog](https://github.com/haya14busa/reviewdog) — A tool for posting review comments from any linter in any code hosting service.\n\n- [revive](https://revive.run) — Fast, configurable, extensible, flexible, and beautiful linter for Go. Drop-in replacement of golint.\n\n- **safesql** :warning: — Static analysis tool for Golang that protects against SQL injections.\n\n- **shisho** :warning: — A lightweight static code analyzer designed for developers and security teams. It allows you to analyze and transform source code with an intuitive DSL similar to sed, but for code.\n\n- [staticcheck](https://staticcheck.io) — Go static analysis that specialises in finding bugs, simplifying code and improving performance.\n\n- [structcheck](https://gitlab.com/opennota/check) — Find unused struct fields.\n\n- [structslop](https://github.com/orijtech/structslop) — Static analyzer for Go that recommends struct field rearrangements to provide for maximum space/allocation efficiency\n\n- [test](https://pkg.go.dev/testing) — Show location of test failures from the stdlib testing module.\n\n- **unconvert** :warning: — Detect redundant type conversions.\n\n- [unparam](https://github.com/mvdan/unparam) — Find unused function parameters.\n\n- [varcheck](https://gitlab.com/opennota/check) — Find unused global variables and constants.\n\n- [wsl](https://github.com/bombsimon/wsl) — Enforces empty lines at the right places.\n\n\n<a name=\"groovy\" />\n<h2>Groovy</h2>\n\n\n- [CodeNarc](https://codenarc.github.io/CodeNarc) — A static analysis tool for Groovy source code, enabling monitoring and enforcement of many coding standards and best practices.\n\n\n<a name=\"haskell\" />\n<h2>Haskell</h2>\n\n\n- **brittany** :warning: — Haskell source code formatter\n\n- [HLint](https://github.com/ndmitchell/hlint) — HLint is a tool for suggesting possible improvements to Haskell code.\n\n- [Liquid Haskell](https://ucsd-progsys.github.io/liquidhaskell-blog/) — Liquid Haskell is a refinement type checker for Haskell programs.\n\n- [Stan](https://kowainik.github.io/projects/stan) — Stan is a command-line tool for analysing Haskell projects and outputting discovered vulnerabilities in a helpful way with possible solutions for detected problems.\n\n- [Weeder](https://github.com/ocharles/weeder) — A tool for detecting dead exports or package imports in Haskell code.\n\n\n<a name=\"haxe\" />\n<h2>Haxe</h2>\n\n\n- [Haxe Checkstyle](https://haxecheckstyle.github.io/docs/haxe-checkstyle/home.html) — A static analysis tool to help developers write Haxe code that adheres to a coding standard.\n\n\n<a name=\"java\" />\n<h2>Java</h2>\n\n\n- [Checker Framework](https://checkerframework.org) — Pluggable type-checking for Java.  This is not just a bug-finder, but a verification tool that gives a guarantee of correctness.  It comes with 27 pre-built type systems, and it enables users to define their own type system; the manual lists over 30 user-contributed type systems.\n\n- [checkstyle](https://checkstyle.org) — Checking Java source code for adherence to a Code Standard or set of validation rules (best practices).\n\n- [ck](https://github.com/mauricioaniche/ck) — Calculates Chidamber and Kemerer object-oriented metrics by processing the source Java files.\n\n- [ckjm](http://www.spinellis.gr/sw/ckjm) — Calculates Chidamber and Kemerer object-oriented metrics by processing the bytecode of compiled Java files.\n\n- **CogniCrypt** :warning: — Checks Java source and byte code for incorrect uses of cryptographic APIs.\n\n- [Dataflow Framework](https://github.com/typetools/checker-framework) — An industrial-strength dataflow framework for Java. The Dataflow Framework is used in the Checker Framework, Google’s Error Prone, Uber’s NullAway, Meta’s Nullsafe, and in other contexts. It is distributed with the Checker Framework.\n\n- [DesigniteJava](http://www.designite-tools.com/designitejava) :copyright: — DesigniteJava supports detection of various architecture, design, and implementation smells along with computation of various code quality metrics.\n\n- [Diffblue](https://www.diffblue.com/) :copyright: — Diffblue is a software company that provides AI-powered code analysis and testing solutions for software development teams.\nIts technology helps developers automate testing, find bugs, and reduce manual labor in their software development processes. The company's main product, Diffblue Cover, uses AI to generate and run unit tests for Java code, helping to catch errors and improve code quality.\n\n- [Doop](https://plast-lab.github.io/doop-pldi15-tutorial/) — Doop is a declarative framework for static analysis of Java/Android programs, centered on pointer analysis algorithms. Doop provides a large variety of analyses and also the surrounding scaffolding to run an analysis end-to-end (fact generation, processing, statistics, etc.).\n\n- **ENRE-java** :warning: — ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code. ENRE-java is a ENtity Relationship Extractor for Java projects based on @Eclipse JDT/parser.\n\n- [Error Prone](https://errorprone.info) — Catch common Java mistakes as compile-time errors.\n\n- [fb-contrib](http://fb-contrib.sourceforge.net) — A plugin for FindBugs with additional bug detectors.\n\n- [forbidden-apis](https://github.com/policeman-tools/forbidden-apis) — Detects and forbids invocations of specific method/class/field (like reading from a text stream without a charset). Maven/Gradle/Ant compatible.\n\n- [google-java-format](https://github.com/google/google-java-format) — Reformats Java source code to comply with Google Java Style\n\n- **HuntBugs** :warning: — Bytecode static analyzer tool based on Procyon Compiler Tools aimed to supersede FindBugs.\n\n- [IntelliJ IDEA](https://www.jetbrains.com/idea) :copyright: — Comes bundled with a lot of inspections for Java and Kotlin and includes tools for refactoring, formatting and more.\n\n- [JArchitect](https://www.jarchitect.com) :copyright: — Measure, query and visualize your code and avoid unexpected issues, technical debt and complexity.\n\n- [JBMC](https://www.cprover.org/jbmc) — Bounded model-checker for Java (bytecode), verifies user-defined assertions, standard assertions, several coverage metric analyses.\n\n- [JLiSA](https://github.com/lisa-analyzer/jlisa) — An abstract interpretation-based static analyzer for Java build upon the [LiSA](https://github.com/lisa-analyzer/lisa) framekwork.\n\n- [Mariana Trench](https://mariana-tren.ch/) — Our security focused static analysis tool for Android and Java applications. Mariana Trench analyzes Dalvik bytecode and is built to run fast on large codebases (10s of millions of lines of code). It can find vulnerabilities as code changes, before it ever lands in your repository.\n\n- [NullAway](https://github.com/uber/NullAway) — Type-based null-pointer checker with low build-time overhead; an [Error Prone](http://errorprone.info/) plugin.\n\n- **OWASP Dependency Check** :warning: — Checks dependencies for known, publicly disclosed, vulnerabilities.\n\n- [qulice](https://www.qulice.com) — Combines a few (pre-configured) static analysis tools (checkstyle, PMD, Findbugs, ...).\n\n- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) — Identifies and prioritizes God Classes and Highly Coupled classes in Java codebases you should refactor first.\n\n- [Soot](https://soot-oss.github.io/soot) — A framework for analyzing and transforming Java and Android applications.\n\n- [Spoon](https://spoon.gforge.inria.fr) — Spoon is a metaprogramming library to analyze and transform Java source code (incl Java 9, 10, 11, 12, 13, 14). It parses source files to build a well-designed AST with powerful analysis and transformation API. Can be integrated in Maven and Gradle.\n\n- [SpotBugs](https://spotbugs.github.io) — SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.\n\n- **steady** :warning: — Analyses your Java applications for open-source dependencies with known vulnerabilities, using both static analysis and testing to determine code context and usage for greater accuracy.\n\n- [Violations Lib](https://github.com/tomasbjerre/violations-lib) — Java library for parsing report files from static code analysis. Used by a bunch of Jenkins, Maven and Gradle plugins.\n\n\n<a name=\"javascript\" />\n<h2>JavaScript</h2>\n\n\n- **aether** :warning: — Lint, analyze, normalize, transform, sandbox, run, step through, and visualize user JavaScript, in node or the browser.\n\n- [Closure Compiler](https://developers.google.com/closure/compiler) — A compiler tool to increase efficiency, reduce size, and provide code warnings in JavaScript files.\n\n- **ClosureLinter** :warning: — Ensures that all of your project's JavaScript code follows the guidelines in the Google JavaScript Style Guide. It can also automatically fix many common errors.\n\n- **complexity-report** :warning: — Software complexity analysis for JavaScript projects.\n\n- [DeepScan](https://deepscan.io) :copyright: — An analyzer for JavaScript which targets runtime errors and quality issues rather than coding conventions.\n\n- **es6-plato** :warning: — Visualize JavaScript (ES6) source complexity.\n\n- [escomplex](https://github.com/jared-stilwell/escomplex) — Software complexity analysis of JavaScript-family abstract syntax trees.\n\n- **Esprima** :warning: — ECMAScript parsing infrastructure for multipurpose analysis.\n\n- [flow](https://flow.org) — A static type checker for JavaScript.\n\n- **hegel** :warning: — A static type checker for JavaScript with a bias on type inference and strong type systems.\n\n- [jshint](https://jshint.com/about) [:information_source:](<https://github.com/analysis-tools-dev/static-analysis/issues/223>) — Detect errors and potential problems in JavaScript code and enforce your team's coding conventions.\n\n- [JSLint](https://github.com/douglascrockford/JSLint) [:information_source:](<https://github.com/analysis-tools-dev/static-analysis/issues/223>) — The JavaScript Code Quality Tool.\n\n- **JSPrime** :warning: — Static security analysis tool.\n\n- **NodeJSScan** :warning: — A static security code scanner for Node.js applications powered by libsast and semgrep that builds on the njsscan cli tool. It features a UI with various dashboards about an application's security status.\n\n- **plato** :warning: — Visualize JavaScript source complexity.\n\n- [Polymer-analyzer](https://github.com/Polymer/tools/tree/master/packages/analyzer) — A static analysis framework for Web Components.\n\n- [retire.js](https://retirejs.github.io/retire.js) — Scanner detecting the use of JavaScript libraries with known vulnerabilities.\n\n- **RSLint** :warning: — A (WIP) JavaScript linter written in Rust designed to be as fast as possible, customizable, and easy to use.\n\n- [standard](http://standardjs.com) — An npm module that checks for Javascript Styleguide issues.\n\n- [tern](https://ternjs.net) — A JavaScript code analyzer for deep, cross-editor language support.\n\n- **TypL** :warning: — With TypL, you just write completely standard JS, and the tool figures out your types via powerful inferencing.\n\n- [xo](https://github.com/xojs/xo) — Opinionated but configurable ESLint wrapper with lots of goodies included. Enforces strict and readable code.\n\n- **yardstick** :warning: — Javascript code metrics.\n\n\n<a name=\"julia\" />\n<h2>Julia</h2>\n\n\n- [JET](https://github.com/aviatesk/JET.jl) — Static type inference system to detect bugs and type instabilities.\n\n- [StaticLint](https://github.com/julia-vscode/StaticLint.jl) — Static Code Analysis for Julia\n\n\n<a name=\"kotlin\" />\n<h2>Kotlin</h2>\n\n\n- [detekt](https://detekt.github.io/detekt) — Static code analysis for Kotlin code.\n\n- **diktat** :warning: — Strict coding standard for Kotlin and a linter that detects and auto-fixes code smells.\n\n- [ktfmt](https://facebook.github.io/ktfmt/) — A program that reformats Kotlin source code to comply with the common community standard for Kotlin code conventions.\nA ktfmt IntelliJ plugin is available from the plugin repository. To install it, go to your IDE's settings and select the Plugins category. Click the Marketplace tab, search for the ktfmt plugin, and click the Install button.\n\n- [ktlint](https://ktlint.github.io) — An anti-bikeshedding Kotlin linter with built-in formatter.\n\n\n<a name=\"lua\" />\n<h2>Lua</h2>\n\n\n- [luacheck](https://github.com/lunarmodules/luacheck) — A tool for linting and static analysis of Lua code.\n\n- [lualint](https://github.com/philips/lualint) — lualint performs luac-based static analysis of global variable usage in Lua source code.\n\n- **Luanalysis** :warning: — An IDE for statically typed Lua development.\n\n\n<a name=\"matlab\" />\n<h2>MATLAB</h2>\n\n\n- **MISS_HIT** :warning: — MISS_HIT is a free, open-source code quality toolset for MATLAB, Simulink, and Octave. It includes MH Style (style checker and formatter), MH Metrics (complexity metrics), MH Lint (static analysis), MH Trace (requirements traceability), and MH Copyright (copyright management). Designed to work standalone without requiring MATLAB/Octave installation.\n\n- [mlint](https://www.mathworks.com/help/matlab/ref/mlint.html) :copyright: — Check MATLAB code files for possible problems.\n\n\n<a name=\"nim\" />\n<h2>Nim</h2>\n\n\n- [DrNim](https://nim-lang.org/docs/drnim.html) — DrNim combines the Nim frontend with the Z3 proof engine in order to allow verify / validate software written in Nim.\n\n- **nimfmt** :warning: — Nim code formatter / linter / style checker\n\n\n<a name=\"ocaml\" />\n<h2>Ocaml</h2>\n\n\n- [Sys](https://github.com/PLSysSec/sys) — A static/symbolic Tool for finding bugs in (browser) code. It uses the LLVM AST to find bugs like uninitialized memory access.\n\n- [VeriFast](https://github.com/verifast/verifast) — A tool for modular formal verification of correctness properties of single-threaded and multithreaded  C and Java programs annotated with preconditions and postconditions written in separation logic.  To express rich specifications, the programmer can define inductive datatypes,  primitive recursive pure functions over these datatypes, and abstract separation logic predicates.\n\n\n<a name=\"php\" />\n<h2>PHP</h2>\n\n\n- [CakeFuzzer](https://zigrin.com/tools/cake-fuzzer/) — Web application security testing tool for CakePHP-based web applications. CakeFuzzer employs a predefined set of attacks that are randomly modified before execution. Leveraging its deep understanding of the Cake PHP framework, Cake Fuzzer launches attacks on all potential application entry points.\n\n- [churn-php](https://github.com/bmitch/churn-php) — Helps discover good candidates for refactoring.\n\n- [composer-dependency-analyser](https://github.com/shipmonk-rnd/composer-dependency-analyser) — Fast detection of composer dependency issues.\n\n* 💪 Powerful: Detects unused, shadow and misplaced composer dependencies\n* ⚡ Performant: Scans 15 000 files in 2s!\n* ⚙️ Configurable: Fine-grained ignores via PHP config\n* 🕸️ Lightweight: No composer dependencies\n* 🍰 Easy-to-use: No config needed for first try\n* ✨ Compatible: PHP >= 7.2\n\n\n- [dephpend](https://github.com/mihaeu/dephpend) — Dependency analysis tool.\n\n- [deprecation-detector](https://github.com/sensiolabs-de/deprecation-detector) — Finds usages of deprecated (Symfony) code.\n\n- [deptrac](https://github.com/sensiolabs-de/deptrac) — Enforce rules for dependencies between software layers.\n\n- [DesignPatternDetector](https://github.com/Halleck45/DesignPatternDetector) — Detection of design patterns in PHP code.\n\n- [EasyCodingStandard](https://www.tomasvotruba.com/blog/2017/05/03/combine-power-of-php-code-sniffer-and-php-cs-fixer-in-3-lines) — Combine [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) and [PHP-CS-Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer).\n\n- **Enlightn** :warning: — A static and dynamic analysis tool for Laravel applications that provides recommendations to improve the performance, security and code reliability of Laravel apps. Contains 120 automated checks.\n\n- [exakat](https://www.exakat.io) — An automated code reviewing engine for PHP.\n\n- [GrumPHP](https://github.com/phpro/grumphp) — Checks code on every commit.\n\n- [larastan](https://github.com/larastan/larastan) — Adds static analysis to Laravel improving developer productivity and code quality. It is a wrapper around PHPStan.\n\n- [mago](https://mago.carthage.software) — Mago is a complete toolchain for PHP, written in Rust, designed from the ground up for maximum performance.\n- ✨ A blazing-fast formatter that automatically formats your code according to PER-CS, ending style debates forever. - 🔎 An intelligent linter that catches stylistic issues, inconsistencies, and code smells before they become problems. - 🔬 A powerful static analyzer that finds type errors and logical bugs in your code without you ever having to run it. - 🛡️ A robust architectural guard that enforces dependency rules and structural conventions.\n\n- **Mondrian** :warning: — A set of static analysis and refactoring tools which use graph theory.\n\n- [parallel-lint](https://github.com/php-parallel-lint/PHP-Parallel-Lint) — This tool checks syntax of PHP files faster than serial check with a fancier output.\n\n- [Parse](https://github.com/psecio/parse) — A Static Security Scanner.\n\n- [pdepend](https://pdepend.org) — Calculates software metrics like cyclomatic complexity for PHP code.\n\n- [phan](https://github.com/phan/phan/wiki) — A modern static analyzer from etsy.\n\n- [PHP Architecture Tester](https://github.com/carlosas/phpat) — Easy to use architecture testing tool for PHP.\n\n- [PHP Assumptions](https://github.com/rskuipers/php-assumptions) — Checks for weak assumptions.\n\n- [PHP Coding Standards Fixer](https://cs.symfony.com) — Fixes your code according to standards like PSR-1, PSR-2, and the Symfony standard.\n\n- [PHP Insights](https://github.com/nunomaduro/phpinsights) — Instant PHP quality checks from your console. Analysis of code quality and coding style as well as overview of code architecture and its complexity.\n\n- [Php Inspections (EA Extended)](https://plugins.jetbrains.com/plugin/7622-php-inspections-ea-extended-) — A Static Code Analyzer for PHP.\n\n- [PHP Refactoring Browser](https://qafoolabs.github.io/php-refactoring-browser) — Refactoring helper.\n\n- [PHP Semantic Versioning Checker](https://github.com/tomzx/php-semver-checker) — Suggests a next version according to semantic versioning.\n\n- [PHP-Parser](https://github.com/nikic/PHP-Parser) — A PHP parser written in PHP.\n\n- [php-speller](https://github.com/mekras/php-speller) — PHP spell check library.\n\n- **PHP-Token-Reflection** :warning: — Library emulating the PHP internal reflection.\n\n- **php7cc** :warning: — PHP 7 Compatibility Checker.\n\n- **php7mar** :warning: — Assist developers in porting their code quickly to PHP 7.\n\n- **PHP_CodeSniffer** :warning: — Detects violations of a defined set of coding standards.\n\n- [PHPArkitect](https://github.com/phparkitect/arkitect) — PHPArkitect helps you to keep your PHP codebase coherent and solid, by permitting to add some architectural constraint check to your workflow. You can express the constraint that you want to enforce, in simple and readable PHP code.\n\n- **phpca** :warning: — Finds usage of non-built-in extensions.\n\n- **phpcpd** :warning: — Copy/Paste Detector for PHP code.\n\n- **phpdcd** :warning: — Dead Code Detector (DCD) for PHP code.\n\n- **PhpDependencyAnalysis** :warning: — Builds a dependency graph for a project.\n\n- **PhpDeprecationDetector** :warning: — Analyzer of PHP code to search issues with deprecated functionality in newer interpreter versions.  It finds removed objects (functions, variables, constants and ini-directives),  deprecated functions functionality, and usage of forbidden names or tricks (e.g. reserved identifiers in newer versions).\n\n- **phpdoc-to-typehint** :warning: — Add scalar type hints and return types to existing PHP projects using PHPDoc annotations.\n\n- [phpDocumentor](https://www.phpdoc.org) — Analyzes PHP source code to generate documentation.\n\n- [phploc](https://github.com/sebastianbergmann/phploc) — A tool for quickly measuring the size and analyzing the structure of a PHP project.\n\n- [PHPMD](https://phpmd.org) — Finds possible bugs in your code.\n\n- [PhpMetrics](http://www.phpmetrics.org) — Calculates and visualizes various code quality metrics.\n\n- [phpmnd](https://github.com/povils/phpmnd) — Helps to detect magic numbers.\n\n- [PHPQA](https://edgedesigncz.github.io/phpqa) — A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).\n\n- [phpqa - jakzal](https://github.com/jakzal/phpqa) — Many tools for PHP static analysis in one container.\n\n- [phpqa - jmolivas](https://github.com/jmolivas/phpqa) — PHPQA all-in-one Analyzer CLI tool.\n\n- **phpsa** :warning: — Static analysis tool for PHP.\n\n- [PHPStan](https://phpstan.org) — PHP Static Analysis Tool - discover bugs in your code without running it!\n\n- [Progpilot](https://github.com/designsecurity/progpilot) — A static analysis tool for security purposes.\n\n- [Psalm](https://psalm.dev) — Static analysis tool for finding type errors in PHP applications.\n\n- **Qafoo Quality Analyzer** :warning: — Visualizes metrics and source code.\n\n- [rector](https://getrector.org) — Instant Upgrades and Automated Refactoring of any PHP 5.3+ code. It upgrades your code for PHP 7.4, 8.0 and beyond. Rector promises a low false-positive rate because it looks for narrowly defined AST (abstract syntax tree) patterns.  The main use-case are tackling technical debt in your legacy code and removing dead code. Rector provides a set of special rules for Symfony, Doctrine, PHPUnit, and many more.\n\n- [Reflection](https://github.com/phpDocumentor/Reflection) — Reflection library to do Static Analysis for PHP Projects\n\n- [Symfony Insight](https://insight.symfony.com/) :copyright: — Detect security risks, find bugs and provide actionable metrics for PHP projects.\n\n- [Tuli](https://github.com/ircmaxell/Tuli) — A static analysis engine.\n\n- [twig-lint](https://github.com/asm89/twig-lint) — twig-lint is a lint tool for your twig files.\n\n- [WAP](https://securityonline.info/owasp-wap-web-application-protection-project) — Tool to detect and correct input validation vulnerabilities in PHP (4.0 or higher) web applications and predicts false positives by combining static analysis and data mining.\n\n\n<a name=\"plsql\" />\n<h2>PL/SQL</h2>\n\n\n- [ZPA](https://zpa.felipebz.com) — An open source parser and code analyzer for PL/SQL and Oracle SQL code.\n\n\n<a name=\"perl\" />\n<h2>Perl</h2>\n\n\n- [Perl::Analyzer](https://technix.github.io/Perl-Analyzer/) — Perl-Analyzer is a set of programs and modules that allow users to analyze and visualize Perl  codebases by providing information about namespaces and their relations, dependencies,  inheritance, and methods implemented, inherited, and redefined in packages,  as well as calls to methods from parent packages via SUPER. \n\n- [Perl::Critic](https://metacpan.org/pod/Perl::Critic) — Critique Perl source code for best-practices.\n\n- [perltidy](https://perltidy.sourceforge.net/) — Perltidy is a Perl script which indents and reformats Perl scripts to make them easier to read. \nThe formatting can be controlled with command line parameters. The default parameter settings approximately follow the suggestions in the Perl Style Guide. \nBesides reformatting scripts, Perltidy can be a great help in tracking down errors with missing or extra braces, parentheses, and square brackets because it is very good at localizing errors.\n\n- [zarn](https://github.com/htrgouvea/zarn) — A lightweight static security analysis tool for modern Perl Apps\n\n\n<a name=\"python\" />\n<h2>Python</h2>\n\n\n- [autoflake](https://github.com/PyCQA/autoflake) — Autoflake removes unused imports and unused variables from Python code.\n\n- [autopep8](https://pypi.org/project/autopep8/) — A tool that automatically formats Python code to conform to the PEP 8 style guide.\nIt uses the pycodestyle utility to determine what parts of the code needs to be formatted.\n\n- [bandit](https://bandit.readthedocs.io/en/latest) — A tool to find common security issues in Python code.\n\n- [bellybutton](https://github.com/hchasestevens/bellybutton) — A linting engine supporting custom project-specific rules.\n\n- [Black](https://black.readthedocs.io/en/stable) — The uncompromising Python code formatter.\n\n- [Bowler](https://pybowler.io/) — Safe code refactoring for modern Python.  Bowler is a refactoring tool for manipulating Python at the syntax tree level.  It enables safe, large scale code modifications while guaranteeing that the  resulting code compiles and runs. It provides both a simple command line interface  and a fluent API in Python for generating complex code modifications in code.\n\n- **ciocheck** :warning: — Linter, formatter and test suite helper. As a linter, it is a wrapper around `pep8`, `pydocstyle`, `flake8`, and `pylint`.\n\n- [Code Pathfinder](https://codepathfinder.dev) — An open-source security suite aiming to combine structural code analysis with  AI-powered vulnerability detection. Built for advanced structural search, derive  insights, find vulnerabilities in code.\n\n- **cohesion** :warning: — A tool for measuring Python class cohesion.\n\n- [deal](https://deal.readthedocs.io/) — Design by contract for Python. Write bug-free code.  By adding a few decorators to your code, you get for free tests, static analysis, formal verification, and much more.\n\n- [Dlint](https://github.com/dlint-py/dlint) — A tool for ensuring Python code is secure.\n\n- [Dodgy](https://github.com/landscapeio/dodgy) — Dodgy is a very basic tool to run against your codebase to search for \"dodgy\" looking values. It is a series of simple regular expressions designed to detect things such as accidental SCM diff checkins, or passwords or secret keys hard coded into files.\n\n- **ENRE-py** :warning: — ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code. ENRE-py is a ENtity Relationship Extractor for Python based on Python Language Services of The Standard Library.\n\n- [fixit](https://pypi.org/project/fixit) — A framework for creating lint rules and corresponding auto-fixes for source code.\n\n- [flake8](https://github.com/PyCQA/flake8) — A wrapper around `pyflakes`, `pycodestyle` and `mccabe`.\n\n- [flakeheaven](https://pypi.org/project/flakeheaven/) — flakeheaven is a python linter built around flake8 to enable inheritable and complex toml configuration.\n\n- [Griffe](https://mkdocstrings.github.io/griffe/) — Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API.\n\n- **InspectorTiger** :warning: — IT, Inspector Tiger, is a modern python code review tool / framework. It comes with bunch of pre-defined handlers which warns you about improvements and possible bugs. Beside these handlers, you can write your own or use community ones.\n\n- [jedi](https://jedi.readthedocs.io/en/latest) — Autocompletion/static analysis library for Python.\n\n- [linty fresh](https://github.com/lyft/linty_fresh) — Parse lint errors and report them to Github as comments on a pull request.\n\n- [mbake](https://pypi.org/project/mbake/) — mbake is a Makefile formatter and linter. It only took 50 years!\n\n- **mccabe** :warning: — Check McCabe complexity.\n\n- **multilint** :warning: — A wrapper around `flake8`, `isort` and `modernize`.\n\n- [mypy](http://www.mypy-lang.org) — A static type checker that aims to combine the benefits of duck typing and static typing, frequently used with [MonkeyType](https://github.com/Instagram/MonkeyType).\n\n- [pip-audit](https://github.com/pypa/pip-audit) — Tool for scanning Python packages for known vulnerabilities. Developed by the Python Packaging Authority (PyPA) and supported by Trail of Bits and Google. Scans Python environments and requirements files to identify vulnerable packages and suggests remediation. Supports GitHub Actions, pre-commit hooks, and multiple vulnerability service integrations.\n\n- [prospector](https://github.com/PyCQA/prospector) — A wrapper around `pylint`, `pep8`, `mccabe` and others.\n\n- **py-find-injection** :warning: — Find SQL injection vulnerabilities in Python code.\n\n- [pyanalyze](https://pyanalyze.readthedocs.io/en/latest/) — A tool for programmatically detecting common mistakes in Python code, such as references to undefined variables and type errors. It can be extended to add additional rules and perform checks specific to particular functions.\n\n- [pycodestyle](https://pycodestyle.pycqa.org/en/latest) — (Formerly `pep8`) Check Python code against some of the style conventions in PEP 8.\n\n- **pydocstyle** :warning: — Check compliance with Python docstring conventions.\n\n- [pyflakes](https://pypi.org/project/pyflakes) — Check Python source files for errors.\n\n- [pylint](http://pylint.pycqa.org/en/latest) — Looks for programming errors, helps enforcing a coding standard and sniffs for some code smells. It additionally includes `pyreverse` (an UML diagram generator) and `symilar` (a similarities checker).\n\n- [pylyzers](https://mtshiba.github.io/pylyzer/) — A static code analyzer / language server for Python, written in Rust, focused on type checking and readable output.\n\n- [Pyra](https://github.com/spangea/Pyra) — Pyra is a high-level linter static analyzer for data science applications written in Python, that helps developers identify potential issues in their data science code written in Python, as an extension of [Lyra](https://github.com/caterinaurban/Lyra).\n\n- **pyre-check** :warning: — A fast, scalable type checker for large Python codebases. Pyre-check has been superseded by Pyrefly, its next iteration.\n\n- [pyrefly](https://pyrefly.org/) — A fast, incremental type checker and language server for Python, providing IDE features like code navigation, semantic highlighting, and code completion.\n\n- [pyright](https://github.com/Microsoft/pyright) — Static type checker for Python, created to address gaps in existing tools like mypy.\n\n- [pyroma](https://github.com/regebro/pyroma) — Rate how well a Python project complies with the best practices of the Python packaging ecosystem, and list issues that could be improved.\n\n- [Pysa](https://pyre-check.org/docs/pysa-basics.html) — A tool based on Facebook's pyre-check to identify potential security issues in Python code identified with taint analysis.\n\n- **PyT - Python Taint** :warning: — A static analysis tool for detecting security vulnerabilities in Python web applications.\n\n- [pytype](https://google.github.io/pytype) — A static type analyzer for Python code.\n\n- [pyupgrade](https://pypi.org/project/pyupgrade-docs/) — A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language.\n\n- **QuantifiedCode** :warning: — Automated code review & repair. It helps you to keep track of issues and metrics in your software projects, and can be easily extended to support new types of analyses.\n\n- **radon** :warning: — A Python tool that computes various metrics from the source code.\n\n- [refurb](https://github.com/dosisod/refurb) — A tool for refurbishing and modernizing Python codebases. Refurb is heavily inspired by clippy, the built-in linter for Rust.\n\n- [ruff](https://astral.sh/ruff) — Fast Python linter, written in Rust. 10-100x faster than existing linters. Compatible with Python 3.10. Supports file watcher.\n\n- [Safety](https://safetycli.com/) — Python dependency vulnerability scanner designed to enhance software supply chain security by detecting packages with known vulnerabilities. Checks Python dependencies against a database of known security vulnerabilities and provides detailed reports. Supports CI/CD integration and multiple output formats.\n\n- [ty](https://docs.astral.sh/ty/) — An extremely fast Python type checker written in Rust.\n\n- [unimport](https://unimport.hakancelik.dev) — A linter, formatter for finding and removing unused import statements.\n\n- [vulture](https://github.com/jendrikseipp/vulture) — Find unused classes, functions and variables in Python code.\n\n- [wemake-python-styleguide](https://wemake-python-styleguide.rtfd.io/) — The strictest and most opinionated python linter ever.\n\n- [wily](https://github.com/tonybaloney/wily) — A command-line tool for archiving, exploring and graphing the complexity of Python source code.\n\n- **xenon** :warning: — Monitor code complexity using [`radon`](https://github.com/rubik/radon).\n\n- **yapf** :warning: — A formatter for Python files created by Google\nYAPF follows a distinctive methodology, originating from the 'clang-format' tool created by Daniel Jasper. Essentially, the program reframes the code to the most suitable formatting that abides by the style guide, even if the original code already follows the style guide. This concept is similar to the Go programming language's 'gofmt' tool, which aims to put an end to debates about formatting by having the entire codebase of a project pass through YAPF whenever changes are made, thereby maintaining a consistent style throughout the project and eliminating the need to argue about style in every code review.\n\n\n<a name=\"r\" />\n<h2>R</h2>\n\n\n- [CodeDepends](https://github.com/duncantl/CodeDepends) — Static Code Analysis for R.\n\n- [cyclocomp](https://github.com/MangoTheCat/cyclocomp) — Quantifies the cyclomatic complexity of R functions / expressions.\n\n- [flowR](https://github.com/flowr-analysis/flowr) — A [program slicer](https://github.com/flowr-analysis/flowr/wiki/Terminology#program-slice) and [dataflow analyzer](https://en.wikipedia.org/wiki/Data-flow_analysis) for the [R](https://www.r-project.org/) programming language. Its slicer allows you to reduce a complicated program just to the parts related for a specific task (e.g., the generation of a single or collection of plots, a significance test, ...). The dataflow analysis provides you with a detailed view on the semantics of the R code which can greatly improve other analyses. To use _flowR_, check out the [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=code-inspect.vscode-flowr), the [RStudio Addin](https://github.com/flowr-analysis/rstudio-addin-flowr), the [Docker image](https://hub.docker.com/r/eagleoutice/flowr), or the [R package](https://github.com/flowr-analysis/flowr-r-adapter).\n\n- [goodpractice](https://docs.ropensci.org/goodpractice/) — Analyses the source code for R packages and provides best-practice recommendations.\n\n- [lintr](https://github.com/jimhester/lintr) — Static Code Analysis for R.\n\n- [R Language Server](https://github.com/REditorSupport/languageserver/) — Provides code completion, refactoring, folding, diagnostics (with lintr), and more for R.\n\n- [rco](https://jcrodriguez1989.github.io/rco/) — Performance optimizer for R code (with GUI).\n\n- [styler](https://styler.r-lib.org) — Formatting of R source code files and pretty-printing of R code.\n\n\n<a name=\"rego\" />\n<h2>Rego</h2>\n\n\n- [Regal](https://github.com/styrainc/regal) — Regal is a linter for the policy language Rego. Regal aims to catch bugs and mistakes in policy code, while at the same time helping people learn the language, best practices and idiomatic constructs.\n\n\n<a name=\"ruby\" />\n<h2>Ruby</h2>\n\n\n- [Active Record Doctor](https://github.com/gregnavis/active_record_doctor) — Identify database issues before they hit production.\n\n- [brakeman](https://brakemanscanner.org) — A static analysis security vulnerability scanner for Ruby on Rails applications.\n\n- [Bullet](https://github.com/flyerhzm/bullet) — Help to kill N+1 queries and unused eager loading.\n\n- [bundler-audit](https://github.com/rubysec/bundler-audit) — Audit Gemfile.lock for gems with security vulnerabilities reported in [Ruby Advisory Database](https://github.com/rubysec/ruby-advisory-db).\n\n- **cane** :warning: — Code quality threshold checking as part of your build.\n\n- **Churn** :warning: — A Project to give the churn file, class, and method for a project for a given checkin. Over time the tool adds up the history of churns to give the number of times a file, class, or method is changing during the life of a project.\n\n- [DatabaseConsistency](https://github.com/djezzzl/database_consistency) — The tool to avoid various issues due to inconsistencies and inefficiencies between a database schema and application models.\n\n- [dawnscanner](https://github.com/thesp0nge/dawnscanner) — A static analysis security scanner for ruby written web applications. It supports Sinatra, Padrino and Ruby on Rails frameworks.\n\n- [ERB Lint](https://github.com/Shopify/erb-lint) — Lint your ERB or HTML files\n\n- [ERB::Formatter](https://github.com/nebulab/erb-formatter) — Format ERB files with speed and precision.\n\n- [Fasterer](https://github.com/DamirSvrtan/fasterer) — Common Ruby idioms checker.\n\n- [flay](https://ruby.sadi.st/Flay.html) — Flay analyzes code for structural similarities.\n\n- [flog](https://ruby.sadi.st/Flog.html) — Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in.\n\n- [Fukuzatsu](https://github.com/CoralineAda/fukuzatsu) — A tool for measuring code complexity in Ruby class files. Its analysis generates scores based on cyclomatic complexity algorithms with no added \"opinions\".\n\n- [htmlbeautifier](https://github.com/threedaymonk/htmlbeautifier) — A normaliser/beautifier for HTML that also understands embedded Ruby. Ideal for tidying up Rails templates.\n\n- **laser** :warning: — Static analysis and style linter for Ruby code.\n\n- **MetricFu** :warning: — MetricFu is a set of tools to provide reports that show which parts of your code might need extra work.\n\n- [pelusa](https://github.com/codegram/pelusa) — Static analysis Lint-type tool to improve your OO Ruby code.\n\n- **quality** :warning: — Runs quality checks on your code using community tools, and makes sure your numbers don't get any worse over time.\n\n- **Querly** :warning: — Pattern Based Checking Tool for Ruby.\n\n- **Railroader** :warning: — An open source static analysis security vulnerability scanner for Ruby on Rails applications.\n\n- [rails_best_practices](https://rails-bestpractices.com) — A code metric tool for Rails projects\n\n- [reek](https://github.com/troessner/reek) — Code smell detector for Ruby.\n\n- [Roodi](https://github.com/roodi/roodi) — Roodi stands for Ruby Object Oriented Design Inferometer. It parses your Ruby code and warns you about design issues you have based on the checks that it has configured.\n\n- [RuboCop](https://docs.rubocop.org/rubocop) — A Ruby static code analyzer, based on the community Ruby style guide.\n\n- [Rubrowser](https://github.com/blazeeboy/rubrowser) — Ruby classes interactive dependency graph generator.\n\n- **ruby-lint** :warning: — Static code analysis for Ruby.\n\n- [rubycritic](https://github.com/whitesmith/rubycritic) — A Ruby code quality reporter.\n\n- [rufo](https://github.com/ruby-formatter/rufo) — An opinionated ruby formatter, intended to be used via the command line as a text-editor plugin, to autoformat files on save or on demand.\n\n- **Saikuro** :warning: — A Ruby cyclomatic complexity analyzer.\n\n- **SandiMeter** :warning: — Static analysis tool for checking Ruby code for Sandi Metz' rules.\n\n- [Skunk](https://github.com/fastruby/skunk) — A SkunkScore Calculator for Ruby Code -- Find the most complicated code without test coverage!\n\n- [Sorbet](https://sorbet.org) — A fast, powerful type checker designed for Ruby.\n\n- [Standard Ruby](https://github.com/testdouble/standard) — Ruby Style Guide, with linter & automatic code fixer\n\n- [Steep](https://github.com/soutaro/steep) — Gradual Typing for Ruby.\n\n- [Traceroute](https://github.com/amatsuda/traceroute) — A Rake task gem that helps you find the unused routes and controller actions for your Rails 3+ app.\n\n\n<a name=\"rust\" />\n<h2>Rust</h2>\n\n\n- [C2Rust](https://c2rust.com) — C2Rust helps you migrate C99-compliant code to Rust. The translator (or transpiler) produces unsafe Rust code that closely mirrors the input C code.\n\n- [cargo udeps](https://github.com/est31/cargo-udeps) — Find unused dependencies in Cargo.toml. It either prints out a \"unused crates\" line listing the crates,  or it prints out a line saying that no crates were unused.\n\n- [cargo-audit](https://rustsec.org) — Audit Cargo.lock for crates with security vulnerabilities reported to the [RustSec Advisory Database](https://github.com/RustSec/advisory-db/).\n\n- **cargo-bloat** :warning: — Find out what takes most of the space in your executable. supports ELF (Linux, BSD), Mach-O (macOS) and PE (Windows) binaries.\n\n- [cargo-breaking](https://github.com/iomentum/cargo-breaking) — cargo-breaking compares a crate's public API between two different branches, shows what changed, and suggests the next version according to semver.\n\n- [cargo-call-stack](https://github.com/japaric/cargo-call-stack) — Whole program static stack analysis The tool produces the full call graph of a program as a dot file.\n\n- [cargo-deny](https://embarkstudios.github.io/cargo-deny) — A cargo plugin for linting your dependencies. It can be used either as a command line too, a Rust crate, or a Github action for CI. It checks for valid license information, duplicate crates, security vulnerabilities, and more.\n\n- [cargo-expand](https://github.com/dtolnay/cargo-expand) — Cargo subcommand to show result of macro expansion  and #[derive] expansion applied to the current crate.  This is a wrapper around a more verbose compiler command.\n\n- [cargo-geiger](https://github.com/geiger-rs/cargo-geiger) — A cargo plugin for analysing the usage of unsafe Rust code Provides statistical output to aid security auditing\n\n- **cargo-inspect** :warning: — Inspect Rust code without syntactic sugar to see what the compiler does behind the curtains.\n\n- [cargo-semver-checks](https://crates.io/crates/cargo-semver-checks) — Scan your Rust crate releases for semver violations. It can be used either directly via the CLI, as a GitHub Action in CI,  or via release managers like `release-plz`. It found semver violations in  [more than 1 in 6 of the top 1000 most-downloaded crates](https://predr.ag/blog/semver-violations-are-common-better-tooling-is-the-answer/) on crates.io.\n\n- [cargo-show-asm](https://github.com/pacak/cargo-show-asm) — cargo subcommand showing the assembly, LLVM-IR and MIR generated for Rust code\n\n- [cargo-spellcheck](https://github.com/drahnr/cargo-spellcheck) — Checks all your documentation for spelling and grammar mistakes  with hunspell (ready) and languagetool (preview)\n\n- **cargo-unused-features** :warning: — Find potential unused enabled feature flags and prune them. You can generate a simple HTML report from the json to make it easier to inspect results.\nIt removes a feature of a dependency and then compiles the project to see if it still compiles. If it does, the feature flag can possibly be removed, but it can be a false-positive.\n\n- [clippy](https://rust-lang.github.io/rust-clippy) — A code linter to catch common mistakes and improve your Rust code.\n\n- [diff.rs](https://diff.rs) — Web application (WASM) to render a diff between Rust crate versions.\n\n- [dylint](https://www.trailofbits.com/post/write-rust-lints-without-forking-clippy) — A tool for running Rust lints from dynamic libraries. Dylint makes it easy for developers to maintain their own personal lint collections.\n\n- **electrolysis** :warning: — A tool for formally verifying Rust programs by transpiling them into definitions in the Lean theorem prover.\n\n- **herbie** :warning: — Adds warnings or errors to your crate when using a numerically unstable floating point expression.\n\n- [kani](https://github.com/model-checking/kani) — The Kani Rust Verifier is a bit-precise model checker for Rust. \nKani is particularly useful for verifying unsafe code blocks in Rust, \nwhere the \"unsafe superpowers\" are unchecked by the compiler.\nKani verifies:\n\n* Memory safety (e.g., null pointer dereferences)\n* User-specified assertions (i.e., assert!(...))\n* The absence of panics (e.g., unwrap() on None values)\n* The absence of some types of unexpected behavior (e.g., arithmetic overflows)\n\n\n- **linter-rust** :warning: — Linting your Rust-files in Atom, using rustc and cargo.\n\n- [lockbud](https://github.com/BurtonQin/lockbud) — Statically detects Rust deadlocks bugs. It currently detects two common kinds of deadlock bugs: doublelock and locks in conflicting order. It will print bugs in JSON format together with the source code location and an explanation of each bug.\n\n- **MIRAI** :warning: — And abstract interpreter operating on Rust's mid-level intermediate language, and providing warnings based on taint analysis.\n\n- **prae** :warning: — Provides a convenient macro that allows you to generate type wrappers  that promise to always uphold arbitrary invariants that you specified. \n\n- **Prusti** :warning: — A static verifier for Rust, based on the Viper verification infrastructure. By default Prusti verifies absence of panics by proving that statements such as unreachable!() and panic!() are unreachable.\n\n- **Rudra** :warning: — Rust Memory Safety & Undefined Behavior Detection. It is capable of analyzing single Rust packages as well as all the packages on crates.io.\n\n- **Rust Language Server** :warning: — Supports functionality such as 'goto definition', symbol search, reformatting, and code completion, and enables renaming and refactorings.\n\n- [rust-analyzer](https://rust-analyzer.github.io) — Supports functionality such as 'goto definition', type inference, symbol search, reformatting, and code completion, and enables renaming and refactorings.\n\n- [rust-audit](https://github.com/Shnatsel/rust-audit) — Audit Rust binaries for known bugs or security vulnerabilities. This works by embedding data about the dependency tree (Cargo.lock) in JSON format into a dedicated linker section of the compiled executable.\n\n- [rustfix](https://github.com/rust-lang/rustfix) — Read and apply the suggestions made by rustc (and third-party lints, like those offered by clippy).\n\n- [rustfmt](https://github.com/rust-lang/rustfmt) — A tool for formatting Rust code according to style guidelines.\n\n- [RustViz](https://github.com/rustviz/rustviz) — RustViz is a tool that generates visualizations  from simple Rust programs to assist users in better  understanding the Rust Lifetime and Borrowing mechanism. It generates SVG files with graphical indicators that integrate  with mdbook to render visualizations of data-flow in Rust programs.\n\n- [TangleGuard](https://tangleguard.com/) :copyright: — Helps you understand and maintain a scalable software architecture. To do so, it generates a interactive, nested dependency graph out of the source code. You can choose the level of details and get the portion of your codebase that matters to you.\n\n- **warnalyzer** :warning: — Show unused code from multi-crate Rust projects\n\n\n<a name=\"sql\" />\n<h2>SQL</h2>\n\n\n- [dbcritic](https://github.com/channable/dbcritic) — dbcritic finds problems in a database schema, such as a missing primary key constraint in a table.\n\n- [holistic](https://holistic.dev/) — More than 1,300 rules to analyze SQL queries. Takes an SQL schema definition and the query source code to generate improvement recommendations. Detects code smells, unused indexes, unused tables, views, materialized views, and more.\n\n- [pgspot](https://github.com/timescale/pgspot) — Spot vulnerabilities in postgres extension scripts. Finds unsafe search_path usage and unsafe object creation in PostgreSQL extension scripts or any other PostgreSQL SQL code.\n\n- [sleek](https://github.com/nrempel/sleek) — Sleek is a CLI tool for formatting SQL.  It helps you maintain a consistent style across your SQL code, enhancing readability and productivity. The heavy lifting is done by the sqlformat crate.\n\n- **sqlcheck** :warning: — Automatically identify anti-patterns in SQL queries.\n\n- [SQLFluff](https://www.sqlfluff.com/) — Multiple dialect SQL linter and formatter.\n\n- [sqlint](https://github.com/purcell/sqlint) — Simple SQL linter.\n\n- [squawk](https://squawkhq.com) — Linter for PostgreSQL, focused on migrations. Prevents unexpected downtime caused by database migrations and encourages best practices around Postgres schemas and SQL.\n\n- **tsqllint** :warning: — T-SQL-specific linter.\n\n- **TSqlRules** :warning: — TSQL Static Code Analysis Rules for SQL Server.\n\n- [Visual Expert](https://www.visual-expert.com) :copyright: — Code analysis for PowerBuilder, Oracle, and SQL Server Explores, analyzes, and documents Code \n\n\n<a name=\"scala\" />\n<h2>Scala</h2>\n\n\n- **linter** :warning: — Linter is a Scala static analysis compiler plugin which adds compile-time checks for various possible bugs, inefficiencies, and style problems.\n\n- [Scalastyle](http://www.scalastyle.org) — Scalastyle examines your Scala code and indicates potential problems with it.\n\n- [scapegoat](https://github.com/sksamuel/scapegoat) — Scala compiler plugin for static code analysis.\n\n- [WartRemover](https://www.wartremover.org) — A flexible Scala code linting tool.\n\n\n<a name=\"shell\" />\n<h2>Shell</h2>\n\n\n- [bashate](https://github.com/openstack/bashate) — Code style enforcement for bash programs. The output format aims to follow pycodestyle (pep8) default output format.\n\n- **i-Code CNES for Shell** :warning: — An open source static code analysis tool for Shell and Fortran (77 and 90).\n\n- [kmdr](https://github.com/ediardo/kmdr-cli) — CLI tool for learning commands from your terminal. kmdr delivers a break down of commands with every attribute explained.\n\n- [sh](https://pkg.go.dev/mvdan.cc/sh/v3) — A shell parser, formatter, and interpreter with bash support; includes shfmt\n\n- [shellcheck](https://www.shellcheck.net) — ShellCheck, a static analysis tool that gives warnings and suggestions for bash/sh shell scripts.\n\n- [shellharden](https://github.com/anordal/shellharden) — A syntax highlighter and a tool to semi-automate the rewriting of scripts to ShellCheck conformance, mainly focused on quoting.\n\n\n<a name=\"swift\" />\n<h2>Swift</h2>\n\n\n- [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) — A library and command-line formatting tool for reformatting Swift code.\n\n- [SwiftLint](https://realm.github.io/SwiftLint) — A tool to enforce Swift style and conventions.\n\n- **Tailor** :warning: — A static analysis and lint tool for source code written in Apple's Swift programming language.\n\n\n<a name=\"tcl\" />\n<h2>Tcl</h2>\n\n\n- [Frink](http://catless.ncl.ac.uk/Programs/Frink) — A Tcl formatting and static check program (can prettify the program, minimise, obfuscate or just sanity check it).\n\n- [Nagelfar](https://sourceforge.net/projects/nagelfar) — A static syntax checker for Tcl.\n\n- [tclchecker](https://github.com/ActiveState/tdk/blob/master/docs/3.0/TDK_3.0_Checker.txt) — A static syntax analysis module (as part of [TDK](https://github.com/ActiveState/tdk)).\n\n\n<a name=\"typescript\" />\n<h2>TypeScript</h2>\n\n\n- [Angular ESLint](https://github.com/angular-eslint/angular-eslint#readme) — Linter for Angular projects\n\n- **Codelyzer** :warning: — A set of tslint rules for static code analysis of Angular 2 TypeScript projects.\n\n- [ENRE-ts](https://github.com/xjtu-enre/ENRE-ts) — ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code. ENRE-ts is a ENtity Relationship Extractor for ECMAScript and TypeScript based on @babel/parser.\n\n- [fta](https://ftaproject.dev/) — Rust-based static analysis for TypeScript projects\n\n- **stc** :warning: — Speedy TypeScript type checker written in Rust\n\n- **tslint** :warning: — TSLint has been deprecated as of 2019. Please see [this issue](https://github.com/palantir/tslint/issues/4534) for more details. `typescript-eslint` is now your best option for linting TypeScript.\nTSLint is an extensible static analysis tool that checks TypeScript code for readability, maintainability,  and functionality errors. It is widely supported across modern editors & build systems and can be customized  with your own lint rules, configurations, and formatters.\n\n- [tslint-clean-code](https://www.npmjs.com/package/tslint-clean-code) — A set of TSLint rules inspired by the Clean Code handbook.\n\n- **tslint-microsoft-contrib** :warning: — A set of tslint rules for static code analysis of TypeScript projects maintained by Microsoft.\n\n- [TypeScript Call Graph](https://github.com/whyboris/TypeScript-Call-Graph) — CLI to generate an interactive graph of functions and calls from your TypeScript files\n\n- [TypeScript ESLint](https://github.com/typescript-eslint/typescript-eslint) — TypeScript language extension for eslint.\n\n- [zod](https://zod.dev) — TypeScript-first schema validation with static type inference. The goal is to eliminate duplicative type declarations. With Zod, you declare a validator once and Zod will automatically infer the static TypeScript type. It is easy to compose simpler types into complex data structures.\n\n\n<a name=\"verilog\" />\n<h2>Verilog/SystemVerilog</h2>\n\n\n- **Icarus Verilog** :warning: — A Verilog simulation and synthesis tool that operates by compiling source code written in IEEE-1364 Verilog into some target format\n\n- [svls](https://github.com/dalance/svls) — A Language Server Protocol implementation for Verilog and SystemVerilog, including lint capabilities.\n\n- **verible-linter-action** :warning: — Automatic SystemVerilog linting in github actions with the help of Verible Used to lint Verilog and SystemVerilog source files and comment erroneous lines  of code in Pull Requests automatically.\n\n- [Verilator](https://www.veripool.org/verilator) — A tool which converts Verilog to a cycle-accurate behavioral model in C++ or SystemC. Performs lint code-quality checks.\n\n- [vscode-verilog-hdl-support](https://github.com/mshr-h/vscode-verilog-hdl-support) — Verilog HDL/SystemVerilog/Bluespec SystemVerilog support for VS Code. Provides syntax highlighting and Linting support from Icarus Verilog, Vivado Logical Simulation, Modelsim and Verilator\n\n\n<a name=\"vim-script\" />\n<h2>Vim Script</h2>\n\n\n- **vint** :warning: — Fast and Highly Extensible Vim script Language Lint implemented by Python.\n\n\n<a name=\"wasm\" />\n<h2>WebAssembly</h2>\n\n\n- [Twiggy](https://github.com/rustwasm/twiggy) — Analyzes a binary's call graph to profile code size. The goal is to slim down wasm binary size.\n\n- [wasm-language-tools](https://github.com/g-plane/wasm-language-tools) — WebAssembly Language Tools aims to provide and improve the editing experience of WebAssembly Text Format. It also provides an out-of-the-box formatter (a.k.a. pretty printer) for WebAssembly Text Format.\n\n\n## Multiple languages\n\n\n- [ale](https://github.com/w0rp/ale) — Asynchronous Lint Engine for Vim and NeoVim with support for many languages.\n\n- [Android Studio](https://developer.android.com/studio) — Based on IntelliJ IDEA, and comes bundled with tools for Android including Android Lint.\n\n- [AppChecker](https://npo-echelon.ru/en/solutions/appchecker.php) :copyright: — Static analysis for C/C++/C#, PHP and Java.\n\n- [Application Inspector](https://www.ptsecurity.com/ww-en/products/ai) :copyright: — Commercial Static Code Analysis which generates exploits to verify vulnerabilities.\n\n- [ApplicationInspector](https://github.com/microsoft/ApplicationInspector) — Creates reports of over 400 rule patterns for feature detection (e.g. the use of cryptography or version control in apps).\n\n- [ArchUnit](https://www.archunit.org) — Unit test your Java or Kotlin architecture.\n\n- [ast-grep](https://ast-grep.github.io/) — ast-grep is a powerful tool designed for managing code at scale using Abstract Syntax Trees (AST). Think of it as a hybrid of grep, eslint, and codemod, with the ability to search, lint, and rewrite code based on its structure rather than plain text.\nIt supports multiple languages and is designed to be extensible, allowing you to register custom languages.\n\n- **Atom-Beautify** :warning: — Beautify HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL, and more in Atom editor.\n\n- [autocorrect](https://huacnlee.github.io/autocorrect) — A linter and formatter to help you to improve copywriting, correct spaces, words, punctuations between CJK (Chinese, Japanese, Korean).\n\n- [Axivion Bauhaus Suite](https://www.axivion.com/en/products-services-9#products_bauhaussuite) :copyright: — Tracks down error-prone code locations, style violations, cloned or dead code, cyclic dependencies and more for C/C++, C#/.NET, Java and Ada 83/Ada 95.\n\n- [Bearer](https://github.com/bearer/bearer) — Open-Source static code analysis tool to discover,  filter and prioritize security risks and vulnerabilities  leading to sensitive data exposures (PII, PHI, PD).  Highly configurable and easily extensible,  built for security and engineering teams.\n\n- [Better Code Hub](https://bettercodehub.com) :copyright: — Better Code Hub checks your GitHub codebase against 10 engineering guidelines devised by the authority in software quality, Software Improvement Group.\n\n- **Betterscan CE** :warning: — Checks your code and infra (various Git repositories supported, cloud stacks, CLI, Web Interface platform, integrationss available) for security and quality issues. Code Scanning/SAST/Linting using many tools/Scanners deduplicated with One Report (AI optional).\n\n- [biome](https://biomejs.dev) — A toolchain for web projects, aimed to provide functionalities to maintain them. Biome formats and lints code in a fraction of a second. It is the successor to Rome. It is designed to eventually replace Biome is designed to eventually replace Babel, ESLint, webpack, Prettier, Jest, and others.\n\n- [BlockWatch](https://github.com/mennanov/blockwatch) — A language-agnostic linter that keeps code, documentation, and configuration in sync and enforces strict formatting and validation rules.\n\n- **BugProve** :warning: :copyright: — BugProve is a firmware analysis platform featuring both static and dynamic analysis techniques to discover memory corruptions, command injections and other classes or common weaknesses in binary code. It also detects vulnerable dependencies, weak cryptographic parameters, misconfigurations, and more.\n\n- [callGraph](https://github.com/koknat/callGraph) — Statically generates a call graph image and displays it on screen.\n\n- [CAST Highlight](https://www.castsoftware.com/products/highlight) :copyright: — Commercial Static Code Analysis which runs locally, but uploads the results to its cloud for presentation.\n\n- [Checkmarx CxSAST](https://www.checkmarx.com/products/static-application-security-testing) :copyright: — Commercial Static Code Analysis which doesn't require pre-compilation.\n\n- [ClassGraph](https://github.com/classgraph/classgraph) — A classpath and module path scanner for querying or visualizing class metadata or class relatedness.\n\n- [Clayton](https://www.getclayton.com/) :copyright: — AI-powered code reviews for Salesforce. Secure your developments, enforce best practice and control your technical debt in real-time.\n\n- **coala** :warning: — Language independent framework for creating code analysis - supports over 60 languages by default.\n\n- [Cobra](https://spinroot.com/cobra) :copyright: — Structural source code analyzer by NASA's Jet Propulsion Laboratory.\n\n- [Codacy](https://www.codacy.com) :copyright: — Code Analysis to ship Better Code, Faster.\n\n- [Code Intelligence](https://www.code-intelligence.com) :copyright: — CI/CD-agnostic DevSecOps platform which combines industry-leading fuzzing engines for finding bugs and visualizing code coverage\n\n- [Code-Graph-RAG](https://code-graph-rag.com) — Builds knowledge graphs from multi-language codebases using Tree-sitter AST parsing and stores them in Memgraph. Supports 11 programming languages with a unified graph schema and enables natural language querying and editing of code structure and relationships. Functions as an MCP server for AI assistant integration.\n\n- [Codeac](https://www.codeac.io/?ref=awesome-static-analysis) :copyright: — Automated code review tool integrates with GitHub, Bitbucket and GitLab (even self-hosted). Available for JavaScript, TypeScript, Python, Ruby, Go, PHP, Java, Docker, and more. (open-source free)\n\n- [codeburner](https://groupon.github.io/codeburner) — Provides a unified interface to sort and act on the issues it finds.\n\n- [codechecker](https://codechecker.readthedocs.io/en/latest) — A defect database and viewer extension for the Clang Static Analyzer with web GUI.\n\n- [CodeFactor](https://codefactor.io) :copyright: — Automated Code Analysis for repos on GitHub or BitBucket.\n\n- [CodeFlow](https://www.getcodeflow.com) :copyright: — Automated code analysis tool to deal with technical depth. Integrates with Bitbucket and Gitlab. (free for Open Source Projects)\n\n- [Codemodder](https://codemodder.io/) — Codemodder is a pluggable framework for building expressive codemods. Use Codemodder when you need more than a linter or code formatting tool. Use it to fix non-trivial security issues and other code quality problems.\n\n- [codeql](https://github.com/github/codeql) — Deep code analysis - semantic queries and dataflow for several languages with VSCode plugin support.\n\n- [CodeQue](https://codeque.co) — Ecosystem for structural matching JavaScript and TypeScript code. Offers search tool that understands code structure. Available as CLI tool and Visual Studio Code extension. It helps to search code faster and more accurately making you workflow more effective. Soon it will offer ESLint plugin to create your own rules in minutes to help with assuring codebase quality.\n\n- [CodeRush](https://www.devexpress.com/products/coderush) :copyright: — Code creation, debugging, navigation, refactoring, analysis and visualization tools that use the Roslyn engine in Visual Studio 2015 and up.\n\n- [CodeScan](https://www.codescan.io/) :copyright: — Code Quality and Security for Salesforce Developers. Made exclusively for the Salesforce platform, CodeScan’s code analysis solutions provide you with total visibility into your code health.\n\n- [CodeScene](https://codescene.com) :copyright: — CodeScene is a quality visualization tool for software. Prioritize technical debt, detect delivery risks, and measure organizational aspects. Fully automated.\n\n- [CodeSee](https://www.codesee.io/) :copyright: — CodeSee is mapping and automating your app's services, directories, file dependencies, and code changes. It's like Google Map, but for code.t\n\n- [CodeSonar from GrammaTech](https://codesecure.com/our-products/codesonar/) :copyright: — Advanced, whole program, deep path, static analysis of C, C++, Java and C# with easy-to-understand explanations and code and path visualization.\n\n- [Codety](https://www.codety.io) :copyright: — Codety Scanner is a comprehensive source code scanner that embeds 5000+ static code analysis rules, which aim to detect code issues for 20+ programming languages and IaC tools.\n\n- [Codiga](https://www.codiga.io) :copyright: — Automated Code Reviews and Technical Debt management platform that supports 12+ languages.\n\n- [Corgea](https://corgea.com/) :copyright: — Corgea is an AI-powered SAST scanner that helps developers find and fix insecure code.  It finds business logic flaws, broken authentication, API vulnerabilities, and more with little false positives. Additionally, it automatically writes security fixes for them to approve.  Corgea integrates with GitHub, GitLab, Azure DevOps, IDEs and CLI. It is free to try it.\n\n- **Corrode** :warning: — Semi-automatic translation from C to Rust. Could reveal bugs in the original implementation by showing Rust compiler warnings and errors. Superseded by C2Rust.\n\n- [Coverity](https://www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html) :copyright: — Synopsys Coverity supports 20 languages and over 70 frameworks including Ruby on rails, Scala, PHP, Python, JavaScript, TypeScript, Java, Fortran, C, C++, C#, VB.NET.\n\n- [cpp-linter-action](https://cpp-linter.github.io/cpp-linter-action/) — A Github Action for linting C/C++ code integrating clang-tidy and clang-format to collect feedback provided in the form of thread comments and/or annotations.\n\n- **cqc** :warning: — Check your code quality for js, jsx, vue, css, less, scss, sass and styl files.\n\n- **DeepCode** :warning: :copyright: — DeepCode was acquired by Snyk is now Snyk Code.\n\n- [DeepSource](https://deepsource.com) :copyright: — In-depth static analysis to find issues in verticals of bug risks, security, anti-patterns, performance, documentation and style. Native integrations with GitHub, GitLab and Bitbucket. Less than 5% false positives.\n\n- [deleaker](https://www.deleaker.com/) :copyright: — Deleaker is a memory leak detection tool for C++, .NET, and Delphi, integrating with Visual Studio, Qt Creator, and RAD Studio or running as a standalone application. It helps developers find and fix memory, GDI, and handle leaks efficiently.\n\n- [Depends](https://github.com/multilang-depends/depends) — Analyses the comprehensive dependencies of code elements for Java, C/C++, Ruby.\n\n- [DerScanner](https://derscanner.com/) :copyright: — Multi-language Static Application Security Testing (SAST) platform that detects critical vulnerabilities, including hardcoded secrets, weak cryptography, backdoors, SQL injections, insecure configurations, etc.\n\n- [DevSkim](https://github.com/microsoft/devskim) — Regex-based static analysis tool for Visual Studio, VS Code, and Sublime Text - C/C++, C#, PHP, ASP, Python, Ruby, Java, and others.\n\n- [diesel-guard](https://github.com/ayarotsky/diesel-guard) — Linter for dangerous Postgres migration patterns in Diesel and SQLx. Prevents downtime caused by unsafe schema changes.\n\n- [dotnet-format](https://github.com/dotnet/format) — A code formatter for .NET. Preferences will be read from an `.editorconfig` file, if present, otherwise a default set of preferences will be used. At this time dotnet-format is able to format C# and Visual Basic projects with a subset of supported `.editorconfig` options.\n\n- [Embold](https://embold.io) :copyright: — Intelligent software analytics platform that identifies design issues, code issues, duplication and metrics. Supports Java, C, C++, C#, JavaScript, TypeScript, Python, Go, Kotlin and more.\n\n- **emerge** :warning: — Emerge is a source code and dependency visualizer that can be used to gather insights about source code structure, metrics, dependencies and complexity of software projects. After scanning the source code of a project it provides you an interactive web interface to explore and analyze your project by using graph structures.\n\n- [Enforster AI](https://enforster.ai/) :copyright: — Enforster AI performs Contextual Code Security SAST, leveraging LLMs and artificial intelligence to reduce  and enrich the detection of Logic Flaws, Secrets, Data leaks, Supply chain and technical vulnerabilities. \n\n- [ESLint](https://github.com/eslint/eslint) — An extensible linter for JS, following the ECMAScript standard.\n\n- [ezno](https://kaleidawave.github.io/posts/introducing-ezno/) — A JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance. Ezno's type checker is built from scratch.  The checker is fully compatible with TypeScript type annotations and can work without any type annotations at all.\n\n- [Find Security Bugs](https://find-sec-bugs.github.io) — The SpotBugs plugin for security audits of Java web applications and Android applications. (Also work with Kotlin, Groovy and Scala projects)\n\n- [Fortify](https://www.microfocus.com/en-us/cyberres/application-security/static-code-analyzer) :copyright: — A commercial static analysis platform that supports the scanning of C/C++, C#, VB.NET, VB6, ABAP/BSP, ActionScript, Apex, ASP.NET, Classic ASP, VB Script, Cobol, ColdFusion, HTML, Java, JS, JSP, MXML/Flex, Objective-C, PHP, PL/SQL, T-SQL, Python (2.6, 2.7), Ruby (1.9.3), Swift, Scala, VB, and XML.\n\n- [Freeplane Code Explorer](https://docs.freeplane.org/user-documentation/Code_Explorer.html) — The Code Explorer mode in Freeplane is designed for analyzing the structure and dependencies  of code compiled to JVM class files.  It also allows displaying ArchUnit test results directly in Freeplane,  if Freeplane is running and ArchUnit detects rule violations during the tests.\n\n\n- [Goodcheck](https://sider.github.io/goodcheck) — Regexp based customizable linter.\n\n- **goone** :warning: — Finds N+1 queries (SQL calls in a for loop) in go code\n\n- [graudit](http://www.justanotherhacker.com) — Grep rough audit - source code auditing tool.\n\n- [HCL AppScan Source](https://www.hcltechsw.com/products/appscan) :copyright: — Commercial Static Code Analysis.\n\n- **Hopper** :warning: — A static analysis tool written in scala for languages that run on JVM.\n\n- [Hound CI](https://houndci.com) — Comments on style violations in GitHub pull requests. Supports Coffeescript, Go, HAML, JavaScript, Ruby, SCSS and Swift.\n\n- **imhotep** :warning: — Comment on commits coming into your repository and check for syntactic errors and general lint warnings.\n\n- **include-gardener** :warning: — A multi-language static analyzer for C/C++/Obj-C/Python/Ruby to create a graph (in dot or graphml format) which shows all `#include` relations of a given set of files.\n\n- [Infer](https://fbinfer.com) — A static analyzer for Java, C and Objective-C\n\n- [Joern](https://joern.io) — Joern is a platform for analyzing source code, bytecode, and binary executables. It generates code property graphs (CPGs), a graph representation of code for cross-language code analysis. Code property graphs are stored in a custom graph database. This allows code to be mined using search queries formulated in a Scala-based domain-specific query language. Joern is developed with the goal of providing a useful tool for vulnerability discovery and research in static program analysis.\n\n- [jQAssistant](https://jqassistant.org/) — jQAssistant is a plugin based software analytics platform which allows scanning code structures and metadata from repositories into a Neo4j graph database.  The gathered data can be used for ad-hoc exploration using queries, visualization or defining rules for continuous architecture validation.\n\n- [keploy](https://keploy.io/) — Keploy is an open-source testing platform that helps developers automate and streamline their testing process. It provides API, and integration testing agents, generating tests, mocks/stubs for APIs that actually work. Additionally, Keploy offers an AI-powered Unit Testing Agent that generates stable, useful unit tests directly in your GitHub PRs and in VSCode, helping catch errors and improve code quality.\n\n- [Kiuwan](https://www.kiuwan.com/code-security-sast) :copyright: — Identify and remediate cyber threats in a blazingly fast, collaborative environment, with seamless integration in your SDLC. Python, C\\C++, Java, C#, PHP and more.\n\n- [Klocwork](https://www.perforce.com/products/klocwork) :copyright: — Quality and Security Static analysis for C/C++, Java and C#.\n\n- [LangLint](https://github.com/HzaCode/Langlint) — Automated translation platform for code comments and docstrings across 20+ file types. Eliminates language barriers in international software collaboration. Supports 100+ language pairs with syntax protection. Integrates into CI/CD pipelines like Ruff. 10-20x faster with concurrent processing.\n\n- [LGTM](https://lgtm.com/) :copyright: — Find security vulnerabilities, variants, and critical code quality issues using CodeQL queries over source code. Automatic PR code review; free for open source. Formerly semmle. It supports public Git repositories hosted on Bitbucket Cloud, GitHub.com, GitLab.com.\n\n- [lizard](https://github.com/terryyin/lizard) — Lizard is an extensible Cyclomatic Complexity Analyzer for many programming languages  including C/C++ (doesn't require all the header files or Java imports).  It also does copy-paste detection (code clone detection/code duplicate detection) and many other forms of static code analysis. Counts lines of code without comments, CCN (cyclomatic complexity number), token count of functions, parameter count of functions.\n\n- [Mega-Linter](https://megalinter.io/) — Mega-Linter can handle any type of project thanks to its 70+ embedded Linters,\n its advanced reporting, runnable on any CI system or locally,\n with assisted installation and configuration, able to apply formatting and fixes\n\n- [Mobb](https://mobb.ai) :copyright: — Mobb is a trusted, automatic vulnerability fixer that secures applications, reduces security backlogs,  and frees developers to focus on innovation. Mobb is free for open-source projects.\n\n- [MOPSA](https://mopsa.lip6.fr) — A static analyzer designed to easily reuse abstract domains across widely different languages (such as C and Python).\n\n- [Neurolint-CLI](https://neurolint.dev) — Deterministic code transformation tool using AST parsing and rule-based transformations. \nAutomatically fixes 50+ issues including accessibility violations, hydration errors, \nReact 19/Next.js 16 migrations, and configuration updates. Features 5-step fail-safe \norchestration to ensure zero breaking changes. Specialized for React, Next.js, and TypeScript projects.\n\n\n- [oclint](http://oclint.org) — A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C.\n\n- [Offensive 360](https://offensive360.com/) :copyright: — Commercial Static Code Analysis system doesn't require building the source code or pre-compilation.\n\n- [OpenRewrite](https://docs.openrewrite.org/) — OpenRewrite [fixes common static analysis issues](https://docs.openrewrite.org/running-recipes/popular-recipe-guides/common-static-analysis-issue-remediation)  reported through Sonar and other tools using a Maven and Gradle plugin or the Moderne CLI.\n\n- [OpenStaticAnalyzer](https://github.com/sed-inf-u-szeged/OpenStaticAnalyzer) — OpenStaticAnalyzer is a source code analyzer tool, which can perform deep static analysis of the source code of complex systems.\n\n- [oxc](https://github.com/web-infra-dev/oxc) — The Oxidation Compiler is creating a suite of high-performance tools for the JavaScript / TypeScript language re-written in Rust.\n\n- [parasoft](https://www.parasoft.com/) :copyright: — Automated Software Testing Solutions for unit-, API-, and web UI testing. Complies with MISRA, OWASP, and others.\n\n- [pfff](https://github.com/facebookarchive/pfff/wiki/Main) — Facebook's tools for code analysis, visualizations, or style-preserving source transformation for many languages.\n\n- [Pixee](https://pixee.ai) :copyright: — Pixeebot finds security and code quality issues in your code and creates merge-ready pull requests with recommended fixes.\n\n- [PMD](https://pmd.github.io) — A source code analyzer for Java, Salesforce Apex, Javascript, PLSQL, XML, XSL and others.\n\n- [pre-commit](https://pre-commit.com) — A framework for managing and maintaining multi-language pre-commit hooks.\n\n- [Precaution](https://www.securesauce.dev/) — Precaution is a static analysis security tool (SAST) designed to find potentially critical vulnerabilities in source code prior to production. It is available as a CLI, GitHub Action, and GitHub App.\n\n- [Prettier](https://prettier.io) — An opinionated code formatter.\n\n- [Pronto](https://github.com/prontolabs/pronto) — Quick automated code review of your changes. Supports more than 40 runners for various languages, including Clang, Elixir, JavaScript, PHP, Ruby and more.\n\n- **PT.PM** :warning: — An engine for searching patterns in the source code, based on Unified AST or UST. At present time C#, Java, PHP, PL/SQL, T-SQL, and JavaScript are supported. Patterns can be described within the code or using a DSL.\n\n- [Putout](https://github.com/coderaiser/putout) — Pluggable and configurable code transformer with built-in eslint, babel plugins support for js, jsx typescript, flow, markdown, yaml and json.\n\n- [PVS-Studio](https://pvs-studio.com) :copyright: — A ([conditionally free](https://pvs-studio.com/en/order/open-source-license) for FOSS and individual developers) static analysis of C, C++, C# and Java code. For advertising purposes [you can propose a large FOSS project for analysis by PVS employees](https://github.com/viva64/pvs-studio-check-list). Supports CWE mapping, OWASP ASVS, MISRA, AUTOSAR and SEI CERT coding standards.\n\n- [pylama](https://klen.github.io/pylama/) — Code audit tool for Python and JavaScript. Wraps pycodestyle, pydocstyle, PyFlakes, Mccabe, Pylint, and more\n\n- [Qwiet AI](https://qwiet.ai/) :copyright: — Identify vulnerabilities that are unique to your code base before they reach production. Leverages the Code Property Graph (CPG) to run its analyses concurrently in a single graph of graphs. Automatically finds business logic flaws in dev like hardcoded secrets and logic bombs\n\n- [Refactoring Essentials](https://marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.RefactoringEssentialsforVisualStudio) — The free Visual Studio 2015 extension for C# and VB.NET refactorings, including code best practice analyzers.\n\n- [relint](https://github.com/codingjoe/relint) — A static file linter that allows you to write custom rules using regular expressions (RegEx).\n\n- [ReSharper](https://www.jetbrains.com/resharper) :copyright: — Extends Visual Studio with on-the-fly code inspections for C#, VB.NET, ASP.NET, JavaScript, TypeScript and other technologies.\n\n- [Rev-dep](https://github.com/jayu/rev-dep) — Dependency analysis and optimization toolkit for modern JavaScript and TypeScript projects. Trace imports, identify circular dependencies, find unused code, clean node modules.\n\n- [RIPS](https://www.ripstech.com) :copyright: — A static source code analyser for vulnerabilities in PHP scripts.\n\n- [Roslyn Analyzers](https://github.com/dotnet/roslyn-analyzers) — Roslyn-based implementation of FxCop analyzers.\n\n- [Roslyn Security Guard](https://security-code-scan.github.io) — Project that focuses on the identification of potential vulnerabilities such as SQL injection, cross-site scripting (XSS), CSRF, cryptography weaknesses, hardcoded passwords and many more.\n\n- [SafeQL](https://safeql.dev) — Validate and auto-generate TypeScript types from raw SQL queries in PostgreSQL. SafeQL is an ESLint plugin for writing SQL queries in a type-safe way.\n\n- [SAST Online](https://sast.online/) :copyright: — Check the Android Source code thoroughly to uncover and address potential security concerns and vulnerabilities. Static application security testing (Static Code Analysis) tool Online\n\n- **Scrutinizer** :warning: :copyright: — A proprietary code quality checker that can be integrated with GitHub.\n\n- [Security Code Scan](https://security-code-scan.github.io) — Security code analyzer for C# and VB.NET. Detects various security vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc. Integrates into Visual Studio 2015 and newer. Detects various security vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc.\n\n- [Semgrep](https://semgrep.dev) — A fast, open-source, static analysis tool for finding bugs and enforcing code standards at editor, commit, and CI time. Its rules look like the code you already write;  no abstract syntax trees or regex wrestling. Supports 17+ languages.\n\n- [Semgrep Supply Chain](https://semgrep.dev/products/semgrep-supply-chain) :copyright: — Quickly find and remediate high-priority security issues.  Semgrep Supply Chain prioritizes the 2% of vulnerabilities that are reachable from your code.\n\n- [Seqra](https://seqra.dev) — Security-focused static analyzer for Java and Kotlin web applications. Analyzes bytecode with Semgrep-style YAML rules and CodeQL-grade dataflow (with first-class Spring support) to find vulnerabilities that source-only scanners miss.\n\n- **ShiftLeft Scan** :warning: — Scan is a free open-source DevSecOps platform for detecting security issues in source code and dependencies. It supports a broad range of languages and CI/CD pipelines. Note: ShiftLeft rebranded to Qwiet AI in 2023, which was subsequently acquired by Harness in September 2025. This open-source project is no longer maintained.\n\n- **shipshape** :warning: — Static program analysis platform that allows custom analyzers to plug in through a common interface.\n\n- [Sigrid](https://www.softwareimprovementgroup.com/solutions/sigrid-software-assurance-platform/) :copyright: — Sigrid helps you to improve your software by measuring your system's code quality,  and then compares the results against a benchmark of thousands of industry systems to give you concrete advice on areas where you can improve.\n\n- [Similarity Tester](https://dickgrune.com/Programs/similarity_tester/) — A tool that finds similarities between or within files to support you encountering DRY principle violations.\n\n- [Skylos](https://github.com/duriantaco/skylos) — Dead code detection, security scanning, secrets detection, and code quality analysis for Python, TypeScript, and Go. Framework-aware analysis with 98% recall. Includes CI/CD GitHub Action, VS Code extension, and MCP server for AI agent integration.\n\n- [Snyk Code](https://snyk.io) :copyright: — Snyk Code finds security vulnerabilities based on AI. Its speed of analysis allow us to analyse your code in real time and deliver results when you hit the save button in your IDE. Supported languages are Java, JavaScript, Python, PHP, C#, Go and TypeScript. Integrations with GitHub, BitBucket and Gitlab. It is free to try and part of the Snyk platform also covering SCA, containers and IaC.\n\n- [SonarQube Cloud](https://sonarcloud.io) :copyright: — SonarQube Cloud enables your team to deliver clean code consistently and efficiently with a code review  tool that easily integrates into the cloud DevOps platforms and extend your CI/CD workflow.  SonarQube Cloud provides a free plan.\n\n- [SonarQube for IDE](https://sonarlint.org) — SonarQube for IDE (formerly SonarLint) is a free IDE extension available for IntelliJ, VS Code, Visual Studio, and Eclipse,  to find and fix coding issues in real-time, flagging issues as you code, just like a spell-checker.  More than a linter, it also delivers rich contextual guidance to help developers understand  why there is an issue, assess the risk, and educate them on how to fix it.\n\n- [SonarQube Server](https://sonarqube.org) — SonarQube empowers development teams with a code quality and security solution that deeply integrates into your enterprise environment; enabling you to deploy clean code consistently and reliably. SonarQube provides a free and open source Community Build.\n\n- [Sonatype](https://www.sonatype.com) :copyright: — Reports known vulnerabilities in common dependencies and recommends updated packages to minimize breaking changes\n\n- [Soto Platform](https://www.hello2morrow.com/products/sotograph) :copyright: — Suite of static analysis tools consisting of the three components Sotoarc (Architecture Analysis), Sotograph (Quality Analysis), and Sotoreport (Quality report). Helps find differences between architecture and implementation, interface violations (e.g. external access of private parts of subsystems, detection of all classes, files, packages and subsystems which are strongly coupled by cyclical relationships and more. The Sotograph product family runs on Windows and Linux. \n\n- [SourceMeter](https://www.sourcemeter.com/) :copyright: — Static Code Analysis for C/C++, Java, C#, Python, and RPG III and RPG IV versions (including free-form).\n\n- [sqlvet](https://github.com/houqp/sqlvet) — Performs static analysis on raw SQL queries in your Go code base to surface potential runtime errors. It checks for SQL syntax error, identifies unsafe queries that could potentially lead to SQL injections makes sure column count matches value count in INSERT statements and validates table- and column names.\n\n- [StaticReviewer](https://securityreviewer.atlassian.net/wiki/spaces/KC/pages/196633/Static+Reviewer) :copyright: — Static Reviewer executes code checks according to the most relevant Secure Coding Standards, OWASP, CWE, CVE, CVSS, MISRA, CERT, for 40+ programming languages, using 1000+ built-in validation rules for Security, Deadcode & Best Practices Available a module for Software Composition Analysis (SCA) to find vulnerabilities in open source and third party libraries.\n\n- **Super-Linter** :warning: — Combination of multiple linters to install as a GitHub Action.\n\n- [Svace](https://www.ispras.ru/en/technologies/svace/) :copyright: — Static code analysis tool for Java,C,C++,C#,Go.\n\n- [Synopsys](https://www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html) :copyright: — A commercial static analysis platform that allows for scanning of multiple languages (C/C++, Android, C#, Java, JS, PHP, Python, Node.JS, Ruby, Fortran, and Swift).\n\n- [Teamscale](https://teamscale.com) :copyright: — Static and dynamic analysis tool supporting more than 25 languages and direct IDE integration. Free hosting for Open Source projects available on request. Free academic licenses available.\n\n- [TencentCodeAnalysis](https://tca.tencent.com/) — Tencent Cloud Code Analysis (TCA for short, code-named CodeDog inside the company early) is a comprehensive platform for code analysis and issue tracking. TCA consist of three components, server, web and client. It integrates of a number of self-developed tools, and also supports dynamic integration of code analysis tools in various programming languages.\n\n- [ThreatMapper](https://github.com/deepfence/ThreatMapper) — Vulnerability Scanner and Risk Evaluation for containers, serverless and hosts at runtime. ThreatMapper generates runtime BOMs from dependencies and operating system packages, matches against multiple threat feeds, scans for unprotected secrets, and scores issues based on severity and risk-of-exploit.\n\n- [todocheck](https://github.com/preslavmihaylov/todocheck) — Linter for integrating annotated TODOs with your issue trackers\n\n- [trivy](https://github.com/aquasecurity/trivy) — A Simple and Comprehensive Vulnerability Scanner for Containers and other Artifacts, Suitable for CI. Trivy detects vulnerabilities of OS packages (Alpine, RHEL, CentOS, etc.) and application dependencies (Bundler, Composer, npm, yarn, etc.). Checks containers and filesystems.\n\n\n- [trunk](https://trunk.io) :copyright: — Modern repositories include many technologies, each with its own set of linters. With 30+ linters and counting, Trunk makes it dead-simple to identify, install, configure, and run the right linters, static analyzers, and formatters for all your repos.\n\n- [TscanCode](https://github.com/Tencent/TscanCode) — A fast and accurate static analysis solution for C/C++, C#, Lua codes provided by Tencent. Using GPLv3 license.\n\n- [Undebt](https://github.com/Yelp/undebt) — Language-independent tool for massive, automatic, programmable refactoring based on simple pattern definitions.\n\n- [Understand](https://www.scitools.com) :copyright: — Code visualization tool that provides code analysis, standards testing, metrics, graphing, dependency analysis and more for Ada, VHDL, and others.\n\n- [Unibeautify](https://unibeautify.com) — Universal code beautifier with a GitHub app. Supports HTML, CSS, JavaScript, TypeScript, JSX, Vue, C++, Go, Objective-C, Java, Python, PHP, GraphQL, Markdown, and more.\n\n- [Upsource](https://www.jetbrains.com/upsource) :copyright: — Code review tool with static code analysis and code-aware navigation for Java, PHP, JavaScript and Kotlin.\n\n- [Veracode](https://www.veracode.com/security/static-code-analysis) :copyright: — Find flaws in binaries and bytecode without requiring source. Support all major programming languages: Java, .NET, JavaScript, Swift, Objective-C, C, C++ and more.\n\n- [WALA](https://github.com/wala/WALA) — Static analysis capabilities for Java bytecode and related languages and for JavaScript.\n\n- [weggli](https://github.com/googleprojectzero/weggli) — A fast and robust semantic search tool for C and C++ codebases. It is designed to help security researchers identify interesting functionality in large codebases.\n\n- [WhiteHat Application Security Platform](https://source.whitehatsec.com/help/sentinel/sast-service-detail.html) :copyright: — WhiteHat Scout (for Developers) combined with WhiteHat Sentinel Source (for Operations) supporting WhiteHat Top 40 and OWASP Top 10.\n\n- **Wotan** :warning: — Pluggable TypeScript and JavaScript linter.\n\n- [XCode](https://developer.apple.com/xcode) :copyright: — XCode provides a pretty decent UI for [Clang's](https://clang-analyzer.llvm.org/xcode.html) static code analyzer (C/C++, Obj-C).\n\n- [Xygeni](https://xygeni.io/) :copyright: — Xygeni is a comprehensive Software Supply Chain Security platform. It provides Advanced SAST with AI-powered remediation, Software Composition Analysis (SCA) with real-time malware detection, Infrastructure as Code (IaC) scanning, and Secrets detection to ensure end-to-end code security.\n\n\n## Other\n\n\n\n<a name=\"dotenv\" />\n<h2>.env</h2>\n\n\n- [GitGuardian ggshield](https://www.gitguardian.com/ggshield) — ggshield is a CLI application that runs in your local environment  or in a CI environment to help you detect more than 350+ types of secrets,  as well as other potential security vulnerabilities or policy breaks affecting your codebase.\n\n\n<a name=\"ansible\" />\n<h2>Ansible</h2>\n\n\n- [kics](https://kics.io/) — Find security vulnerabilities, compliance issues, and infrastructure misconfigurations in your infrastructure-as-code. Supports Terraform, Kubernetes, Docker, AWS CloudFormation and Ansible\n\n- [Steampunk Spotter](https://steampunk.si/spotter/) :copyright: — Ansible Playbook Scanning Tool that analyzes and offers recommendations for your playbooks.\n\n\n<a name=\"archive\" />\n<h2>Archive</h2>\n\n\n- [alquitran](https://github.com/ferivoz/alquitran) — Inspects tar archives and tries to spot portability issues in regard  to POSIX 2017 pax specification and common tar implementations.\nThis project is intended to be used by maintainers of projects who want to offer portable source code archives for as many systems as possible. Checking tar archives with alquitran before publishing them should help spotting issues before they reach distributors and users.\n\n- **packj** :warning: — Packj (pronounced package) is a command line (CLI) tool to vet open-source software packages for \"risky\" attributes that make them vulnerable to supply chain attacks. This is the tool behind our large-scale security analysis platform Packj.dev that continuously vets packages and provides free reports.\n\n- **pure** :warning: — Pure is a static analysis file format checker that checks ZIP files for dangerous compression ratios, spec deviations, malicious archive signatures, mismatching local and central directory headers, ambiguous UTF-8 filenames, directory and symlink traversals, invalid MS-DOS dates, overlapping headers, overflow, underflow,  sparseness, accidental buffer bleeds etc.\n\n\n<a name=\"arm\" />\n<h2>Azure Resource Manager</h2>\n\n\n- [AzSK](https://azsk.azurewebsites.net/) — Secure DevOps kit for Azure (AzSK) provides security IntelliSense, Security Verification Tests (SVTs), CICD scan vulnerabilities, compliance issues, and infrastructure misconfiguration in your infrastructure-as-code. Supports Azure via ARM.\n\n\n<a name=\"binary\" />\n<h2>Binaries</h2>\n\n\n- [angr](https://github.com/angr/angr) — Binary code analysis tool that also supports symbolic execution.\n\n- [binbloom](https://github.com/quarkslab/binbloom) — Analyzes a raw binary firmware and determines features like endianness or the loading address.  The tool is compatible with all architectures.\nLoading address: binbloom can parse a raw binary firmware and determine its loading address. Endianness: binbloom can use heuristics to determine the endianness of a firmware. UDS Database: binbloom can parse a raw binary firmware and check if it contains an array containing UDS command IDs.\n\n- [BinSkim](https://github.com/Microsoft/binskim) — A binary static analysis tool that provides security and correctness results for Windows portable executables.\n\n- [Black Duck](https://www.blackducksoftware.com) :copyright: — Tool to analyze source code and binaries for reusable code, necessary licenses and potential security aspects.\n\n- [bloaty](https://github.com/google/bloaty) — Ever wondered what's making your binary big? Bloaty McBloatface will show you a size profile of the binary so you can understand what's taking up space inside. Bloaty performs a deep analysis of the binary. Using custom ELF, DWARF, and Mach-O parsers,  Bloaty aims to accurately attribute every byte of the binary to the symbol or compileunit that produced it.  It will even disassemble the binary looking for references to anonymous data. F\n\n- **cargo-bloat** :warning: — Find out what takes most of the space in your executable. supports ELF (Linux, BSD), Mach-O (macOS) and PE (Windows) binaries.\n\n- [cwe_checker](https://github.com/fkie-cad/cwe_checker) — cwe_checker finds vulnerable patterns in binary executables.\n\n- [Ghidra](https://ghidra-sre.org) — A software reverse engineering (SRE) suite of tools developed by NSA's Research Directorate in support of the Cybersecurity mission\n\n- [Hopper](https://www.hopperapp.com/) :copyright: — macOS and Linux reverse engineering tool that lets you disassemble, decompile and debug applications. Hopper displays the code using different representations, e.g. the Control Flow Graph, and the pseudo-code of a procedure. Supports Apple Silicon.\n\n- [IDA Free](https://www.hex-rays.com/products/ida/support/download_freeware) :copyright: — Binary code analysis tool.\n\n- [Jakstab](https://github.com/jkinder/jakstab) — Jakstab is an Abstract Interpretation-based, integrated disassembly and static analysis framework for designing analyses on executables and recovering reliable control flow graphs.\n\n- [JEB Decompiler](https://www.pnfsoftware.com/) :copyright: — Decompile and debug binary code. Break down and analyze document files. Android Dalvik, MIPS, ARM, Intel x86, Java, WebAssembly & Ethereum Decompilers.\n\n- [Malcat](https://malcat.fr/) :copyright: — Hexadecimal editor and disassembler for malware analysis and binary file inspection. Supports over 50 file formats and multiple CPU architectures (x86/x64, MIPS, .NET, Python, VB p-code). Features rapid analysis, embedded file extraction, Yara signature scanning, anomaly detection, and Python scripting. Designed for malware analysts, SOC operators, incident responders, and CTF players.\n\n- [Manalyze](https://github.com/JusticeRage/Manalyze) — A static analyzer, which checks portable executables for malicious content.\n\n- **mcsema** :warning: — Framework for lifting x86, amd64, aarch64, sparc32, and sparc64 program binaries to LLVM bitcode. It translates (\"lifts\") executable binaries from native machine code to LLVM bitcode, which is very useful for performing program analysis methods.\n\n- [Nauz File Detector](https://github.com/horsicq/Nauz-File-Detector) — Static Linker/Compiler/Tool detector for Windows, Linux and MacOS.\n\n- [rhabdomancer](https://crates.io/crates/rhabdomancer) — IDA Pro headless plugin that locates calls to potentially insecure API functions in a binary file.\n\n- [rust-audit](https://github.com/Shnatsel/rust-audit) — Audit Rust binaries for known bugs or security vulnerabilities. This works by embedding data about the dependency tree (Cargo.lock) in JSON format into a dedicated linker section of the compiled executable.\n\n- [Twiggy](https://github.com/rustwasm/twiggy) — Analyzes a binary's call graph to profile code size. The goal is to slim down wasm binary size.\n\n- [VMware chap](https://github.com/vmware/chap) — chap analyzes un-instrumented ELF core files for leaks, memory growth, and corruption.  It is sufficiently reliable that it can be used in automation to catch leaks before  they are committed. As an interactive tool, it helps explain memory growth,  can identify some forms of corruption, and supplements a debugger  by giving the status of various memory locations. \n\n- [zydis](https://zydis.re) — Fast and lightweight x86/x86-64 disassembler library\n\n\n<a name=\"buildtool\" />\n<h2>Build tools</h2>\n\n\n- [checkmake](https://github.com/mrtazz/checkmake) — Linter / Analyzer for Makefiles.\n\n- [portlint](https://www.freebsd.org/cgi/man.cgi?query=portlint&sektion=1&manpath=FreeBSD+8.1-RELEASE+and+Ports) — A verifier for FreeBSD and DragonFlyBSD port directories.\n\n\n<a name=\"css\" />\n<h2>CSS/SASS/SCSS</h2>\n\n\n- [CSS Stats](https://cssstats.com) — Potentially interesting stats on stylesheets.\n\n- [CSScomb](https://github.com/csscomb/csscomb.js) — A coding style formatter for CSS. Supports own configurations to make style sheets beautiful and consistent.\n\n- [CSSLint](http://csslint.net) — Does basic syntax checking and finds problematic patterns or signs of inefficiency.\n\n- [GraphMyCSS.com](https://graphmycss.com) — CSS Specificity Graph Generator.\n\n- [Nu Html Checker](https://validator.github.io/validator/) — Helps you catch problems in your HTML/CSS/SVG\n\n- **Parker** :warning: — Stylesheet analysis tool.\n\n- [PostCSS](https://postcss.org) — A tool for transforming styles with JS plugins. These plugins can lint your CSS, support variables and mixins, transpile future CSS syntax, inline images, and more.\n\n- [Project Wallace CSS Analyzer](https://www.projectwallace.com) — Analytics for CSS, part of [Project Wallace](https://www.projectwallace.com).\n\n- **sass-lint** :warning: — A Node-only Sass linter for both sass and scss syntax.\n\n- **scsslint** :warning: — Linter for SCSS files.\n\n- [Specificity Graph](https://github.com/pocketjoso/specificity-graph) — CSS Specificity Graph Generator.\n\n- [Stylelint](http://stylelint.io) — Linter for SCSS/CSS files.\n\n\n<a name=\"configfile\" />\n<h2>Config Files</h2>\n\n\n- [dotenv-linter](https://dotenv-linter.readthedocs.io/en/latest) — Linting dotenv files like a charm.\n\n- [dotenv-linter (Rust)](https://dotenv-linter.github.io/#/) — Lightning-fast linter for .env files. Written in Rust\n\n- [gixy](https://github.com/yandex/gixy) — A tool to analyze Nginx configuration. The main goal is to prevent misconfiguration and automate flaw detection.\n\n\n<a name=\"configmanagement\" />\n<h2>Configuration Management</h2>\n\n\n- [ansible-lint](https://ansible.readthedocs.io/projects/lint/) — Checks playbooks for practices and behaviour that could potentially be improved.\n\n- [AWS CloudFormation Guard](https://github.com/aws-cloudformation/cloudformation-guard) — Check local CloudFormation templates against policy-as-code rules  and generate rules from existing templates.\n\n- [AzSK](https://azsk.azurewebsites.net/) — Secure DevOps kit for Azure (AzSK) provides security IntelliSense, Security Verification Tests (SVTs), CICD scan vulnerabilities, compliance issues, and infrastructure misconfiguration in your infrastructure-as-code. Supports Azure via ARM.\n\n- [cfn-lint](https://github.com/awslabs/cfn-python-lint) — AWS Labs CloudFormation linter.\n\n- [cfn_nag](https://github.com/stelligent/cfn_nag) — A linter for AWS CloudFormation templates.\n\n- [checkov](https://www.checkov.io) — Static analysis tool for Terraform files (tf>=v0.12), preventing cloud misconfigs at build time.\n\n- [cookstyle](https://docs.chef.io/cookstyle.html) — Cookstyle is a linting tool based on the RuboCop Ruby linting tool for Chef cookbooks.\n\n- [foodcritic](http://www.foodcritic.io) — A lint tool that checks Chef cookbooks for common problems.\n\n- [kics](https://kics.io/) — Find security vulnerabilities, compliance issues, and infrastructure misconfigurations in your infrastructure-as-code. Supports Terraform, Kubernetes, Docker, AWS CloudFormation and Ansible\n\n- [metadata-json-lint](https://github.com/voxpupuli/metadata-json-lint) — Tool to check the validity of Puppet metadata.json files.\n\n- **Puppet Lint** :warning: — Check that your Puppet manifests conform to the style guide.\n\n- [Steampunk Spotter](https://steampunk.si/spotter/) :copyright: — Ansible Playbook Scanning Tool that analyzes and offers recommendations for your playbooks.\n\n- [terraform-compliance](https://terraform-compliance.com) — A lightweight, compliance- and security focused, BDD test framework against Terraform.\n\n- [terrascan](https://github.com/cesar-rodriguez/terrascan) — Collection of security and best practice tests for static code analysis of Terraform templates.\n\n- [tflint](https://github.com/wata727/tflint) — A Terraform linter for detecting errors that can not be detected by `terraform plan`.\n\n- [tfsec](https://github.com/tfsec/tfsec) — Terraform static analysis tool that prevents potential security issues by checking cloud misconfigurations at build time and directly integrates with the HCL parser for better results. Checks for violations of AWS, Azure and GCP security best practice recommendations.\n\n\n<a name=\"container\" />\n<h2>Containers</h2>\n\n\n- [anchore](https://anchore.io) — Discover, analyze, and certify container images. A service that analyzes Docker images and applies user-defined acceptance policies  to allow automated container image validation and certification \n\n- [clair](https://github.com/coreos/clair) — Vulnerability Static Analysis for Containers.\n\n- [Code Pathfinder](https://codepathfinder.dev) — An open-source security suite aiming to combine structural code analysis with  AI-powered vulnerability detection. Built for advanced structural search, derive  insights, find vulnerabilities in code.\n\n- **collector** :warning: — Run arbitrary scripts inside containers, and gather useful information.\n\n- **dagda** :warning: — Perform static analysis of known vulnerabilities in docker images/containers.\n\n- **Docker Label Inspector** :warning: — Lint and validate Dockerfile labels.\n\n- **Dockle** :warning: — Container Image Linter for Security helping build the Best-Practice Docker Image. Scans Docker images for security vulnerabilities and CIS Benchmark compliance. Checks for secrets, credential exposure, and security best practices. Provides multiple severity levels (FATAL, WARN, INFO) and supports various output formats for CI/CD integration.\n\n- [GitGuardian ggshield](https://www.gitguardian.com/ggshield) — ggshield is a CLI application that runs in your local environment  or in a CI environment to help you detect more than 350+ types of secrets,  as well as other potential security vulnerabilities or policy breaks affecting your codebase.\n\n- [Grype](https://github.com/anchore/grype) — Vulnerability scanner for container images and filesystems. Developed by Anchore, it scans container images, directories, and archives for known vulnerabilities. Supports multiple image formats, SBOM integration, and VEX (Vulnerability Exploitability eXchange) for accurate vulnerability assessment. Works with various vulnerability databases and provides detailed reporting.\n\n- [Haskell Dockerfile Linter](https://github.com/lukasmartinelli/hadolint) — A smarter Dockerfile linter that helps you build best practice Docker images.\n\n- [kics](https://kics.io/) — Find security vulnerabilities, compliance issues, and infrastructure misconfigurations in your infrastructure-as-code. Supports Terraform, Kubernetes, Docker, AWS CloudFormation and Ansible\n\n- [krane](https://github.com/appvia/krane) — Krane is a simple Kubernetes RBAC static analysis tool.\nIt identifies potential security risks in K8s RBAC design and makes suggestions on how to mitigate them. Krane dashboard presents current RBAC security posture and lets you navigate through its definition.\n\n- [OpenSCAP](https://www.open-scap.org/) — Suite of automated audit tools to examine the configuration and  known vulnerabilities following the NIST-certified Security  Content Automation Protocol (SCAP).\n\n- [Qualys Container Security](https://www.qualys.com/apps/container-security) :copyright: — Container native application protection to provide visibility and control of containerized applications.\n\n- [sysdig](https://sysdig.com/) :copyright: — A secure DevOps platform for cloud and container forensics. Built on an open source stack, Sysdig provides Docker image scanning and created Falco, the open standard for runtime threat detection for containers, Kubernetes and cloud. \n\n- [Vuls](https://vuls.io/) — Agent-less Linux vulnerability scanner based on information from NVD, OVAL, etc.  It has some container image support, although is not a container specific tool.\n\n\n<a name=\"ci\" />\n<h2>Continuous Integration</h2>\n\n\n- [actionlint](https://rhysd.github.io/actionlint) — Static checker for GitHub Actions workflow files. Provides an online version.\n\n- [AzSK](https://azsk.azurewebsites.net/) — Secure DevOps kit for Azure (AzSK) provides security IntelliSense, Security Verification Tests (SVTs), CICD scan vulnerabilities, compliance issues, and infrastructure misconfiguration in your infrastructure-as-code. Supports Azure via ARM.\n\n- [Code Climate](https://codeclimate.com) — The open and extensible static analysis platform, for everyone.\n\n- [Code Pathfinder](https://codepathfinder.dev) — An open-source security suite aiming to combine structural code analysis with  AI-powered vulnerability detection. Built for advanced structural search, derive  insights, find vulnerabilities in code.\n\n- [Codecov](https://about.codecov.io/) :copyright: — Codecov is a company that provides code coverage tools for developers and engineering leaders  to gain visibility into their code coverage.\nThey offer flexible and unified reporting, seamless coverage insights, and robust coverage controls. Codecov supports over 20 languages and is CI/CD agnostic. Over 29,000 organizations and 1 million developers use Codecov. Codecov has recently joined Sentry.\n\n- [CodeRabbit](https://coderabbit.ai) :copyright: — AI-powered code review tool that helps developers write better code faster.  CodeRabbit provides automated code reviews,  identifies security vulnerabilities, and suggests code improvements.  It integrates with GitHub and GitLab.\n\n- [composer-dependency-analyser](https://github.com/shipmonk-rnd/composer-dependency-analyser) — Fast detection of composer dependency issues.\n\n* 💪 Powerful: Detects unused, shadow and misplaced composer dependencies\n* ⚡ Performant: Scans 15 000 files in 2s!\n* ⚙️ Configurable: Fine-grained ignores via PHP config\n* 🕸️ Lightweight: No composer dependencies\n* 🍰 Easy-to-use: No config needed for first try\n* ✨ Compatible: PHP >= 7.2\n\n\n- [Diffblue](https://www.diffblue.com/) :copyright: — Diffblue is a software company that provides AI-powered code analysis and testing solutions for software development teams.\nIts technology helps developers automate testing, find bugs, and reduce manual labor in their software development processes. The company's main product, Diffblue Cover, uses AI to generate and run unit tests for Java code, helping to catch errors and improve code quality.\n\n- [exakat](https://www.exakat.io) — An automated code reviewing engine for PHP.\n\n- [GitGuardian ggshield](https://www.gitguardian.com/ggshield) — ggshield is a CLI application that runs in your local environment  or in a CI environment to help you detect more than 350+ types of secrets,  as well as other potential security vulnerabilities or policy breaks affecting your codebase.\n\n- [Goblint](https://goblint.in.tum.de) — A static analyzer for the analysis of multi-threaded C programs. Its primary focus is the  detection of data races, but it also reports other runtime errors, such as buffer overflows and null-pointer dereferences.\n\n- [PullRequest](https://www.hackerone.com/product/code) :copyright: — Code review as a service with built-in static analysis.  Increase velocity and reduce technical debt through quality code review by expert engineers backed by best-in-class automation.\n\n- **quality** :warning: — Runs quality checks on your code using community tools, and makes sure your numbers don't get any worse over time.\n\n- **QuantifiedCode** :warning: — Automated code review & repair. It helps you to keep track of issues and metrics in your software projects, and can be easily extended to support new types of analyses.\n\n- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) — Identifies and prioritizes God Classes and Highly Coupled classes in Java codebases you should refactor first.\n\n- [Reviewdog](https://github.com/haya14busa/reviewdog) — A tool for posting review comments from any linter in any code hosting service.\n\n- [Symfony Insight](https://insight.symfony.com/) :copyright: — Detect security risks, find bugs and provide actionable metrics for PHP projects.\n\n- [TangleGuard](https://tangleguard.com/) :copyright: — Helps you understand and maintain a scalable software architecture. To do so, it generates a interactive, nested dependency graph out of the source code. You can choose the level of details and get the portion of your codebase that matters to you.\n\n- [Violations Lib](https://github.com/tomasbjerre/violations-lib) — Java library for parsing report files from static code analysis. Used by a bunch of Jenkins, Maven and Gradle plugins.\n\n\n<a name=\"deno\" />\n<h2>Deno</h2>\n\n\n- [deno_lint](https://github.com/denoland/deno_lint) — Official linter for Deno.\n\n\n<a name=\"dockerfile\" />\n<h2>Dockerfile</h2>\n\n\n- [Cloud (IaC) Security for JetBrains IDEs](https://plugins.jetbrains.com/plugin/25413-cloud-iac-security) — Cloud (IaC) Security plugin for JetBrains IDEs. Performs real-time inspections of Docker & Kubernetes IaC with 50+ rules based on Docker image/build security best practices, Kubernetes Pod Security Standards, and NSA/CISA Kubernetes Hardening Guidance.\n\n- [Code Pathfinder](https://codepathfinder.dev) — An open-source security suite aiming to combine structural code analysis with  AI-powered vulnerability detection. Built for advanced structural search, derive  insights, find vulnerabilities in code.\n\n- **Dockle** :warning: — Container Image Linter for Security helping build the Best-Practice Docker Image. Scans Docker images for security vulnerabilities and CIS Benchmark compliance. Checks for secrets, credential exposure, and security best practices. Provides multiple severity levels (FATAL, WARN, INFO) and supports various output formats for CI/CD integration.\n\n\n<a name=\"embedded\" />\n<h2>Embedded</h2>\n\n\n- [oelint-adv](https://github.com/priv-kweihmann/oelint-adv) — Linter for bitbake recipes used in open-embedded and YOCTO\n\n\n<a name=\"erb\" />\n<h2>Embedded Ruby (a.k.a. ERB, eRuby)</h2>\n\n\n- [ERB Lint](https://github.com/Shopify/erb-lint) — Lint your ERB or HTML files\n\n- [ERB::Formatter](https://github.com/nebulab/erb-formatter) — Format ERB files with speed and precision.\n\n- [htmlbeautifier](https://github.com/threedaymonk/htmlbeautifier) — A normaliser/beautifier for HTML that also understands embedded Ruby. Ideal for tidying up Rails templates.\n\n\n<a name=\"gherkin\" />\n<h2>Gherkin</h2>\n\n\n- [gherkin-lint](https://github.com/vsiakka/gherkin-lint) — A linter for the Gherkin-Syntax written in Javascript.\n\n\n<a name=\"html\" />\n<h2>HTML</h2>\n\n\n- [Angular ESLint](https://github.com/angular-eslint/angular-eslint#readme) — Linter for Angular projects\n\n- [axe-core](https://www.deque.com/axe/) — Accessibility engine for automated Web UI testing. Tests HTML against WCAG 2.0, 2.1, and 2.2 guidelines. Used by Google Lighthouse, Microsoft Accessibility Insights, and thousands of organizations worldwide.\n\n- **Bootlint** :warning: — An HTML linter for Bootstrap projects.\n\n- [ERB Lint](https://github.com/Shopify/erb-lint) — Lint your ERB or HTML files\n\n- [ERB::Formatter](https://github.com/nebulab/erb-formatter) — Format ERB files with speed and precision.\n\n- **grunt-bootlint** :warning: — A Grunt wrapper for [Bootlint](https://github.com/twbs/bootlint), the HTML linter for Bootstrap projects.\n\n- **gulp-bootlint** :warning: — A gulp wrapper for [Bootlint](https://github.com/twbs/bootlint), the HTML linter for Bootstrap projects.\n\n- **HTML Inspector** :warning: — HTML Inspector is a code quality tool to help you and your team write better markup.\n\n- [HTML Tidy](http://www.html-tidy.org) — Corrects and cleans up HTML and XML documents by fixing markup errors and upgrading legacy code to modern standards.\n\n- [HTML-Validate](https://html-validate.org/) — Offline HTML5 validator.\n\n- [htmlbeautifier](https://github.com/threedaymonk/htmlbeautifier) — A normaliser/beautifier for HTML that also understands embedded Ruby. Ideal for tidying up Rails templates.\n\n- [HTMLHint](https://htmlhint.com) — A Static Code Analysis Tool for HTML.\n\n- [Nu Html Checker](https://validator.github.io/validator/) — Helps you catch problems in your HTML/CSS/SVG\n\n- [Pa11y](https://pa11y.org/) — Automated accessibility testing tool that runs HTML CodeSniffer or axe-core from the command line. Supports CI/CD integration, multiple reporters, and testing against WCAG 2.1 AA standards.\n\n- [Polymer-analyzer](https://github.com/Polymer/tools/tree/master/packages/analyzer) — A static analysis framework for Web Components.\n\n\n<a name=\"json\" />\n<h2>JSON</h2>\n\n\n- [jsonlint](https://jsonlint.com/) — A JSON parser and validator with a CLI. Standalone version of jsonlint.com\n\n- [Spectral](https://stoplight.io/open-source/spectral) — A flexible JSON/YAML linter, with out-of-the-box support for OpenAPI v2/v3 and AsyncAPI v2.\n\n\n<a name=\"kubernetes\" />\n<h2>Kubernetes</h2>\n\n\n- [chart-testing](https://github.com/helm/chart-testing) — ct is the tool for testing Helm charts.  It is meant to be used for linting and testing pull requests.  It automatically detects charts changed against the target branch.\n\n- [Cloud (IaC) Security for JetBrains IDEs](https://plugins.jetbrains.com/plugin/25413-cloud-iac-security) — Cloud (IaC) Security plugin for JetBrains IDEs. Performs real-time inspections of Docker & Kubernetes IaC with 50+ rules based on Docker image/build security best practices, Kubernetes Pod Security Standards, and NSA/CISA Kubernetes Hardening Guidance.\n\n- [clusterlint](https://github.com/digitalocean/clusterlint) — Clusterlint queries live Kubernetes clusters for resources, executes common and  platform specific checks against these resources and provides actionable feedback to cluster operators.  It is a non invasive tool that is run externally. Clusterlint does not alter the resource configurations.\n\n- [Datree](https://datree.io/) — A CLI tool to prevent Kubernetes misconfigurations by ensuring that manifests and Helm charts follow best practices as well as your organization’s policies\n\n- [kics](https://kics.io/) — Find security vulnerabilities, compliance issues, and infrastructure misconfigurations in your infrastructure-as-code. Supports Terraform, Kubernetes, Docker, AWS CloudFormation and Ansible\n\n- [klint](https://github.com/uswitch/klint) — A tool that listens to changes in Kubernetes resources and runs linting rules against them. Identify and debug erroneous objects and nudge objects in line with the policies as both change over time. Klint helps us encode checks and proactively alert teams when they need to take action.\n\n- [krane](https://github.com/appvia/krane) — Krane is a simple Kubernetes RBAC static analysis tool.\nIt identifies potential security risks in K8s RBAC design and makes suggestions on how to mitigate them. Krane dashboard presents current RBAC security posture and lets you navigate through its definition.\n\n- **kube-hunter** :warning: — Hunt for security weaknesses in Kubernetes clusters.\n\n- [kube-lint](https://github.com/viglesiasce/kube-lint) — A linter for Kubernetes resources with a customizable rule set. You define a list of rules that you would like to validate against your  resources and kube-lint will evaluate those rules against them.\n\n- [kube-linter](https://github.com/stackrox/kube-linter) — KubeLinter is a static analysis tool that checks Kubernetes YAML files  and Helm charts to ensure the applications represented in them adhere to best practices.\n\n- [kube-score](https://kube-score.com) — Static code analysis of your Kubernetes object definitions.\n\n- [kubeconform](https://github.com/yannh/kubeconform) — A fast Kubernetes manifests validator with support for custom resources.\n\nIt is inspired by, contains code from and is designed to stay close to [Kubeval](https://analysis-tools.dev/tool/kubeval),\nbut with the following improvements:\n* high performance: will validate & download manifests over multiple routines, caching downloaded files in memory\n* configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities\n* uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes.\n\n\n- [KubeLinter](https://github.com/stackrox/kube-linter) — KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.\n\n- **kubeval** :warning: — Validates your Kubernetes configuration files and supports multiple Kubernetes versions.\n\n\n<a name=\"latex\" />\n<h2>LaTeX</h2>\n\n\n- **ChkTeX** :warning: — A linter for LaTex which catches some typographic errors LaTeX oversees.\n\n- [lacheck](https://www.ctan.org/pkg/lacheck) — A tool for finding common mistakes in LaTeX documents.\n\n- [TeXLab](https://texlab.netlify.app) — A Language Server Protocol implementation for TeX/LaTeX, including lint capabilities.\n\n\n<a name=\"laravel\" />\n<h2>Laravel</h2>\n\n\n- **Enlightn** :warning: — A static and dynamic analysis tool for Laravel applications that provides recommendations to improve the performance, security and code reliability of Laravel apps. Contains 120 automated checks.\n\n- [larastan](https://github.com/larastan/larastan) — Adds static analysis to Laravel improving developer productivity and code quality. It is a wrapper around PHPStan.\n\n\n<a name=\"make\" />\n<h2>Makefiles</h2>\n\n\n- [checkmake](https://github.com/mrtazz/checkmake) — Linter / Analyzer for Makefiles.\n\n- [mbake](https://pypi.org/project/mbake/) — mbake is a Makefile formatter and linter. It only took 50 years!\n\n- [portlint](https://www.freebsd.org/cgi/man.cgi?query=portlint&sektion=1&manpath=FreeBSD+8.1-RELEASE+and+Ports) — A verifier for FreeBSD and DragonFlyBSD port directories.\n\n\n<a name=\"markdown\" />\n<h2>Markdown</h2>\n\n\n- [markdownlint](https://github.com/DavidAnson/markdownlint) — Node.js -based style checker and lint tool for Markdown/CommonMark files.\n\n- [mdformat](https://mdformat.rtfd.io) — CommonMark compliant Markdown formatter\n\n- [mdl](https://github.com/mivok/markdownlint) — A tool to check Markdown files and flag style issues.\n\n- [mdsf](https://github.com/hougesen/mdsf) — Format markdown code blocks using your favorite code formatters.\n\n- [remark-lint](https://remark.js.org) — Pluggable Markdown code style linter written in JavaScript.\n\n- [textlint](https://textlint.github.io/) — textlint is an open source text linting utility written in JavaScript.\n\n\n<a name=\"meta\" />\n<h2>Metalinter</h2>\n\n\n- **ciocheck** :warning: — Linter, formatter and test suite helper. As a linter, it is a wrapper around `pep8`, `pydocstyle`, `flake8`, and `pylint`.\n\n- [flake8](https://github.com/PyCQA/flake8) — A wrapper around `pyflakes`, `pycodestyle` and `mccabe`.\n\n- [flakeheaven](https://pypi.org/project/flakeheaven/) — flakeheaven is a python linter built around flake8 to enable inheritable and complex toml configuration.\n\n- **Go Meta Linter** :warning: — Concurrently run Go lint tools and normalise their output. Use `golangci-lint` for new projects.\n\n- [goreporter](https://github.com/360EntSecGroup-Skylar/goreporter) — Concurrently runs many linters and normalises their output to a report.\n\n- **multilint** :warning: — A wrapper around `flake8`, `isort` and `modernize`.\n\n- [prospector](https://github.com/PyCQA/prospector) — A wrapper around `pylint`, `pep8`, `mccabe` and others.\n\n\n<a name=\"mobile\" />\n<h2>Mobile</h2>\n\n\n- [Android Lint](https://developer.android.com/studio/write/lint) — Run static analysis on Android projects.\n\n- **android-lint-summary** :warning: — Combines lint errors of multiple projects into one output, check lint results of multiple sub-projects at once.\n\n- [FlowDroid](https://github.com/secure-software-engineering/FlowDroid) — Static taint analysis tool for Android applications.\n\n- **iblessing** :warning: — iblessing is an iOS security exploiting toolkit. It can be used for reverse engineering, binary analysis and vulnerability mining.\n\n- [Mariana Trench](https://mariana-tren.ch/) — Our security focused static analysis tool for Android and Java applications. Mariana Trench analyzes Dalvik bytecode and is built to run fast on large codebases (10s of millions of lines of code). It can find vulnerabilities as code changes, before it ever lands in your repository.\n\n- [Oversecured](https://oversecured.com) :copyright: — Enterprise vulnerability scanner for Android and iOS apps. It allows app owners and developers to secure each new version of a mobile app by integrating Oversecured into the development process.\n\n- **paprika** :warning: — A toolkit to detect some code smells in analyzed Android applications.\n\n- **qark** :warning: — Tool to look for several security related Android application vulnerabilities.\n\n- [redex](https://fbredex.com) — Redex provides a framework for reading, writing, and analyzing .dex files, and a set of optimization passes  that use this framework to improve the bytecode. An APK optimized by Redex should be smaller and faster.\n\n\n<a name=\"nix\" />\n<h2>Nix</h2>\n\n\n- [deadnix](https://github.com/astro/deadnix) — Scan Nix files for dead code (unused variable bindings)\n\n- [statix](https://github.com/nerdypepper/statix) — Lints and suggestions for the Nix programming language. \"statix check\" highlights antipatterns in Nix code. \"statix fix\" can fix several such occurrences.\n\n\n<a name=\"nodejs\" />\n<h2>Node.js</h2>\n\n\n- [lockfile-lint](https://github.com/lirantal/lockfile-lint) — Lint an npm or yarn lockfile to analyze and detect security issues\n\n- **njsscan** :warning: — A static application testing (SAST) tool that can find insecure code patterns in your node.js applications using simple pattern matcher from libsast and syntax-aware semantic code pattern search tool semgrep.\n\n- **NodeJSScan** :warning: — A static security code scanner for Node.js applications powered by libsast and semgrep that builds on the njsscan cli tool. It features a UI with various dashboards about an application's security status.\n\n- [standard](http://standardjs.com) — An npm module that checks for Javascript Styleguide issues.\n\n\n<a name=\"package\" />\n<h2>Packages</h2>\n\n\n- [composer-dependency-analyser](https://github.com/shipmonk-rnd/composer-dependency-analyser) — Fast detection of composer dependency issues.\n\n* 💪 Powerful: Detects unused, shadow and misplaced composer dependencies\n* ⚡ Performant: Scans 15 000 files in 2s!\n* ⚙️ Configurable: Fine-grained ignores via PHP config\n* 🕸️ Lightweight: No composer dependencies\n* 🍰 Easy-to-use: No config needed for first try\n* ✨ Compatible: PHP >= 7.2\n\n\n- [lintian](https://wiki.debian.org/Lintian) — Static analysis tool for Debian packages.\n\n- [rpmlint](https://github.com/rpm-software-management/rpmlint) — Tool for checking common errors in rpm packages.\n\n\n<a name=\"prometheus\" />\n<h2>Prometheus</h2>\n\n\n- [promformat](https://github.com/facetoe/promformat) — Promformat is a PromQL formatter written in Python.\n\n- [promval](https://github.com/facetoe/promval) — PromQL validator written in Python. It can be used to validate that PromQL expressions are written as expected.\n\n\n<a name=\"protobuf\" />\n<h2>Protocol Buffers</h2>\n\n\n- [buf](https://buf.build) — Provides a CLI linter that enforces good API design choices and structure\n\n- [protolint](https://github.com/yoheimuta/protolint) — Pluggable linter and fixer to enforce Protocol Buffer style and conventions.\n\n\n<a name=\"puppet\" />\n<h2>Puppet</h2>\n\n\n- [metadata-json-lint](https://github.com/voxpupuli/metadata-json-lint) — Tool to check the validity of Puppet metadata.json files.\n\n\n<a name=\"rails\" />\n<h2>Rails</h2>\n\n\n- [Active Record Doctor](https://github.com/gregnavis/active_record_doctor) — Identify database issues before they hit production.\n\n- [Bullet](https://github.com/flyerhzm/bullet) — Help to kill N+1 queries and unused eager loading.\n\n- [DatabaseConsistency](https://github.com/djezzzl/database_consistency) — The tool to avoid various issues due to inconsistencies and inefficiencies between a database schema and application models.\n\n- [dawnscanner](https://github.com/thesp0nge/dawnscanner) — A static analysis security scanner for ruby written web applications. It supports Sinatra, Padrino and Ruby on Rails frameworks.\n\n- [ERB::Formatter](https://github.com/nebulab/erb-formatter) — Format ERB files with speed and precision.\n\n- [Skunk](https://github.com/fastruby/skunk) — A SkunkScore Calculator for Ruby Code -- Find the most complicated code without test coverage!\n\n- [Traceroute](https://github.com/amatsuda/traceroute) — A Rake task gem that helps you find the unused routes and controller actions for your Rails 3+ app.\n\n\n<a name=\"security\" />\n<h2>Security/SAST</h2>\n\n\n- [AzSK](https://azsk.azurewebsites.net/) — Secure DevOps kit for Azure (AzSK) provides security IntelliSense, Security Verification Tests (SVTs), CICD scan vulnerabilities, compliance issues, and infrastructure misconfiguration in your infrastructure-as-code. Supports Azure via ARM.\n\n- [brakeman](https://brakemanscanner.org) — A static analysis security vulnerability scanner for Ruby on Rails applications.\n\n- [Cloud (IaC) Security for JetBrains IDEs](https://plugins.jetbrains.com/plugin/25413-cloud-iac-security) — Cloud (IaC) Security plugin for JetBrains IDEs. Performs real-time inspections of Docker & Kubernetes IaC with 50+ rules based on Docker image/build security best practices, Kubernetes Pod Security Standards, and NSA/CISA Kubernetes Hardening Guidance.\n\n- [Code Pathfinder](https://codepathfinder.dev) — An open-source security suite aiming to combine structural code analysis with  AI-powered vulnerability detection. Built for advanced structural search, derive  insights, find vulnerabilities in code.\n\n- [Credential Digger](https://github.com/SAP/credential-digger) — Credential Digger is a GitHub scanning tool that identifies hardcoded credentials (Passwords, API Keys, Secret Keys, Tokens, personal information, etc),  and filtering the false positive data through a machine learning model called [Password Model](https://huggingface.co/SAPOSS/password-model). This scanner is able to detect passwords and non structured tokens with a low false positive rate. \n\n- [Datree](https://datree.io/) — A CLI tool to prevent Kubernetes misconfigurations by ensuring that manifests and Helm charts follow best practices as well as your organization’s policies\n\n- [detect-secrets](https://github.com/Yelp/detect-secrets) — An enterprise friendly way of detecting and preventing secrets in code.\nIt does this by running periodic diff outputs against heuristically crafted regex statements,  to identify whether any new secret has been committed. This way, it avoids the overhead of digging  through all git history, as well as the need to scan the entire repository every time.\n\n- **Dockle** :warning: — Container Image Linter for Security helping build the Best-Practice Docker Image. Scans Docker images for security vulnerabilities and CIS Benchmark compliance. Checks for secrets, credential exposure, and security best practices. Provides multiple severity levels (FATAL, WARN, INFO) and supports various output formats for CI/CD integration.\n\n- **Enlightn** :warning: — A static and dynamic analysis tool for Laravel applications that provides recommendations to improve the performance, security and code reliability of Laravel apps. Contains 120 automated checks.\n\n- [GitGuardian ggshield](https://www.gitguardian.com/ggshield) — ggshield is a CLI application that runs in your local environment  or in a CI environment to help you detect more than 350+ types of secrets,  as well as other potential security vulnerabilities or policy breaks affecting your codebase.\n\n- [Gitleaks](https://github.com/zricethezav/gitleaks) — A SAST tool for detecting hardcoded secrets like passwords, api keys, and tokens in git repos.\n\n- [gokart](https://github.com/praetorian-inc/gokart) — Golang security analysis with a focus on minimizing false positives. It is capable of tracing the source of variables and function arguments  to determine whether input sources are safe.\n\n- [Grype](https://github.com/anchore/grype) — Vulnerability scanner for container images and filesystems. Developed by Anchore, it scans container images, directories, and archives for known vulnerabilities. Supports multiple image formats, SBOM integration, and VEX (Vulnerability Exploitability eXchange) for accurate vulnerability assessment. Works with various vulnerability databases and provides detailed reporting.\n\n- [HasMySecretLeaked](https://gitguardian.com/hasmysecretleaked) :copyright: — HasMySecretLeaked is a project from GitGuardian that aims to help individual users and organizations search across 20 million exposed secrets to verify if their  developer secrets have leaked on public repositories, gists, and issues on GitHub projects.\n\n- **iblessing** :warning: — iblessing is an iOS security exploiting toolkit. It can be used for reverse engineering, binary analysis and vulnerability mining.\n\n- [kani](https://github.com/model-checking/kani) — The Kani Rust Verifier is a bit-precise model checker for Rust. \nKani is particularly useful for verifying unsafe code blocks in Rust, \nwhere the \"unsafe superpowers\" are unchecked by the compiler.\nKani verifies:\n\n* Memory safety (e.g., null pointer dereferences)\n* User-specified assertions (i.e., assert!(...))\n* The absence of panics (e.g., unwrap() on None values)\n* The absence of some types of unexpected behavior (e.g., arithmetic overflows)\n\n\n- [kics](https://kics.io/) — Find security vulnerabilities, compliance issues, and infrastructure misconfigurations in your infrastructure-as-code. Supports Terraform, Kubernetes, Docker, AWS CloudFormation and Ansible\n\n- **kube-hunter** :warning: — Hunt for security weaknesses in Kubernetes clusters.\n\n- [lockfile-lint](https://github.com/lirantal/lockfile-lint) — Lint an npm or yarn lockfile to analyze and detect security issues\n\n- **LunaSec** :warning: — Open Source AppSec platform that automatically notifies you the next time vulnerabilities like Log4Shell or node-ipc happen. Track your dependencies and builds in a centralized service.\n\n- [Malcat](https://malcat.fr/) :copyright: — Hexadecimal editor and disassembler for malware analysis and binary file inspection. Supports over 50 file formats and multiple CPU architectures (x86/x64, MIPS, .NET, Python, VB p-code). Features rapid analysis, embedded file extraction, Yara signature scanning, anomaly detection, and Python scripting. Designed for malware analysts, SOC operators, incident responders, and CTF players.\n\n- **njsscan** :warning: — A static application testing (SAST) tool that can find insecure code patterns in your node.js applications using simple pattern matcher from libsast and syntax-aware semantic code pattern search tool semgrep.\n\n- **NodeJSScan** :warning: — A static security code scanner for Node.js applications powered by libsast and semgrep that builds on the njsscan cli tool. It features a UI with various dashboards about an application's security status.\n\n- [OSV-Scanner](https://osv.dev/) — Vulnerability scanner written in Go which uses the data provided by OSV.dev. Developed by Google to scan dependencies across multiple languages and package managers for known vulnerabilities. Supports container scanning, license scanning, and guided remediation. Works with lockfiles, SBOMs, and container images to identify security issues.\n\n- [Oversecured](https://oversecured.com) :copyright: — Enterprise vulnerability scanner for Android and iOS apps. It allows app owners and developers to secure each new version of a mobile app by integrating Oversecured into the development process.\n\n- [OWASP Noir](https://owasp-noir.github.io/noir/) — Attack surface detector that identifies endpoints by static analysis.\n\n- [pip-audit](https://github.com/pypa/pip-audit) — Tool for scanning Python packages for known vulnerabilities. Developed by the Python Packaging Authority (PyPA) and supported by Trail of Bits and Google. Scans Python environments and requirements files to identify vulnerable packages and suggests remediation. Supports GitHub Actions, pre-commit hooks, and multiple vulnerability service integrations.\n\n- [PT Application Inspector](https://www.ptsecurity.com) :copyright: — Identifies code flaws and detects vulnerabilities to prevent web attacks. Demonstrates remote code execution by presenting possible exploits.\n\n- [Qualys Container Security](https://www.qualys.com/apps/container-security) :copyright: — Container native application protection to provide visibility and control of containerized applications.\n\n- **QuantifiedCode** :warning: — Automated code review & repair. It helps you to keep track of issues and metrics in your software projects, and can be easily extended to support new types of analyses.\n\n- [Safety](https://safetycli.com/) — Python dependency vulnerability scanner designed to enhance software supply chain security by detecting packages with known vulnerabilities. Checks Python dependencies against a database of known security vulnerabilities and provides detailed reports. Supports CI/CD integration and multiple output formats.\n\n- [scorecard](https://github.com/ossf/scorecard) — Security Scorecards - Security health metrics for Open Source\n\n- [Steampunk Spotter](https://steampunk.si/spotter/) :copyright: — Ansible Playbook Scanning Tool that analyzes and offers recommendations for your playbooks.\n\n- [Symfony Insight](https://insight.symfony.com/) :copyright: — Detect security risks, find bugs and provide actionable metrics for PHP projects.\n\n- [tfsec](https://github.com/tfsec/tfsec) — Terraform static analysis tool that prevents potential security issues by checking cloud misconfigurations at build time and directly integrates with the HCL parser for better results. Checks for violations of AWS, Azure and GCP security best practice recommendations.\n\n- [trufflehog](https://trufflesecurity.com) — Find credentials all over the place\nTruffleHog is an open source secret-scanning engine that resolves exposed secrets across your company’s entire tech stack. \n\n- [Tsunami Security Scanner](https://github.com/google/tsunami-security-scanner) — A general purpose network security scanner with an extensible plugin system for  detecting high severity RCE-like vulnerabilities with high confidence. Custom detectors for finding vulnerabilities (e.g. open APIs) can be added.\n\n\n<a name=\"smart-contracts\" />\n<h2>Smart Contracts</h2>\n\n\n- [mythril](https://github.com/ConsenSys/mythril) — A symbolic execution framework with batteries included, can be used to find and exploit vulnerabilities in smart contracts automatically.\n\n- [MythX](https://mythx.io) :copyright: — MythX is an easy to use analysis platform which integrates several analysis methods like fuzzing, symbolic execution and static analysis to find vulnerabilities with high precision. It can be integrated with toolchains like Remix or VSCode or called from the command-line.\n\n- [slither](https://github.com/trailofbits/slither) — Static analysis framework that runs a suite of vulnerability detectors, prints visual information about contract details, and provides an API to easily write custom analyses.\n\n- [solhint](https://protofire.github.io/solhint) — Solhint is an open source project created by https://protofire.io. Its goal is to provide a linting utility for Solidity code.\n\n- [solium](https://ethlint.readthedocs.io/en/latest) — Solium is a linter to identify and fix style and security issues in Solidity smart contracts.\n\n\n<a name=\"support\" />\n<h2>Support</h2>\n\n\n- [LibVCS4j](https://github.com/uni-bremen-agst/libvcs4j) — A Java library that allows existing tools to analyse the evolution of software systems by providing a common API for different version control systems and issue trackers.\n\n- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) — Identifies and prioritizes God Classes and Highly Coupled classes in Java codebases you should refactor first.\n\n- [Violations Lib](https://github.com/tomasbjerre/violations-lib) — Java library for parsing report files from static code analysis. Used by a bunch of Jenkins, Maven and Gradle plugins.\n\n\n<a name=\"template\" />\n<h2>Template-Languages</h2>\n\n\n- [ember-template-lint](https://github.com/ember-template-lint/ember-template-lint) — Linter for Ember or Handlebars templates.\n\n- [haml-lint](https://github.com/sds/haml-lint) — Tool for writing clean and consistent HAML.\n\n- [slim-lint](https://github.com/sds/slim-lint) — Configurable tool for analyzing Slim templates.\n\n- [yamllint](https://yamllint.readthedocs.io) — Checks YAML files for syntax validity, key repetition and cosmetic problems such as lines length, trailing spaces, and indentation.\n\n\n<a name=\"terraform\" />\n<h2>Terraform</h2>\n\n\n- [GitGuardian ggshield](https://www.gitguardian.com/ggshield) — ggshield is a CLI application that runs in your local environment  or in a CI environment to help you detect more than 350+ types of secrets,  as well as other potential security vulnerabilities or policy breaks affecting your codebase.\n\n- [kics](https://kics.io/) — Find security vulnerabilities, compliance issues, and infrastructure misconfigurations in your infrastructure-as-code. Supports Terraform, Kubernetes, Docker, AWS CloudFormation and Ansible\n\n- **shisho** :warning: — A lightweight static code analyzer designed for developers and security teams. It allows you to analyze and transform source code with an intuitive DSL similar to sed, but for code.\n\n\n<a name=\"translation\" />\n<h2>Translation</h2>\n\n\n- [dennis](https://github.com/willkg/dennis) — A set of utilities for working with PO files to ease development and improve quality.\n\n\n<a name=\"vue\" />\n<h2>Vue.js</h2>\n\n\n- [HTML-Validate](https://html-validate.org/) — Offline HTML5 validator.\n\n- **Vetur** :warning: — Vue tooling for VS Code, powered by vls (vue language server). Vetur has support for formatting embedded HTML, CSS, SCSS, JS, TypeScript, and more. Vetur only has a \"whole document formatter\" and cannot format arbitrary ranges.\n\n\n<a name=\"writing\" />\n<h2>Writing</h2>\n\n\n- **After the Deadline** :warning: — Spell, style and grammar checker.\n\n- **alex** :warning: — Catch insensitive, inconsiderate writing\n\n- [codespell](https://github.com/codespell-project/codespell) — Check code for common misspellings.\n\n- [languagetool](https://languagetool.org) — Style and grammar checker for 25+ languages. It finds many errors that a simple spell checker cannot detect.\n\n- [misspell-fixer](https://github.com/vlajos/misspell-fixer) — Quick tool for fixing common misspellings, typos in source code.\n\n- [Misspelled Words In Context](https://jwilk.net/software/mwic) — A spell-checker that groups possible misspellings and shows them in their contexts.\n\n- [proselint](https://github.com/amperser/proselint) — A linter for English prose with a focus on writing style instead of grammar.\n\n- [vale](https://vale.sh) — A syntax-aware linter for prose built with speed and extensibility in mind.\n\n- **write-good** :warning: — A linter with a focus on eliminating \"weasel words\".\n\n\n<a name=\"yaml\" />\n<h2>YAML</h2>\n\n\n- [Spectral](https://stoplight.io/open-source/spectral) — A flexible JSON/YAML linter, with out-of-the-box support for OpenAPI v2/v3 and AsyncAPI v2.\n\n- [yamllint](https://yamllint.readthedocs.io) — Checks YAML files for syntax validity, key repetition and cosmetic problems such as lines length, trailing spaces, and indentation.\n\n\n<a name=\"git\" />\n<h2>git</h2>\n\n\n- [commitlint](https://commitlint.js.org) — checks if your commit messages meet the conventional commit format\n\n- [GitGuardian ggshield](https://www.gitguardian.com/ggshield) — ggshield is a CLI application that runs in your local environment  or in a CI environment to help you detect more than 350+ types of secrets,  as well as other potential security vulnerabilities or policy breaks affecting your codebase.\n\n- [HasMySecretLeaked](https://gitguardian.com/hasmysecretleaked) :copyright: — HasMySecretLeaked is a project from GitGuardian that aims to help individual users and organizations search across 20 million exposed secrets to verify if their  developer secrets have leaked on public repositories, gists, and issues on GitHub projects.\n\n\n## More Collections\n\n- [Clean code linters](https://github.com/collections/clean-code-linters) — A collection of linters in github collections\n- [Code Quality Checker Tools For PHP Projects](https://github.com/collections/code-quality-in-php) — A collection of PHP linters in github collections\n- [go-tools](https://github.com/dominikh/go-tools) — A collection of tools and libraries for working with Go code, including linters and static analysis\n- [linters](https://github.com/mcandre/linters) — An introduction to static code analysis\n- [OWASP Source Code Analysis Tools](https://owasp.org/www-community/Source_Code_Analysis_Tools) — List of tools maintained by the Open Web Application Security Project\n- [php-static-analysis-tools](https://github.com/exakat/php-static-analysis-tools) — A reviewed list of useful PHP static analysis tools\n- [AppSec Santa — SAST Tools](https://appsecsanta.com/sast-tools) — Independent comparison of 30+ static analysis security testing tools with features, pricing, and alternatives\n- [Wikipedia](http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis) — A list of tools for static code analysis.\n\n## License\n\n[![CC0](https://i.creativecommons.org/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)\n\nTo the extent possible under law, [Matthias Endler](https://endler.dev) has waived all copyright and related or neighboring rights to this work.\nThe underlying source code used to format and display that content is licensed under the MIT license.\n\n\nTitle image [Designed by Freepik](https://www.freepik.com)."
  },
  {
    "path": "data/.gitignore",
    "content": "/target/\n**/*.rs.bk\n.env\n"
  },
  {
    "path": "data/README.md",
    "content": "This is the project's CI environment.\nRead more about the tooling [here](https://endler.dev/2017/obsolete/).  \nWant to add an entry to the list?\nHere's how to [contribute](https://github.com/analysis-tools-dev/static-analysis/blob/master/CONTRIBUTING.md).\n"
  },
  {
    "path": "data/api/.gitignore",
    "content": "STATS.md"
  },
  {
    "path": "data/api/README.md",
    "content": "# API\n\nThis directory contains machine-readable JSON files of all static analysis\ntools in the repo. The files can be used to create your own API endpoints from\nthe data, for running more complicated queries on the command-line with `jq`, or\nfor using them inside a Jupyter notebook.\n\nThe data format is subject to change as we use it for rendering the [website].\n\nThe files in this directory are not meant to be edited directly. Instead, update\nthe `.yml` files in the `/data/tools` directory and render the JSON again by\ncalling `make render` from the root directory.\n\n[website]: https://analysis-tools.dev\n"
  },
  {
    "path": "data/api/stats/tags.json",
    "content": "{\n  \"/tag/typescript\": 152,\n  \"/tag/rust\": 130,\n  \"/tag/nodejs\": 114,\n  \"/tag/sql\": 103,\n  \"/tag/go\": 97,\n  \"/tag/c\": 92,\n  \"/tag/php\": 88,\n  \"/tag/binary\": 78,\n  \"/tag/cpp\": 76,\n  \"/tag/ruby\": 74,\n  \"/tag/python\": 74,\n  \"/tag/csharp\": 71,\n  \"/tag/shell\": 64,\n  \"/tag/kotlin\": 63,\n  \"/tag/vue\": 59,\n  \"/tag/swift\": 57,\n  \"/tag/javascript\": 55,\n  \"/tag/lua\": 47,\n  \"/tag/java\": 44,\n  \"/tag/protobuf\": 42,\n  \"/tag/groovy\": 42,\n  \"/tag/yaml\": 37,\n  \"/tag/plsql\": 37,\n  \"/tag/verilog\": 36,\n  \"/tag/security\": 36\n}\n"
  },
  {
    "path": "data/api/stats/tools.json",
    "content": "{\n  \"mega-linter\": 221,\n  \"semgrep\": 81,\n  \"lizard\": 55,\n  \"sqlcheck\": 47,\n  \"codeql\": 44,\n  \"better-code-hub\": 32,\n  \"rust-analyzer\": 31,\n  \"callgraph\": 31,\n  \"hcl-appscan-source\": 29,\n  \"codescene\": 28,\n  \"black\": 28,\n  \"sonatype\": 27,\n  \"mypy\": 27,\n  \"eslint\": 27,\n  \"tencentcodeanalysis\": 26,\n  \"sonarqube\": 26,\n  \"fortify\": 26,\n  \"kubeval\": 25,\n  \"vera\": 23,\n  \"sigrid\": 23,\n  \"searchdiggity\": 23,\n  \"trivy\": 22,\n  \"coverity\": 22,\n  \"c2rust\": 22,\n  \"typl\": 21\n}"
  },
  {
    "path": "data/api/tags.json",
    "content": "{\n  \"languages\": [\n    {\n      \"name\": \".NET\",\n      \"value\": \"dotnet\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"ABAP\",\n      \"value\": \"abap\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"ActionScript\",\n      \"value\": \"actionscript\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Active Server Pages\",\n      \"value\": \"asp\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Ada\",\n      \"value\": \"ada\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Apex\",\n      \"value\": \"apex\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"ASP.NET\",\n      \"value\": \"aspnet\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Assembly\",\n      \"value\": \"asm\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Awk\",\n      \"value\": \"awk\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"C\",\n      \"value\": \"c\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"C#\",\n      \"value\": \"csharp\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"C++\",\n      \"value\": \"cpp\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Clojure\",\n      \"value\": \"clojure\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"COBOL\",\n      \"value\": \"cobol\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"CoffeeScript\",\n      \"value\": \"coffeescript\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"ColdFusion\",\n      \"value\": \"coldfusion\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Crystal\",\n      \"value\": \"crystal\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Dart\",\n      \"value\": \"dart\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Delphi\",\n      \"value\": \"delphi\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Dlang\",\n      \"value\": \"dlang\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Elixir\",\n      \"value\": \"elixir\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Elm\",\n      \"value\": \"elm\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Erlang\",\n      \"value\": \"erlang\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"F#\",\n      \"value\": \"fsharp\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Fortran\",\n      \"value\": \"fortran\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Go\",\n      \"value\": \"go\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Groovy\",\n      \"value\": \"groovy\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Haskell\",\n      \"value\": \"haskell\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Haxe\",\n      \"value\": \"haxe\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Java\",\n      \"value\": \"java\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"JavaScript\",\n      \"value\": \"javascript\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"JavaServer Pages\",\n      \"value\": \"jsp\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Jimple\",\n      \"value\": \"jimple\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"JSX\",\n      \"value\": \"jsx\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Julia\",\n      \"value\": \"julia\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Kotlin\",\n      \"value\": \"kotlin\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Lightning Web Components\",\n      \"value\": \"lwc\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Lisp\",\n      \"value\": \"lisp\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Lua\",\n      \"value\": \"lua\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"MATLAB\",\n      \"value\": \"matlab\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Nim\",\n      \"value\": \"nim\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Objective C\",\n      \"value\": \"objectivec\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Ocaml\",\n      \"value\": \"ocaml\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Pascal\",\n      \"value\": \"pascal\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Perl\",\n      \"value\": \"perl\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"PHP\",\n      \"value\": \"php\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"PL/SQL\",\n      \"value\": \"plsql\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"PowerShell\",\n      \"value\": \"powershell\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Python\",\n      \"value\": \"python\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"R\",\n      \"value\": \"r\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Raku\",\n      \"value\": \"raku\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Rego\",\n      \"value\": \"rego\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Ruby\",\n      \"value\": \"ruby\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Rust\",\n      \"value\": \"rust\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Scala\",\n      \"value\": \"scala\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Shell\",\n      \"value\": \"shell\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"SQL\",\n      \"value\": \"sql\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Swift\",\n      \"value\": \"swift\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Tcl\",\n      \"value\": \"tcl\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"TSQL\",\n      \"value\": \"tsql\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"TypeScript\",\n      \"value\": \"typescript\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"VBScript\",\n      \"value\": \"vbscript\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Verilog/SystemVerilog\",\n      \"value\": \"verilog\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Vim Script\",\n      \"value\": \"vim-script\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Visual Basic\",\n      \"value\": \"vbasic\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Visual Basic .NET\",\n      \"value\": \"vbnet\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Visual Basic for Applications (VBA)\",\n      \"value\": \"vba\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"Visualforce\",\n      \"value\": \"visualforce\",\n      \"tag_type\": \"Language\"\n    },\n    {\n      \"name\": \"WebAssembly\",\n      \"value\": \"wasm\",\n      \"tag_type\": \"Language\"\n    }\n  ],\n  \"other\": [\n    {\n      \"name\": \".env\",\n      \"value\": \"dotenv\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Ansible\",\n      \"value\": \"ansible\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Archive\",\n      \"value\": \"archive\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Azure Resource Manager\",\n      \"value\": \"arm\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Binaries\",\n      \"value\": \"binary\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Build tools\",\n      \"value\": \"buildtool\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Cloud Formation\",\n      \"value\": \"cloudformation\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Config Files\",\n      \"value\": \"configfile\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Configuration Management\",\n      \"value\": \"configmanagement\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Containers\",\n      \"value\": \"container\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Continuous Integration\",\n      \"value\": \"ci\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"CSS/SASS/SCSS\",\n      \"value\": \"css\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Deno\",\n      \"value\": \"deno\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Dockerfile\",\n      \"value\": \"dockerfile\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Embedded Ruby (a.k.a. ERB, eRuby)\",\n      \"value\": \"erb\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Embedded\",\n      \"value\": \"embedded\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Gherkin\",\n      \"value\": \"gherkin\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Ghidra\",\n      \"value\": \"ghidra\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"git\",\n      \"value\": \"git\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"HTML\",\n      \"value\": \"html\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"JSON\",\n      \"value\": \"json\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Kubernetes\",\n      \"value\": \"kubernetes\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Laravel\",\n      \"value\": \"laravel\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"LaTeX\",\n      \"value\": \"latex\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Less\",\n      \"value\": \"less\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Makefiles\",\n      \"value\": \"make\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Markdown\",\n      \"value\": \"markdown\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Metalinter\",\n      \"value\": \"meta\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Mobile\",\n      \"value\": \"mobile\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Nix\",\n      \"value\": \"nix\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Node.js\",\n      \"value\": \"nodejs\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Packages\",\n      \"value\": \"package\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"PhoneGap\",\n      \"value\": \"phonegap\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Prometheus\",\n      \"value\": \"prometheus\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Protocol Buffers\",\n      \"value\": \"protobuf\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Puppet\",\n      \"value\": \"puppet\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Rails\",\n      \"value\": \"rails\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Security/SAST\",\n      \"value\": \"security\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Smart Contracts\",\n      \"value\": \"smart-contracts\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Support\",\n      \"value\": \"support\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Spring\",\n      \"value\": \"spring\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Template-Languages\",\n      \"value\": \"template\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Terraform\",\n      \"value\": \"terraform\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Translation\",\n      \"value\": \"translation\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Vue.js\",\n      \"value\": \"vue\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"Writing\",\n      \"value\": \"writing\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"XML\",\n      \"value\": \"xml\",\n      \"tag_type\": \"Other\"\n    },\n    {\n      \"name\": \"YAML\",\n      \"value\": \"yaml\",\n      \"tag_type\": \"Other\"\n    }\n  ]\n}"
  },
  {
    "path": "data/api/tools.json",
    "content": "{\n  \"abaplint\": {\n    \"name\": \"abaplint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"abap\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://abaplint.org\",\n    \"source\": \"https://github.com/abaplint/abaplint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter for ABAP, written in TypeScript.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"abapopenchecks\": {\n    \"name\": \"abapOpenChecks\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"abap\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://docs.abapopenchecks.org\",\n    \"source\": \"https://github.com/larshp/abapOpenChecks\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Enhances the SAP Code Inspector with new and customizable checks.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"actionlint\": {\n    \"name\": \"actionlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://rhysd.github.io/actionlint\",\n    \"source\": \"https://github.com/rhysd/actionlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static checker for GitHub Actions workflow files. Provides an online version.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"active-record-doctor\": {\n    \"name\": \"Active Record Doctor\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [\n      \"rails\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/gregnavis/active_record_doctor\",\n    \"source\": \"https://github.com/gregnavis/active_record_doctor\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Identify database issues before they hit production.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"aether\": {\n    \"name\": \"aether\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://aetherjs.com\",\n    \"source\": \"https://github.com/codecombat/aether\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Lint, analyze, normalize, transform, sandbox, run, step through, and visualize user JavaScript, in node or the browser.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"after-the-deadline\": {\n    \"name\": \"After the Deadline\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"writing\"\n    ],\n    \"licenses\": [\n      \"GPL v2\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://open.afterthedeadline.com\",\n    \"source\": \"https://open.afterthedeadline.com\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Spell, style and grammar checker.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ale\": {\n    \"name\": \"ale\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 2-Clause \\\"Simplified\\\" License\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/w0rp/ale\",\n    \"source\": \"https://github.com/w0rp/ale\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Asynchronous Lint Engine for Vim and NeoVim with support for many languages.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"alex\": {\n    \"name\": \"alex\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"writing\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://alexjs.com\",\n    \"source\": \"https://github.com/get-alex/alex\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Catch insensitive, inconsiderate writing\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"aligncheck\": {\n    \"name\": \"aligncheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL v2\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://gitlab.com/opennota/check\",\n    \"source\": \"https://gitlab.com/opennota/check\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find inefficiently packed structs.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"alquitran\": {\n    \"name\": \"alquitran\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"archive\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ferivoz/alquitran\",\n    \"source\": \"https://github.com/ferivoz/alquitran\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Inspects tar archives and tries to spot portability issues in regard  to POSIX 2017 pax specification and common tar implementations.\\nThis project is intended to be used by maintainers of projects who want to offer portable source code archives for as many systems as possible. Checking tar archives with alquitran before publishing them should help spotting issues before they reach distributors and users.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ameba\": {\n    \"name\": \"ameba\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"crystal\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://crystal-ameba.github.io\",\n    \"source\": \"https://github.com/crystal-ameba/ameba\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static code analysis tool for Crystal.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Crystal Language Static Code Analysis with the Ameba Shard\",\n        \"url\": \"https://www.youtube.com/watch?v=SV8tV79Lvog\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"anchore\": {\n    \"name\": \"anchore\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://anchore.io\",\n    \"source\": \"https://github.com/anchore/anchore-engine\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Discover, analyze, and certify container images. A service that analyzes Docker images and applies user-defined acceptance policies  to allow automated container image validation and certification \",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"android-lint\": {\n    \"name\": \"Android Lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"mobile\"\n    ],\n    \"licenses\": [\n      \"Android Software Development Kit License Agreement\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://developer.android.com/studio/write/lint\",\n    \"source\": \"https://android.googlesource.com\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Run static analysis on Android projects.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"android-lint-summary\": {\n    \"name\": \"android-lint-summary\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"mobile\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://passy.github.io/android-lint-summary\",\n    \"source\": \"https://github.com/passy/android-lint-summary\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Combines lint errors of multiple projects into one output, check lint results of multiple sub-projects at once.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"android-studio\": {\n    \"name\": \"Android Studio\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\",\n      \"kotlin\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Android Software Development Kit License Agreement\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://developer.android.com/studio\",\n    \"source\": \"https://android.googlesource.com/platform/tools/adt/idea/+/refs/heads/mirror-goog-studio-master-dev\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Based on IntelliJ IDEA, and comes bundled with tools for Android including Android Lint.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"angr\": {\n    \"name\": \"angr\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"BSD 2-Clause \\\"Simplified\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/angr/angr\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Binary code analysis tool that also supports symbolic execution.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"angular-eslint\": {\n    \"name\": \"Angular ESLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"typescript\"\n    ],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/angular-eslint/angular-eslint#readme\",\n    \"source\": \"https://github.com/angular-eslint/angular-eslint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter for Angular projects\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ansible-lint\": {\n    \"name\": \"ansible-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://ansible.readthedocs.io/projects/lint/\",\n    \"source\": \"https://github.com/ansible/ansible-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checks playbooks for practices and behaviour that could potentially be improved.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"appchecker\": {\n    \"name\": \"AppChecker\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://npo-echelon.ru/en/solutions/appchecker.php\",\n    \"source\": null,\n    \"pricing\": \"https://npo-echelon.ru/en/solutions/appchecker.php\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Static analysis for C/C++/C#, PHP and Java.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"application-inspector\": {\n    \"name\": \"Application Inspector\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"asp\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"java\",\n      \"javascript\",\n      \"objectivec\",\n      \"php\",\n      \"sql\",\n      \"swift\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"html\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.ptsecurity.com/ww-en/products/ai\",\n    \"source\": null,\n    \"pricing\": \"https://global.ptsecurity.com/en/products/ai/\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Commercial Static Code Analysis which generates exploits to verify vulnerabilities.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"applicationinspector\": {\n    \"name\": \"ApplicationInspector\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"objectivec\",\n      \"php\",\n      \"powershell\",\n      \"python\",\n      \"ruby\"\n    ],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/microsoft/ApplicationInspector\",\n    \"source\": \"https://github.com/microsoft/ApplicationInspector\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Creates reports of over 400 rule patterns for feature detection (e.g. the use of cryptography or version control in apps).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Introducing Microsoft Application Inspector\",\n        \"url\": \"https://www.microsoft.com/security/blog/2020/01/16/introducing-microsoft-application-inspector/\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"archunit\": {\n    \"name\": \"ArchUnit\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\",\n      \"kotlin\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.archunit.org\",\n    \"source\": \"https://github.com/TNG/ArchUnit\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Unit test your Java or Kotlin architecture.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"archunitnet\": {\n    \"name\": \"ArchUnitNET\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/TNG/ArchUnitNET\",\n    \"source\": \"https://github.com/TNG/ArchUnitNET\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A C# architecture test library to specify and assert architecture rules in C# for automated testing.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ast-grep\": {\n    \"name\": \"ast-grep\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"jsx\",\n      \"kotlin\",\n      \"lua\",\n      \"python\",\n      \"ruby\",\n      \"rust\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"json\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://ast-grep.github.io/\",\n    \"source\": \"https://github.com/ast-grep/ast-grep\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"ast-grep is a powerful tool designed for managing code at scale using Abstract Syntax Trees (AST). Think of it as a hybrid of grep, eslint, and codemod, with the ability to search, lint, and rewrite code based on its structure rather than plain text.\\nIt supports multiple languages and is designed to be extensible, allowing you to register custom languages.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"ast-grep Quick Start Guide\",\n        \"url\": \"https://ast-grep.github.io/guide/quick-start.html\"\n      }\n    ],\n    \"reviews\": [\n      \"https://stackshare.io/ast-grep\"\n    ],\n    \"demos\": [\n      \"https://ast-grep.github.io/playground.html\"\n    ],\n    \"wrapper\": null\n  },\n  \"astree\": {\n    \"name\": \"Astrée\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.absint.com/astree/index.htm\",\n    \"source\": null,\n    \"pricing\": \"https://www.absint.com/astree/contact.htm\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Astrée automatically proves the absence of runtime errors and invalid con­current behavior in C/C++ applications. It is sound for floating-point computations, very fast, and exceptionally precise. The analyzer also checks for MISRA/CERT/CWE/Adaptive Autosar coding rules and supports qualification for ISO 26262, DO-178C level A, and other safety standards. Jenkins and Eclipse plugins are available.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"atom-beautify\": {\n    \"name\": \"Atom-Beautify\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"coffeescript\",\n      \"coldfusion\",\n      \"java\",\n      \"javascript\",\n      \"objectivec\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"sql\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"css\",\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://atom.io/packages/atom-beautify\",\n    \"source\": \"https://github.com/Glavin001/atom-beautify\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Beautify HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL, and more in Atom editor.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": [\n      {\n        \"title\": \"Adding Atom Beautify Package to Atom\",\n        \"url\": \"https://www.youtube.com/watch?v=oBz6rXG0XT8\"\n      },\n      {\n        \"title\": \"10 Essential Atom Editor Packages & Setup\",\n        \"url\": \"https://www.youtube.com/watch?v=aiXNKHKWlmY\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"autocorrect\": {\n    \"name\": \"autocorrect\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"csharp\",\n      \"go\",\n      \"javascript\",\n      \"jsx\",\n      \"python\",\n      \"ruby\",\n      \"rust\",\n      \"scala\",\n      \"shell\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"css\",\n      \"html\",\n      \"json\",\n      \"markdown\",\n      \"vue\",\n      \"writing\",\n      \"xml\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://huacnlee.github.io/autocorrect\",\n    \"source\": \"https://github.com/huacnlee/autocorrect\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A linter and formatter to help you to improve copywriting, correct spaces, words, punctuations between CJK (Chinese, Japanese, Korean).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"autoflake\": {\n    \"name\": \"autoflake\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/PyCQA/autoflake\",\n    \"source\": \"https://github.com/PyCQA/autoflake\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Autoflake removes unused imports and unused variables from Python code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"autopep8\": {\n    \"name\": \"autopep8\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pypi.org/project/autopep8/\",\n    \"source\": \"https://github.com/hhatto/autopep8\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool that automatically formats Python code to conform to the PEP 8 style guide.\\nIt uses the pycodestyle utility to determine what parts of the code needs to be formatted.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"aws-cloudformation-guard\": {\n    \"name\": \"AWS CloudFormation Guard\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/aws-cloudformation/cloudformation-guard\",\n    \"source\": \"https://github.com/aws-cloudformation/cloudformation-guard\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Check local CloudFormation templates against policy-as-code rules  and generate rules from existing templates.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"axe-core\": {\n    \"name\": \"axe-core\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MPL-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.deque.com/axe/\",\n    \"source\": \"https://github.com/dequelabs/axe-core\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Accessibility engine for automated Web UI testing. Tests HTML against WCAG 2.0, 2.1, and 2.2 guidelines. Used by Google Lighthouse, Microsoft Accessibility Insights, and thousands of organizations worldwide.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"axivion-bauhaus-suite\": {\n    \"name\": \"Axivion Bauhaus Suite\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.axivion.com/en/products-services-9#products_bauhaussuite\",\n    \"source\": null,\n    \"pricing\": \"https://www.axivion.com/pricing\",\n    \"plans\": null,\n    \"description\": \"Tracks down error-prone code locations, style violations, cloned or dead code, cyclic dependencies and more for C/C++, C#/.NET, Java and Ada 83/Ada 95.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"azsk\": {\n    \"name\": \"AzSK\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"arm\",\n      \"configmanagement\",\n      \"ci\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://azsk.azurewebsites.net/\",\n    \"source\": \"https://github.com/azsk/DevOpsKit\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Secure DevOps kit for Azure (AzSK) provides security IntelliSense, Security Verification Tests (SVTs), CICD scan vulnerabilities, compliance issues, and infrastructure misconfiguration in your infrastructure-as-code. Supports Azure via ARM.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"bandit\": {\n    \"name\": \"bandit\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://bandit.readthedocs.io/en/latest\",\n    \"source\": \"https://github.com/PyCQA/bandit\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool to find common security issues in Python code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Code security with Bandit and Safety — Perfect Python\",\n        \"url\": \"https://www.youtube.com/watch?v=YZOKnvisJpw\"\n      },\n      {\n        \"title\": \"The Python Podcast.__init__: Bandit with Tim Kelsey, Travis McPeak, and Eric Brown - E62\",\n        \"url\": \"https://www.pythonpodcast.com/episodepage/bandit-with-tim-kelsey-travis-mcpeak-and-eric-brown\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"bashate\": {\n    \"name\": \"bashate\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"shell\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/openstack/bashate\",\n    \"source\": \"https://github.com/openstack/bashate\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Code style enforcement for bash programs. The output format aims to follow pycodestyle (pep8) default output format.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Official bashate documentation\",\n        \"url\": \"https://docs.openstack.org/bashate\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"bearer\": {\n    \"name\": \"Bearer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"jsx\",\n      \"ruby\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"html\",\n      \"json\",\n      \"rails\",\n      \"security\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"Elastic License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/bearer/bearer\",\n    \"source\": \"https://github.com/bearer/bearer\",\n    \"pricing\": \"https://www.bearer.com/plans\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"Open-Source static code analysis tool to discover,  filter and prioritize security risks and vulnerabilities  leading to sensitive data exposures (PII, PHI, PD).  Highly configurable and easily extensible,  built for security and engineering teams.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Bearer's built-in set of rules to prevent cirtical security risks and vulnerabilities\",\n        \"url\": \"https://docs.bearer.com/reference/rules/\"\n      },\n      {\n        \"title\": \"Bearer CLI: 2 months in retrospect of new features and improvements!\",\n        \"url\": \"https://www.bearer.com/blog/bearer-cli-2-months-in-retrospect-of-new-features-and-improvements\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"bellybutton\": {\n    \"name\": \"bellybutton\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/hchasestevens/bellybutton\",\n    \"source\": \"https://github.com/hchasestevens/bellybutton\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A linting engine supporting custom project-specific rules.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"better-code-hub\": {\n    \"name\": \"Better Code Hub\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"objectivec\",\n      \"perl\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"scala\",\n      \"shell\",\n      \"swift\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"smart-contracts\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://bettercodehub.com\",\n    \"source\": null,\n    \"pricing\": \"https://bettercodehub.com/pricing\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": true\n    },\n    \"description\": \"Better Code Hub checks your GitHub codebase against 10 engineering guidelines devised by the authority in software quality, Software Improvement Group.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Better Code Hub introduction video\",\n        \"url\": \"https://www.youtube.com/watch?v=diERwdr2omM\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"betterscan-ce\": {\n    \"name\": \"Betterscan CE\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"apex\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"perl\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"scala\",\n      \"swift\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"AGPL-3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/tcosolutions/betterscan-ce\",\n    \"source\": \"https://github.com/tcosolutions/betterscan-ce\",\n    \"pricing\": null,\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"Checks your code and infra (various Git repositories supported, cloud stacks, CLI, Web Interface platform, integrationss available) for security and quality issues. Code Scanning/SAST/Linting using many tools/Scanners deduplicated with One Report (AI optional).\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"binbloom\": {\n    \"name\": \"binbloom\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/quarkslab/binbloom\",\n    \"source\": \"https://github.com/quarkslab/binbloom\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Analyzes a raw binary firmware and determines features like endianness or the loading address.  The tool is compatible with all architectures.\\nLoading address: binbloom can parse a raw binary firmware and determine its loading address. Endianness: binbloom can use heuristics to determine the endianness of a firmware. UDS Database: binbloom can parse a raw binary firmware and check if it contains an array containing UDS command IDs.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Tutorial: Binbloom - Raw Binary Firmware Analysis Software\",\n        \"url\": \"https://www.kitploit.com/2020/10/binbloom-raw-binary-firmware-analysis.html?m=1\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"binskim\": {\n    \"name\": \"BinSkim\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Microsoft/binskim\",\n    \"source\": \"https://github.com/Microsoft/binskim\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A binary static analysis tool that provides security and correctness results for Windows portable executables.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"biome\": {\n    \"name\": \"biome\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"css\",\n      \"json\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://biomejs.dev\",\n    \"source\": \"https://github.com/biomejs/biome\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A toolchain for web projects, aimed to provide functionalities to maintain them. Biome formats and lints code in a fraction of a second. It is the successor to Rome. It is designed to eventually replace Biome is designed to eventually replace Babel, ESLint, webpack, Prettier, Jest, and others.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"black\": {\n    \"name\": \"Black\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://black.readthedocs.io/en/stable\",\n    \"source\": \"https://github.com/psf/black\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The uncompromising Python code formatter.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Using the black code formatter in Python\",\n        \"url\": \"https://www.youtube.com/watch?v=InA-oAWu3Mo\"\n      },\n      {\n        \"title\": \"Łukasz Langa - Life Is Better Painted Black, or: How to Stop Worrying and Embrace Auto-Formatting\",\n        \"url\": \"https://www.youtube.com/watch?v=esZLCuWs_2Y\"\n      }\n    ],\n    \"reviews\": [\n      \"https://luminousmen.com/post/my-unpopular-opinion-about-black-code-formatter\"\n    ],\n    \"demos\": [\n      \"https://black.vercel.app/\"\n    ],\n    \"wrapper\": null\n  },\n  \"black-duck\": {\n    \"name\": \"Black Duck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.blackducksoftware.com\",\n    \"source\": null,\n    \"pricing\": \"https://www.synopsys.com/software-integrity/contact-sales.html\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Tool to analyze source code and binaries for reusable code, necessary licenses and potential security aspects.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Black Duck SCA & Coverity Static Analysis (SAST) Integrations with Amazon AWS CI Tools | Synopsys\",\n        \"url\": \"https://www.youtube.com/watch?v=GEvxbU6EmiA\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"bloaty\": {\n    \"name\": \"bloaty\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/google/bloaty\",\n    \"source\": \"https://github.com/google/bloaty\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Ever wondered what's making your binary big? Bloaty McBloatface will show you a size profile of the binary so you can understand what's taking up space inside. Bloaty performs a deep analysis of the binary. Using custom ELF, DWARF, and Mach-O parsers,  Bloaty aims to accurately attribute every byte of the binary to the symbol or compileunit that produced it.  It will even disassemble the binary looking for references to anonymous data. F\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"blockwatch\": {\n    \"name\": \"BlockWatch\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"jsx\",\n      \"kotlin\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"rust\",\n      \"shell\",\n      \"sql\",\n      \"swift\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"css\",\n      \"html\",\n      \"make\",\n      \"markdown\",\n      \"xml\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mennanov/blockwatch\",\n    \"source\": \"https://github.com/mennanov/blockwatch\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A language-agnostic linter that keeps code, documentation, and configuration in sync and enforces strict formatting and validation rules.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"bodyclose\": {\n    \"name\": \"bodyclose\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/timakin/bodyclose\",\n    \"source\": \"https://github.com/timakin/bodyclose\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checks whether HTTP response body is closed.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"bootlint\": {\n    \"name\": \"Bootlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/twbs/bootlint\",\n    \"source\": \"https://github.com/twbs/bootlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An HTML linter for Bootstrap projects.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"bowler\": {\n    \"name\": \"Bowler\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pybowler.io/\",\n    \"source\": \"https://github.com/facebookincubator/bowler\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Safe code refactoring for modern Python.  Bowler is a refactoring tool for manipulating Python at the syntax tree level.  It enables safe, large scale code modifications while guaranteeing that the  resulting code compiles and runs. It provides both a simple command line interface  and a fluent API in Python for generating complex code modifications in code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"brakeman\": {\n    \"name\": \"brakeman\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://brakemanscanner.org\",\n    \"source\": \"https://github.com/presidentbeef/brakeman\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analysis security vulnerability scanner for Ruby on Rails applications.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Brakeman: A Security Scanner for Ruby on Rails\",\n        \"url\": \"https://www.youtube.com/watch?v=pTUlPq4glOg\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"brittany\": {\n    \"name\": \"brittany\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"haskell\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU Affero General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/lspitzner/brittany\",\n    \"source\": \"https://github.com/lspitzner/brittany\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Haskell source code formatter\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"buf\": {\n    \"name\": \"buf\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"protobuf\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://buf.build\",\n    \"source\": \"https://github.com/bufbuild/buf\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Provides a CLI linter that enforces good API design choices and structure\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"bugprove\": {\n    \"name\": \"BugProve\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"asm\",\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [\n      \"binary\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://bugprove.com\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": {\n      \"free\": true\n    },\n    \"description\": \"BugProve is a firmware analysis platform featuring both static and dynamic analysis techniques to discover memory corruptions, command injections and other classes or common weaknesses in binary code. It also detects vulnerable dependencies, weak cryptographic parameters, misconfigurations, and more.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": [\n      {\n        \"title\": \"BugProve Product Intro by John Hammond\",\n        \"url\": \"https://www.youtube.com/watch?v=orTvsOlFS5k\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.g2.com/products/bugprove/reviews\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"bullet\": {\n    \"name\": \"Bullet\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [\n      \"rails\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/flyerhzm/bullet\",\n    \"source\": \"https://github.com/flyerhzm/bullet\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Help to kill N+1 queries and unused eager loading.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"bundler-audit\": {\n    \"name\": \"bundler-audit\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/rubysec/bundler-audit\",\n    \"source\": \"https://github.com/rubysec/bundler-audit\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Audit Gemfile.lock for gems with security vulnerabilities reported in [Ruby Advisory Database](https://github.com/rubysec/ruby-advisory-db).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"c2rust\": {\n    \"name\": \"C2Rust\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://c2rust.com\",\n    \"source\": \"https://github.com/immunant/c2rust\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"C2Rust helps you migrate C99-compliant code to Rust. The translator (or transpiler) produces unsafe Rust code that closely mirrors the input C code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"RustConf 2018 - C2Rust: Migrating Legacy Code to Rust by Per Larsen\",\n        \"url\": \"https://www.youtube.com/watch?v=WEsR0Vv7jhg&t=233s\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cakefuzzer\": {\n    \"name\": \"CakeFuzzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU GPL\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://zigrin.com/tools/cake-fuzzer/\",\n    \"source\": \"https://github.com/Zigrin-Security/CakeFuzzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Web application security testing tool for CakePHP-based web applications. CakeFuzzer employs a predefined set of attacks that are randomly modified before execution. Leveraging its deep understanding of the Cake PHP framework, Cake Fuzzer launches attacks on all potential application entry points.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"callgraph\": {\n    \"name\": \"callGraph\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"awk\",\n      \"dart\",\n      \"fortran\",\n      \"go\",\n      \"javascript\",\n      \"julia\",\n      \"kotlin\",\n      \"lua\",\n      \"matlab\",\n      \"pascal\",\n      \"perl\",\n      \"php\",\n      \"python\",\n      \"r\",\n      \"raku\",\n      \"ruby\",\n      \"rust\",\n      \"scala\",\n      \"shell\",\n      \"swift\",\n      \"tcl\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/koknat/callGraph\",\n    \"source\": \"https://github.com/koknat/callGraph\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Statically generates a call graph image and displays it on screen.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cane\": {\n    \"name\": \"cane\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/square/cane\",\n    \"source\": \"https://github.com/square/cane\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Code quality threshold checking as part of your build.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-audit\": {\n    \"name\": \"cargo-audit\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://rustsec.org\",\n    \"source\": \"https://github.com/RustSec/cargo-audit\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Audit Cargo.lock for crates with security vulnerabilities reported to the [RustSec Advisory Database](https://github.com/RustSec/advisory-db/).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Keep your Users Safe and Scan Your Rust Dependencies With This Tool\",\n        \"url\": \"https://www.youtube.com/watch?v=V8RfQ0uihzE\"\n      },\n      {\n        \"title\": \"How to audit Rust code in 4 minutes!\",\n        \"url\": \"https://www.youtube.com/watch?v=w2Co88TzrsQ\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-bloat\": {\n    \"name\": \"cargo-bloat\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/RazrFalcon/cargo-bloat\",\n    \"source\": \"https://github.com/RazrFalcon/cargo-bloat\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find out what takes most of the space in your executable. supports ELF (Linux, BSD), Mach-O (macOS) and PE (Windows) binaries.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-breaking\": {\n    \"name\": \"cargo-breaking\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MPL-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/iomentum/cargo-breaking\",\n    \"source\": \"https://github.com/iomentum/cargo-breaking\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"cargo-breaking compares a crate's public API between two different branches, shows what changed, and suggests the next version according to semver.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-call-stack\": {\n    \"name\": \"cargo-call-stack\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/japaric/cargo-call-stack\",\n    \"source\": \"https://github.com/japaric/cargo-call-stack\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Whole program static stack analysis The tool produces the full call graph of a program as a dot file.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-deny\": {\n    \"name\": \"cargo-deny\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://embarkstudios.github.io/cargo-deny\",\n    \"source\": \"https://github.com/EmbarkStudios/cargo-deny\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A cargo plugin for linting your dependencies. It can be used either as a command line too, a Rust crate, or a Github action for CI. It checks for valid license information, duplicate crates, security vulnerabilities, and more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-expand\": {\n    \"name\": \"cargo-expand\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/dtolnay/cargo-expand\",\n    \"source\": \"https://github.com/dtolnay/cargo-expand\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Cargo subcommand to show result of macro expansion  and #[derive] expansion applied to the current crate.  This is a wrapper around a more verbose compiler command.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-geiger\": {\n    \"name\": \"cargo-geiger\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/geiger-rs/cargo-geiger\",\n    \"source\": \"https://github.com/geiger-rs/cargo-geiger\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A cargo plugin for analysing the usage of unsafe Rust code Provides statistical output to aid security auditing\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-inspect\": {\n    \"name\": \"cargo-inspect\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mre/cargo-inspect\",\n    \"source\": \"https://github.com/mre/cargo-inspect\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Inspect Rust code without syntactic sugar to see what the compiler does behind the curtains.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-semver-checks\": {\n    \"name\": \"cargo-semver-checks\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License (Version 2.0) or MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://crates.io/crates/cargo-semver-checks\",\n    \"source\": \"https://github.com/obi1kenobi/cargo-semver-checks\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Scan your Rust crate releases for semver violations. It can be used either directly via the CLI, as a GitHub Action in CI,  or via release managers like `release-plz`. It found semver violations in  [more than 1 in 6 of the top 1000 most-downloaded crates](https://predr.ag/blog/semver-violations-are-common-better-tooling-is-the-answer/) on crates.io.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-show-asm\": {\n    \"name\": \"cargo-show-asm\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT / Apache 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/pacak/cargo-show-asm\",\n    \"source\": \"https://github.com/pacak/cargo-show-asm\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"cargo subcommand showing the assembly, LLVM-IR and MIR generated for Rust code\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-spellcheck\": {\n    \"name\": \"cargo-spellcheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache 2.0 / MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/drahnr/cargo-spellcheck\",\n    \"source\": \"https://github.com/drahnr/cargo-spellcheck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checks all your documentation for spelling and grammar mistakes  with hunspell (ready) and languagetool (preview)\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-udeps\": {\n    \"name\": \"cargo udeps\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License / Apache 2.0 license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/est31/cargo-udeps\",\n    \"source\": \"https://github.com/est31/cargo-udeps\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find unused dependencies in Cargo.toml. It either prints out a \\\"unused crates\\\" line listing the crates,  or it prints out a line saying that no crates were unused.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cargo-unused-features\": {\n    \"name\": \"cargo-unused-features\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/TimonPost/cargo-unused-features\",\n    \"source\": \"https://github.com/TimonPost/cargo-unused-features\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find potential unused enabled feature flags and prune them. You can generate a simple HTML report from the json to make it easier to inspect results.\\nIt removes a feature of a dependency and then compiles the project to see if it still compiles. If it does, the feature flag can possibly be removed, but it can be a false-positive.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cast-highlight\": {\n    \"name\": \"CAST Highlight\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"abap\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"cobol\",\n      \"java\",\n      \"javascript\",\n      \"jsp\",\n      \"php\",\n      \"plsql\",\n      \"python\",\n      \"tsql\",\n      \"vbasic\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.castsoftware.com/products/highlight\",\n    \"source\": null,\n    \"pricing\": \"https://www.castsoftware.com/products/highlight/pricing#pricing\",\n    \"plans\": null,\n    \"description\": \"Commercial Static Code Analysis which runs locally, but uploads the results to its cloud for presentation.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cbmc\": {\n    \"name\": \"CBMC\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-4-Clause-UC\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.cprover.org/cbmc\",\n    \"source\": \"https://github.com/diffblue/cbmc\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Bounded model-checker for C programs, user-defined assertions, standard assertions, several coverage metric analyses.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cfn-lint\": {\n    \"name\": \"cfn-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/awslabs/cfn-python-lint\",\n    \"source\": \"https://github.com/awslabs/cfn-python-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"AWS Labs CloudFormation linter.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cfn-nag\": {\n    \"name\": \"cfn_nag\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/stelligent/cfn_nag\",\n    \"source\": \"https://github.com/stelligent/cfn_nag\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A linter for AWS CloudFormation templates.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"chart-testing\": {\n    \"name\": \"chart-testing\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"kubernetes\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/helm/chart-testing\",\n    \"source\": \"https://github.com/helm/chart-testing\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"ct is the tool for testing Helm charts.  It is meant to be used for linting and testing pull requests.  It automatically detects charts changed against the target branch.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"checker-framework\": {\n    \"name\": \"Checker Framework\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL with Classpath exception / MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://checkerframework.org\",\n    \"source\": \"https://github.com/typetools/checker-framework\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Pluggable type-checking for Java.  This is not just a bug-finder, but a verification tool that gives a guarantee of correctness.  It comes with 27 pre-built type systems, and it enables users to define their own type system; the manual lists over 30 user-contributed type systems.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"checkmake\": {\n    \"name\": \"checkmake\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"buildtool\",\n      \"make\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mrtazz/checkmake\",\n    \"source\": \"https://github.com/mrtazz/checkmake\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter / Analyzer for Makefiles.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"checkmarx-cxsast\": {\n    \"name\": \"Checkmarx CxSAST\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"asp\",\n      \"apex\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"javascript\",\n      \"objectivec\",\n      \"perl\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"scala\",\n      \"swift\",\n      \"vbscript\",\n      \"vbasic\",\n      \"vbnet\",\n      \"visualforce\"\n    ],\n    \"other\": [\n      \"html\",\n      \"mobile\",\n      \"nodejs\",\n      \"phonegap\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.checkmarx.com/products/static-application-security-testing\",\n    \"source\": null,\n    \"pricing\": \"https://checkmarx.com/packaging/\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Commercial Static Code Analysis which doesn't require pre-compilation.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"checkov\": {\n    \"name\": \"checkov\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.checkov.io\",\n    \"source\": \"https://github.com/bridgecrewio/checkov\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analysis tool for Terraform files (tf>=v0.12), preventing cloud misconfigs at build time.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"checkstyle\": {\n    \"name\": \"checkstyle\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://checkstyle.org\",\n    \"source\": \"https://github.com/checkstyle/checkstyle\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checking Java source code for adherence to a Code Standard or set of validation rules (best practices).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"chktex\": {\n    \"name\": \"ChkTeX\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"latex\"\n    ],\n    \"licenses\": [\n      \"GNU Public License version 2 or greater\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.nongnu.org/chktex\",\n    \"source\": \"http://git.savannah.nongnu.org/cgit/chktex.git\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A linter for LaTex which catches some typographic errors LaTeX oversees.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"churn\": {\n    \"name\": \"Churn\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/danmayer/churn\",\n    \"source\": \"https://github.com/danmayer/churn\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Project to give the churn file, class, and method for a project for a given checkin. Over time the tool adds up the history of churns to give the number of times a file, class, or method is changing during the life of a project.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"churn-php\": {\n    \"name\": \"churn-php\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/bmitch/churn-php\",\n    \"source\": \"https://github.com/bmitch/churn-php\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Helps discover good candidates for refactoring.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ciocheck\": {\n    \"name\": \"ciocheck\",\n    \"categories\": [\n      \"formatter\",\n      \"meta\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [\n      \"meta\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ContinuumIO/ciocheck\",\n    \"source\": \"https://github.com/ContinuumIO/ciocheck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter, formatter and test suite helper. As a linter, it is a wrapper around `pep8`, `pydocstyle`, `flake8`, and `pylint`.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ck\": {\n    \"name\": \"ck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mauricioaniche/ck\",\n    \"source\": \"https://github.com/mauricioaniche/ck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Calculates Chidamber and Kemerer object-oriented metrics by processing the source Java files.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ckjm\": {\n    \"name\": \"ckjm\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.spinellis.gr/sw/ckjm\",\n    \"source\": \"https://github.com/dspinellis/ckjm\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Calculates Chidamber and Kemerer object-oriented metrics by processing the bytecode of compiled Java files.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"clair\": {\n    \"name\": \"clair\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/coreos/clair\",\n    \"source\": \"https://github.com/coreos/clair\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Vulnerability Static Analysis for Containers.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"clang-tidy\": {\n    \"name\": \"clang-tidy\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License v2.0 with LLVM Exceptions\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://clang.llvm.org/extra/clang-tidy\",\n    \"source\": \"https://clang.llvm.org/extra/clang-tidy\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Clang-based C++ linter tool with the (limited) ability to fix issues, too.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"classgraph\": {\n    \"name\": \"ClassGraph\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"groovy\",\n      \"java\",\n      \"kotlin\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/classgraph/classgraph\",\n    \"source\": \"https://github.com/classgraph/classgraph\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A classpath and module path scanner for querying or visualizing class metadata or class relatedness.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"clayton\": {\n    \"name\": \"Clayton\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"apex\",\n      \"lwc\",\n      \"visualforce\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.getclayton.com/\",\n    \"source\": null,\n    \"pricing\": \"https://www.getclayton.com/pricing\",\n    \"plans\": null,\n    \"description\": \"AI-powered code reviews for Salesforce. Secure your developments, enforce best practice and control your technical debt in real-time.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"clazy\": {\n    \"name\": \"clazy\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"LGPL\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/KDE/clazy\",\n    \"source\": \"https://github.com/KDE/clazy\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Qt-oriented static code analyzer based on the Clang framework. clazy is a compiler plugin which allows clang to understand Qt semantics. You get more than 50 Qt related compiler warnings, ranging from unneeded memory allocations to misusage of API, including fix-its for automatic refactoring.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"clippy\": {\n    \"name\": \"clippy\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0, MIT license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://rust-lang.github.io/rust-clippy\",\n    \"source\": \"https://github.com/rust-lang/rust-clippy\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A code linter to catch common mistakes and improve your Rust code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Rust For Beginners Tutorial - Linting with Clippy\",\n        \"url\": \"https://www.youtube.com/watch?v=BE9KY6X7aUM\"\n      },\n      {\n        \"title\": \"Easy Rust 096: Final example of iterators and quick look at clippy\",\n        \"url\": \"https://www.youtube.com/watch?v=OgcrRt84bUY\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": [\n      \"https://play.rust-lang.org\"\n    ],\n    \"wrapper\": null\n  },\n  \"clj-kondo\": {\n    \"name\": \"clj-kondo\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"clojure\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Eclipse Public License 1.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/borkdude/clj-kondo\",\n    \"source\": \"https://github.com/borkdude/clj-kondo\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A linter for Clojure code that sparks joy. It informs you about potential errors while you are typing.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"closure-compiler\": {\n    \"name\": \"Closure Compiler\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://developers.google.com/closure/compiler\",\n    \"source\": \"https://github.com/google/closure-compiler\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A compiler tool to increase efficiency, reduce size, and provide code warnings in JavaScript files.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"closurelinter\": {\n    \"name\": \"ClosureLinter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/google/closure-linter\",\n    \"source\": \"https://github.com/google/closure-linter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Ensures that all of your project's JavaScript code follows the guidelines in the Google JavaScript Style Guide. It can also automatically fix many common errors.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cloud-iac-security-for-jetbrains-ides\": {\n    \"name\": \"Cloud (IaC) Security for JetBrains IDEs\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"dockerfile\",\n      \"kubernetes\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://plugins.jetbrains.com/plugin/25413-cloud-iac-security\",\n    \"source\": \"https://github.com/NordCoderd/cloud-security-plugin\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Cloud (IaC) Security plugin for JetBrains IDEs. Performs real-time inspections of Docker & Kubernetes IaC with 50+ rules based on Docker image/build security best practices, Kubernetes Pod Security Standards, and NSA/CISA Kubernetes Hardening Guidance.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Bundled-rules documentation\",\n        \"url\": \"https://protsenko.dev/infrastructure-security/\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"clusterlint\": {\n    \"name\": \"clusterlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"kubernetes\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/digitalocean/clusterlint\",\n    \"source\": \"https://github.com/digitalocean/clusterlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Clusterlint queries live Kubernetes clusters for resources, executes common and  platform specific checks against these resources and provides actionable feedback to cluster operators.  It is a non invasive tool that is run externally. Clusterlint does not alter the resource configurations.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cmetrics\": {\n    \"name\": \"CMetrics\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/MetricsGrimoire/CMetrics\",\n    \"source\": \"https://github.com/MetricsGrimoire/CMetrics\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Measures size and complexity for C files.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"coala\": {\n    \"name\": \"coala\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"javascript\"\n    ],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"AGPL-3.0-only\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/coala/coala\",\n    \"source\": \"https://github.com/coala/coala\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Language independent framework for creating code analysis - supports over 60 languages by default.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cobra\": {\n    \"name\": \"Cobra\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ada\",\n      \"c\",\n      \"cpp\",\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://spinroot.com/cobra\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": {\n      \"free\": true,\n      \"oss\": true\n    },\n    \"description\": \"Structural source code analyzer by NASA's Jet Propulsion Laboratory.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codacy\": {\n    \"name\": \"Codacy\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"apex\",\n      \"csharp\",\n      \"cpp\",\n      \"coffeescript\",\n      \"crystal\",\n      \"elixir\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"javascript\",\n      \"jsp\",\n      \"kotlin\",\n      \"php\",\n      \"plsql\",\n      \"python\",\n      \"ruby\",\n      \"scala\",\n      \"shell\",\n      \"swift\",\n      \"tsql\",\n      \"typescript\",\n      \"vbscript\",\n      \"visualforce\"\n    ],\n    \"other\": [\n      \"css\",\n      \"json\",\n      \"markdown\",\n      \"xml\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.codacy.com\",\n    \"source\": null,\n    \"pricing\": \"https://www.codacy.com/pricing\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"Code Analysis to ship Better Code, Faster.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Automate your code quality with Codacy Static Analysis Tool\",\n        \"url\": \"https://www.youtube.com/watch?v=oxqTu2ouxaw\"\n      },\n      {\n        \"title\": \"A founder's journey - Codacy\",\n        \"url\": \"https://www.youtube.com/watch?v=lVxkD_bmbFY\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"code-climate\": {\n    \"name\": \"Code Climate\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"AGPL-3.0 License\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://codeclimate.com\",\n    \"source\": \"https://github.com/codeclimate/codeclimate\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The open and extensible static analysis platform, for everyone.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"code-cracker\": {\n    \"name\": \"code-cracker\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://code-cracker.github.io\",\n    \"source\": \"https://github.com/code-cracker/code-cracker\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An analyzer library for C# and VB that uses Roslyn to produce refactorings, code analysis, and other niceties.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"code-graph-rag\": {\n    \"name\": \"Code-Graph-RAG\",\n    \"categories\": [\n      \"meta\"\n    ],\n    \"languages\": [\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"lua\",\n      \"python\",\n      \"rust\",\n      \"scala\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://code-graph-rag.com\",\n    \"source\": \"https://github.com/vitali87/code-graph-rag\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Builds knowledge graphs from multi-language codebases using Tree-sitter AST parsing and stores them in Memgraph. Supports 11 programming languages with a unified graph schema and enables natural language querying and editing of code structure and relationships. Functions as an MCP server for AI assistant integration.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"code-intelligence\": {\n    \"name\": \"Code Intelligence\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"go\",\n      \"java\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.code-intelligence.com\",\n    \"source\": null,\n    \"pricing\": \"https://www.code-intelligence.com/product-pricing\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"CI/CD-agnostic DevSecOps platform which combines industry-leading fuzzing engines for finding bugs and visualizing code coverage\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Code Intelligence | Introduction\",\n        \"url\": \"https://www.youtube.com/watch?v=Qfsz_ZTKM6Y\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"code-pathfinder\": {\n    \"name\": \"Code Pathfinder\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [\n      \"container\",\n      \"ci\",\n      \"dockerfile\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"AGPL-3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://codepathfinder.dev\",\n    \"source\": \"https://github.com/shivasurya/code-pathfinder\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An open-source security suite aiming to combine structural code analysis with  AI-powered vulnerability detection. Built for advanced structural search, derive  insights, find vulnerabilities in code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Code Pathfinder Rules Registry\",\n        \"url\": \"https://codepathfinder.dev/registry\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codeac\": {\n    \"name\": \"Codeac\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"container\",\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.codeac.io/?ref=awesome-static-analysis\",\n    \"source\": null,\n    \"pricing\": \"https://www.codeac.io/pricing.html\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": true\n    },\n    \"description\": \"Automated code review tool integrates with GitHub, Bitbucket and GitLab (even self-hosted). Available for JavaScript, TypeScript, Python, Ruby, Go, PHP, Java, Docker, and more. (open-source free)\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codeburner\": {\n    \"name\": \"codeburner\",\n    \"categories\": [\n      \"meta\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"javascript\",\n      \"php\"\n    ],\n    \"other\": [\n      \"meta\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://groupon.github.io/codeburner\",\n    \"source\": \"https://github.com/groupon/codeburner\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Provides a unified interface to sort and act on the issues it finds.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codechecker\": {\n    \"name\": \"codechecker\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [\n      \"buildtool\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://codechecker.readthedocs.io/en/latest\",\n    \"source\": \"https://github.com/Ericsson/codechecker\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A defect database and viewer extension for the Clang Static Analyzer with web GUI.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codecov\": {\n    \"name\": \"Codecov\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://about.codecov.io/\",\n    \"source\": null,\n    \"pricing\": \"https://about.codecov.io/pricing/\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": true\n    },\n    \"description\": \"Codecov is a company that provides code coverage tools for developers and engineering leaders  to gain visibility into their code coverage.\\nThey offer flexible and unified reporting, seamless coverage insights, and robust coverage controls. Codecov supports over 20 languages and is CI/CD agnostic. Over 29,000 organizations and 1 million developers use Codecov. Codecov has recently joined Sentry.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Codecov Overview\",\n        \"url\": \"https://www.youtube.com/watch?v=wwFookaYHoo\"\n      },\n      {\n        \"title\": \"Codecov Onboarding 1: Account Creation\",\n        \"url\": \"https://www.youtube.com/watch?v=8xToLcchs4Y\"\n      },\n      {\n        \"title\": \"Codecov Github Tutorial/Demo\",\n        \"url\": \"https://docs.codecov.com/docs/github-tutorial\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.g2.com/products/codecov/reviews\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codedepends\": {\n    \"name\": \"CodeDepends\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"r\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/duncantl/CodeDepends\",\n    \"source\": \"https://github.com/duncantl/CodeDepends\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static Code Analysis for R.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codefactor\": {\n    \"name\": \"CodeFactor\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"coffeescript\",\n      \"dart\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"php\",\n      \"powershell\",\n      \"python\",\n      \"r\",\n      \"ruby\",\n      \"scala\",\n      \"shell\",\n      \"swift\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"container\",\n      \"ci\",\n      \"css\",\n      \"html\",\n      \"vue\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://codefactor.io\",\n    \"source\": null,\n    \"pricing\": \"https://codefactor.io/pricing\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"Automated Code Analysis for repos on GitHub or BitBucket.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Getting started with CodeFactor.io\",\n        \"url\": \"https://www.youtube.com/watch?v=0wL1bgoya2U\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codeflow\": {\n    \"name\": \"CodeFlow\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"container\",\n      \"ci\",\n      \"css\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.getcodeflow.com\",\n    \"source\": null,\n    \"pricing\": \"https://www.getcodeflow.com\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"Automated code analysis tool to deal with technical depth. Integrates with Bitbucket and Gitlab. (free for Open Source Projects)\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codelyzer\": {\n    \"name\": \"Codelyzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://codelyzer.com\",\n    \"source\": \"https://github.com/mgechev/codelyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A set of tslint rules for static code analysis of Angular 2 TypeScript projects.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codemodder\": {\n    \"name\": \"Codemodder\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\",\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU AFFERO GENERAL PUBLIC LICENSE 3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://codemodder.io/\",\n    \"source\": \"https://github.com/pixee/codemodder-java\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Codemodder is a pluggable framework for building expressive codemods. Use Codemodder when you need more than a linter or code formatting tool. Use it to fix non-trivial security issues and other code quality problems.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codenarc\": {\n    \"name\": \"CodeNarc\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"groovy\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://codenarc.github.io/CodeNarc\",\n    \"source\": \"https://github.com/CodeNarc/CodeNarc\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analysis tool for Groovy source code, enabling monitoring and enforcement of many coding standards and best practices.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codeql\": {\n    \"name\": \"codeql\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"java\",\n      \"javascript\",\n      \"python\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"service\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/github/codeql\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Deep code analysis - semantic queries and dataflow for several languages with VSCode plugin support.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Community-powered security analysis with CodeQL - GitHub Universe 2020\",\n        \"url\": \"https://www.youtube.com/watch?v=Y6PjAaZKNYk\"\n      },\n      {\n        \"title\": \"Continuous code analysis with CodeQL\",\n        \"url\": \"https://www.youtube.com/watch?v=KEPiDz2oO-I\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codeque\": {\n    \"name\": \"CodeQue\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"jsx\",\n      \"lua\",\n      \"python\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"json\"\n    ],\n    \"licenses\": [\n      \"Sustainable Use License\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://codeque.co\",\n    \"source\": \"https://github.com/codeque-co/codeque\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Ecosystem for structural matching JavaScript and TypeScript code. Offers search tool that understands code structure. Available as CLI tool and Visual Studio Code extension. It helps to search code faster and more accurately making you workflow more effective. Soon it will offer ESLint plugin to create your own rules in minutes to help with assuring codebase quality.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Documentation\",\n        \"url\": \"https://codeque.co/docs\"\n      },\n      {\n        \"title\": \"Visual Studio Code Extension\",\n        \"url\": \"https://codeque.co/r/vsc\"\n      },\n      {\n        \"title\": \"CLI via NPM\",\n        \"url\": \"https://www.npmjs.com/package/@codeque/cli\"\n      },\n      {\n        \"title\": \"Core via NPM\",\n        \"url\": \"https://www.npmjs.com/package/@codeque/core\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"coderabbit\": {\n    \"name\": \"CodeRabbit\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://coderabbit.ai\",\n    \"source\": \"https://github.com/coderabbitai\",\n    \"pricing\": \"https://coderabbit.ai/pricing\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": true\n    },\n    \"description\": \"AI-powered code review tool that helps developers write better code faster.  CodeRabbit provides automated code reviews,  identifies security vulnerabilities, and suggests code improvements.  It integrates with GitHub and GitLab.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"AI Code Reviews Demo\",\n        \"url\": \"https://www.youtube.com/watch?v=3SyUOSebG7E\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"coderush\": {\n    \"name\": \"CodeRush\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dotnet\",\n      \"aspnet\",\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.devexpress.com/products/coderush\",\n    \"source\": null,\n    \"pricing\": \"https://www.devexpress.com/buy/net/\",\n    \"plans\": null,\n    \"description\": \"Code creation, debugging, navigation, refactoring, analysis and visualization tools that use the Roslyn engine in Visual Studio 2015 and up.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codescan\": {\n    \"name\": \"CodeScan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"apex\",\n      \"lwc\",\n      \"visualforce\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.codescan.io/\",\n    \"source\": null,\n    \"pricing\": \"https://www.codescan.io/pricing\",\n    \"plans\": null,\n    \"description\": \"Code Quality and Security for Salesforce Developers. Made exclusively for the Salesforce platform, CodeScan’s code analysis solutions provide you with total visibility into your code health.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codescene\": {\n    \"name\": \"CodeScene\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"clojure\",\n      \"dart\",\n      \"elixir\",\n      \"erlang\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"perl\",\n      \"php\",\n      \"powershell\",\n      \"python\",\n      \"ruby\",\n      \"scala\",\n      \"swift\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://codescene.com\",\n    \"source\": null,\n    \"pricing\": \"https://codescene.com/pricing\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"CodeScene is a quality visualization tool for software. Prioritize technical debt, detect delivery risks, and measure organizational aspects. Fully automated.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"CodeScene Introduction - short video with the essentials of CodeScene\",\n        \"url\": \"https://www.youtube.com/watch?v=4Mwv-Swxo84\"\n      },\n      {\n        \"title\": \"Augmented Code Analysis with CodeScene\",\n        \"url\": \"https://www.youtube.com/watch?v=c2lqk98bC00\"\n      },\n      {\n        \"title\": \"Beyond code: interview with Adam Tornhill about CodeScene\",\n        \"url\": \"https://www.youtube.com/watch?v=tbCA2JiO_K8\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.capterra.com/p/193379/CodeScene/\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codesee\": {\n    \"name\": \"CodeSee\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"python\",\n      \"rust\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://www.codesee.io/\",\n    \"source\": null,\n    \"pricing\": \"https://www.codesee.io/pricing\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": false\n    },\n    \"description\": \"CodeSee is mapping and automating your app's services, directories, file dependencies, and code changes. It's like Google Map, but for code.t\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": [\n      \"https://www.codesee.io/maps-demos\"\n    ],\n    \"wrapper\": null\n  },\n  \"codesonar-from-grammatech\": {\n    \"name\": \"CodeSonar from GrammaTech\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://codesecure.com/our-products/codesonar/\",\n    \"source\": null,\n    \"pricing\": \"https://codesecure.com/trial-request/\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Advanced, whole program, deep path, static analysis of C, C++, Java and C# with easy-to-understand explanations and code and path visualization.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codespell\": {\n    \"name\": \"codespell\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"writing\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/codespell-project/codespell\",\n    \"source\": \"https://github.com/codespell-project/codespell\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Check code for common misspellings.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codety\": {\n    \"name\": \"Codety\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"jsp\",\n      \"kotlin\",\n      \"plsql\",\n      \"python\",\n      \"scala\",\n      \"swift\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"json\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.codety.io\",\n    \"source\": \"https://github.com/codetyio/codety-scanner\",\n    \"pricing\": \"https://www.codety.io\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": true\n    },\n    \"description\": \"Codety Scanner is a comprehensive source code scanner that embeds 5000+ static code analysis rules, which aim to detect code issues for 20+ programming languages and IaC tools.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"codiga\": {\n    \"name\": \"Codiga\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"apex\",\n      \"c\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"scala\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"dockerfile\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.codiga.io\",\n    \"source\": null,\n    \"pricing\": \"https://www.codiga.io/pricing\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": false\n    },\n    \"description\": \"Automated Code Reviews and Technical Debt management platform that supports 12+ languages.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Codiga Code Analysis Demonstration\",\n        \"url\": \"https://www.youtube.com/watch?v=hQ_BjDYlsCU\"\n      },\n      {\n        \"title\": \"Codiga Coding Assistant\",\n        \"url\": \"https://www.youtube.com/watch?v=alS_h2ig7ZI\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.capterra.com/p/234335/Codiga/\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"coffeelint\": {\n    \"name\": \"coffeelint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"coffeescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://coffeelint.github.io/\",\n    \"source\": \"https://github.com/clutchski/coffeelint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A style checker that helps keep CoffeeScript code clean and consistent.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cognicrypt\": {\n    \"name\": \"CogniCrypt\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Eclipse Public License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.eclipse.org/cognicrypt\",\n    \"source\": \"https://github.com/eclipse-cognicrypt/CogniCrypt\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checks Java source and byte code for incorrect uses of cryptographic APIs.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": [\n      {\n        \"title\": \"Tutorial: CogniCrypt basics, and how to integrate your own Crypto APIs into CognICrypt\",\n        \"url\": \"https://www.youtube.com/watch?v=vOZKN8yQcAY\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cohesion\": {\n    \"name\": \"cohesion\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mschwager/cohesion\",\n    \"source\": \"https://github.com/mschwager/cohesion\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for measuring Python class cohesion.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"collector\": {\n    \"name\": \"collector\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/banyanops/collector\",\n    \"source\": \"https://github.com/banyanops/collector\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Run arbitrary scripts inside containers, and gather useful information.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"commitlint\": {\n    \"name\": \"commitlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"git\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://commitlint.js.org\",\n    \"source\": \"https://github.com/conventional-changelog/commitlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"checks if your commit messages meet the conventional commit format\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"complexity-report\": {\n    \"name\": \"complexity-report\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/escomplex/complexity-report\",\n    \"source\": \"https://github.com/escomplex/complexity-report\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Software complexity analysis for JavaScript projects.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"composer-dependency-analyser\": {\n    \"name\": \"composer-dependency-analyser\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"package\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/shipmonk-rnd/composer-dependency-analyser\",\n    \"source\": \"https://github.com/shipmonk-rnd/composer-dependency-analyser\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Fast detection of composer dependency issues.\\n\\n* 💪 Powerful: Detects unused, shadow and misplaced composer dependencies\\n* ⚡ Performant: Scans 15 000 files in 2s!\\n* ⚙️ Configurable: Fine-grained ignores via PHP config\\n* 🕸️ Lightweight: No composer dependencies\\n* 🍰 Easy-to-use: No config needed for first try\\n* ✨ Compatible: PHP >= 7.2\\n\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cookstyle\": {\n    \"name\": \"cookstyle\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://docs.chef.io/cookstyle.html\",\n    \"source\": \"https://github.com/chef/cookstyle\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Cookstyle is a linting tool based on the RuboCop Ruby linting tool for Chef cookbooks.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"corgea\": {\n    \"name\": \"Corgea\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://corgea.com/\",\n    \"source\": null,\n    \"pricing\": \"https://corgea.com/pricing\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": false\n    },\n    \"description\": \"Corgea is an AI-powered SAST scanner that helps developers find and fix insecure code.  It finds business logic flaws, broken authentication, API vulnerabilities, and more with little false positives. Additionally, it automatically writes security fixes for them to approve.  Corgea integrates with GitHub, GitLab, Azure DevOps, IDEs and CLI. It is free to try it.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Product homepage\",\n        \"url\": \"https://corgea.com/\"\n      },\n      {\n        \"title\": \"Corgea Docs\",\n        \"url\": \"https://docs.corgea.app/\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"corrode\": {\n    \"name\": \"Corrode\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jameysharp/corrode\",\n    \"source\": \"https://github.com/jameysharp/corrode\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Semi-automatic translation from C to Rust. Could reveal bugs in the original implementation by showing Rust compiler warnings and errors. Superseded by C2Rust.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"coverity\": {\n    \"name\": \"Coverity\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"fortran\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"python\",\n      \"scala\",\n      \"typescript\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"rails\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html\",\n    \"source\": null,\n    \"pricing\": \"https://www.synopsys.com/software-integrity/contact-sales.html\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"Synopsys Coverity supports 20 languages and over 70 frameworks including Ruby on rails, Scala, PHP, Python, JavaScript, TypeScript, Java, Fortran, C, C++, C#, VB.NET.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Coverity - Static Analysis by Synopsys\",\n        \"url\": \"https://www.youtube.com/watch?v=FZ-ySGEcD0c\"\n      },\n      {\n        \"title\": \"Checkmarx - Source Code Analysis Made Easy 2017\",\n        \"url\": \"https://www.youtube.com/watch?v=zo1pCl6yQ34\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.g2.com/products/coverity/reviews\",\n      \"https://www.gartner.com/reviews/market/application-security-testing/vendor/synopsys/product/coverity-sast\",\n      \"https://www.peerspot.com/products/coverity-reviews\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cpachecker\": {\n    \"name\": \"CPAchecker\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache 2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://cpachecker.sosy-lab.org\",\n    \"source\": \"https://cpachecker.sosy-lab.org/download.php\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for configurable software verification of C programs.  The name CPAchecker was chosen to reflect that the tool is based on the CPA concepts and is used for checking software programs.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cpp-linter-action\": {\n    \"name\": \"cpp-linter-action\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"python\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://cpp-linter.github.io/cpp-linter-action/\",\n    \"source\": \"https://github.com/cpp-linter/cpp-linter-action\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Github Action for linting C/C++ code integrating clang-tidy and clang-format to collect feedback provided in the form of thread comments and/or annotations.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"C/C++ Lint Action introduction\",\n        \"url\": \"https://github.com/cpp-linter/cpp-linter-action\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cppcheck\": {\n    \"name\": \"cppcheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://cppcheck.sourceforge.io\",\n    \"source\": \"https://github.com/danmar/cppcheck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analysis of C/C++ code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Cppcheck introduction\",\n        \"url\": \"https://www.viva64.com/en/t/0083/\"\n      },\n      {\n        \"title\": \"Using cppcheck for C & C++ Static Analysis\",\n        \"url\": \"https://www.youtube.com/watch?v=oJ8SXVoefaA\"\n      }\n    ],\n    \"reviews\": [\n      \"https://sourceforge.net/projects/cppcheck/reviews/\"\n    ],\n    \"demos\": [\n      \"https://cppcheck.sourceforge.io/demo/\",\n      \"https://www.g2.com/products/cppcheck/reviews\"\n    ],\n    \"wrapper\": null\n  },\n  \"cppdepend\": {\n    \"name\": \"CppDepend\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.cppdepend.com\",\n    \"source\": null,\n    \"pricing\": \"https://www.cppdepend.com/purchase\",\n    \"plans\": null,\n    \"description\": \"Measure, query and visualize your code and avoid unexpected issues, technical debt and complexity.\",\n    \"discussion\": null,\n    \"deprecated\": false,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cpplint\": {\n    \"name\": \"cpplint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/cpplint/cpplint\",\n    \"source\": \"https://github.com/cpplint/cpplint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Automated C++ checker that follows Google's style guide.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cqc\": {\n    \"name\": \"cqc\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"jsx\"\n    ],\n    \"other\": [\n      \"css\",\n      \"less\",\n      \"vue\"\n    ],\n    \"licenses\": [\n      \"BSD-3-Clause (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/xcatliu/cqc\",\n    \"source\": \"https://github.com/xcatliu/cqc\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Check your code quality for js, jsx, vue, css, less, scss, sass and styl files.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cqmetrics\": {\n    \"name\": \"cqmetrics\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/dspinellis/cqmetrics\",\n    \"source\": \"https://github.com/dspinellis/cqmetrics\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Quality metrics for C code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"credential-digger\": {\n    \"name\": \"Credential Digger\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/SAP/credential-digger\",\n    \"source\": \"https://github.com/SAP/credential-digger\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Credential Digger is a GitHub scanning tool that identifies hardcoded credentials (Passwords, API Keys, Secret Keys, Tokens, personal information, etc),  and filtering the false positive data through a machine learning model called [Password Model](https://huggingface.co/SAPOSS/password-model). This scanner is able to detect passwords and non structured tokens with a low false positive rate. \",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"credo\": {\n    \"name\": \"credo\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"elixir\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/rrrene/credo\",\n    \"source\": \"https://github.com/rrrene/credo\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static code analysis tool with a focus on code consistency and teaching.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"crystal\": {\n    \"name\": \"crystal\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"crystal\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://crystal-lang.org\",\n    \"source\": \"https://github.com/crystal-lang/crystal\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The Crystal compiler has built-in linting functionality.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cscout\": {\n    \"name\": \"CScout\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.spinellis.gr/cscout\",\n    \"source\": \"https://github.com/dspinellis/cscout\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Complexity and quality metrics for C and C preprocessor code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"csharpessentials\": {\n    \"name\": \"CSharpEssentials\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/DustinCampbell/CSharpEssentials\",\n    \"source\": \"https://github.com/DustinCampbell/CSharpEssentials\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"C# Essentials is a collection of Roslyn diagnostic analyzers, code fixes and refactorings that make it easy to work with C# 6 language features.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"css-stats\": {\n    \"name\": \"CSS Stats\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://cssstats.com\",\n    \"source\": \"https://github.com/cssstats/cssstats\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Potentially interesting stats on stylesheets.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"csscomb\": {\n    \"name\": \"CSScomb\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/csscomb/csscomb.js\",\n    \"source\": \"https://github.com/csscomb/csscomb.js\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A coding style formatter for CSS. Supports own configurations to make style sheets beautiful and consistent.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"csslint\": {\n    \"name\": \"CSSLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://csslint.net\",\n    \"source\": \"https://github.com/CSSLint/csslint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Does basic syntax checking and finds problematic patterns or signs of inefficiency.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cwe-checker\": {\n    \"name\": \"cwe_checker\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"GNU Lesser General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/fkie-cad/cwe_checker\",\n    \"source\": \"https://github.com/fkie-cad/cwe_checker\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"cwe_checker finds vulnerable patterns in binary executables.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"cyclocomp\": {\n    \"name\": \"cyclocomp\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"r\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/MangoTheCat/cyclocomp\",\n    \"source\": \"https://github.com/MangoTheCat/cyclocomp\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Quantifies the cyclomatic complexity of R functions / expressions.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"d-scanner\": {\n    \"name\": \"D-scanner\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dlang\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Boost Software License 1.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/dlang-community/D-Scanner\",\n    \"source\": \"https://github.com/dlang-community/D-Scanner\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"D-Scanner is a tool for analyzing D source code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dagda\": {\n    \"name\": \"dagda\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/eliasgranderubio/dagda\",\n    \"source\": \"https://github.com/eliasgranderubio/dagda\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Perform static analysis of known vulnerabilities in docker images/containers.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dart-code-metrics\": {\n    \"name\": \"Dart Code Metrics\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dart\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pub.dev/packages/dart_code_metrics\",\n    \"source\": \"https://github.com/dart-code-checker/dart-code-metrics\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Additional linter for Dart. Reports code metrics, checks for anti-patterns and provides additional rules for Dart analyzer.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"databaseconsistency\": {\n    \"name\": \"DatabaseConsistency\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [\n      \"rails\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/djezzzl/database_consistency\",\n    \"source\": \"https://github.com/djezzzl/database_consistency\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The tool to avoid various issues due to inconsistencies and inefficiencies between a database schema and application models.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dataflow-framework\": {\n    \"name\": \"Dataflow Framework\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL with Classpath exception / MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/typetools/checker-framework\",\n    \"source\": \"https://github.com/typetools/checker-framework\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An industrial-strength dataflow framework for Java. The Dataflow Framework is used in the Checker Framework, Google’s Error Prone, Uber’s NullAway, Meta’s Nullsafe, and in other contexts. It is distributed with the Checker Framework.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"User Manual\",\n        \"url\": \"https://checkerframework.org/manual/checker-framework-dataflow-manual.pdf\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"datree\": {\n    \"name\": \"Datree\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"kubernetes\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://datree.io/\",\n    \"source\": \"https://github.com/datreeio/datree\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A CLI tool to prevent Kubernetes misconfigurations by ensuring that manifests and Helm charts follow best practices as well as your organization’s policies\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dawnscanner\": {\n    \"name\": \"dawnscanner\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [\n      \"rails\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/thesp0nge/dawnscanner\",\n    \"source\": \"https://github.com/thesp0nge/dawnscanner\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analysis security scanner for ruby written web applications. It supports Sinatra, Padrino and Ruby on Rails frameworks.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dbcritic\": {\n    \"name\": \"dbcritic\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/channable/dbcritic\",\n    \"source\": \"https://github.com/channable/dbcritic\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"dbcritic finds problems in a database schema, such as a missing primary key constraint in a table.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"deadcode\": {\n    \"name\": \"deadcode\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/tsenart/deadcode\",\n    \"source\": \"https://github.com/tsenart/deadcode\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds unused code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"deadnix\": {\n    \"name\": \"deadnix\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"nix\"\n    ],\n    \"licenses\": [\n      \"GPL-3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/astro/deadnix\",\n    \"source\": \"https://github.com/astro/deadnix\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Scan Nix files for dead code (unused variable bindings)\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"deal\": {\n    \"name\": \"deal\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://deal.readthedocs.io/\",\n    \"source\": \"https://github.com/life4/deal\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Design by contract for Python. Write bug-free code.  By adding a few decorators to your code, you get for free tests, static analysis, formal verification, and much more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"deepcode\": {\n    \"name\": \"DeepCode\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"javascript\",\n      \"python\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://snyk.io/platform/deepcode-ai/\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"DeepCode was acquired by Snyk is now Snyk Code.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": [\n      {\n        \"title\": \"Intro to DeepCode\",\n        \"url\": \"https://www.youtube.com/watch?v=5ThvYN3nWcg\"\n      },\n      {\n        \"title\": \"Introduction to DeepCode's CLI - Install, config, first use\",\n        \"url\": \"https://www.youtube.com/watch?v=PG8PmrKEuLY\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"deepscan\": {\n    \"name\": \"DeepScan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://deepscan.io\",\n    \"source\": null,\n    \"pricing\": \"https://deepscan.io/pricing\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"An analyzer for JavaScript which targets runtime errors and quality issues rather than coding conventions.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"deepsource\": {\n    \"name\": \"DeepSource\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\",\n      \"javascript\",\n      \"python\",\n      \"ruby\",\n      \"sql\"\n    ],\n    \"other\": [\n      \"configmanagement\",\n      \"container\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://deepsource.com\",\n    \"source\": null,\n    \"pricing\": \"https://deepsource.io/pricing\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": true\n    },\n    \"description\": \"In-depth static analysis to find issues in verticals of bug risks, security, anti-patterns, performance, documentation and style. Native integrations with GitHub, GitLab and Bitbucket. Less than 5% false positives.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"What is DeepSource?\",\n        \"url\": \"https://www.youtube.com/watch?v=SwEQXK1ms_U\"\n      },\n      {\n        \"title\": \"Static analysis for C# with DeepSource\",\n        \"url\": \"https://www.youtube.com/watch?v=hgWui62Aa0E\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.capterra.com/p/199025/DeepSource/\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"deleaker\": {\n    \"name\": \"deleaker\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dotnet\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"delphi\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.deleaker.com/\",\n    \"source\": null,\n    \"pricing\": \"https://www.deleaker.com/order.html\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Deleaker is a memory leak detection tool for C++, .NET, and Delphi, integrating with Visual Studio, Qt Creator, and RAD Studio or running as a standalone application. It helps developers find and fix memory, GDI, and handle leaks efficiently.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"delphilint\": {\n    \"name\": \"DelphiLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"delphi\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"LGPL-3.0-only license\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/integrated-application-development/delphilint\",\n    \"source\": \"https://github.com/integrated-application-development/delphilint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Delphi IDE package providing on-the-fly code analysis and linting, powered by SonarDelphi.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dennis\": {\n    \"name\": \"dennis\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"translation\"\n    ],\n    \"licenses\": [\n      \"BSD-3-Clause\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/willkg/dennis\",\n    \"source\": \"https://github.com/willkg/dennis\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A set of utilities for working with PO files to ease development and improve quality.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"deno-lint\": {\n    \"name\": \"deno_lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"deno\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/denoland/deno_lint\",\n    \"source\": \"https://github.com/denoland/deno_lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Official linter for Deno.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"depends\": {\n    \"name\": \"Depends\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/multilang-depends/depends\",\n    \"source\": \"https://github.com/multilang-depends/depends\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Analyses the comprehensive dependencies of code elements for Java, C/C++, Ruby.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dephpend\": {\n    \"name\": \"dephpend\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mihaeu/dephpend\",\n    \"source\": \"https://github.com/mihaeu/dephpend\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Dependency analysis tool.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"deprecation-detector\": {\n    \"name\": \"deprecation-detector\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sensiolabs-de/deprecation-detector\",\n    \"source\": \"https://github.com/sensiolabs-de/deprecation-detector\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds usages of deprecated (Symfony) code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"deptrac\": {\n    \"name\": \"deptrac\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sensiolabs-de/deptrac\",\n    \"source\": \"https://github.com/sensiolabs-de/deptrac\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Enforce rules for dependencies between software layers.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"derscanner\": {\n    \"name\": \"DerScanner\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"abap\",\n      \"asp\",\n      \"apex\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"cobol\",\n      \"dart\",\n      \"delphi\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"objectivec\",\n      \"pascal\",\n      \"perl\",\n      \"php\",\n      \"plsql\",\n      \"python\",\n      \"ruby\",\n      \"rust\",\n      \"scala\",\n      \"swift\",\n      \"vbscript\",\n      \"vbasic\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"html\",\n      \"mobile\",\n      \"nodejs\",\n      \"security\",\n      \"xml\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://derscanner.com/\",\n    \"source\": null,\n    \"pricing\": \"https://derscanner.com/pricing\",\n    \"plans\": null,\n    \"description\": \"Multi-language Static Application Security Testing (SAST) platform that detects critical vulnerabilities, including hardcoded secrets, weak cryptography, backdoors, SQL injections, insecure configurations, etc.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"designite\": {\n    \"name\": \"Designite\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.designite-tools.com\",\n    \"source\": null,\n    \"pricing\": \"http://www.designite-tools.com/buy\",\n    \"plans\": null,\n    \"description\": \"Designite supports detection of various architecture, design, and implementation smells, computation of various code quality metrics, and trend analysis.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"designitejava\": {\n    \"name\": \"DesigniteJava\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.designite-tools.com/designitejava\",\n    \"source\": null,\n    \"pricing\": \"http://www.designite-tools.com/buy\",\n    \"plans\": null,\n    \"description\": \"DesigniteJava supports detection of various architecture, design, and implementation smells along with computation of various code quality metrics.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"designpatterndetector\": {\n    \"name\": \"DesignPatternDetector\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Halleck45/DesignPatternDetector\",\n    \"source\": \"https://github.com/Halleck45/DesignPatternDetector\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Detection of design patterns in PHP code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"detect-secrets\": {\n    \"name\": \"detect-secrets\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Yelp/detect-secrets\",\n    \"source\": \"https://github.com/Yelp/detect-secrets\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An enterprise friendly way of detecting and preventing secrets in code.\\nIt does this by running periodic diff outputs against heuristically crafted regex statements,  to identify whether any new secret has been committed. This way, it avoids the overhead of digging  through all git history, as well as the need to scan the entire repository every time.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"detekt\": {\n    \"name\": \"detekt\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"kotlin\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://detekt.github.io/detekt\",\n    \"source\": \"https://github.com/detekt/detekt\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static code analysis for Kotlin code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"devskim\": {\n    \"name\": \"DevSkim\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"asp\",\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"php\",\n      \"python\",\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/microsoft/devskim\",\n    \"source\": \"https://github.com/microsoft/devskim\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Regex-based static analysis tool for Visual Studio, VS Code, and Sublime Text - C/C++, C#, PHP, ASP, Python, Ruby, Java, and others.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"ToorCon 19 — Pavel Bansky - Detecting security issues as fast as you making them\",\n        \"url\": \"https://www.youtube.com/watch?v=VK80nTLGUk4\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dialyxir\": {\n    \"name\": \"dialyxir\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"elixir\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jeremyjh/dialyxir\",\n    \"source\": \"https://github.com/jeremyjh/dialyxir\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Mix tasks to simplify use of Dialyzer in Elixir projects.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dialyzer\": {\n    \"name\": \"dialyzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"erlang\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.erlang.org/doc/man/dialyzer.html\",\n    \"source\": \"https://github.com/erlang/otp/tree/master/lib/dialyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The DIALYZER, a DIscrepancy AnaLYZer for ERlang programs. Dialyzer is a static analysis tool that identifies software discrepancies,  such as definite type errors, code that has become dead or unreachable  because of programming error, and unnecessary tests,  in single Erlang modules or entire (sets of) applications.\\nDialyzer starts its analysis from either debug-compiled BEAM bytecode  or from Erlang source code. The file and line number of a discrepancy  is reported along with an indication of what the discrepancy is about.  Dialyzer bases its analysis on the concept of success typings,  which allows for sound warnings (no false positives).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"ElixirConf 2016 - Dialyzer: Optimistic Type Checking for Erlang and Elixir by Jason Voegele\",\n        \"url\": \"https://www.youtube.com/watch?v=JT0ECYZ9FaQ\"\n      },\n      {\n        \"title\": \"Sean Cribbs - Chemanalysis: Dialyzing Elixir | Code BEAM SF 19\",\n        \"url\": \"https://www.youtube.com/watch?v=k4au7VioXNk\"\n      },\n      {\n        \"title\": \"Stavros Aronis - What does Dialyzer think about me? | Code BEAM STO 19\",\n        \"url\": \"https://www.youtube.com/watch?v=Nxsw1jRE2A4&t=709s\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"diesel-guard\": {\n    \"name\": \"diesel-guard\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\",\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ayarotsky/diesel-guard\",\n    \"source\": \"https://github.com/ayarotsky/diesel-guard\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter for dangerous Postgres migration patterns in Diesel and SQLx. Prevents downtime caused by unsafe schema changes.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"diff-rs\": {\n    \"name\": \"diff.rs\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://diff.rs\",\n    \"source\": \"https://github.com/xfbs/diff.rs\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Web application (WASM) to render a diff between Rust crate versions.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"diffblue\": {\n    \"name\": \"Diffblue\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.diffblue.com/\",\n    \"source\": null,\n    \"pricing\": \"https://www.diffblue.com/pricing/\",\n    \"plans\": {\n      \"free\": true\n    },\n    \"description\": \"Diffblue is a software company that provides AI-powered code analysis and testing solutions for software development teams.\\nIts technology helps developers automate testing, find bugs, and reduce manual labor in their software development processes. The company's main product, Diffblue Cover, uses AI to generate and run unit tests for Java code, helping to catch errors and improve code quality.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Diffblue Cover Overview\",\n        \"url\": \"https://www.youtube.com/watch?v=9vt1szlaAKw\"\n      },\n      {\n        \"title\": \"Codecov Github Tutorial/Demo\",\n        \"url\": \"https://docs.codecov.com/docs/github-tutorial\"\n      },\n      {\n        \"title\": \"Diffblue Cover in Eclipse\",\n        \"url\": \"https://www.youtube.com/watch?v=jiUgMs21NNE\"\n      },\n      {\n        \"title\": \"Diffblue Cover on a Pull Request\",\n        \"url\": \"https://www.youtube.com/watch?v=dhN-mbgOSMo\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"diktat\": {\n    \"name\": \"diktat\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"kotlin\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://diktat.saveourtool.com\",\n    \"source\": \"https://github.com/saveourtool/diktat\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Strict coding standard for Kotlin and a linter that detects and auto-fixes code smells.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dingo-hunter\": {\n    \"name\": \"dingo-hunter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/nickng/dingo-hunter\",\n    \"source\": \"https://github.com/nickng/dingo-hunter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analyser for finding deadlocks in Go.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dlint\": {\n    \"name\": \"Dlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/dlint-py/dlint\",\n    \"source\": \"https://github.com/dlint-py/dlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for ensuring Python code is secure.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"docker-label-inspector\": {\n    \"name\": \"Docker Label Inspector\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/garethr/docker-label-inspector\",\n    \"source\": \"https://github.com/garethr/docker-label-inspector\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Lint and validate Dockerfile labels.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dockle\": {\n    \"name\": \"Dockle\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\",\n      \"dockerfile\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/goodwithtech/dockle\",\n    \"source\": \"https://github.com/goodwithtech/dockle\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Container Image Linter for Security helping build the Best-Practice Docker Image. Scans Docker images for security vulnerabilities and CIS Benchmark compliance. Checks for secrets, credential exposure, and security best practices. Provides multiple severity levels (FATAL, WARN, INFO) and supports various output formats for CI/CD integration.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dodgy\": {\n    \"name\": \"Dodgy\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/landscapeio/dodgy\",\n    \"source\": \"https://github.com/landscapeio/dodgy\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Dodgy is a very basic tool to run against your codebase to search for \\\"dodgy\\\" looking values. It is a series of simple regular expressions designed to detect things such as accidental SCM diff checkins, or passwords or secret keys hard coded into files.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dogsled\": {\n    \"name\": \"dogsled\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/alexkohler/dogsled\",\n    \"source\": \"https://github.com/alexkohler/dogsled\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds assignments/declarations with too many blank identifiers.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"doop\": {\n    \"name\": \"Doop\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"UPL\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://plast-lab.github.io/doop-pldi15-tutorial/\",\n    \"source\": \"https://github.com/plast-lab/doop\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Doop is a declarative framework for static analysis of Java/Android programs, centered on pointer analysis algorithms. Doop provides a large variety of analyses and also the surrounding scaffolding to run an analysis end-to-end (fact generation, processing, statistics, etc.).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dotenv-linter\": {\n    \"name\": \"dotenv-linter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configfile\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://dotenv-linter.readthedocs.io/en/latest\",\n    \"source\": \"https://github.com/wemake-services/dotenv-linter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linting dotenv files like a charm.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dotenv-linter-rust\": {\n    \"name\": \"dotenv-linter (Rust)\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configfile\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://dotenv-linter.github.io/#/\",\n    \"source\": \"https://github.com/dotenv-linter/dotenv-linter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Lightning-fast linter for .env files. Written in Rust\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dotnet-format\": {\n    \"name\": \"dotnet-format\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dotnet\",\n      \"csharp\",\n      \"vbasic\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/dotnet/format\",\n    \"source\": \"https://github.com/dotnet/format\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A code formatter for .NET. Preferences will be read from an `.editorconfig` file, if present, otherwise a default set of preferences will be used. At this time dotnet-format is able to format C# and Visual Basic projects with a subset of supported `.editorconfig` options.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"drnim\": {\n    \"name\": \"DrNim\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"nim\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://nim-lang.org/docs/drnim.html\",\n    \"source\": \"https://nim-lang.org/docs/drnim.html\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"DrNim combines the Nim frontend with the Z3 proof engine in order to allow verify / validate software written in Nim.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dupl\": {\n    \"name\": \"dupl\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mibk/dupl\",\n    \"source\": \"https://github.com/mibk/dupl\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Reports potentially duplicated code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"dylint\": {\n    \"name\": \"dylint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License / Apache 2.0 license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.trailofbits.com/post/write-rust-lints-without-forking-clippy\",\n    \"source\": \"https://github.com/trailofbits/dylint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for running Rust lints from dynamic libraries. Dylint makes it easy for developers to maintain their own personal lint collections.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"easycodingstandard\": {\n    \"name\": \"EasyCodingStandard\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.tomasvotruba.com/blog/2017/05/03/combine-power-of-php-code-sniffer-and-php-cs-fixer-in-3-lines\",\n    \"source\": \"https://github.com/Symplify/EasyCodingStandard\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Combine [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) and [PHP-CS-Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"effective-dart\": {\n    \"name\": \"effective_dart\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dart\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pub.dev/packages/effective_dart\",\n    \"source\": \"https://github.com/tenhobi/effective_dart\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter rules corresponding to the guidelines in Effective Dart\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"electrolysis\": {\n    \"name\": \"electrolysis\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://kha.github.io/electrolysis\",\n    \"source\": \"https://github.com/Kha/electrolysis\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for formally verifying Rust programs by transpiling them into definitions in the Lean theorem prover.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"elm-analyse\": {\n    \"name\": \"elm-analyse\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"elm\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://stil4m.github.io/elm-analyse\",\n    \"source\": \"https://github.com/stil4m/elm-analyse\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool that allows you to analyse your Elm code, identify deficiencies and apply best practices.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"elm-review\": {\n    \"name\": \"elm-review\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"elm\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://package.elm-lang.org/packages/jfmengels/elm-review/latest\",\n    \"source\": \"https://github.com/jfmengels/elm-review\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Analyzes whole Elm projects, with a focus on shareable and custom rules written in Elm that add guarantees the Elm compiler doesn't give you.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"elvis\": {\n    \"name\": \"elvis\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"erlang\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/inaka/elvis\",\n    \"source\": \"https://github.com/inaka/elvis\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Erlang Style Reviewer.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ember-template-lint\": {\n    \"name\": \"ember-template-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"template\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ember-template-lint/ember-template-lint\",\n    \"source\": \"https://github.com/ember-template-lint/ember-template-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter for Ember or Handlebars templates.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"embold\": {\n    \"name\": \"Embold\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"python\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://embold.io\",\n    \"source\": null,\n    \"pricing\": \"https://embold.io/pricing\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": false\n    },\n    \"description\": \"Intelligent software analytics platform that identifies design issues, code issues, duplication and metrics. Supports Java, C, C++, C#, JavaScript, TypeScript, Python, Go, Kotlin and more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"emerge\": {\n    \"name\": \"emerge\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"objectivec\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"swift\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://github.com/glato/emerge\",\n    \"source\": \"https://github.com/glato/emerge\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Emerge is a source code and dependency visualizer that can be used to gather insights about source code structure, metrics, dependencies and complexity of software projects. After scanning the source code of a project it provides you an interactive web interface to explore and analyze your project by using graph structures.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"enforster-ai\": {\n    \"name\": \"Enforster AI\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"python\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://enforster.ai/\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Enforster AI performs Contextual Code Security SAST, leveraging LLMs and artificial intelligence to reduce  and enrich the detection of Logic Flaws, Secrets, Data leaks, Supply chain and technical vulnerabilities. \",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Product homepage\",\n        \"url\": \"https://enforster.ai/\"\n      },\n      {\n        \"title\": \"Docs\",\n        \"url\": \"https://docs.enforster.ai/\"\n      },\n      {\n        \"title\": \"Platform Access\",\n        \"url\": \"https://app.enforster.ai/\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"enlightn\": {\n    \"name\": \"Enlightn\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [\n      \"laravel\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"LGPL-3.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.laravel-enlightn.com/\",\n    \"source\": \"https://github.com/enlightn/enlightn\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static and dynamic analysis tool for Laravel applications that provides recommendations to improve the performance, security and code reliability of Laravel apps. Contains 120 automated checks.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": [\n      {\n        \"title\": \"Enlightn: Performance and Security Consultant\",\n        \"url\": \"https://www.youtube.com/watch?v=l6gY53fL1zI\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"enre-cpp\": {\n    \"name\": \"ENRE-cpp\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"LGPL-2.1 license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/xjtu-enre/ENRE-cpp\",\n    \"source\": \"https://github.com/xjtu-enre/ENRE-cpp\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code. ENRE-cpp is a ENtity Relationship Extractor for C/C++ based on @eclipse/CDT. (Under development)\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"enre-java\": {\n    \"name\": \"ENRE-java\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"LGPL-2.1 license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/xjtu-enre/ENRE-java\",\n    \"source\": \"https://github.com/xjtu-enre/ENRE-java\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code. ENRE-java is a ENtity Relationship Extractor for Java projects based on @Eclipse JDT/parser.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"enre-py\": {\n    \"name\": \"ENRE-py\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"LGPL-2.1 license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/xjtu-enre/ENRE-py\",\n    \"source\": \"https://github.com/xjtu-enre/ENRE-py\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code. ENRE-py is a ENtity Relationship Extractor for Python based on Python Language Services of The Standard Library.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"enre-ts\": {\n    \"name\": \"ENRE-ts\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"LGPL-2.1 license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/xjtu-enre/ENRE-ts\",\n    \"source\": \"https://github.com/xjtu-enre/ENRE-ts\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code. ENRE-ts is a ENtity Relationship Extractor for ECMAScript and TypeScript based on @babel/parser.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"erb-formatter\": {\n    \"name\": \"ERB::Formatter\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [\n      \"erb\",\n      \"html\",\n      \"rails\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/nebulab/erb-formatter\",\n    \"source\": \"https://github.com/nebulab/erb-formatter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Format ERB files with speed and precision.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"erb-lint\": {\n    \"name\": \"ERB Lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [\n      \"erb\",\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Shopify/erb-lint\",\n    \"source\": \"https://github.com/Shopify/erb-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Lint your ERB or HTML files\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"errcheck\": {\n    \"name\": \"errcheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/kisielk/errcheck\",\n    \"source\": \"https://github.com/kisielk/errcheck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Check that error return values are used.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"error-prone\": {\n    \"name\": \"Error Prone\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://errorprone.info\",\n    \"source\": \"https://github.com/google/error-prone\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Catch common Java mistakes as compile-time errors.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"errwrap\": {\n    \"name\": \"errwrap\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/fatih/errwrap\",\n    \"source\": \"https://github.com/fatih/errwrap\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Wrap and fix Go errors with the new %w verb directive.  This tool analyzes fmt.Errorf() calls and reports calls that contain a verb directive that  is different than the new %w verb directive introduced in Go v1.13.  It's also capable of rewriting calls to use the new %w wrap verb directive.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"es6-plato\": {\n    \"name\": \"es6-plato\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/the-simian/es6-plato\",\n    \"source\": \"https://github.com/the-simian/es6-plato\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Visualize JavaScript (ES6) source complexity.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"esbmc\": {\n    \"name\": \"ESBMC\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://esbmc.org\",\n    \"source\": \"https://github.com/esbmc/esbmc\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"ESBMC is an open source, permissively licensed, context-bounded model checker based on satisfiability modulo theories for the verification of single- and multi-threaded C/C++ programs.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"escomplex\": {\n    \"name\": \"escomplex\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jared-stilwell/escomplex\",\n    \"source\": \"https://github.com/jared-stilwell/escomplex\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Software complexity analysis of JavaScript-family abstract syntax trees.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"eslint\": {\n    \"name\": \"ESLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"jsx\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/eslint/eslint\",\n    \"source\": \"https://github.com/eslint/eslint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An extensible linter for JS, following the ECMAScript standard.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"ESLint Tutorial with VSCode\",\n        \"url\": \"https://www.youtube.com/watch?v=fslNny60HzI\"\n      },\n      {\n        \"title\": \"VSCode ESLint, Prettier & Airbnb Style Guide Setup\",\n        \"url\": \"https://www.youtube.com/watch?v=SydnKbGc7W8\"\n      }\n    ],\n    \"reviews\": [\n      \"https://openbase.com/js/eslint/reviews\",\n      \"https://stackshare.io/eslint\"\n    ],\n    \"demos\": [\n      \"https://eslint.org/play/\"\n    ],\n    \"wrapper\": null\n  },\n  \"esprima\": {\n    \"name\": \"Esprima\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 2-Clause \\\"Simplified\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://esprima.org\",\n    \"source\": \"https://github.com/jquery/esprima\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"ECMAScript parsing infrastructure for multipurpose analysis.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"exakat\": {\n    \"name\": \"exakat\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.exakat.io\",\n    \"source\": \"https://github.com/exakat/exakat\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An automated code reviewing engine for PHP.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ezno\": {\n    \"name\": \"ezno\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://kaleidawave.github.io/posts/introducing-ezno/\",\n    \"source\": \"https://github.com/kaleidawave/ezno\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance. Ezno's type checker is built from scratch.  The checker is fully compatible with TypeScript type annotations and can work without any type annotations at all.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"fantomas\": {\n    \"name\": \"fantomas\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"fsharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://fsprojects.github.io/fantomas/\",\n    \"source\": \"https://github.com/fsprojects/fantomas\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"F# source code formatter.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"fasterer\": {\n    \"name\": \"Fasterer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/DamirSvrtan/fasterer\",\n    \"source\": \"https://github.com/DamirSvrtan/fasterer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Common Ruby idioms checker.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"fb-contrib\": {\n    \"name\": \"fb-contrib\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU Lesser General Public License v2.1\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://fb-contrib.sourceforge.net\",\n    \"source\": \"https://github.com/mebigfatguy/fb-contrib\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A plugin for FindBugs with additional bug detectors.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"find-security-bugs\": {\n    \"name\": \"Find Security Bugs\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"groovy\",\n      \"java\",\n      \"kotlin\",\n      \"scala\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"LGPL-3.0-only\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://find-sec-bugs.github.io\",\n    \"source\": \"https://github.com/find-sec-bugs/find-sec-bugs\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The SpotBugs plugin for security audits of Java web applications and Android applications. (Also work with Kotlin, Groovy and Scala projects)\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"fix-insight\": {\n    \"name\": \"Fix Insight\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"delphi\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.tmssoftware.com/site/fixinsight.asp\",\n    \"source\": \"https://www.tmssoftware.com/site/fixinsight.asp\",\n    \"pricing\": \"https://tmssoftware.com/site/tmsallaccess.asp#product-buy-online\",\n    \"plans\": null,\n    \"description\": \"A free IDE Plugin for static code analysis. A _Pro_ edition includes a command line tool for automation purposes.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"fixinator\": {\n    \"name\": \"Fixinator\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"coldfusion\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://fixinator.app\",\n    \"source\": null,\n    \"pricing\": \"https://fixinator.app\",\n    \"plans\": null,\n    \"description\": \"Static security code analysis for ColdFusion or CFML code. Designed to work within a CI pipeline or from the developers terminal.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Fixinator Getting Started Guide\",\n        \"url\": \"https://github.com/foundeo/fixinator/wiki/Getting-Started\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"fixit\": {\n    \"name\": \"fixit\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pypi.org/project/fixit\",\n    \"source\": \"https://github.com/Instagram/Fixit\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A framework for creating lint rules and corresponding auto-fixes for source code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Enforcing coding conventions using libCST and Fixit\",\n        \"url\": \"https://www.digitalernachschub.de/blog/enforcing-coding-conventions-using-libcst-and-fixit/\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"flake8\": {\n    \"name\": \"flake8\",\n    \"categories\": [\n      \"meta\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [\n      \"meta\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/PyCQA/flake8\",\n    \"source\": \"https://github.com/PyCQA/flake8\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A wrapper around `pyflakes`, `pycodestyle` and `mccabe`.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"My Python Code Looks Ugly and Confusing - Help!\",\n        \"url\": \"https://www.youtube.com/watch?v=TDUf93vqq3g\"\n      },\n      {\n        \"title\": \"flake8 in Python | Linters | PEP8 Standards\",\n        \"url\": \"https://www.youtube.com/watch?v=qUpfUenwUPA\"\n      },\n      {\n        \"title\": \"A flake8 plugin from scratch (intermediate)\",\n        \"url\": \"https://www.youtube.com/watch?v=ot5Z4KQPBL8\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.slant.co/options/12632/~flake8-review\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"flakeheaven\": {\n    \"name\": \"flakeheaven\",\n    \"categories\": [\n      \"meta\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [\n      \"meta\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pypi.org/project/flakeheaven/\",\n    \"source\": \"https://github.com/flakeheaven/flakeheaven\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"flakeheaven is a python linter built around flake8 to enable inheritable and complex toml configuration.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"flawfinder\": {\n    \"name\": \"flawfinder\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://dwheeler.com/flawfinder/\",\n    \"source\": \"https://github.com/david-a-wheeler/flawfinder\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds possible security weaknesses.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"flay\": {\n    \"name\": \"flay\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://ruby.sadi.st/Flay.html\",\n    \"source\": \"https://github.com/seattlerb/flay\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Flay analyzes code for structural similarities.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"flen\": {\n    \"name\": \"flen\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/lafolle/flen\",\n    \"source\": \"https://github.com/lafolle/flen\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Get info on length of functions in a Go package.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"flint\": {\n    \"name\": \"flint++\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Boost Software License 1.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/JossWhittle/FlintPlusPlus\",\n    \"source\": \"https://github.com/JossWhittle/FlintPlusPlus\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Cross-platform, zero-dependency port of flint, a lint program for C++ developed and used at Facebook.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"flog\": {\n    \"name\": \"flog\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://ruby.sadi.st/Flog.html\",\n    \"source\": \"https://github.com/seattlerb/flog\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"flow\": {\n    \"name\": \"flow\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://flow.org\",\n    \"source\": \"https://github.com/facebook/flow\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static type checker for JavaScript.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"flowdroid\": {\n    \"name\": \"FlowDroid\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"mobile\"\n    ],\n    \"licenses\": [\n      \"GNU Lesser General Public License v2.1\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/secure-software-engineering/FlowDroid\",\n    \"source\": \"https://github.com/secure-software-engineering/FlowDroid\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static taint analysis tool for Android applications.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"flowr\": {\n    \"name\": \"flowR\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"r\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-3\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/flowr-analysis/flowr\",\n    \"source\": \"https://github.com/flowr-analysis/flowr\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A [program slicer](https://github.com/flowr-analysis/flowr/wiki/Terminology#program-slice) and [dataflow analyzer](https://en.wikipedia.org/wiki/Data-flow_analysis) for the [R](https://www.r-project.org/) programming language. Its slicer allows you to reduce a complicated program just to the parts related for a specific task (e.g., the generation of a single or collection of plots, a significance test, ...). The dataflow analysis provides you with a detailed view on the semantics of the R code which can greatly improve other analyses. To use _flowR_, check out the [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=code-inspect.vscode-flowr), the [RStudio Addin](https://github.com/flowr-analysis/rstudio-addin-flowr), the [Docker image](https://hub.docker.com/r/eagleoutice/flowr), or the [R package](https://github.com/flowr-analysis/flowr-r-adapter).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Wiki Pages\",\n        \"url\": \"https://github.com/flowr-analysis/flowr/wiki\"\n      },\n      {\n        \"title\": \"Overview of the VS Code extension\",\n        \"url\": \"https://www.youtube.com/watch?v=Zgq6rnbvvhk\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"foodcritic\": {\n    \"name\": \"foodcritic\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.foodcritic.io\",\n    \"source\": \"https://github.com/foodcritic/foodcritic\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A lint tool that checks Chef cookbooks for common problems.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"forbidden-apis\": {\n    \"name\": \"forbidden-apis\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/policeman-tools/forbidden-apis\",\n    \"source\": \"https://github.com/policeman-tools/forbidden-apis\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Detects and forbids invocations of specific method/class/field (like reading from a text stream without a charset). Maven/Gradle/Ant compatible.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"fortify\": {\n    \"name\": \"Fortify\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"abap\",\n      \"actionscript\",\n      \"apex\",\n      \"aspnet\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"cobol\",\n      \"coldfusion\",\n      \"java\",\n      \"javascript\",\n      \"jsp\",\n      \"objectivec\",\n      \"php\",\n      \"plsql\",\n      \"python\",\n      \"ruby\",\n      \"scala\",\n      \"swift\",\n      \"tsql\",\n      \"vbscript\",\n      \"vbasic\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"html\",\n      \"security\",\n      \"xml\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://www.microfocus.com/en-us/cyberres/application-security/static-code-analyzer\",\n    \"source\": null,\n    \"pricing\": \"https://www.opentext.com/products/fortify-on-demand/trial\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"A commercial static analysis platform that supports the scanning of C/C++, C#, VB.NET, VB6, ABAP/BSP, ActionScript, Apex, ASP.NET, Classic ASP, VB Script, Cobol, ColdFusion, HTML, Java, JS, JSP, MXML/Flex, Objective-C, PHP, PL/SQL, T-SQL, Python (2.6, 2.7), Ruby (1.9.3), Swift, Scala, VB, and XML.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Visual Studio - real-time security with Fortify Security Assistant (2018)\",\n        \"url\": \"https://www.youtube.com/watch?v=7CfeUXtDlwQ\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"fortitude\": {\n    \"name\": \"Fortitude\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"fortran\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://fortitude.readthedocs.io\",\n    \"source\": \"https://github.com/PlasmaFAIR/fortitude\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Fortran linter, inspired by (and built on) Ruff, and based on community best practices. Supports latest Fortran (2023) standard.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"fprettify\": {\n    \"name\": \"fprettify\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"fortran\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"NOASSERTION\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pypi.python.org/pypi/fprettify\",\n    \"source\": \"https://github.com/pseewald/fprettify\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Auto-formatter for modern fortran source code, written in Python.\\nFprettify is a tool that provides consistent whitespace, indentation, and delimiter alignment in code, including the ability to change letter case and handle preprocessor directives, all while preserving revision history and tested for editor integration.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"frama-c\": {\n    \"name\": \"Frama-C\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU Lesser General Public License v2.1\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.frama-c.com\",\n    \"source\": \"https://www.frama-c.com/html/get-frama-c.html\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A sound and extensible static analyzer for C code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"freeplane-code-explorer\": {\n    \"name\": \"Freeplane Code Explorer\",\n    \"categories\": [\n      \"meta\"\n    ],\n    \"languages\": [\n      \"java\",\n      \"kotlin\",\n      \"scala\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-2.0-or-later\"\n    ],\n    \"types\": [\n      \"gui\"\n    ],\n    \"homepage\": \"https://docs.freeplane.org/user-documentation/Code_Explorer.html\",\n    \"source\": \"https://github.com/freeplane/freeplane\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The Code Explorer mode in Freeplane is designed for analyzing the structure and dependencies  of code compiled to JVM class files.  It also allows displaying ArchUnit test results directly in Freeplane,  if Freeplane is running and ArchUnit detects rule violations during the tests.\\n\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"frink\": {\n    \"name\": \"Frink\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"tcl\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"unknown\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://catless.ncl.ac.uk/Programs/Frink\",\n    \"source\": \"http://catless.ncl.ac.uk/Programs/Frink\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Tcl formatting and static check program (can prettify the program, minimise, obfuscate or just sanity check it).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"fsharplint\": {\n    \"name\": \"FSharpLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"fsharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/fsprojects/FSharpLint\",\n    \"source\": \"https://github.com/fsprojects/FSharpLint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Lint tool for F#.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"fta\": {\n    \"name\": \"fta\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://ftaproject.dev/\",\n    \"source\": \"https://github.com/sgb-io/fta\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Rust-based static analysis for TypeScript projects\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": [\n      \"https://ftaproject.dev/playground\"\n    ],\n    \"wrapper\": null\n  },\n  \"fukuzatsu\": {\n    \"name\": \"Fukuzatsu\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/CoralineAda/fukuzatsu\",\n    \"source\": \"https://github.com/CoralineAda/fukuzatsu\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for measuring code complexity in Ruby class files. Its analysis generates scores based on cyclomatic complexity algorithms with no added \\\"opinions\\\".\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gawk-lint\": {\n    \"name\": \"gawk --lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"awk\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.gnu.org/software/gawk/manual/html_node/Options.html\",\n    \"source\": \"https://www.gnu.org/software/gawk/manual/html_node/Options.html\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Warns about constructs that are dubious or nonportable to other awk implementations.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gcc\": {\n    \"name\": \"GCC\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html\",\n    \"source\": \"https://github.com/gcc-mirror/gcc\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The GCC compiler has static analysis capabilities since version 10. This option is only available if GCC was configured with analyzer support enabled.  It can also output its diagnostics to a JSON file in the SARIF format (from v13).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gendarme\": {\n    \"name\": \"Gendarme\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.mono-project.com/docs/tools+libraries/tools/gendarme\",\n    \"source\": \"https://github.com/mono/mono-tools\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Gendarme inspects programs and libraries that contain code in ECMA CIL format (Mono and .NET).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gherkin-lint\": {\n    \"name\": \"gherkin-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"gherkin\"\n    ],\n    \"licenses\": [\n      \"ISC License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/vsiakka/gherkin-lint\",\n    \"source\": \"https://github.com/vsiakka/gherkin-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A linter for the Gherkin-Syntax written in Javascript.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ghidra\": {\n    \"name\": \"Ghidra\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://ghidra-sre.org\",\n    \"source\": \"https://github.com/NationalSecurityAgency/ghidra\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A software reverse engineering (SRE) suite of tools developed by NSA's Research Directorate in support of the Cybersecurity mission\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Ghidra Installation Guide\",\n        \"url\": \"https://ghidra-sre.org/InstallationGuide.html\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gitguardian-ggshield\": {\n    \"name\": \"GitGuardian ggshield\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"dotenv\",\n      \"container\",\n      \"ci\",\n      \"git\",\n      \"security\",\n      \"terraform\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://www.gitguardian.com/ggshield\",\n    \"source\": \"https://github.com/gitguardian/ggshield\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"ggshield is a CLI application that runs in your local environment  or in a CI environment to help you detect more than 350+ types of secrets,  as well as other potential security vulnerabilities or policy breaks affecting your codebase.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Getting started with ggshield\",\n        \"url\": \"https://docs.gitguardian.com/ggshield-docs/getting-started\"\n      },\n      {\n        \"title\": \"A Developer's View of GitGuardian ggshield Throughout The Software Development Lifecycle\",\n        \"url\": \"https://www.youtube.com/watch?v=diuBTBjx7Qc\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gitleaks\": {\n    \"name\": \"Gitleaks\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/zricethezav/gitleaks\",\n    \"source\": \"https://github.com/zricethezav/gitleaks\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A SAST tool for detecting hardcoded secrets like passwords, api keys, and tokens in git repos.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gixy\": {\n    \"name\": \"gixy\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configfile\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/yandex/gixy\",\n    \"source\": \"https://github.com/yandex/gixy\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool to analyze Nginx configuration. The main goal is to prevent misconfiguration and automate flaw detection.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"go-ast\": {\n    \"name\": \"go/ast\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://golang.org/pkg/go/ast\",\n    \"source\": \"https://github.com/golang/go/tree/master/src/go/ast\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Package ast declares the types used to represent syntax trees for Go packages.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"go-consistent\": {\n    \"name\": \"go-consistent\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Quasilyte/go-consistent\",\n    \"source\": \"https://github.com/Quasilyte/go-consistent\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Analyzer that helps you to make your Go programs more consistent.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"go-critic\": {\n    \"name\": \"go-critic\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/go-critic/go-critic\",\n    \"source\": \"https://github.com/go-critic/go-critic\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Go source code linter that maintains checks which are currently not implemented in other linters.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"go-meta-linter\": {\n    \"name\": \"Go Meta Linter\",\n    \"categories\": [\n      \"meta\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [\n      \"meta\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/alecthomas/gometalinter\",\n    \"source\": \"https://github.com/alecthomas/gometalinter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Concurrently run Go lint tools and normalise their output. Use `golangci-lint` for new projects.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"go-tool-vet-shadow\": {\n    \"name\": \"go tool vet --shadow\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://golang.org/cmd/vet#hdr-Shadowed_variables\",\n    \"source\": \"https://github.com/golang/go/tree/master/src/cmd/vet\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Reports variables that may have been unintentionally shadowed.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"go-vet\": {\n    \"name\": \"go vet\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://golang.org/cmd/vet\",\n    \"source\": \"https://github.com/golang/go/tree/master/src/cmd/vet\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Examines Go source code and reports suspicious.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"goast\": {\n    \"name\": \"goast\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/m-mizutani/goast\",\n    \"source\": \"https://github.com/m-mizutani/goast\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Go AST (Abstract Syntax Tree) based static analysis tool with Rego.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"goblint\": {\n    \"name\": \"Goblint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://goblint.in.tum.de\",\n    \"source\": \"https://github.com/goblint/analyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analyzer for the analysis of multi-threaded C programs. Its primary focus is the  detection of data races, but it also reports other runtime errors, such as buffer overflows and null-pointer dereferences.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gochecknoglobals\": {\n    \"name\": \"gochecknoglobals\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/leighmcculloch/gochecknoglobals\",\n    \"source\": \"https://github.com/leighmcculloch/gochecknoglobals\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checks that no globals are present.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"goconst\": {\n    \"name\": \"goconst\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jgautheron/goconst\",\n    \"source\": \"https://github.com/jgautheron/goconst\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds repeated strings that could be replaced by a constant.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gocyclo\": {\n    \"name\": \"gocyclo\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/fzipp/gocyclo\",\n    \"source\": \"https://github.com/fzipp/gocyclo\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Calculate cyclomatic complexities of functions in Go source code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gofmt-s\": {\n    \"name\": \"gofmt -s\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://golang.org/cmd/gofmt\",\n    \"source\": \"https://github.com/golang/go/tree/master/src/cmd/gofmt\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checks if the code is properly formatted and could not be further simplified.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gofumpt\": {\n    \"name\": \"gofumpt\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/mvdan/gofumpt\",\n    \"source\": \"https://github.com/mvdan/gofumpt\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Enforce a stricter format than `gofmt`, while being backwards-compatible.  That is, `gofumpt` is happy with a subset of the formats that `gofmt` is happy with.\\nThe tool is a fork of `gofmt` as of Go 1.19, and requires Go 1.18 or later.  It can be used as a drop-in replacement to format your Go code, and running gofmt  after gofumpt should produce no changes.\\n`gofumpt` will never add rules which disagree with `gofmt` formatting. So we extend `gofmt` rather than compete with it.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"goimports\": {\n    \"name\": \"goimports\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pkg.go.dev/golang.org/x/tools/cmd/goimports\",\n    \"source\": \"https://github.com/golang/tools/tree/master/cmd/goimports\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checks missing or unreferenced package imports.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gokart\": {\n    \"name\": \"gokart\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/praetorian-inc/gokart\",\n    \"source\": \"https://github.com/praetorian-inc/gokart\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Golang security analysis with a focus on minimizing false positives. It is capable of tracing the source of variables and function arguments  to determine whether input sources are safe.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"golangci-lint\": {\n    \"name\": \"GolangCI-Lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://golangci-lint.run\",\n    \"source\": \"https://github.com/golangci/golangci-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Alternative to `Go Meta Linter`: GolangCI-Lint is a linters aggregator.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"GopherCon 2019: Denis Isaev (author of golangci-lint) - Go Linters: Myths and Best Practices\",\n        \"url\": \"https://www.youtube.com/watch?v=1U-Gzz4TYP0\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"golint\": {\n    \"name\": \"golint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/golang/lint\",\n    \"source\": \"https://github.com/golang/lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Prints out coding style mistakes in Go source code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"goodcheck\": {\n    \"name\": \"Goodcheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://sider.github.io/goodcheck\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Regexp based customizable linter.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"goodpractice\": {\n    \"name\": \"goodpractice\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"r\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://docs.ropensci.org/goodpractice/\",\n    \"source\": \"https://github.com/mangothecat/goodpractice\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Analyses the source code for R packages and provides best-practice recommendations.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"google-java-format\": {\n    \"name\": \"google-java-format\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/google/google-java-format\",\n    \"source\": \"https://github.com/google/google-java-format\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Reformats Java source code to comply with Google Java Style\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"goone\": {\n    \"name\": \"goone\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\",\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/masibw/goone\",\n    \"source\": \"https://github.com/masibw/goone\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds N+1 queries (SQL calls in a for loop) in go code\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"goreporter\": {\n    \"name\": \"goreporter\",\n    \"categories\": [\n      \"meta\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [\n      \"meta\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/360EntSecGroup-Skylar/goreporter\",\n    \"source\": \"https://github.com/360EntSecGroup-Skylar/goreporter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Concurrently runs many linters and normalises their output to a report.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"goroutine-inspect\": {\n    \"name\": \"goroutine-inspect\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 2-Clause \\\"Simplified\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/linuxerwang/goroutine-inspect\",\n    \"source\": \"https://github.com/linuxerwang/goroutine-inspect\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An interactive tool to analyze Golang goroutine dump.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gosec-gas\": {\n    \"name\": \"gosec (gas)\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://securego.io\",\n    \"source\": \"https://github.com/securego/gosec\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Inspects source code for security problems by scanning the Go AST.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gotype\": {\n    \"name\": \"gotype\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"3-Clause BSD License + Patent Grant\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pkg.go.dev/golang.org/x/tools/cmd/gotype\",\n    \"source\": \"https://golang.org/x/tools/cmd/gotype\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Syntactic and semantic analysis similar to the Go compiler.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"govulncheck\": {\n    \"name\": \"govulncheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://go.dev/blog/vuln\",\n    \"source\": \"https://pkg.go.dev/golang.org/x/vuln/vulncheck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Govulncheck reports known vulnerabilities that affect Go code.  It uses static analysis of source code or a binary's symbol table to narrow down reports to only those that could affect the application.\\nBy default, govulncheck makes requests to the Go vulnerability database at https://vuln.go.dev. Requests to the vulnerability database contain only module paths, not code or other properties of your program.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"graphmycss-com\": {\n    \"name\": \"GraphMyCSS.com\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://graphmycss.com\",\n    \"source\": \"https://github.com/TheJaredWilcurt/itcss-specificity-graph\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"CSS Specificity Graph Generator.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"graudit\": {\n    \"name\": \"graudit\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"asp\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"java\",\n      \"perl\",\n      \"php\",\n      \"python\",\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.justanotherhacker.com\",\n    \"source\": \"https://github.com/wireghoul/graudit\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Grep rough audit - source code auditing tool.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"griffe\": {\n    \"name\": \"Griffe\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"ISC License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://mkdocstrings.github.io/griffe/\",\n    \"source\": \"https://github.com/mkdocstrings/griffe\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"grumphp\": {\n    \"name\": \"GrumPHP\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/phpro/grumphp\",\n    \"source\": \"https://github.com/phpro/grumphp\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checks code on every commit.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"grunt-bootlint\": {\n    \"name\": \"grunt-bootlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/twbs/grunt-bootlint\",\n    \"source\": \"https://github.com/twbs/grunt-bootlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Grunt wrapper for [Bootlint](https://github.com/twbs/bootlint), the HTML linter for Bootstrap projects.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"grype\": {\n    \"name\": \"Grype\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/anchore/grype\",\n    \"source\": \"https://github.com/anchore/grype\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Vulnerability scanner for container images and filesystems. Developed by Anchore, it scans container images, directories, and archives for known vulnerabilities. Supports multiple image formats, SBOM integration, and VEX (Vulnerability Exploitability eXchange) for accurate vulnerability assessment. Works with various vulnerability databases and provides detailed reporting.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"gulp-bootlint\": {\n    \"name\": \"gulp-bootlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/tschortsch/gulp-bootlint\",\n    \"source\": \"https://github.com/tschortsch/gulp-bootlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A gulp wrapper for [Bootlint](https://github.com/twbs/bootlint), the HTML linter for Bootstrap projects.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"haml-lint\": {\n    \"name\": \"haml-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"template\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sds/haml-lint\",\n    \"source\": \"https://github.com/sds/haml-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Tool for writing clean and consistent HAML.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"haskell-dockerfile-linter\": {\n    \"name\": \"Haskell Dockerfile Linter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/lukasmartinelli/hadolint\",\n    \"source\": \"https://github.com/lukasmartinelli/hadolint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A smarter Dockerfile linter that helps you build best practice Docker images.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"hasmysecretleaked\": {\n    \"name\": \"HasMySecretLeaked\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"git\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://gitguardian.com/hasmysecretleaked\",\n    \"source\": \"https://github.com/GitGuardian/ggshield\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"HasMySecretLeaked is a project from GitGuardian that aims to help individual users and organizations search across 20 million exposed secrets to verify if their  developer secrets have leaked on public repositories, gists, and issues on GitHub projects.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"haxe-checkstyle\": {\n    \"name\": \"Haxe Checkstyle\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"haxe\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://haxecheckstyle.github.io/docs/haxe-checkstyle/home.html\",\n    \"source\": \"https://github.com/HaxeCheckstyle/haxe-checkstyle\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analysis tool to help developers write Haxe code that adheres to a coding standard.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"hcl-appscan-source\": {\n    \"name\": \"HCL AppScan Source\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"asp\",\n      \"aspnet\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"cobol\",\n      \"coldfusion\",\n      \"java\",\n      \"javascript\",\n      \"jsp\",\n      \"perl\",\n      \"php\",\n      \"plsql\",\n      \"tsql\",\n      \"vbscript\",\n      \"vbasic\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"mobile\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.hcltechsw.com/products/appscan\",\n    \"source\": null,\n    \"pricing\": \"http://www.hcl-software.com/appscan/contact-us\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Commercial Static Code Analysis.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Introducing HCL AppScan Standard\",\n        \"url\": \"https://www.youtube.com/watch?v=TmYY67w18RI\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"hegel\": {\n    \"name\": \"hegel\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://hegel.js.org\",\n    \"source\": \"https://github.com/JSMonk/hegel\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static type checker for JavaScript with a bias on type inference and strong type systems.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"helix-qac\": {\n    \"name\": \"Helix QAC\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.perforce.com/products/helix-qac\",\n    \"source\": null,\n    \"pricing\": \"https://www.perforce.com/purchase\",\n    \"plans\": null,\n    \"description\": \"Enterprise-grade static analysis for embedded software. Supports MISRA, CERT, and AUTOSAR coding standards.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Code with Confidence - Helix QAC\",\n        \"url\": \"https://www.youtube.com/watch?v=HHaBnZx2fGY\"\n      },\n      {\n        \"title\": \"How to Apply AUTOSAR Guidelines With Helix QAC\",\n        \"url\": \"https://www.youtube.com/watch?v=XFvZ_hh6LCo\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"herbie\": {\n    \"name\": \"herbie\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Mozilla Public License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mcarton/rust-herbie-lint\",\n    \"source\": \"https://github.com/mcarton/rust-herbie-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Adds warnings or errors to your crate when using a numerically unstable floating point expression.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"hlint\": {\n    \"name\": \"HLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"haskell\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ndmitchell/hlint\",\n    \"source\": \"https://github.com/ndmitchell/hlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"HLint is a tool for suggesting possible improvements to Haskell code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"holistic\": {\n    \"name\": \"holistic\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://holistic.dev/\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"More than 1,300 rules to analyze SQL queries. Takes an SQL schema definition and the query source code to generate improvement recommendations. Detects code smells, unused indexes, unused tables, views, materialized views, and more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"hopper\": {\n    \"name\": \"Hopper\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"groovy\",\n      \"java\",\n      \"kotlin\",\n      \"scala\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/cuplv/hopper\",\n    \"source\": \"https://github.com/cuplv/hopper\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analysis tool written in scala for languages that run on JVM.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"hound-ci\": {\n    \"name\": \"Hound CI\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"coffeescript\",\n      \"go\",\n      \"javascript\",\n      \"ruby\",\n      \"swift\"\n    ],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://houndci.com\",\n    \"source\": \"https://github.com/houndci/hound\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Comments on style violations in GitHub pull requests. Supports Coffeescript, Go, HAML, JavaScript, Ruby, SCSS and Swift.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"html-inspector\": {\n    \"name\": \"HTML Inspector\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/philipwalton/html-inspector\",\n    \"source\": \"https://github.com/philipwalton/html-inspector\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"HTML Inspector is a code quality tool to help you and your team write better markup.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"html-tidy\": {\n    \"name\": \"HTML Tidy\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"Custom\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.html-tidy.org\",\n    \"source\": \"https://github.com/htacg/tidy-html5\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Corrects and cleans up HTML and XML documents by fixing markup errors and upgrading legacy code to modern standards.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"html-validate\": {\n    \"name\": \"HTML-Validate\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"html\",\n      \"vue\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://html-validate.org/\",\n    \"source\": \"https://gitlab.com/html-validate/html-validate\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Offline HTML5 validator.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"htmlbeautifier\": {\n    \"name\": \"htmlbeautifier\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [\n      \"erb\",\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/threedaymonk/htmlbeautifier\",\n    \"source\": \"https://github.com/threedaymonk/htmlbeautifier\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A normaliser/beautifier for HTML that also understands embedded Ruby. Ideal for tidying up Rails templates.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"htmlhint\": {\n    \"name\": \"HTMLHint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://htmlhint.com\",\n    \"source\": \"https://github.com/yaniswang/HTMLHint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Static Code Analysis Tool for HTML.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"huntbugs\": {\n    \"name\": \"HuntBugs\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/amaembo/huntbugs\",\n    \"source\": \"https://github.com/amaembo/huntbugs\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Bytecode static analyzer tool based on Procyon Compiler Tools aimed to supersede FindBugs.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"i-code-cnes-for-fortran\": {\n    \"name\": \"i-Code CNES for Fortran\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"fortran\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Eclipse Public License 1.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/lequal/i-CodeCNES\",\n    \"source\": \"https://github.com/lequal/i-CodeCNES\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An open source static code analysis tool for Fortran 77, Fortran 90 and Shell.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"i-code-cnes-for-shell\": {\n    \"name\": \"i-Code CNES for Shell\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"shell\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Eclipse Public License 1.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/lequal/i-CodeCNES\",\n    \"source\": \"https://github.com/lequal/i-CodeCNES\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An open source static code analysis tool for Shell and Fortran (77 and 90).\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"iblessing\": {\n    \"name\": \"iblessing\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"mobile\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.kitploit.com/2020/08/iblessing-ios-security-exploiting.html\",\n    \"source\": \"https://github.com/Soulghost/iblessing\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"iblessing is an iOS security exploiting toolkit. It can be used for reverse engineering, binary analysis and vulnerability mining.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"icarus-verilog\": {\n    \"name\": \"Icarus Verilog\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"verilog\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/steveicarus/iverilog\",\n    \"source\": \"http://iverilog.icarus.com/\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Verilog simulation and synthesis tool that operates by compiling source code written in IEEE-1364 Verilog into some target format\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ida-free\": {\n    \"name\": \"IDA Free\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.hex-rays.com/products/ida/support/download_freeware\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Binary code analysis tool.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ikos\": {\n    \"name\": \"IKOS\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/nasa-sw-vnv/ikos\",\n    \"source\": \"https://github.com/nasa-sw-vnv/ikos\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A sound static analyzer for C/C++ code based on LLVM.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"imhotep\": {\n    \"name\": \"imhotep\",\n    \"categories\": [\n      \"meta\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"python\",\n      \"ruby\"\n    ],\n    \"other\": [\n      \"buildtool\",\n      \"meta\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/justinabrahms/imhotep\",\n    \"source\": \"https://github.com/justinabrahms/imhotep\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Comment on commits coming into your repository and check for syntactic errors and general lint warnings.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"include-gardener\": {\n    \"name\": \"include-gardener\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"python\",\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU Public License version 2 or greater\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/feddischson/include_gardener\",\n    \"source\": \"https://github.com/feddischson/include_gardener\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A multi-language static analyzer for C/C++/Obj-C/Python/Ruby to create a graph (in dot or graphml format) which shows all `#include` relations of a given set of files.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ineffassign\": {\n    \"name\": \"ineffassign\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/gordonklaus/ineffassign\",\n    \"source\": \"https://github.com/gordonklaus/ineffassign\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Detect ineffectual assignments in Go code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"infer\": {\n    \"name\": \"Infer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"objectivec\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://fbinfer.com\",\n    \"source\": \"https://github.com/facebook/infer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analyzer for Java, C and Objective-C\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"inspectortiger\": {\n    \"name\": \"InspectorTiger\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/thg-consulting/it\",\n    \"source\": \"https://github.com/thg-consulting/it\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"IT, Inspector Tiger, is a modern python code review tool / framework. It comes with bunch of pre-defined handlers which warns you about improvements and possible bugs. Beside these handlers, you can write your own or use community ones.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"intellij-idea\": {\n    \"name\": \"IntelliJ IDEA\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://www.jetbrains.com/idea\",\n    \"source\": null,\n    \"pricing\": \"https://www.jetbrains.com/buy\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"Comes bundled with a lot of inspections for Java and Kotlin and includes tools for refactoring, formatting and more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"interfacer\": {\n    \"name\": \"interfacer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mvdan/interfacer\",\n    \"source\": \"https://github.com/mvdan/interfacer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Suggest narrower interfaces that can be used.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ionide-analyzers\": {\n    \"name\": \"ionide-analyzers\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"fsharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://ionide.io/ionide-analyzers/\",\n    \"source\": \"https://github.com/ionide/ionide-analyzers\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A collection of F# analyzers, built with the FSharp.Analyzers.SDK.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jakstab\": {\n    \"name\": \"Jakstab\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jkinder/jakstab\",\n    \"source\": \"https://github.com/jkinder/jakstab\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Jakstab is an Abstract Interpretation-based, integrated disassembly and static analysis framework for designing analyses on executables and recovering reliable control flow graphs.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jarchitect\": {\n    \"name\": \"JArchitect\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.jarchitect.com\",\n    \"source\": null,\n    \"pricing\": \"https://www.jarchitect.com/purchase\",\n    \"plans\": null,\n    \"description\": \"Measure, query and visualize your code and avoid unexpected issues, technical debt and complexity.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jbmc\": {\n    \"name\": \"JBMC\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-4-Clause-UC (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.cprover.org/jbmc\",\n    \"source\": \"https://github.com/peterschrammel/cbmc/releases/tag/jbmc-5.8-cav18\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Bounded model-checker for Java (bytecode), verifies user-defined assertions, standard assertions, several coverage metric analyses.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jeb-decompiler\": {\n    \"name\": \"JEB Decompiler\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.pnfsoftware.com/\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Decompile and debug binary code. Break down and analyze document files. Android Dalvik, MIPS, ARM, Intel x86, Java, WebAssembly & Ethereum Decompilers.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jedi\": {\n    \"name\": \"jedi\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://jedi.readthedocs.io/en/latest\",\n    \"source\": \"https://github.com/davidhalter/jedi\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Autocompletion/static analysis library for Python.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Choosing an Autocomplete for Python\",\n        \"url\": \"https://www.youtube.com/watch?v=Qa-5mYCqPto\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jet\": {\n    \"name\": \"JET\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"julia\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/aviatesk/JET.jl\",\n    \"source\": \"https://github.com/aviatesk/JET.jl\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static type inference system to detect bugs and type instabilities.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jlisa\": {\n    \"name\": \"JLiSA\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/lisa-analyzer/jlisa\",\n    \"source\": \"https://github.com/lisa-analyzer/jlisa\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An abstract interpretation-based static analyzer for Java build upon the [LiSA](https://github.com/lisa-analyzer/lisa) framekwork.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"joern\": {\n    \"name\": \"Joern\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"jimple\",\n      \"kotlin\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"swift\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ghidra\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://joern.io\",\n    \"source\": \"https://github.com/joernio/joern\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Joern is a platform for analyzing source code, bytecode, and binary executables. It generates code property graphs (CPGs), a graph representation of code for cross-language code analysis. Code property graphs are stored in a custom graph database. This allows code to be mined using search queries formulated in a Scala-based domain-specific query language. Joern is developed with the goal of providing a useful tool for vulnerability discovery and research in static program analysis.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Documentation\",\n        \"url\": \"https://docs.joern.io\"\n      },\n      {\n        \"title\": \"CPG Specification\",\n        \"url\": \"https://cpg.joern.io\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jqassistant\": {\n    \"name\": \"jQAssistant\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\",\n      \"kotlin\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"git\",\n      \"json\",\n      \"nodejs\",\n      \"spring\",\n      \"xml\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://jqassistant.org/\",\n    \"source\": \"https://github.com/jqassistant/jqassistant\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"jQAssistant is a plugin based software analytics platform which allows scanning code structures and metadata from repositories into a Neo4j graph database.  The gathered data can be used for ad-hoc exploration using queries, visualization or defining rules for continuous architecture validation.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Plugins\",\n        \"url\": \"https://github.com/jqassistant-plugin\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jshint\": {\n    \"name\": \"jshint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://jshint.com/about\",\n    \"source\": \"https://github.com/jshint/jshint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Detect errors and potential problems in JavaScript code and enforce your team's coding conventions.\",\n    \"discussion\": \"https://github.com/analysis-tools-dev/static-analysis/issues/223\",\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jslint\": {\n    \"name\": \"JSLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Llvm release license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/douglascrockford/JSLint\",\n    \"source\": \"https://github.com/douglascrockford/JSLint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The JavaScript Code Quality Tool.\",\n    \"discussion\": \"https://github.com/analysis-tools-dev/static-analysis/issues/223\",\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jsonlint\": {\n    \"name\": \"jsonlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"json\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://jsonlint.com/\",\n    \"source\": \"https://github.com/zaach/jsonlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A JSON parser and validator with a CLI. Standalone version of jsonlint.com\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"jsprime\": {\n    \"name\": \"JSPrime\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://dpnishant.github.io/jsprime\",\n    \"source\": \"https://github.com/dpnishant/jsprime\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static security analysis tool.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"kani\": {\n    \"name\": \"kani\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"MIT & Apache 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/model-checking/kani\",\n    \"source\": \"https://github.com/model-checking/kani\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The Kani Rust Verifier is a bit-precise model checker for Rust. \\nKani is particularly useful for verifying unsafe code blocks in Rust, \\nwhere the \\\"unsafe superpowers\\\" are unchecked by the compiler.\\nKani verifies:\\n\\n* Memory safety (e.g., null pointer dereferences)\\n* User-specified assertions (i.e., assert!(...))\\n* The absence of panics (e.g., unwrap() on None values)\\n* The absence of some types of unexpected behavior (e.g., arithmetic overflows)\\n\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"keploy\": {\n    \"name\": \"keploy\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"python\",\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://keploy.io/\",\n    \"source\": \"https://github.com/keploy/\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Keploy is an open-source testing platform that helps developers automate and streamline their testing process. It provides API, and integration testing agents, generating tests, mocks/stubs for APIs that actually work. Additionally, Keploy offers an AI-powered Unit Testing Agent that generates stable, useful unit tests directly in your GitHub PRs and in VSCode, helping catch errors and improve code quality.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Keploy PR Agent\",\n        \"url\": \"https://github.com/apps/keploy\"\n      },\n      {\n        \"title\": \"Keploy Agent VSCode Extension\",\n        \"url\": \"https://marketplace.visualstudio.com/items?itemName=Keploy.keployio\"\n      },\n      {\n        \"title\": \"Keploy Low code Integration Testing\",\n        \"url\": \"https://github.com/keploy/keploy\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"kics\": {\n    \"name\": \"kics\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"ansible\",\n      \"configmanagement\",\n      \"container\",\n      \"kubernetes\",\n      \"security\",\n      \"terraform\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://kics.io/\",\n    \"source\": \"https://github.com/Checkmarx/kics\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find security vulnerabilities, compliance issues, and infrastructure misconfigurations in your infrastructure-as-code. Supports Terraform, Kubernetes, Docker, AWS CloudFormation and Ansible\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"kiuwan\": {\n    \"name\": \"Kiuwan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"php\",\n      \"python\",\n      \"scala\",\n      \"swift\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.kiuwan.com/code-security-sast\",\n    \"source\": null,\n    \"pricing\": \"https://www.kiuwan.com/pricing\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Identify and remediate cyber threats in a blazingly fast, collaborative environment, with seamless integration in your SDLC. Python, C\\\\C++, Java, C#, PHP and more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"klee\": {\n    \"name\": \"KLEE\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"UIUC open source license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://klee.github.io/\",\n    \"source\": \"https://github.com/klee/klee\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A dynamic symbolic execution engine built on top of the LLVM compiler infrastructure.  It can auto-generate test cases for programs such that the test cases exercise as much of the program as possible.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Introduction to symbolic execution with KLEE\",\n        \"url\": \"https://www.youtube.com/watch?v=z6bsk-lsk1Q\"\n      },\n      {\n        \"title\": \"KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs [Original Paper]\",\n        \"url\": \"https://www.usenix.org/legacy/event/osdi08/tech/full_papers/cadar/cadar.pdf\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"klint\": {\n    \"name\": \"klint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"kubernetes\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/uswitch/klint\",\n    \"source\": \"https://github.com/uswitch/klint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool that listens to changes in Kubernetes resources and runs linting rules against them. Identify and debug erroneous objects and nudge objects in line with the policies as both change over time. Klint helps us encode checks and proactively alert teams when they need to take action.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"klocwork\": {\n    \"name\": \"Klocwork\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.perforce.com/products/klocwork\",\n    \"source\": null,\n    \"pricing\": \"https://www.perforce.com/purchase\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Quality and Security Static analysis for C/C++, Java and C#.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"kmdr\": {\n    \"name\": \"kmdr\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"shell\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ediardo/kmdr-cli\",\n    \"source\": \"https://github.com/ediardo/kmdr-cli\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"CLI tool for learning commands from your terminal. kmdr delivers a break down of commands with every attribute explained.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"krane\": {\n    \"name\": \"krane\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\",\n      \"kubernetes\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/appvia/krane\",\n    \"source\": \"https://github.com/appvia/krane\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Krane is a simple Kubernetes RBAC static analysis tool.\\nIt identifies potential security risks in K8s RBAC design and makes suggestions on how to mitigate them. Krane dashboard presents current RBAC security posture and lets you navigate through its definition.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ktfmt\": {\n    \"name\": \"ktfmt\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"kotlin\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://facebook.github.io/ktfmt/\",\n    \"source\": \"https://github.com/facebook/ktfmt\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A program that reformats Kotlin source code to comply with the common community standard for Kotlin code conventions.\\nA ktfmt IntelliJ plugin is available from the plugin repository. To install it, go to your IDE's settings and select the Plugins category. Click the Marketplace tab, search for the ktfmt plugin, and click the Install button.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ktlint\": {\n    \"name\": \"ktlint\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"kotlin\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://ktlint.github.io\",\n    \"source\": \"https://github.com/shyiko/ktlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An anti-bikeshedding Kotlin linter with built-in formatter.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"kube-hunter\": {\n    \"name\": \"kube-hunter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"kubernetes\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://aquasecurity.github.io/kube-hunter/\",\n    \"source\": \"https://github.com/aquasecurity/kube-hunter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Hunt for security weaknesses in Kubernetes clusters.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"kube-lint\": {\n    \"name\": \"kube-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"kubernetes\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/viglesiasce/kube-lint\",\n    \"source\": \"https://github.com/viglesiasce/kube-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A linter for Kubernetes resources with a customizable rule set. You define a list of rules that you would like to validate against your  resources and kube-lint will evaluate those rules against them.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"kube-linter\": {\n    \"name\": \"kube-linter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"kubernetes\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/stackrox/kube-linter\",\n    \"source\": \"https://github.com/stackrox/kube-linter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"KubeLinter is a static analysis tool that checks Kubernetes YAML files  and Helm charts to ensure the applications represented in them adhere to best practices.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"kube-score\": {\n    \"name\": \"kube-score\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"kubernetes\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://kube-score.com\",\n    \"source\": \"https://github.com/zegl/kube-score\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static code analysis of your Kubernetes object definitions.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"kubeconform\": {\n    \"name\": \"kubeconform\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"kubernetes\"\n    ],\n    \"licenses\": [\n      \"Apache 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/yannh/kubeconform\",\n    \"source\": \"https://github.com/yannh/kubeconform\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A fast Kubernetes manifests validator with support for custom resources.\\n\\nIt is inspired by, contains code from and is designed to stay close to [Kubeval](https://analysis-tools.dev/tool/kubeval),\\nbut with the following improvements:\\n* high performance: will validate & download manifests over multiple routines, caching downloaded files in memory\\n* configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities\\n* uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes.\\n\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Ensuring Kubernetes manifests validity & compliance - a tooling overview - Yann Hamon, Contentful\",\n        \"url\": \"https://youtu.be/YM7Wy_M7Lvw?t=657\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"kubelinter\": {\n    \"name\": \"KubeLinter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"kubernetes\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/stackrox/kube-linter\",\n    \"source\": \"https://github.com/stackrox/kube-linter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"KubeLinter: An open source linter for Kubernetes, from StackRox\",\n        \"url\": \"https://www.youtube.com/watch?v=KWX0sWojV_0\"\n      },\n      {\n        \"title\": \"Announcement blog post\",\n        \"url\": \"https://www.stackrox.com/post/2020/10/introducing-kubelinter-an-open-source-linter-for-kubernetes\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"kubeval\": {\n    \"name\": \"kubeval\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"kubernetes\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://kubeval.instrumenta.dev\",\n    \"source\": \"https://github.com/instrumenta/kubeval\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Validates your Kubernetes configuration files and supports multiple Kubernetes versions.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"lacheck\": {\n    \"name\": \"lacheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"latex\"\n    ],\n    \"licenses\": [\n      \"GPL\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.ctan.org/pkg/lacheck\",\n    \"source\": \"https://www.ctan.org/tex-archive/support/lacheck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for finding common mistakes in LaTeX documents.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"langlint\": {\n    \"name\": \"LangLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"python\",\n      \"rust\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"json\",\n      \"markdown\",\n      \"translation\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/HzaCode/Langlint\",\n    \"source\": \"https://github.com/HzaCode/Langlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Automated translation platform for code comments and docstrings across 20+ file types. Eliminates language barriers in international software collaboration. Supports 100+ language pairs with syntax protection. Integrates into CI/CD pipelines like Ruff. 10-20x faster with concurrent processing.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"languagetool\": {\n    \"name\": \"languagetool\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"writing\"\n    ],\n    \"licenses\": [\n      \"GNU Lesser General Public License v2.1\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://languagetool.org\",\n    \"source\": \"https://github.com/languagetool-org/languagetool\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Style and grammar checker for 25+ languages. It finds many errors that a simple spell checker cannot detect.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"larastan\": {\n    \"name\": \"larastan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [\n      \"laravel\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/larastan/larastan\",\n    \"source\": \"https://github.com/larastan/larastan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Adds static analysis to Laravel improving developer productivity and code quality. It is a wrapper around PHPStan.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"laser\": {\n    \"name\": \"laser\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU Affero General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/michaeledgar/laser\",\n    \"source\": \"https://github.com/michaeledgar/laser\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analysis and style linter for Ruby code.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ldra\": {\n    \"name\": \"LDRA\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://ldra.com\",\n    \"source\": null,\n    \"pricing\": \"https://ldra.com/register/\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"A tool suite including static analysis (TBVISION) to various standards including MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ & Custom Rules.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"lgtm\": {\n    \"name\": \"LGTM\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"python\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://lgtm.com/\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find security vulnerabilities, variants, and critical code quality issues using CodeQL queries over source code. Automatic PR code review; free for open source. Formerly semmle. It supports public Git repositories hosted on Bitbucket Cloud, GitHub.com, GitLab.com.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Welcoming Semmle to GitHub\",\n        \"url\": \"https://github.blog/2019-09-18-github-welcomes-semmle/\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"libvcs4j\": {\n    \"name\": \"LibVCS4j\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"support\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/uni-bremen-agst/libvcs4j\",\n    \"source\": \"https://github.com/uni-bremen-agst/libvcs4j\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Java library that allows existing tools to analyse the evolution of software systems by providing a common API for different version control systems and issue trackers.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"lint\": {\n    \"name\": \"lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dart\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/passsy/dart-lint\",\n    \"source\": \"https://github.com/passsy/dart-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An opinionated, community-driven set of lint rules for Dart and Flutter projects. Like pedantic but stricter\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"linter\": {\n    \"name\": \"linter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"scala\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/HairyFotr/linter\",\n    \"source\": \"https://github.com/HairyFotr/linter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter is a Scala static analysis compiler plugin which adds compile-time checks for various possible bugs, inefficiencies, and style problems.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"linter-for-dart\": {\n    \"name\": \"Linter for dart\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dart\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/dart-lang/linter\",\n    \"source\": \"https://github.com/dart-lang/linter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Style linter for Dart.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"linter-rust\": {\n    \"name\": \"linter-rust\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/AtomLinter/linter-rust\",\n    \"source\": \"https://github.com/AtomLinter/linter-rust\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linting your Rust-files in Atom, using rustc and cargo.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"lintian\": {\n    \"name\": \"lintian\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"package\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://wiki.debian.org/Lintian\",\n    \"source\": \"https://salsa.debian.org/lintian/lintian\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analysis tool for Debian packages.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"lintr\": {\n    \"name\": \"lintr\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"r\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jimhester/lintr\",\n    \"source\": \"https://github.com/jimhester/lintr\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static Code Analysis for R.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"linty-fresh\": {\n    \"name\": \"linty fresh\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/lyft/linty_fresh\",\n    \"source\": \"https://github.com/lyft/linty_fresh\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Parse lint errors and report them to Github as comments on a pull request.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"liquid-haskell\": {\n    \"name\": \"Liquid Haskell\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"haskell\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://ucsd-progsys.github.io/liquidhaskell-blog/\",\n    \"source\": \"https://github.com/ucsd-progsys/liquidhaskell\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Liquid Haskell is a refinement type checker for Haskell programs.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"lizard\": {\n    \"name\": \"lizard\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"lua\",\n      \"objectivec\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"rust\",\n      \"scala\",\n      \"swift\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/terryyin/lizard\",\n    \"source\": \"https://github.com/terryyin/lizard\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Lizard is an extensible Cyclomatic Complexity Analyzer for many programming languages  including C/C++ (doesn't require all the header files or Java imports).  It also does copy-paste detection (code clone detection/code duplicate detection) and many other forms of static code analysis. Counts lines of code without comments, CCN (cyclomatic complexity number), token count of functions, parameter count of functions.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"lll\": {\n    \"name\": \"lll\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/walle/lll\",\n    \"source\": \"https://github.com/walle/lll\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Report long lines.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"lockbud\": {\n    \"name\": \"lockbud\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/BurtonQin/lockbud\",\n    \"source\": \"https://github.com/BurtonQin/lockbud\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Statically detects Rust deadlocks bugs. It currently detects two common kinds of deadlock bugs: doublelock and locks in conflicting order. It will print bugs in JSON format together with the source code location and an explanation of each bug.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"lockfile-lint\": {\n    \"name\": \"lockfile-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"nodejs\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/lirantal/lockfile-lint\",\n    \"source\": \"https://github.com/lirantal/lockfile-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Lint an npm or yarn lockfile to analyze and detect security issues\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"luacheck\": {\n    \"name\": \"luacheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"lua\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/lunarmodules/luacheck\",\n    \"source\": \"https://github.com/lunarmodules/luacheck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for linting and static analysis of Lua code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"lualint\": {\n    \"name\": \"lualint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"lua\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/philips/lualint\",\n    \"source\": \"https://github.com/philips/lualint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"lualint performs luac-based static analysis of global variable usage in Lua source code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"luanalysis\": {\n    \"name\": \"Luanalysis\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"lua\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://plugins.jetbrains.com/plugin/14698-luanalysis\",\n    \"source\": \"https://github.com/Benjamin-Dobell/IntelliJ-Luanalysis\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An IDE for statically typed Lua development.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"lunasec\": {\n    \"name\": \"LunaSec\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache License Version 2.0\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://github.com/marketplace/lunatrace-by-lunasec/\",\n    \"source\": \"https://github.com/lunasec-io/lunasec\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Open Source AppSec platform that automatically notifies you the next time vulnerabilities like Log4Shell or node-ipc happen. Track your dependencies and builds in a centralized service.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mago\": {\n    \"name\": \"mago\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://mago.carthage.software\",\n    \"source\": \"https://github.com/carthage-software/mago\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Mago is a complete toolchain for PHP, written in Rust, designed from the ground up for maximum performance.\\n- ✨ A blazing-fast formatter that automatically formats your code according to PER-CS, ending style debates forever. - 🔎 An intelligent linter that catches stylistic issues, inconsistencies, and code smells before they become problems. - 🔬 A powerful static analyzer that finds type errors and logical bugs in your code without you ever having to run it. - 🛡️ A robust architectural guard that enforces dependency rules and structural conventions.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"malcat\": {\n    \"name\": \"Malcat\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"gui\"\n    ],\n    \"homepage\": \"https://malcat.fr/\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": {\n      \"free\": true\n    },\n    \"description\": \"Hexadecimal editor and disassembler for malware analysis and binary file inspection. Supports over 50 file formats and multiple CPU architectures (x86/x64, MIPS, .NET, Python, VB p-code). Features rapid analysis, embedded file extraction, Yara signature scanning, anomaly detection, and Python scripting. Designed for malware analysts, SOC operators, incident responders, and CTF players.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"maligned\": {\n    \"name\": \"maligned\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mdempsky/maligned\",\n    \"source\": \"https://github.com/mdempsky/maligned\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Detect structs that would take less memory if their fields were sorted.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"manalyze\": {\n    \"name\": \"Manalyze\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/JusticeRage/Manalyze\",\n    \"source\": \"https://github.com/JusticeRage/Manalyze\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analyzer, which checks portable executables for malicious content.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mariana-trench\": {\n    \"name\": \"Mariana Trench\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [\n      \"mobile\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://mariana-tren.ch/\",\n    \"source\": \"https://github.com/facebook/mariana-trench\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Our security focused static analysis tool for Android and Java applications. Mariana Trench analyzes Dalvik bytecode and is built to run fast on large codebases (10s of millions of lines of code). It can find vulnerabilities as code changes, before it ever lands in your repository.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"markdownlint\": {\n    \"name\": \"markdownlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"markdown\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/DavidAnson/markdownlint\",\n    \"source\": \"https://github.com/DavidAnson/markdownlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Node.js -based style checker and lint tool for Markdown/CommonMark files.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mate\": {\n    \"name\": \"MATE\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://galoisinc.github.io/MATE/\",\n    \"source\": \"https://github.com/GaloisInc/MATE\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A suite of tools for interactive program analysis with a focus on hunting for bugs in C and C++ code. MATE unifies application-specific and low-level vulnerability analysis using code property graphs (CPGs), enabling the discovery of highly application-specific vulnerabilities that depend on both implementation details and the high-level semantics of target C/C++ programs.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mbake\": {\n    \"name\": \"mbake\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [\n      \"make\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pypi.org/project/mbake/\",\n    \"source\": \"https://github.com/EbodShojaei/bake\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"mbake is a Makefile formatter and linter. It only took 50 years!\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mccabe\": {\n    \"name\": \"mccabe\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pypi.org/project/mccabe\",\n    \"source\": \"https://github.com/PyCQA/mccabe\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Check McCabe complexity.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mcsema\": {\n    \"name\": \"mcsema\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"AGPL-3.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/lifting-bits/mcsema\",\n    \"source\": \"https://github.com/lifting-bits/mcsema\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Framework for lifting x86, amd64, aarch64, sparc32, and sparc64 program binaries to LLVM bitcode. It translates (\\\"lifts\\\") executable binaries from native machine code to LLVM bitcode, which is very useful for performing program analysis methods.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mdformat\": {\n    \"name\": \"mdformat\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"markdown\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://mdformat.rtfd.io\",\n    \"source\": \"https://github.com/executablebooks/mdformat\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"CommonMark compliant Markdown formatter\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mdl\": {\n    \"name\": \"mdl\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"markdown\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mivok/markdownlint\",\n    \"source\": \"https://github.com/mivok/markdownlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool to check Markdown files and flag style issues.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mdsf\": {\n    \"name\": \"mdsf\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"markdown\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/hougesen/mdsf\",\n    \"source\": \"https://github.com/hougesen/mdsf\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Format markdown code blocks using your favorite code formatters.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mega-linter\": {\n    \"name\": \"Mega-Linter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dotnet\",\n      \"apex\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"clojure\",\n      \"coffeescript\",\n      \"dart\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"javascript\",\n      \"jsx\",\n      \"kotlin\",\n      \"lwc\",\n      \"lua\",\n      \"perl\",\n      \"php\",\n      \"powershell\",\n      \"python\",\n      \"r\",\n      \"raku\",\n      \"ruby\",\n      \"rust\",\n      \"scala\",\n      \"shell\",\n      \"sql\",\n      \"typescript\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"dotenv\",\n      \"ansible\",\n      \"arm\",\n      \"cloudformation\",\n      \"configfile\",\n      \"configmanagement\",\n      \"container\",\n      \"ci\",\n      \"css\",\n      \"dockerfile\",\n      \"gherkin\",\n      \"html\",\n      \"json\",\n      \"kubernetes\",\n      \"latex\",\n      \"markdown\",\n      \"nodejs\",\n      \"protobuf\",\n      \"puppet\",\n      \"terraform\",\n      \"vue\",\n      \"writing\",\n      \"xml\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://megalinter.io/\",\n    \"source\": \"https://github.com/nvuillam/mega-linter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Mega-Linter can handle any type of project thanks to its 70+ embedded Linters,\\n its advanced reporting, runnable on any CI system or locally,\\n with assisted installation and configuration, able to apply formatting and fixes\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Hands on - Improving code standards with mega linter\",\n        \"url\": \"https://www.youtube.com/watch?v=3xgTU1GhRvs\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"metadata-json-lint\": {\n    \"name\": \"metadata-json-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\",\n      \"puppet\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/voxpupuli/metadata-json-lint\",\n    \"source\": \"https://github.com/voxpupuli/metadata-json-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Tool to check the validity of Puppet metadata.json files.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"metricfu\": {\n    \"name\": \"MetricFu\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/metricfu/metric_fu\",\n    \"source\": \"https://github.com/metricfu/metric_fu\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"MetricFu is a set of tools to provide reports that show which parts of your code might need extra work.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"meziantou-analyzer\": {\n    \"name\": \"Meziantou.Analyzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/meziantou/Meziantou.Analyzer\",\n    \"source\": \"https://github.com/meziantou/Meziantou.Analyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Roslyn analyzer to enforce some good practices in C# in terms of design, usage, security, performance, and style.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mirai\": {\n    \"name\": \"MIRAI\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/facebookexperimental/MIRAI\",\n    \"source\": \"https://github.com/facebookexperimental/MIRAI\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"And abstract interpreter operating on Rust's mid-level intermediate language, and providing warnings based on taint analysis.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"miss-hit\": {\n    \"name\": \"MISS_HIT\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"matlab\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://misshit.org/\",\n    \"source\": \"https://github.com/florianschanda/miss_hit\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"MISS_HIT is a free, open-source code quality toolset for MATLAB, Simulink, and Octave. It includes MH Style (style checker and formatter), MH Metrics (complexity metrics), MH Lint (static analysis), MH Trace (requirements traceability), and MH Copyright (copyright management). Designed to work standalone without requiring MATLAB/Octave installation.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"misspell\": {\n    \"name\": \"misspell\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/client9/misspell\",\n    \"source\": \"https://github.com/client9/misspell\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds commonly misspelled English words.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"misspell-fixer\": {\n    \"name\": \"misspell-fixer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"writing\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/vlajos/misspell-fixer\",\n    \"source\": \"https://github.com/vlajos/misspell-fixer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Quick tool for fixing common misspellings, typos in source code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"misspelled-words-in-context\": {\n    \"name\": \"Misspelled Words In Context\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"writing\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://jwilk.net/software/mwic\",\n    \"source\": \"https://github.com/jwilk/mwic\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A spell-checker that groups possible misspellings and shows them in their contexts.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mlint\": {\n    \"name\": \"mlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"matlab\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.mathworks.com/help/matlab/ref/mlint.html\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Check MATLAB code files for possible problems.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mobb\": {\n    \"name\": \"Mobb\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"csharp\",\n      \"java\",\n      \"javascript\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://mobb.ai\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Mobb is a trusted, automatic vulnerability fixer that secures applications, reduces security backlogs,  and frees developers to focus on innovation. Mobb is free for open-source projects.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mondrian\": {\n    \"name\": \"Mondrian\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"CC-BY-SA-3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://trismegiste.github.io/Mondrian\",\n    \"source\": \"https://github.com/Trismegiste/Mondrian\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A set of static analysis and refactoring tools which use graph theory.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mopsa\": {\n    \"name\": \"MOPSA\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU Lesser General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://mopsa.lip6.fr\",\n    \"source\": \"https://gitlab.com/mopsa/mopsa-analyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analyzer designed to easily reuse abstract domains across widely different languages (such as C and Python).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"multilint\": {\n    \"name\": \"multilint\",\n    \"categories\": [\n      \"meta\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [\n      \"meta\"\n    ],\n    \"licenses\": [\n      \"ISC License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/adamchainz/multilint\",\n    \"source\": \"https://github.com/adamchainz/multilint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A wrapper around `flake8`, `isort` and `modernize`.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mypy\": {\n    \"name\": \"mypy\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.mypy-lang.org\",\n    \"source\": \"https://github.com/python/mypy\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static type checker that aims to combine the benefits of duck typing and static typing, frequently used with [MonkeyType](https://github.com/Instagram/MonkeyType).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Static type checking with mypy\",\n        \"url\": \"https://www.youtube.com/watch?v=9gNnhNxra3E\"\n      },\n      {\n        \"title\": \"Introduction to python typing + mypy (beginner - intermediate)\",\n        \"url\": \"https://www.youtube.com/watch?v=H5CnZQDKfhU\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": [\n      \"https://mypy-lang.org/examples.html\"\n    ],\n    \"wrapper\": null\n  },\n  \"mythril\": {\n    \"name\": \"mythril\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"smart-contracts\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ConsenSys/mythril\",\n    \"source\": \"https://github.com/ConsenSys/mythril\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A symbolic execution framework with batteries included, can be used to find and exploit vulnerabilities in smart contracts automatically.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"The Ether Wars: Exploits, counter exploits and honeypots - Bernhard Mueller, DEF CON 27 Conference\",\n        \"url\": \"https://www.youtube.com/watch?v=Qd9ubry-c_M\"\n      },\n      {\n        \"title\": \"Smashing Ethereum Smart Contracts for Fun and ACTUAL Profit - Bernhard Mueller\",\n        \"url\": \"https://www.youtube.com/watch?v=iqf6epACgds\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"mythx\": {\n    \"name\": \"MythX\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"smart-contracts\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://mythx.io\",\n    \"source\": null,\n    \"pricing\": \"https://mythx.io/plans/\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"MythX is an easy to use analysis platform which integrates several analysis methods like fuzzing, symbolic execution and static analysis to find vulnerabilities with high precision. It can be integrated with toolchains like Remix or VSCode or called from the command-line.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"What is MythX?\",\n        \"url\": \"https://www.youtube.com/watch?v=N-dAuqNztjA\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"nagelfar\": {\n    \"name\": \"Nagelfar\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"tcl\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL v2\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://sourceforge.net/projects/nagelfar\",\n    \"source\": \"https://sourceforge.net/p/nagelfar/code/ci/master/tree\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static syntax checker for Tcl.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"nakedret\": {\n    \"name\": \"nakedret\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/alexkohler/nakedret\",\n    \"source\": \"https://github.com/alexkohler/nakedret\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds naked returns.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"nargs\": {\n    \"name\": \"nargs\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/alexkohler/nargs\",\n    \"source\": \"https://github.com/alexkohler/nargs\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds unused arguments in function declarations.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"nauz-file-detector\": {\n    \"name\": \"Nauz File Detector\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/horsicq/Nauz-File-Detector\",\n    \"source\": \"https://github.com/horsicq/Nauz-File-Detector\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static Linker/Compiler/Tool detector for Windows, Linux and MacOS.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ndepend\": {\n    \"name\": \"NDepend\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.ndepend.com\",\n    \"source\": null,\n    \"pricing\": \"https://www.ndepend.com/purchase\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Measure, query and visualize your code and avoid unexpected issues, technical debt and complexity.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"net-analyzers\": {\n    \"name\": \".NET Analyzers\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/DotNetAnalyzers\",\n    \"source\": \"https://github.com/DotNetAnalyzers\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An organization for the development of analyzers (diagnostics and code fixes) using the .NET Compiler Platform.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"neurolint-cli\": {\n    \"name\": \"Neurolint-CLI\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://neurolint.dev\",\n    \"source\": \"https://github.com/Alcatecablee/Neurolint-CLI\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Deterministic code transformation tool using AST parsing and rule-based transformations. \\nAutomatically fixes 50+ issues including accessibility violations, hydration errors, \\nReact 19/Next.js 16 migrations, and configuration updates. Features 5-step fail-safe \\norchestration to ensure zero breaking changes. Specialized for React, Next.js, and TypeScript projects.\\n\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"CLI Documentation\",\n        \"url\": \"https://neurolint.dev\"\n      },\n      {\n        \"title\": \"GitHub Marketplace Action\",\n        \"url\": \"https://github.com/marketplace/actions/neurolint-deterministic-code-fixer\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"nimfmt\": {\n    \"name\": \"nimfmt\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"nim\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-3.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/FedericoCeratto/nimfmt\",\n    \"source\": \"https://github.com/FedericoCeratto/nimfmt\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Nim code formatter / linter / style checker\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"njsscan\": {\n    \"name\": \"njsscan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"nodejs\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"LGPL-2.1 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://opensecurity.in\",\n    \"source\": \"https://github.com/ajinabraham/njsscan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static application testing (SAST) tool that can find insecure code patterns in your node.js applications using simple pattern matcher from libsast and syntax-aware semantic code pattern search tool semgrep.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"nodejsscan\": {\n    \"name\": \"NodeJSScan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [\n      \"nodejs\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://opensecurity.in\",\n    \"source\": \"https://github.com/ajinabraham/NodeJsScan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static security code scanner for Node.js applications powered by libsast and semgrep that builds on the njsscan cli tool. It features a UI with various dashboards about an application's security status.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"nu-html-checker\": {\n    \"name\": \"Nu Html Checker\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\",\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://validator.github.io/validator/\",\n    \"source\": \"https://github.com/validator/validator\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Helps you catch problems in your HTML/CSS/SVG\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"nullaway\": {\n    \"name\": \"NullAway\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/uber/NullAway\",\n    \"source\": \"https://github.com/uber/NullAway\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Type-based null-pointer checker with low build-time overhead; an [Error Prone](http://errorprone.info/) plugin.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"oclint\": {\n    \"name\": \"oclint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"objectivec\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://oclint.org\",\n    \"source\": \"https://github.com/oclint/oclint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"oelint-adv\": {\n    \"name\": \"oelint-adv\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"embedded\"\n    ],\n    \"licenses\": [\n      \"BSD 2-Clause \\\"Simplified\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/priv-kweihmann/oelint-adv\",\n    \"source\": \"https://github.com/priv-kweihmann/oelint-adv\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter for bitbake recipes used in open-embedded and YOCTO\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"offensive-360\": {\n    \"name\": \"Offensive 360\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dotnet\",\n      \"asp\",\n      \"csharp\",\n      \"java\",\n      \"javascript\",\n      \"jsx\",\n      \"php\",\n      \"typescript\",\n      \"vbscript\",\n      \"vbasic\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"container\",\n      \"html\",\n      \"mobile\",\n      \"nodejs\",\n      \"phonegap\",\n      \"security\",\n      \"xml\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://offensive360.com/\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Commercial Static Code Analysis system doesn't require building the source code or pre-compilation.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"openrewrite\": {\n    \"name\": \"OpenRewrite\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"groovy\",\n      \"java\",\n      \"kotlin\",\n      \"python\",\n      \"sql\"\n    ],\n    \"other\": [\n      \"git\",\n      \"json\",\n      \"xml\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://docs.openrewrite.org/\",\n    \"source\": \"https://github.com/openrewrite/rewrite\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"OpenRewrite [fixes common static analysis issues](https://docs.openrewrite.org/running-recipes/popular-recipe-guides/common-static-analysis-issue-remediation)  reported through Sonar and other tools using a Maven and Gradle plugin or the Moderne CLI.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"openscap\": {\n    \"name\": \"OpenSCAP\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\"\n    ],\n    \"licenses\": [\n      \"LGPL-2.1 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.open-scap.org/\",\n    \"source\": \"https://github.com/OpenSCAP/openscap\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Suite of automated audit tools to examine the configuration and  known vulnerabilities following the NIST-certified Security  Content Automation Protocol (SCAP).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"openstaticanalyzer\": {\n    \"name\": \"OpenStaticAnalyzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"java\",\n      \"javascript\",\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"European Union Public Licence (EUPL) v1.2\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sed-inf-u-szeged/OpenStaticAnalyzer\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": {\n      \"free\": true,\n      \"oss\": true\n    },\n    \"description\": \"OpenStaticAnalyzer is a source code analyzer tool, which can perform deep static analysis of the source code of complex systems.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"osv-scanner\": {\n    \"name\": \"OSV-Scanner\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://osv.dev/\",\n    \"source\": \"https://github.com/google/osv-scanner\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Vulnerability scanner written in Go which uses the data provided by OSV.dev. Developed by Google to scan dependencies across multiple languages and package managers for known vulnerabilities. Supports container scanning, license scanning, and guided remediation. Works with lockfiles, SBOMs, and container images to identify security issues.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"oversecured\": {\n    \"name\": \"Oversecured\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"mobile\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://oversecured.com\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Enterprise vulnerability scanner for Android and iOS apps. It allows app owners and developers to secure each new version of a mobile app by integrating Oversecured into the development process.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"owasp-dependency-check\": {\n    \"name\": \"OWASP Dependency Check\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://owasp.org/www-project-dependency-check\",\n    \"source\": \"https://github.com/jeremylong/DependencyCheck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checks dependencies for known, publicly disclosed, vulnerabilities.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"owasp-noir\": {\n    \"name\": \"OWASP Noir\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://owasp-noir.github.io/noir/\",\n    \"source\": \"https://github.com/owasp-noir/noir\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Attack surface detector that identifies endpoints by static analysis.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"OWASP Project Noir\",\n        \"url\": \"https://owasp.org/www-project-noir/\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"oxc\": {\n    \"name\": \"oxc\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/web-infra-dev/oxc\",\n    \"source\": \"https://github.com/web-infra-dev/oxc\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The Oxidation Compiler is creating a suite of high-performance tools for the JavaScript / TypeScript language re-written in Rust.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": [\n      \"https://web-infra-dev.github.io/oxc/playground\"\n    ],\n    \"wrapper\": null\n  },\n  \"pa11y\": {\n    \"name\": \"Pa11y\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"LGPL-3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pa11y.org/\",\n    \"source\": \"https://github.com/pa11y/pa11y\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Automated accessibility testing tool that runs HTML CodeSniffer or axe-core from the command line. Supports CI/CD integration, multiple reporters, and testing against WCAG 2.1 AA standards.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"packj\": {\n    \"name\": \"packj\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"archive\"\n    ],\n    \"licenses\": [\n      \"AGPL-3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ossillate-inc/packj\",\n    \"source\": \"https://github.com/ossillate-inc/packj\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Packj (pronounced package) is a command line (CLI) tool to vet open-source software packages for \\\"risky\\\" attributes that make them vulnerable to supply chain attacks. This is the tool behind our large-scale security analysis platform Packj.dev that continuously vets packages and provides free reports.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"paprika\": {\n    \"name\": \"paprika\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"mobile\"\n    ],\n    \"licenses\": [\n      \"GNU Affero General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/GeoffreyHecht/paprika\",\n    \"source\": \"https://github.com/GeoffreyHecht/paprika\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A toolkit to detect some code smells in analyzed Android applications.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"parallel-lint\": {\n    \"name\": \"parallel-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/php-parallel-lint/PHP-Parallel-Lint\",\n    \"source\": \"https://github.com/php-parallel-lint/PHP-Parallel-Lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"This tool checks syntax of PHP files faster than serial check with a fancier output.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"parasoft\": {\n    \"name\": \"parasoft\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.parasoft.com/\",\n    \"source\": null,\n    \"pricing\": \"https://www.parasoft.com/contact/\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Automated Software Testing Solutions for unit-, API-, and web UI testing. Complies with MISRA, OWASP, and others.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"parker\": {\n    \"name\": \"Parker\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/katiefenn/parker\",\n    \"source\": \"https://github.com/katiefenn/parker\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Stylesheet analysis tool.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"parse\": {\n    \"name\": \"Parse\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/psecio/parse\",\n    \"source\": \"https://github.com/psecio/parse\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Static Security Scanner.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pascal-analyzer\": {\n    \"name\": \"Pascal Analyzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"delphi\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://peganza.com/products_pal.html\",\n    \"source\": null,\n    \"pricing\": \"https://peganza.com/orders.html\",\n    \"plans\": null,\n    \"description\": \"A static code analysis tool with numerous reports. A free _Lite_ version is available with limited reporting.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pascal-expert\": {\n    \"name\": \"Pascal Expert\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"delphi\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://peganza.com/products_pex.html\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"IDE plugin for code analysis. Includes a subset of Pascal Analyzer reporting capabilities and is available for Delphi versions 2007 and later.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pc-lint\": {\n    \"name\": \"PC-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pclintplus.com/\",\n    \"source\": null,\n    \"pricing\": \"https://pclintplus.com/pricing/\",\n    \"plans\": null,\n    \"description\": \"Static analysis for C/C++. Runs natively under Windows/Linux/MacOS. Analyzes code for virtually any platform, supporting C11/C18 and C++17.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pdepend\": {\n    \"name\": \"pdepend\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pdepend.org\",\n    \"source\": \"https://github.com/pdepend/pdepend\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Calculates software metrics like cyclomatic complexity for PHP code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pelusa\": {\n    \"name\": \"pelusa\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/codegram/pelusa\",\n    \"source\": \"https://github.com/codegram/pelusa\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analysis Lint-type tool to improve your OO Ruby code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"perl-analyzer\": {\n    \"name\": \"Perl::Analyzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"perl\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Artistic License (2.0)\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://technix.github.io/Perl-Analyzer/\",\n    \"source\": \"https://github.com/technix/Perl-Analyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Perl-Analyzer is a set of programs and modules that allow users to analyze and visualize Perl  codebases by providing information about namespaces and their relations, dependencies,  inheritance, and methods implemented, inherited, and redefined in packages,  as well as calls to methods from parent packages via SUPER. \",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"perl-critic\": {\n    \"name\": \"Perl::Critic\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"perl\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL v2\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://metacpan.org/pod/Perl::Critic\",\n    \"source\": \"https://metacpan.org/release/Perl-Critic/source/lib/Perl/Critic.pm\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Critique Perl source code for best-practices.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"perltidy\": {\n    \"name\": \"perltidy\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"perl\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-2.0 license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://perltidy.sourceforge.net/\",\n    \"source\": \"https://github.com/perltidy/perltidy\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Perltidy is a Perl script which indents and reformats Perl scripts to make them easier to read. \\nThe formatting can be controlled with command line parameters. The default parameter settings approximately follow the suggestions in the Perl Style Guide. \\nBesides reformatting scripts, Perltidy can be a great help in tracking down errors with missing or extra braces, parentheses, and square brackets because it is very good at localizing errors.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pfff\": {\n    \"name\": \"pfff\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"erlang\",\n      \"haskell\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"python\",\n      \"rust\"\n    ],\n    \"other\": [\n      \"css\",\n      \"html\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/facebookarchive/pfff/wiki/Main\",\n    \"source\": \"https://github.com/returntocorp/pfff\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Facebook's tools for code analysis, visualizations, or style-preserving source transformation for many languages.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pgspot\": {\n    \"name\": \"pgspot\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"PostgreSQL License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/timescale/pgspot\",\n    \"source\": \"https://github.com/timescale/pgspot\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Spot vulnerabilities in postgres extension scripts. Finds unsafe search_path usage and unsafe object creation in PostgreSQL extension scripts or any other PostgreSQL SQL code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phan\": {\n    \"name\": \"phan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/phan/phan/wiki\",\n    \"source\": \"https://github.com/etsy/phan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A modern static analyzer from etsy.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phasar\": {\n    \"name\": \"Phasar\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://phasar.org\",\n    \"source\": \"https://github.com/secure-software-engineering/phasar\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A LLVM-based static analysis framework which comes with a taint and type state analysis.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php-architecture-tester\": {\n    \"name\": \"PHP Architecture Tester\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/carlosas/phpat\",\n    \"source\": \"https://github.com/carlosas/phpat\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Easy to use architecture testing tool for PHP.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php-assumptions\": {\n    \"name\": \"PHP Assumptions\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/rskuipers/php-assumptions\",\n    \"source\": \"https://github.com/rskuipers/php-assumptions\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checks for weak assumptions.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php-codesniffer\": {\n    \"name\": \"PHP_CodeSniffer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pear.php.net/package/PHP_CodeSniffer\",\n    \"source\": \"https://github.com/squizlabs/PHP_CodeSniffer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Detects violations of a defined set of coding standards.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php-coding-standards-fixer\": {\n    \"name\": \"PHP Coding Standards Fixer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://cs.symfony.com\",\n    \"source\": \"https://github.com/FriendsOfPHP/PHP-CS-Fixer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Fixes your code according to standards like PSR-1, PSR-2, and the Symfony standard.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php-insights\": {\n    \"name\": \"PHP Insights\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/nunomaduro/phpinsights\",\n    \"source\": \"https://github.com/nunomaduro/phpinsights\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Instant PHP quality checks from your console. Analysis of code quality and coding style as well as overview of code architecture and its complexity.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php-inspections-ea-extended\": {\n    \"name\": \"Php Inspections (EA Extended)\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://plugins.jetbrains.com/plugin/7622-php-inspections-ea-extended-\",\n    \"source\": \"https://github.com/kalessil/phpinspectionsea\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Static Code Analyzer for PHP.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php-parser\": {\n    \"name\": \"PHP-Parser\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/nikic/PHP-Parser\",\n    \"source\": \"https://github.com/nikic/PHP-Parser\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A PHP parser written in PHP.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php-refactoring-browser\": {\n    \"name\": \"PHP Refactoring Browser\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://qafoolabs.github.io/php-refactoring-browser\",\n    \"source\": \"https://github.com/QafooLabs/php-refactoring-browser\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Refactoring helper.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php-semantic-versioning-checker\": {\n    \"name\": \"PHP Semantic Versioning Checker\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/tomzx/php-semver-checker\",\n    \"source\": \"https://github.com/tomzx/php-semver-checker\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Suggests a next version according to semantic versioning.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php-speller\": {\n    \"name\": \"php-speller\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mekras/php-speller\",\n    \"source\": \"https://github.com/mekras/php-speller\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"PHP spell check library.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php-token-reflection\": {\n    \"name\": \"PHP-Token-Reflection\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Andrewsville/PHP-Token-Reflection\",\n    \"source\": \"https://github.com/Andrewsville/PHP-Token-Reflection\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Library emulating the PHP internal reflection.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php7cc\": {\n    \"name\": \"php7cc\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sstalle/php7cc\",\n    \"source\": \"https://github.com/sstalle/php7cc\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"PHP 7 Compatibility Checker.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"php7mar\": {\n    \"name\": \"php7mar\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Alexia/php7mar\",\n    \"source\": \"https://github.com/Alexia/php7mar\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Assist developers in porting their code quickly to PHP 7.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phparkitect\": {\n    \"name\": \"PHPArkitect\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/phparkitect/arkitect\",\n    \"source\": \"https://github.com/phparkitect/arkitect\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"PHPArkitect helps you to keep your PHP codebase coherent and solid, by permitting to add some architectural constraint check to your workflow. You can express the constraint that you want to enforce, in simple and readable PHP code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"PUG Romagna - Testing Architectural Decisions with PHPArkitect (Italian)\",\n        \"url\": \"https://www.youtube.com/watch?v=fhRDZs82AbE\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpca\": {\n    \"name\": \"phpca\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/wapmorgan/PhpCodeAnalyzer\",\n    \"source\": \"https://github.com/wapmorgan/PhpCodeAnalyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds usage of non-built-in extensions.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpcpd\": {\n    \"name\": \"phpcpd\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sebastianbergmann/phpcpd\",\n    \"source\": \"https://github.com/sebastianbergmann/phpcpd\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Copy/Paste Detector for PHP code.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpdcd\": {\n    \"name\": \"phpdcd\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sebastianbergmann/phpdcd\",\n    \"source\": \"https://github.com/sebastianbergmann/phpdcd\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Dead Code Detector (DCD) for PHP code.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpdependencyanalysis\": {\n    \"name\": \"PhpDependencyAnalysis\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://mamuz.github.io/PhpDependencyAnalysis\",\n    \"source\": \"https://github.com/mamuz/PhpDependencyAnalysis\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Builds a dependency graph for a project.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpdeprecationdetector\": {\n    \"name\": \"PhpDeprecationDetector\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/wapmorgan/PhpDeprecationDetector\",\n    \"source\": \"https://github.com/wapmorgan/PhpDeprecationDetector\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Analyzer of PHP code to search issues with deprecated functionality in newer interpreter versions.  It finds removed objects (functions, variables, constants and ini-directives),  deprecated functions functionality, and usage of forbidden names or tricks (e.g. reserved identifiers in newer versions).\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpdoc-to-typehint\": {\n    \"name\": \"phpdoc-to-typehint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/dunglas/phpdoc-to-typehint\",\n    \"source\": \"https://github.com/dunglas/phpdoc-to-typehint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Add scalar type hints and return types to existing PHP projects using PHPDoc annotations.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpdocumentor\": {\n    \"name\": \"phpDocumentor\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.phpdoc.org\",\n    \"source\": \"https://github.com/phpDocumentor/phpDocumentor\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Analyzes PHP source code to generate documentation.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phploc\": {\n    \"name\": \"phploc\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sebastianbergmann/phploc\",\n    \"source\": \"https://github.com/sebastianbergmann/phploc\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for quickly measuring the size and analyzing the structure of a PHP project.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpmd\": {\n    \"name\": \"PHPMD\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://phpmd.org\",\n    \"source\": \"https://github.com/phpmd/phpmd\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds possible bugs in your code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpmetrics\": {\n    \"name\": \"PhpMetrics\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.phpmetrics.org\",\n    \"source\": \"https://github.com/phpmetrics/PhpMetrics\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Calculates and visualizes various code quality metrics.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpmnd\": {\n    \"name\": \"phpmnd\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/povils/phpmnd\",\n    \"source\": \"https://github.com/povils/phpmnd\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Helps to detect magic numbers.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpqa\": {\n    \"name\": \"PHPQA\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://edgedesigncz.github.io/phpqa\",\n    \"source\": \"https://github.com/EdgedesignCZ/phpqa\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpqa-jakzal\": {\n    \"name\": \"phpqa - jakzal\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jakzal/phpqa\",\n    \"source\": \"https://github.com/jakzal/phpqa\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Many tools for PHP static analysis in one container.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpqa-jmolivas\": {\n    \"name\": \"phpqa - jmolivas\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jmolivas/phpqa\",\n    \"source\": \"https://github.com/jmolivas/phpqa\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"PHPQA all-in-one Analyzer CLI tool.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpsa\": {\n    \"name\": \"phpsa\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ovr/phpsa\",\n    \"source\": \"https://github.com/ovr/phpsa\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analysis tool for PHP.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"phpstan\": {\n    \"name\": \"PHPStan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://phpstan.org\",\n    \"source\": \"https://github.com/phpstan/phpstan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"PHP Static Analysis Tool - discover bugs in your code without running it!\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Measure PHP Code Quality With Static Analysis Using PHPStan\",\n        \"url\": \"https://www.youtube.com/watch?v=OiS2xGVWEa0\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": [\n      \"https://phpstan.org/try\"\n    ],\n    \"wrapper\": null\n  },\n  \"pip-audit\": {\n    \"name\": \"pip-audit\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/pypa/pip-audit\",\n    \"source\": \"https://github.com/pypa/pip-audit\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Tool for scanning Python packages for known vulnerabilities. Developed by the Python Packaging Authority (PyPA) and supported by Trail of Bits and Google. Scans Python environments and requirements files to identify vulnerable packages and suggests remediation. Supports GitHub Actions, pre-commit hooks, and multiple vulnerability service integrations.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pixee\": {\n    \"name\": \"Pixee\",\n    \"categories\": [],\n    \"languages\": [\n      \"java\",\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://pixee.ai\",\n    \"source\": null,\n    \"pricing\": \"https://www.pixee.ai/pricing\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": false\n    },\n    \"description\": \"Pixeebot finds security and code quality issues in your code and creates merge-ready pull requests with recommended fixes.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"plato\": {\n    \"name\": \"plato\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/es-analysis/plato\",\n    \"source\": \"https://github.com/es-analysis/plato\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Visualize JavaScript source complexity.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pmd\": {\n    \"name\": \"PMD\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"apex\",\n      \"java\",\n      \"javascript\",\n      \"plsql\",\n      \"scala\",\n      \"visualforce\"\n    ],\n    \"other\": [\n      \"xml\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pmd.github.io\",\n    \"source\": \"https://github.com/pmd/pmd\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A source code analyzer for Java, Salesforce Apex, Javascript, PLSQL, XML, XSL and others.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"polymer-analyzer\": {\n    \"name\": \"Polymer-analyzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"BSD-3-Clause (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Polymer/tools/tree/master/packages/analyzer\",\n    \"source\": \"https://github.com/Polymer/tools/tree/master/packages/analyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analysis framework for Web Components.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"polyspace-bug-finder\": {\n    \"name\": \"Polyspace Bug Finder\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.mathworks.com/products/polyspace-bug-finder.html\",\n    \"source\": null,\n    \"pricing\": \"https://www.mathworks.com/company/aboutus/contact_us/req_quote.html\",\n    \"plans\": null,\n    \"description\": \"Identifies run-time errors, concurrency issues, security vulnerabilities, and other defects in C and C++ embedded software.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"polyspace-code-prover\": {\n    \"name\": \"Polyspace Code Prover\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.mathworks.com/products/polyspace-code-prover.html\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Provide code verification that proves the absence of overflow, divide-by-zero, out-of-bounds array access, and certain other run-time errors in C and C++ source code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"polyspace-for-ada\": {\n    \"name\": \"Polyspace for Ada\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ada\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.mathworks.com/products/polyspace-ada.html\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Provide code verification that proves the absence of overflow, divide-by-zero, out-of-bounds array access, and certain other run-time errors in source code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"portlint\": {\n    \"name\": \"portlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"buildtool\",\n      \"make\"\n    ],\n    \"licenses\": [\n      \"BSD License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.freebsd.org/cgi/man.cgi?query=portlint&sektion=1&manpath=FreeBSD+8.1-RELEASE+and+Ports\",\n    \"source\": \"https://www.freebsd.org/cgi/man.cgi?query=portlint&sektion=1&manpath=FreeBSD+8.1-RELEASE+and+Ports\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A verifier for FreeBSD and DragonFlyBSD port directories.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"postcss\": {\n    \"name\": \"PostCSS\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://postcss.org\",\n    \"source\": \"https://github.com/postcss/postcss\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for transforming styles with JS plugins. These plugins can lint your CSS, support variables and mixins, transpile future CSS syntax, inline images, and more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"prae\": {\n    \"name\": \"prae\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/teenjuna/prae\",\n    \"source\": \"https://github.com/teenjuna/prae\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Provides a convenient macro that allows you to generate type wrappers  that promise to always uphold arbitrary invariants that you specified. \",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pre-commit\": {\n    \"name\": \"pre-commit\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pre-commit.com\",\n    \"source\": \"https://github.com/pre-commit/pre-commit\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A framework for managing and maintaining multi-language pre-commit hooks.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"prealloc\": {\n    \"name\": \"prealloc\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/alexkohler/prealloc\",\n    \"source\": \"https://github.com/alexkohler/prealloc\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Finds slice declarations that could potentially be preallocated.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"precaution\": {\n    \"name\": \"Precaution\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\",\n      \"java\",\n      \"python\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Business Source License 1.1\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://www.securesauce.dev/\",\n    \"source\": \"https://github.com/securesauce/precli\",\n    \"pricing\": \"https://www.securesauce.dev/\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": true\n    },\n    \"description\": \"Precaution is a static analysis security tool (SAST) designed to find potentially critical vulnerabilities in source code prior to production. It is available as a CLI, GitHub Action, and GitHub App.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Introducing Precaution\",\n        \"url\": \"https://blog.securesauce.dev/introducing-precaution\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"prettier\": {\n    \"name\": \"Prettier\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"html\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://prettier.io\",\n    \"source\": \"https://github.com/prettier/prettier\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An opinionated code formatter.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Code Formatting with Prettier in Visual Studio Code\",\n        \"url\": \"https://www.youtube.com/watch?v=h3PJjP0nE98\"\n      },\n      {\n        \"title\": \"VSCode ESLint, Prettier & Airbnb Style Guide Setup\",\n        \"url\": \"https://www.youtube.com/watch?v=SydnKbGc7W8\"\n      }\n    ],\n    \"reviews\": [\n      \"https://plugins.jetbrains.com/plugin/10456-prettier/reviews\",\n      \"https://stackshare.io/prettier\",\n      \"https://www.producthunt.com/products/prettier/reviews\"\n    ],\n    \"demos\": [\n      \"https://prettier.io/playground\"\n    ],\n    \"wrapper\": null\n  },\n  \"primitive-erlang-security-tool-pest\": {\n    \"name\": \"Primitive Erlang Security Tool (PEST)\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"erlang\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/okeuday/pest\",\n    \"source\": \"https://github.com/okeuday/pest\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool to do a basic scan of Erlang source code and report any function calls that may cause Erlang source code to be insecure.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"progpilot\": {\n    \"name\": \"Progpilot\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/designsecurity/progpilot\",\n    \"source\": \"https://github.com/designsecurity/progpilot\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analysis tool for security purposes.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"project-wallace-css-analyzer\": {\n    \"name\": \"Project Wallace CSS Analyzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.projectwallace.com\",\n    \"source\": \"https://github.com/projectwallace/css-analyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Analytics for CSS, part of [Project Wallace](https://www.projectwallace.com).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"promformat\": {\n    \"name\": \"promformat\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"prometheus\"\n    ],\n    \"licenses\": [\n      \"GPL-3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/facetoe/promformat\",\n    \"source\": \"https://github.com/facetoe/promformat\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Promformat is a PromQL formatter written in Python.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"promval\": {\n    \"name\": \"promval\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"prometheus\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/facetoe/promval\",\n    \"source\": \"https://github.com/facetoe/promval\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"PromQL validator written in Python. It can be used to validate that PromQL expressions are written as expected.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pronto\": {\n    \"name\": \"Pronto\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"elixir\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"ruby\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/prontolabs/pronto\",\n    \"source\": \"https://github.com/prontolabs/pronto\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Quick automated code review of your changes. Supports more than 40 runners for various languages, including Clang, Elixir, JavaScript, PHP, Ruby and more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"proselint\": {\n    \"name\": \"proselint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"writing\"\n    ],\n    \"licenses\": [\n      \"BSD-3-Clause\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/amperser/proselint\",\n    \"source\": \"https://github.com/amperser/proselint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A linter for English prose with a focus on writing style instead of grammar.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"prospector\": {\n    \"name\": \"prospector\",\n    \"categories\": [\n      \"meta\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [\n      \"meta\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/PyCQA/prospector\",\n    \"source\": \"https://github.com/PyCQA/prospector\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A wrapper around `pylint`, `pep8`, `mccabe` and others.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"protolint\": {\n    \"name\": \"protolint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"protobuf\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/yoheimuta/protolint\",\n    \"source\": \"https://github.com/yoheimuta/protolint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Pluggable linter and fixer to enforce Protocol Buffer style and conventions.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"prusti\": {\n    \"name\": \"Prusti\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.pm.inf.ethz.ch/research/prusti.html\",\n    \"source\": \"https://github.com/viperproject/prusti-dev\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static verifier for Rust, based on the Viper verification infrastructure. By default Prusti verifies absence of panics by proving that statements such as unreachable!() and panic!() are unreachable.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"psalm\": {\n    \"name\": \"Psalm\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://psalm.dev\",\n    \"source\": \"https://github.com/vimeo/psalm\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analysis tool for finding type errors in PHP applications.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Try it Tuesday - PHP Static Analysis Tool Psalm\",\n        \"url\": \"https://www.youtube.com/watch?v=ZxXw5Fkp9R8\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": [\n      \"https://psalm.dev/r/dcb13e702f\"\n    ],\n    \"wrapper\": null\n  },\n  \"pt-application-inspector\": {\n    \"name\": \"PT Application Inspector\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.ptsecurity.com\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Identifies code flaws and detects vulnerabilities to prevent web attacks. Demonstrates remote code execution by presenting possible exploits.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Introduction video\",\n        \"url\": \"https://www.youtube.com/watch?v=gtFH6tV2dlM\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pt-pm\": {\n    \"name\": \"PT.PM\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"plsql\",\n      \"tsql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/PositiveTechnologies/PT.PM\",\n    \"source\": \"https://github.com/PositiveTechnologies/PT.PM\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An engine for searching patterns in the source code, based on Unified AST or UST. At present time C#, Java, PHP, PL/SQL, T-SQL, and JavaScript are supported. Patterns can be described within the code or using a DSL.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pullrequest\": {\n    \"name\": \"PullRequest\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.hackerone.com/product/code\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Code review as a service with built-in static analysis.  Increase velocity and reduce technical debt through quality code review by expert engineers backed by best-in-class automation.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"puma-scan\": {\n    \"name\": \"Puma Scan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Mozilla Public License 2.0\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://pumasecurity.io\",\n    \"source\": \"https://github.com/pumasecurity/puma-scan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Puma Scan provides real time secure code analysis for common vulnerabilities (XSS, SQLi, CSRF, LDAPi, crypto, deserialization, etc.) as development teams write code in Visual Studio.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"puppet-lint\": {\n    \"name\": \"Puppet Lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/rodjek/puppet-lint\",\n    \"source\": \"https://github.com/rodjek/puppet-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Check that your Puppet manifests conform to the style guide.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pure\": {\n    \"name\": \"pure\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"archive\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ronomon/pure\",\n    \"source\": \"https://github.com/ronomon/pure\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Pure is a static analysis file format checker that checks ZIP files for dangerous compression ratios, spec deviations, malicious archive signatures, mismatching local and central directory headers, ambiguous UTF-8 filenames, directory and symlink traversals, invalid MS-DOS dates, overlapping headers, overflow, underflow,  sparseness, accidental buffer bleeds etc.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"putout\": {\n    \"name\": \"Putout\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"jsx\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"css\",\n      \"json\",\n      \"markdown\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/coderaiser/putout\",\n    \"source\": \"https://github.com/coderaiser/putout\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Pluggable and configurable code transformer with built-in eslint, babel plugins support for js, jsx typescript, flow, markdown, yaml and json.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pvs-studio\": {\n    \"name\": \"PVS-Studio\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://pvs-studio.com\",\n    \"source\": null,\n    \"pricing\": \"https://pvs-studio.com/en/order/license/\",\n    \"plans\": null,\n    \"description\": \"A ([conditionally free](https://pvs-studio.com/en/order/open-source-license) for FOSS and individual developers) static analysis of C, C++, C# and Java code. For advertising purposes [you can propose a large FOSS project for analysis by PVS employees](https://github.com/viva64/pvs-studio-check-list). Supports CWE mapping, OWASP ASVS, MISRA, AUTOSAR and SEI CERT coding standards.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"PVS-Studio is now in Compiler Explorer!\",\n        \"url\": \"https://www.youtube.com/watch?v=hw5npZqB3b8\"\n      },\n      {\n        \"title\": \"PVS-Studio in 2019\",\n        \"url\": \"https://www.youtube.com/watch?v=FkfMGqxIR-I\"\n      },\n      {\n        \"title\": \"Static Analysis in C++ (mostly about PVS-Studio)\",\n        \"url\": \"https://www.youtube.com/watch?v=vYW6TOwFK2M\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.g2.com/products/pvs-studio/reviews\",\n      \"https://www.gartner.com/reviews/market/application-security-testing/vendor/pvs-studio/product/pvs-studio\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"py-find-injection\": {\n    \"name\": \"py-find-injection\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/uber/py-find-injection\",\n    \"source\": \"https://github.com/uber/py-find-injection\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find SQL injection vulnerabilities in Python code.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pyanalyze\": {\n    \"name\": \"pyanalyze\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pyanalyze.readthedocs.io/en/latest/\",\n    \"source\": \"https://github.com/quora/pyanalyze\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for programmatically detecting common mistakes in Python code, such as references to undefined variables and type errors. It can be extended to add additional rules and perform checks specific to particular functions.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pycodestyle\": {\n    \"name\": \"pycodestyle\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pycodestyle.pycqa.org/en/latest\",\n    \"source\": \"https://github.com/PyCQA/pycodestyle\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"(Formerly `pep8`) Check Python code against some of the style conventions in PEP 8.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pydocstyle\": {\n    \"name\": \"pydocstyle\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.pydocstyle.org\",\n    \"source\": \"https://github.com/PyCQA/pydocstyle\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Check compliance with Python docstring conventions.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pyflakes\": {\n    \"name\": \"pyflakes\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pypi.org/project/pyflakes\",\n    \"source\": \"https://github.com/pyflakes/pyflakes\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Check Python source files for errors.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pylama\": {\n    \"name\": \"pylama\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"python\"\n    ],\n    \"other\": [\n      \"meta\"\n    ],\n    \"licenses\": [\n      \"LGPL-3.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://klen.github.io/pylama/\",\n    \"source\": \"https://github.com/klen/pylama\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Code audit tool for Python and JavaScript. Wraps pycodestyle, pydocstyle, PyFlakes, Mccabe, Pylint, and more\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pylint\": {\n    \"name\": \"pylint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://pylint.pycqa.org/en/latest\",\n    \"source\": \"https://github.com/PyCQA/pylint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Looks for programming errors, helps enforcing a coding standard and sniffs for some code smells. It additionally includes `pyreverse` (an UML diagram generator) and `symilar` (a similarities checker).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Pylint Tutorial – How to Write Clean Python\",\n        \"url\": \"https://www.youtube.com/watch?v=fFY5103p5-c\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pylyzers\": {\n    \"name\": \"pylyzers\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://mtshiba.github.io/pylyzer/\",\n    \"source\": \"https://github.com/mtshiba/pylyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static code analyzer / language server for Python, written in Rust, focused on type checking and readable output.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pyra\": {\n    \"name\": \"Pyra\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MPL-2.0 license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/spangea/Pyra\",\n    \"source\": \"https://github.com/spangea/Pyra\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Pyra is a high-level linter static analyzer for data science applications written in Python, that helps developers identify potential issues in their data science code written in Python, as an extension of [Lyra](https://github.com/caterinaurban/Lyra).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Demo\",\n        \"url\": \"https://www.youtube.com/watch?v=D-AsyuhsTyo\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pyre-check\": {\n    \"name\": \"pyre-check\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pyre-check.org\",\n    \"source\": \"https://github.com/facebook/pyre-check\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A fast, scalable type checker for large Python codebases. Pyre-check has been superseded by Pyrefly, its next iteration.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pyrefly\": {\n    \"name\": \"pyrefly\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pyrefly.org/\",\n    \"source\": \"https://github.com/facebook/pyrefly\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A fast, incremental type checker and language server for Python, providing IDE features like code navigation, semantic highlighting, and code completion.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pyright\": {\n    \"name\": \"pyright\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Microsoft/pyright\",\n    \"source\": \"https://github.com/Microsoft/pyright\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static type checker for Python, created to address gaps in existing tools like mypy.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pyroma\": {\n    \"name\": \"pyroma\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/regebro/pyroma\",\n    \"source\": \"https://github.com/regebro/pyroma\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Rate how well a Python project complies with the best practices of the Python packaging ecosystem, and list issues that could be improved.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pysa\": {\n    \"name\": \"Pysa\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pyre-check.org/docs/pysa-basics.html\",\n    \"source\": \"https://github.com/facebook/pyre-check\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool based on Facebook's pyre-check to identify potential security issues in Python code identified with taint analysis.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Workshop: Graham Bleaney - Pysa to Identify Python Vulnerabilities - DEF CON 28SM AppSec Village\",\n        \"url\": \"https://www.youtube.com/watch?v=8I3zlvtpOww\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pyt-python-taint\": {\n    \"name\": \"PyT - Python Taint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/python-security/pyt\",\n    \"source\": \"https://github.com/python-security/pyt\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analysis tool for detecting security vulnerabilities in Python web applications.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pytype\": {\n    \"name\": \"pytype\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://google.github.io/pytype\",\n    \"source\": \"https://github.com/google/pytype\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static type analyzer for Python code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"pyupgrade\": {\n    \"name\": \"pyupgrade\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pypi.org/project/pyupgrade-docs/\",\n    \"source\": \"https://github.com/asottile/pyupgrade\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Python linter comparison 2022.\",\n        \"url\": \"https://inventwithpython.com/blog/2022/11/19/python-linter-comparison-2022-pylint-vs-pyflakes-vs-flake8-vs-autopep8-vs-bandit-vs-prospector-vs-pylama-vs-pyroma-vs-black-vs-mypy-vs-radon-vs-mccabe/\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"qafoo-quality-analyzer\": {\n    \"name\": \"Qafoo Quality Analyzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU Affero General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Qafoo/QualityAnalyzer\",\n    \"source\": \"https://github.com/Qafoo/QualityAnalyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Visualizes metrics and source code.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"qark\": {\n    \"name\": \"qark\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"mobile\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/linkedin/qark\",\n    \"source\": \"https://github.com/linkedin/qark\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Tool to look for several security related Android application vulnerabilities.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"quality\": {\n    \"name\": \"quality\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/apiology/quality\",\n    \"source\": \"https://github.com/apiology/quality\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Runs quality checks on your code using community tools, and makes sure your numbers don't get any worse over time.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"qualys-container-security\": {\n    \"name\": \"Qualys Container Security\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.qualys.com/apps/container-security\",\n    \"source\": null,\n    \"pricing\": \"https://www.qualys.com/free-trial/\",\n    \"plans\": null,\n    \"description\": \"Container native application protection to provide visibility and control of containerized applications.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"quantifiedcode\": {\n    \"name\": \"QuantifiedCode\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://github.com/quantifiedcode/quantifiedcode\",\n    \"source\": \"https://github.com/quantifiedcode/quantifiedcode\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Automated code review & repair. It helps you to keep track of issues and metrics in your software projects, and can be easily extended to support new types of analyses.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"querly\": {\n    \"name\": \"Querly\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/soutaro/querly\",\n    \"source\": \"https://github.com/soutaro/querly\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Pattern Based Checking Tool for Ruby.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"qulice\": {\n    \"name\": \"qulice\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.qulice.com\",\n    \"source\": \"https://github.com/teamed/qulice\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Combines a few (pre-configured) static analysis tools (checkstyle, PMD, Findbugs, ...).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"qwiet-ai\": {\n    \"name\": \"Qwiet AI\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"jsp\",\n      \"python\",\n      \"scala\"\n    ],\n    \"other\": [\n      \"configmanagement\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://qwiet.ai/\",\n    \"source\": null,\n    \"pricing\": \"https://www.shiftleft.io/pricing\",\n    \"plans\": null,\n    \"description\": \"Identify vulnerabilities that are unique to your code base before they reach production. Leverages the Code Property Graph (CPG) to run its analyses concurrently in a single graph of graphs. Automatically finds business logic flaws in dev like hardcoded secrets and logic bombs\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Securing Every Pull Request with ShiftLeft\",\n        \"url\": \"https://vimeo.com/383381584\"\n      },\n      {\n        \"title\": \"ShiftLeft Intro\",\n        \"url\": \"https://vimeo.com/233423863\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"r-language-server\": {\n    \"name\": \"R Language Server\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"r\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT + file LICENSE\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/REditorSupport/languageserver/\",\n    \"source\": \"https://github.com/REditorSupport/languageserver/\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Provides code completion, refactoring, folding, diagnostics (with lintr), and more for R.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"radon\": {\n    \"name\": \"radon\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://radon.readthedocs.io/en/latest\",\n    \"source\": \"https://github.com/rubik/radon\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Python tool that computes various metrics from the source code.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"railroader\": {\n    \"name\": \"Railroader\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://railroader.org\",\n    \"source\": \"https://github.com/david-a-wheeler/railroader\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An open source static analysis security vulnerability scanner for Ruby on Rails applications.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rails-best-practices\": {\n    \"name\": \"rails_best_practices\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://rails-bestpractices.com\",\n    \"source\": \"https://github.com/flyerhzm/rails_best_practices\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A code metric tool for Rails projects\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rco\": {\n    \"name\": \"rco\",\n    \"categories\": [\n      \"performance\"\n    ],\n    \"languages\": [\n      \"r\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-3\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://jcrodriguez1989.github.io/rco/\",\n    \"source\": \"https://github.com/jcrodriguez1989/rco\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Performance optimizer for R code (with GUI).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rector\": {\n    \"name\": \"rector\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://getrector.org\",\n    \"source\": \"https://github.com/rectorphp/rector\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Instant Upgrades and Automated Refactoring of any PHP 5.3+ code. It upgrades your code for PHP 7.4, 8.0 and beyond. Rector promises a low false-positive rate because it looks for narrowly defined AST (abstract syntax tree) patterns.  The main use-case are tackling technical debt in your legacy code and removing dead code. Rector provides a set of special rules for Symfony, Doctrine, PHPUnit, and many more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Rector: Install & Setup \",\n        \"url\": \"https://www.youtube.com/watch?v=_Uk95vG3ezQ\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": [\n      \"https://getrector.com/demo\"\n    ],\n    \"wrapper\": null\n  },\n  \"redex\": {\n    \"name\": \"redex\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"mobile\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://fbredex.com\",\n    \"source\": \"https://github.com/facebook/redex\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Redex provides a framework for reading, writing, and analyzing .dex files, and a set of optimization passes  that use this framework to improve the bytecode. An APK optimized by Redex should be smaller and faster.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"droidcon SF 2017 - Redex, Your Build, And You\",\n        \"url\": \"https://www.youtube.com/watch?v=vtxJvJj6gSE\"\n      },\n      {\n        \"title\": \"Optimizing Android bytecode with ReDex\",\n        \"url\": \"https://engineering.fb.com/android/optimizing-android-bytecode-with-redex/\"\n      },\n      {\n        \"title\": \"\",\n        \"url\": \"https://www.youtube.com/watch?v=h_Gkl5eAdc4\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"reek\": {\n    \"name\": \"reek\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/troessner/reek\",\n    \"source\": \"https://github.com/troessner/reek\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Code smell detector for Ruby.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"refactorfirst\": {\n    \"name\": \"RefactorFirst\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"support\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jimbethancourt/RefactorFirst\",\n    \"source\": \"https://github.com/jimbethancourt/RefactorFirst\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Identifies and prioritizes God Classes and Highly Coupled classes in Java codebases you should refactor first.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"refactoring-essentials\": {\n    \"name\": \"Refactoring Essentials\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\",\n      \"vbnet\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.RefactoringEssentialsforVisualStudio\",\n    \"source\": \"https://github.com/icsharpcode/RefactoringEssentials\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The free Visual Studio 2015 extension for C# and VB.NET refactorings, including code best practice analyzers.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"reflection\": {\n    \"name\": \"Reflection\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/phpDocumentor/Reflection\",\n    \"source\": \"https://github.com/phpDocumentor/Reflection\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Reflection library to do Static Analysis for PHP Projects\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"refurb\": {\n    \"name\": \"refurb\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/dosisod/refurb\",\n    \"source\": \"https://github.com/dosisod/refurb\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for refurbishing and modernizing Python codebases. Refurb is heavily inspired by clippy, the built-in linter for Rust.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"regal\": {\n    \"name\": \"Regal\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rego\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/styrainc/regal\",\n    \"source\": \"https://github.com/styrainc/regal\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Regal is a linter for the policy language Rego. Regal aims to catch bugs and mistakes in policy code, while at the same time helping people learn the language, best practices and idiomatic constructs.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Guarding the Guardrails — Introducing Regal, the Rego Linter\",\n        \"url\": \"https://www.styra.com/blog/guarding-the-guardrails-introducing-regal-the-rego-linter\"\n      },\n      {\n        \"title\": \"Regal the Rego Linter, CNCF London meetup, June 2023 (video)\",\n        \"url\": \"https://www.youtube.com/watch?v=Xx8npd2TQJ0&t=2567s\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"relint\": {\n    \"name\": \"relint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dotnet\",\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"javascript\",\n      \"jsx\",\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/codingjoe/relint\",\n    \"source\": \"https://github.com/codingjoe/relint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static file linter that allows you to write custom rules using regular expressions (RegEx).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"remark-lint\": {\n    \"name\": \"remark-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"markdown\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://remark.js.org\",\n    \"source\": \"https://github.com/remarkjs/remark-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Pluggable Markdown code style linter written in JavaScript.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"resharper\": {\n    \"name\": \"ReSharper\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"asp\",\n      \"csharp\",\n      \"javascript\",\n      \"typescript\",\n      \"vbnet\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.jetbrains.com/resharper\",\n    \"source\": null,\n    \"pricing\": \"https://www.jetbrains.com/buy\",\n    \"plans\": null,\n    \"description\": \"Extends Visual Studio with on-the-fly code inspections for C#, VB.NET, ASP.NET, JavaScript, TypeScript and other technologies.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"retire-js\": {\n    \"name\": \"retire.js\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://retirejs.github.io/retire.js\",\n    \"source\": \"https://github.com/RetireJS/retire.js\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Scanner detecting the use of JavaScript libraries with known vulnerabilities.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rev-dep\": {\n    \"name\": \"Rev-dep\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"jsx\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jayu/rev-dep\",\n    \"source\": \"https://github.com/jayu/rev-dep\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Dependency analysis and optimization toolkit for modern JavaScript and TypeScript projects. Trace imports, identify circular dependencies, find unused code, clean node modules.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Install via NPM\",\n        \"url\": \"https://www.npmjs.com/package/rev-dep\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"reviewdog\": {\n    \"name\": \"Reviewdog\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/haya14busa/reviewdog\",\n    \"source\": \"https://github.com/haya14busa/reviewdog\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for posting review comments from any linter in any code hosting service.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"revive\": {\n    \"name\": \"revive\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://revive.run\",\n    \"source\": \"https://github.com/mgechev/revive\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Fast, configurable, extensible, flexible, and beautiful linter for Go. Drop-in replacement of golint.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rhabdomancer\": {\n    \"name\": \"rhabdomancer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://crates.io/crates/rhabdomancer\",\n    \"source\": \"https://github.com/0xdea/rhabdomancer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"IDA Pro headless plugin that locates calls to potentially insecure API functions in a binary file.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Streamlining Vulnerability Research with the idalib Rust Bindings for IDA 9.2\",\n        \"url\": \"https://hex-rays.com/blog/streamlining-vulnerability-research-idalib-rust-bindings\"\n      },\n      {\n        \"title\": \"Streamlining vulnerability research with IDA Pro and Rust\",\n        \"url\": \"https://hnsecurity.it/blog/streamlining-vulnerability-research-with-ida-pro-and-rust\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rips\": {\n    \"name\": \"RIPS\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\",\n      \"php\"\n    ],\n    \"other\": [\n      \"nodejs\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.ripstech.com\",\n    \"source\": null,\n    \"pricing\": \"https://sonarsource.com/plans-and-pricing/\",\n    \"plans\": null,\n    \"description\": \"A static source code analyser for vulnerabilities in PHP scripts.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"roodi\": {\n    \"name\": \"Roodi\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/roodi/roodi\",\n    \"source\": \"https://github.com/roodi/roodi\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Roodi stands for Ruby Object Oriented Design Inferometer. It parses your Ruby code and warns you about design issues you have based on the checks that it has configured.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"roslyn-analyzers\": {\n    \"name\": \"Roslyn Analyzers\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dotnet\",\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/dotnet/roslyn-analyzers\",\n    \"source\": \"https://github.com/dotnet/roslyn-analyzers\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Roslyn-based implementation of FxCop analyzers.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"roslyn-security-guard\": {\n    \"name\": \"Roslyn Security Guard\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\",\n      \"vbnet\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU Lesser General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://security-code-scan.github.io\",\n    \"source\": \"https://github.com/security-code-scan/security-code-scan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Project that focuses on the identification of potential vulnerabilities such as SQL injection, cross-site scripting (XSS), CSRF, cryptography weaknesses, hardcoded passwords and many more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"roslynator\": {\n    \"name\": \"Roslynator\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/JosefPihrt/Roslynator\",\n    \"source\": \"https://github.com/JosefPihrt/Roslynator\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A collection of 190+ analyzers and 190+ refactorings for C#, powered by Roslyn.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rpmlint\": {\n    \"name\": \"rpmlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"package\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/rpm-software-management/rpmlint\",\n    \"source\": \"https://github.com/rpm-software-management/rpmlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Tool for checking common errors in rpm packages.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rslint\": {\n    \"name\": \"RSLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://rslint.org/\",\n    \"source\": \"https://github.com/RDambrosio016/RSLint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A (WIP) JavaScript linter written in Rust designed to be as fast as possible, customizable, and easy to use.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rubocop\": {\n    \"name\": \"RuboCop\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://docs.rubocop.org/rubocop\",\n    \"source\": \"https://github.com/rubocop-hq/rubocop\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Ruby static code analyzer, based on the community Ruby style guide.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Ruby Code Linting with RuboCop\",\n        \"url\": \"https://www.youtube.com/watch?v=sfOGjcMVQ9U\"\n      }\n    ],\n    \"reviews\": [\n      \"https://stackshare.io/rubocop\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rubrowser\": {\n    \"name\": \"Rubrowser\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/blazeeboy/rubrowser\",\n    \"source\": \"https://github.com/blazeeboy/rubrowser\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Ruby classes interactive dependency graph generator.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ruby-lint\": {\n    \"name\": \"ruby-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Mozilla Public License, version 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://gitlab.com/yorickpeterse/ruby-lint\",\n    \"source\": \"https://gitlab.com/yorickpeterse/ruby-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static code analysis for Ruby.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rubycritic\": {\n    \"name\": \"rubycritic\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/whitesmith/rubycritic\",\n    \"source\": \"https://github.com/whitesmith/rubycritic\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Ruby code quality reporter.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rudra\": {\n    \"name\": \"Rudra\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sslab-gatech/Rudra\",\n    \"source\": \"https://github.com/sslab-gatech/Rudra\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Rust Memory Safety & Undefined Behavior Detection. It is capable of analyzing single Rust packages as well as all the packages on crates.io.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ruff\": {\n    \"name\": \"ruff\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://astral.sh/ruff\",\n    \"source\": \"https://github.com/charliermarsh/ruff\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Fast Python linter, written in Rust. 10-100x faster than existing linters. Compatible with Python 3.10. Supports file watcher.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Python tooling could be much, much faster (announcement)\",\n        \"url\": \"https://notes.crmarsh.com/python-tooling-could-be-much-much-faster\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rufo\": {\n    \"name\": \"rufo\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ruby-formatter/rufo\",\n    \"source\": \"https://github.com/ruby-formatter/rufo\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An opinionated ruby formatter, intended to be used via the command line as a text-editor plugin, to autoformat files on save or on demand.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rust-analyzer\": {\n    \"name\": \"rust-analyzer\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://rust-analyzer.github.io\",\n    \"source\": \"https://github.com/rust-analyzer/rust-analyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Supports functionality such as 'goto definition', type inference, symbol search, reformatting, and code completion, and enables renaming and refactorings.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rust-audit\": {\n    \"name\": \"rust-audit\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Shnatsel/rust-audit\",\n    \"source\": \"https://github.com/Shnatsel/rust-audit\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Audit Rust binaries for known bugs or security vulnerabilities. This works by embedding data about the dependency tree (Cargo.lock) in JSON format into a dedicated linker section of the compiled executable.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rust-language-server\": {\n    \"name\": \"Rust Language Server\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/rust-lang-nursery/rls\",\n    \"source\": \"https://github.com/rust-lang-nursery/rls\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Supports functionality such as 'goto definition', symbol search, reformatting, and code completion, and enables renaming and refactorings.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rustfix\": {\n    \"name\": \"rustfix\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/rust-lang/rustfix\",\n    \"source\": \"https://github.com/rust-lang/rustfix\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Read and apply the suggestions made by rustc (and third-party lints, like those offered by clippy).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rustfmt\": {\n    \"name\": \"rustfmt\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/rust-lang/rustfmt\",\n    \"source\": \"https://github.com/rust-lang/rustfmt\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for formatting Rust code according to style guidelines.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"rustviz\": {\n    \"name\": \"RustViz\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/rustviz/rustviz\",\n    \"source\": \"https://github.com/rustviz/rustviz\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"RustViz is a tool that generates visualizations  from simple Rust programs to assist users in better  understanding the Rust Lifetime and Borrowing mechanism. It generates SVG files with graphical indicators that integrate  with mdbook to render visualizations of data-flow in Rust programs.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"safeql\": {\n    \"name\": \"SafeQL\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"sql\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://safeql.dev\",\n    \"source\": \"https://github.com/ts-safeql/safeql\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Validate and auto-generate TypeScript types from raw SQL queries in PostgreSQL. SafeQL is an ESLint plugin for writing SQL queries in a type-safe way.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"safesql\": {\n    \"name\": \"safesql\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/stripe/safesql\",\n    \"source\": \"https://github.com/stripe/safesql\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analysis tool for Golang that protects against SQL injections.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"safety\": {\n    \"name\": \"Safety\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://safetycli.com/\",\n    \"source\": \"https://github.com/pyupio/safety\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Python dependency vulnerability scanner designed to enhance software supply chain security by detecting packages with known vulnerabilities. Checks Python dependencies against a database of known security vulnerabilities and provides detailed reports. Supports CI/CD integration and multiple output formats.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"saikuro\": {\n    \"name\": \"Saikuro\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://metricfu.github.io/Saikuro\",\n    \"source\": \"https://github.com/metricfu/Saikuro\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Ruby cyclomatic complexity analyzer.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sandimeter\": {\n    \"name\": \"SandiMeter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://rubygems.org/gems/sandi_meter\",\n    \"source\": \"https://github.com/makaroni4/sandi_meter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analysis tool for checking Ruby code for Sandi Metz' rules.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sass-lint\": {\n    \"name\": \"sass-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sasstools/sass-lint\",\n    \"source\": \"https://github.com/sasstools/sass-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Node-only Sass linter for both sass and scss syntax.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sast-online\": {\n    \"name\": \"SAST Online\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dart\",\n      \"java\",\n      \"kotlin\"\n    ],\n    \"other\": [\n      \"mobile\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://sast.online/\",\n    \"source\": \"https://sast.online/\",\n    \"pricing\": \"https://sast.online/pricing\",\n    \"plans\": {\n      \"free\": true\n    },\n    \"description\": \"Check the Android Source code thoroughly to uncover and address potential security concerns and vulnerabilities. Static application security testing (Static Code Analysis) tool Online\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"scalastyle\": {\n    \"name\": \"Scalastyle\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"scala\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://www.scalastyle.org\",\n    \"source\": \"https://github.com/scalastyle/scalastyle\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Scalastyle examines your Scala code and indicates potential problems with it.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"scan-build\": {\n    \"name\": \"scan-build\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License v2.0 with LLVM Exceptions\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://clang-analyzer.llvm.org/scan-build.html\",\n    \"source\": \"https://clang-analyzer.llvm.org/scan-build.html\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Frontend to drive the Clang Static Analyzer built into Clang via a regular build.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"scapegoat\": {\n    \"name\": \"scapegoat\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"scala\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sksamuel/scapegoat\",\n    \"source\": \"https://github.com/sksamuel/scapegoat\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Scala compiler plugin for static code analysis.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"scorecard\": {\n    \"name\": \"scorecard\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ossf/scorecard\",\n    \"source\": \"https://github.com/ossf/scorecard\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Security Scorecards - Security health metrics for Open Source\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"scrutinizer\": {\n    \"name\": \"Scrutinizer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://scrutinizer-ci.com\",\n    \"source\": null,\n    \"pricing\": \"https://scrutinizer-ci.com/pricing\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"A proprietary code quality checker that can be integrated with GitHub.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"scsslint\": {\n    \"name\": \"scsslint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/brigade/scss-lint\",\n    \"source\": \"https://github.com/brigade/scss-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter for SCSS files.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"security-code-scan\": {\n    \"name\": \"Security Code Scan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"java\",\n      \"php\",\n      \"vbnet\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU Lesser General Public License v3.0\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://security-code-scan.github.io\",\n    \"source\": \"https://github.com/security-code-scan/security-code-scan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Security code analyzer for C# and VB.NET. Detects various security vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc. Integrates into Visual Studio 2015 and newer. Detects various security vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"semgrep\": {\n    \"name\": \"Semgrep\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"jsx\",\n      \"ocaml\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"configmanagement\",\n      \"ci\",\n      \"dockerfile\",\n      \"json\",\n      \"kubernetes\",\n      \"nodejs\",\n      \"rails\",\n      \"security\",\n      \"terraform\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"GNU Lesser General Public License v2.1\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://semgrep.dev\",\n    \"source\": \"https://github.com/returntocorp/semgrep\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A fast, open-source, static analysis tool for finding bugs and enforcing code standards at editor, commit, and CI time. Its rules look like the code you already write;  no abstract syntax trees or regex wrestling. Supports 17+ languages.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Semgrep Quick Start Tutorial\",\n        \"url\": \"https://www.youtube.com/watch?v=8jyp8DkhmYo\"\n      },\n      {\n        \"title\": \"Semgrep presentation by r2c at Bay Area OWASP Meetup\",\n        \"url\": \"https://www.youtube.com/watch?v=pul1bRIOYc8\"\n      }\n    ],\n    \"reviews\": [\n      \"https://stackshare.io/semgrep\"\n    ],\n    \"demos\": [\n      \"https://semgrep.dev/playground\"\n    ],\n    \"wrapper\": null\n  },\n  \"semgrep-supply-chain\": {\n    \"name\": \"Semgrep Supply Chain\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"python\",\n      \"ruby\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://semgrep.dev/products/semgrep-supply-chain\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Quickly find and remediate high-priority security issues.  Semgrep Supply Chain prioritizes the 2% of vulnerabilities that are reachable from your code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Reachability analysis in Semgrep Supply Chain\",\n        \"url\": \"https://www.youtube.com/watch?v=dzmiQXhVMAw\"\n      },\n      {\n        \"title\": \"It's time to ignore 98% of dependency alerts\",\n        \"url\": \"https://r2c.dev/blog/2022/introducing-semgrep-supply-chain/\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"seqra\": {\n    \"name\": \"Seqra\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\",\n      \"kotlin\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"security\",\n      \"spring\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://seqra.dev\",\n    \"source\": \"https://github.com/seqra/seqra\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Security-focused static analyzer for Java and Kotlin web applications. Analyzes bytecode with Semgrep-style YAML rules and CodeQL-grade dataflow (with first-class Spring support) to find vulnerabilities that source-only scanners miss.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Static Analysis Showdown: How Semgrep, CodeQL, and Seqra Handle XSS Detection\",\n        \"url\": \"https://seqra.dev/blog/semgrep-vs-codeql-vs-seqra\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sh\": {\n    \"name\": \"sh\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"shell\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pkg.go.dev/mvdan.cc/sh/v3\",\n    \"source\": \"https://github.com/mvdan/sh\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A shell parser, formatter, and interpreter with bash support; includes shfmt\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"shellcheck\": {\n    \"name\": \"shellcheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"shell\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.shellcheck.net\",\n    \"source\": \"https://github.com/koalaman/shellcheck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"ShellCheck, a static analysis tool that gives warnings and suggestions for bash/sh shell scripts.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"shellharden\": {\n    \"name\": \"shellharden\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"shell\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MPL-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/anordal/shellharden\",\n    \"source\": \"https://github.com/anordal/shellharden\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A syntax highlighter and a tool to semi-automate the rewriting of scripts to ShellCheck conformance, mainly focused on quoting.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"shiftleft-scan\": {\n    \"name\": \"ShiftLeft Scan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"apex\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"jsp\",\n      \"kotlin\",\n      \"php\",\n      \"plsql\",\n      \"python\",\n      \"ruby\",\n      \"rust\",\n      \"scala\",\n      \"shell\",\n      \"vbasic\"\n    ],\n    \"other\": [\n      \"configmanagement\",\n      \"container\",\n      \"json\",\n      \"nodejs\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://github.com/ShiftLeftSecurity/sast-scan\",\n    \"source\": \"https://github.com/ShiftLeftSecurity/sast-scan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Scan is a free open-source DevSecOps platform for detecting security issues in source code and dependencies. It supports a broad range of languages and CI/CD pipelines. Note: ShiftLeft rebranded to Qwiet AI in 2023, which was subsequently acquired by Harness in September 2025. This open-source project is no longer maintained.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"shipshape\": {\n    \"name\": \"shipshape\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/google/shipshape\",\n    \"source\": \"https://github.com/google/shipshape\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static program analysis platform that allows custom analyzers to plug in through a common interface.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"shisho\": {\n    \"name\": \"shisho\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [\n      \"terraform\"\n    ],\n    \"licenses\": [\n      \"AGPL-3.0\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://github.com/flatt-security/shisho\",\n    \"source\": \"https://github.com/flatt-security/shisho\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A lightweight static code analyzer designed for developers and security teams. It allows you to analyze and transform source code with an intuitive DSL similar to sed, but for code.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sigrid\": {\n    \"name\": \"Sigrid\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"delphi\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"lua\",\n      \"objectivec\",\n      \"perl\",\n      \"php\",\n      \"plsql\",\n      \"powershell\",\n      \"python\",\n      \"r\",\n      \"ruby\",\n      \"rust\",\n      \"scala\",\n      \"shell\",\n      \"sql\",\n      \"swift\",\n      \"typescript\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"nodejs\",\n      \"vue\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://www.softwareimprovementgroup.com/solutions/sigrid-software-assurance-platform/\",\n    \"source\": null,\n    \"pricing\": \"https://www.softwareimprovementgroup.com/contact/\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Sigrid helps you to improve your software by measuring your system's code quality,  and then compares the results against a benchmark of thousands of industry systems to give you concrete advice on areas where you can improve.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Sigrid Security | Security without headache\",\n        \"url\": \"https://www.youtube.com/watch?v=mpQxzdv4oc8\"\n      },\n      {\n        \"title\": \"Sigrid Open Source Health module\",\n        \"url\": \"https://www.youtube.com/watch?v=UvhV9dyXWIU\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.capterra.com/p/219140/Sigrid/\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"similarity-tester\": {\n    \"name\": \"Similarity Tester\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"asm\",\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"lisp\",\n      \"pascal\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause Revised License\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://dickgrune.com/Programs/similarity_tester/\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool that finds similarities between or within files to support you encountering DRY principle violations.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"skunk\": {\n    \"name\": \"Skunk\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [\n      \"rails\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/fastruby/skunk\",\n    \"source\": \"https://github.com/fastruby/skunk\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A SkunkScore Calculator for Ruby Code -- Find the most complicated code without test coverage!\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"skylos\": {\n    \"name\": \"Skylos\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\",\n      \"python\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/duriantaco/skylos\",\n    \"source\": \"https://github.com/duriantaco/skylos\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Dead code detection, security scanning, secrets detection, and code quality analysis for Python, TypeScript, and Go. Framework-aware analysis with 98% recall. Includes CI/CD GitHub Action, VS Code extension, and MCP server for AI agent integration.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sleek\": {\n    \"name\": \"sleek\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/nrempel/sleek\",\n    \"source\": \"https://github.com/nrempel/sleek\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Sleek is a CLI tool for formatting SQL.  It helps you maintain a consistent style across your SQL code, enhancing readability and productivity. The heavy lifting is done by the sqlformat crate.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"slim-lint\": {\n    \"name\": \"slim-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"template\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/sds/slim-lint\",\n    \"source\": \"https://github.com/sds/slim-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Configurable tool for analyzing Slim templates.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"slither\": {\n    \"name\": \"slither\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"smart-contracts\"\n    ],\n    \"licenses\": [\n      \"GNU Affero General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/trailofbits/slither\",\n    \"source\": \"https://github.com/trailofbits/slither\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analysis framework that runs a suite of vulnerability detectors, prints visual information about contract details, and provides an API to easily write custom analyses.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"snyk-code\": {\n    \"name\": \"Snyk Code\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"container\",\n      \"ci\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://snyk.io\",\n    \"source\": null,\n    \"pricing\": \"https://snyk.io/plans/\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": true\n    },\n    \"description\": \"Snyk Code finds security vulnerabilities based on AI. Its speed of analysis allow us to analyse your code in real time and deliver results when you hit the save button in your IDE. Supported languages are Java, JavaScript, Python, PHP, C#, Go and TypeScript. Integrations with GitHub, BitBucket and Gitlab. It is free to try and part of the Snyk platform also covering SCA, containers and IaC.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Product homepage\",\n        \"url\": \"https://snyk.io/product/snyk-code/\"\n      },\n      {\n        \"title\": \"Intro to Snyk Code Video\",\n        \"url\": \"https://www.youtube.com/watch?v=fNYf0fgWOFQ\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sobelow\": {\n    \"name\": \"sobelow\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"elixir\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/nccgroup/sobelow\",\n    \"source\": \"https://github.com/nccgroup/sobelow\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Security-focused static analysis for the Phoenix Framework.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"solhint\": {\n    \"name\": \"solhint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"smart-contracts\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://protofire.github.io/solhint\",\n    \"source\": \"https://github.com/protofire/solhint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Solhint is an open source project created by https://protofire.io. Its goal is to provide a linting utility for Solidity code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"solium\": {\n    \"name\": \"solium\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"smart-contracts\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://ethlint.readthedocs.io/en/latest\",\n    \"source\": \"https://github.com/duaraghav8/Solium\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Solium is a linter to identify and fix style and security issues in Solidity smart contracts.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sonaranalyzer-csharp\": {\n    \"name\": \"SonarAnalyzer.CSharp\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"LGPL-3.0-only license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/SonarSource/sonar-dotnet\",\n    \"source\": \"https://github.com/SonarSource/sonar-dotnet\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"These Roslyn analyzers allow you to produce Clean Code that is safe, reliable, and maintainable by helping you find and correct bugs, vulnerabilities, and code smells in your codebase.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sonardelphi\": {\n    \"name\": \"SonarDelphi\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"delphi\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"LGPL-3.0-only license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/integrated-application-development/sonar-delphi\",\n    \"source\": \"https://github.com/integrated-application-development/sonar-delphi\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Delphi static analyzer for the SonarQube code quality platform.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sonarqube-cloud\": {\n    \"name\": \"SonarQube Cloud\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"abap\",\n      \"apex\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"cobol\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"objectivec\",\n      \"php\",\n      \"plsql\",\n      \"python\",\n      \"ruby\",\n      \"scala\",\n      \"swift\",\n      \"tsql\",\n      \"typescript\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"arm\",\n      \"cloudformation\",\n      \"ci\",\n      \"css\",\n      \"dockerfile\",\n      \"html\",\n      \"kubernetes\",\n      \"security\",\n      \"terraform\",\n      \"xml\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://sonarcloud.io\",\n    \"source\": null,\n    \"pricing\": \"https://sonarcloud.io/pricing\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"SonarQube Cloud enables your team to deliver clean code consistently and efficiently with a code review  tool that easily integrates into the cloud DevOps platforms and extend your CI/CD workflow.  SonarQube Cloud provides a free plan.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": [\n      \"https://www.g2.com/products/sonarcloud/reviews\",\n      \"https://www.gartner.com/reviews/market/application-security-testing/vendor/sonarsource/product/sonarcloud\",\n      \"https://www.peerspot.com/products/sonarcloud-reviews\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sonarqube-for-ide\": {\n    \"name\": \"SonarQube for IDE\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"cobol\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"php\",\n      \"plsql\",\n      \"python\",\n      \"ruby\",\n      \"scala\",\n      \"swift\",\n      \"tsql\",\n      \"typescript\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"cloudformation\",\n      \"css\",\n      \"dockerfile\",\n      \"html\",\n      \"kubernetes\",\n      \"security\",\n      \"terraform\",\n      \"xml\"\n    ],\n    \"licenses\": [\n      \"GNU Lesser General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://sonarlint.org\",\n    \"source\": \"https://github.com/SonarSource/sonarlint-intellij\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"SonarQube for IDE (formerly SonarLint) is a free IDE extension available for IntelliJ, VS Code, Visual Studio, and Eclipse,  to find and fix coding issues in real-time, flagging issues as you code, just like a spell-checker.  More than a linter, it also delivers rich contextual guidance to help developers understand  why there is an issue, assess the risk, and educate them on how to fix it.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sonarqube-server\": {\n    \"name\": \"SonarQube Server\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"abap\",\n      \"apex\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"cobol\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"objectivec\",\n      \"php\",\n      \"plsql\",\n      \"python\",\n      \"ruby\",\n      \"scala\",\n      \"swift\",\n      \"tsql\",\n      \"typescript\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"arm\",\n      \"cloudformation\",\n      \"ci\",\n      \"css\",\n      \"dockerfile\",\n      \"html\",\n      \"kubernetes\",\n      \"security\",\n      \"terraform\",\n      \"xml\"\n    ],\n    \"licenses\": [\n      \"GNU Lesser General Public License v3.0\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://sonarqube.org\",\n    \"source\": \"https://github.com/SonarSource/sonarqube\",\n    \"pricing\": \"https://www.sonarsource.com/plans-and-pricing/\",\n    \"plans\": null,\n    \"description\": \"SonarQube empowers development teams with a code quality and security solution that deeply integrates into your enterprise environment; enabling you to deploy clean code consistently and reliably. SonarQube provides a free and open source Community Build.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Write Cleaner, Safer, Modern C++ Code with SonarQube\",\n        \"url\": \"https://www.youtube.com/watch?v=WPHVPbxCAwE\"\n      },\n      {\n        \"title\": \"Write cleaner, safer Python code with SonarQube\",\n        \"url\": \"https://www.youtube.com/watch?v=ow-yuIlCuHk\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.capterra.com/p/210481/SonarQube/\",\n      \"https://www.gartner.com/reviews/market/application-security-testing/vendor/sonarsource/product/sonarqube\",\n      \"https://www.peerspot.com/products/sonarqube-reviews\"\n    ],\n    \"demos\": [\n      \"https://next.sonarqube.com/sonarqube/projects\"\n    ],\n    \"wrapper\": null\n  },\n  \"sonatype\": {\n    \"name\": \"Sonatype\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"clojure\",\n      \"coffeescript\",\n      \"fsharp\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"objectivec\",\n      \"php\",\n      \"python\",\n      \"r\",\n      \"ruby\",\n      \"rust\",\n      \"scala\",\n      \"swift\",\n      \"vbasic\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.sonatype.com\",\n    \"source\": \"https://www.sonatype.com\",\n    \"pricing\": \"https://www.sonatype.com/products/pricing\",\n    \"plans\": null,\n    \"description\": \"Reports known vulnerabilities in common dependencies and recommends updated packages to minimize breaking changes\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"soot\": {\n    \"name\": \"Soot\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU Lesser General Public License v2.1\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://soot-oss.github.io/soot\",\n    \"source\": \"https://github.com/soot-oss/soot\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A framework for analyzing and transforming Java and Android applications.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sorbet\": {\n    \"name\": \"Sorbet\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://sorbet.org\",\n    \"source\": \"https://github.com/sorbet/sorbet\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A fast, powerful type checker designed for Ruby.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"soto-platform\": {\n    \"name\": \"Soto Platform\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"abap\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"java\",\n      \"php\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.hello2morrow.com/products/sotograph\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Suite of static analysis tools consisting of the three components Sotoarc (Architecture Analysis), Sotograph (Quality Analysis), and Sotoreport (Quality report). Helps find differences between architecture and implementation, interface violations (e.g. external access of private parts of subsystems, detection of all classes, files, packages and subsystems which are strongly coupled by cyclical relationships and more. The Sotograph product family runs on Windows and Linux. \",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sourcemeter\": {\n    \"name\": \"SourceMeter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"java\",\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.sourcemeter.com/\",\n    \"source\": null,\n    \"pricing\": \"https://www.sourcemeter.com/download\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": false\n    },\n    \"description\": \"Static Code Analysis for C/C++, Java, C#, Python, and RPG III and RPG IV versions (including free-form).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"spark\": {\n    \"name\": \"SPARK\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ada\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.adacore.com/about-spark\",\n    \"source\": null,\n    \"pricing\": \"https://www.adacore.com/pricing\",\n    \"plans\": null,\n    \"description\": \"Static analysis and formal verification toolset for Ada.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"specificity-graph\": {\n    \"name\": \"Specificity Graph\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/pocketjoso/specificity-graph\",\n    \"source\": \"https://github.com/pocketjoso/specificity-graph\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"CSS Specificity Graph Generator.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"spectral\": {\n    \"name\": \"Spectral\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"json\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://stoplight.io/open-source/spectral\",\n    \"source\": \"https://github.com/stoplightio/spectral\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A flexible JSON/YAML linter, with out-of-the-box support for OpenAPI v2/v3 and AsyncAPI v2.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"splint\": {\n    \"name\": \"splint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://splint.org\",\n    \"source\": \"https://github.com/ravenexp/splint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Annotation-assisted static program checker.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"spoon\": {\n    \"name\": \"Spoon\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://spoon.gforge.inria.fr\",\n    \"source\": \"https://github.com/INRIA/spoon\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Spoon is a metaprogramming library to analyze and transform Java source code (incl Java 9, 10, 11, 12, 13, 14). It parses source files to build a well-designed AST with powerful analysis and transformation API. Can be integrated in Maven and Gradle.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"spotbugs\": {\n    \"name\": \"SpotBugs\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU Lesser General Public License v2.1\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://spotbugs.github.io\",\n    \"source\": \"https://github.com/spotbugs/spotbugs\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sqlcheck\": {\n    \"name\": \"sqlcheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jarulraj/sqlcheck\",\n    \"source\": \"https://github.com/jarulraj/sqlcheck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Automatically identify anti-patterns in SQL queries.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": [\n      {\n        \"title\": \"SQLCheck: Automated Detection and Diagnosis of SQL Anti-Patterns\",\n        \"url\": \"https://www.youtube.com/watch?v=5vHhuuPy3FI\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sqlfluff\": {\n    \"name\": \"SQLFluff\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.sqlfluff.com/\",\n    \"source\": \"https://github.com/sqlfluff/sqlfluff\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Multiple dialect SQL linter and formatter.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Official SQLFluff documentation\",\n        \"url\": \"https://docs.sqlfluff.com/en/stable/\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sqlint\": {\n    \"name\": \"sqlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/purcell/sqlint\",\n    \"source\": \"https://github.com/purcell/sqlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Simple SQL linter.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sqlvet\": {\n    \"name\": \"sqlvet\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\",\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/houqp/sqlvet\",\n    \"source\": \"https://github.com/houqp/sqlvet\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Performs static analysis on raw SQL queries in your Go code base to surface potential runtime errors. It checks for SQL syntax error, identifies unsafe queries that could potentially lead to SQL injections makes sure column count matches value count in INSERT statements and validates table- and column names.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"squawk\": {\n    \"name\": \"squawk\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-3.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://squawkhq.com\",\n    \"source\": \"https://github.com/sbdchd/squawk\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter for PostgreSQL, focused on migrations. Prevents unexpected downtime caused by database migrations and encourages best practices around Postgres schemas and SQL.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"stan\": {\n    \"name\": \"Stan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"haskell\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Mozilla Public License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://kowainik.github.io/projects/stan\",\n    \"source\": \"https://github.com/kowainik/stan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Stan is a command-line tool for analysing Haskell projects and outputting discovered vulnerabilities in a helpful way with possible solutions for detected problems.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"standard\": {\n    \"name\": \"standard\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [\n      \"nodejs\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://standardjs.com\",\n    \"source\": \"https://github.com/standard/standard\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An npm module that checks for Javascript Styleguide issues.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"standard-ruby\": {\n    \"name\": \"Standard Ruby\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/testdouble/standard\",\n    \"source\": \"https://github.com/testdouble/standard\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Ruby Style Guide, with linter & automatic code fixer\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"staticcheck\": {\n    \"name\": \"staticcheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://staticcheck.io\",\n    \"source\": \"https://github.com/dominikh/go-tools\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Go static analysis that specialises in finding bugs, simplifying code and improving performance.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"GopherCon 2019: Denis Isaev - Go Linters: Myths and Best Practices\",\n        \"url\": \"https://www.youtube.com/watch?v=1U-Gzz4TYP0\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"staticlint\": {\n    \"name\": \"StaticLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"julia\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/julia-vscode/StaticLint.jl\",\n    \"source\": \"https://github.com/julia-vscode/StaticLint.jl\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static Code Analysis for Julia\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"staticreviewer\": {\n    \"name\": \"StaticReviewer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"abap\",\n      \"actionscript\",\n      \"asp\",\n      \"apex\",\n      \"aspnet\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"clojure\",\n      \"cobol\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"javascript\",\n      \"jsp\",\n      \"kotlin\",\n      \"lua\",\n      \"objectivec\",\n      \"php\",\n      \"plsql\",\n      \"powershell\",\n      \"python\",\n      \"r\",\n      \"rust\",\n      \"scala\",\n      \"shell\",\n      \"sql\",\n      \"swift\",\n      \"tsql\",\n      \"typescript\",\n      \"vbnet\",\n      \"vba\"\n    ],\n    \"other\": [\n      \"json\",\n      \"xml\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://securityreviewer.atlassian.net/wiki/spaces/KC/pages/196633/Static+Reviewer\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static Reviewer executes code checks according to the most relevant Secure Coding Standards, OWASP, CWE, CVE, CVSS, MISRA, CERT, for 40+ programming languages, using 1000+ built-in validation rules for Security, Deadcode & Best Practices Available a module for Software Composition Analysis (SCA) to find vulnerabilities in open source and third party libraries.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"statix\": {\n    \"name\": \"statix\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"nix\"\n    ],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/nerdypepper/statix\",\n    \"source\": \"https://github.com/nerdypepper/statix\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Lints and suggestions for the Nix programming language. \\\"statix check\\\" highlights antipatterns in Nix code. \\\"statix fix\\\" can fix several such occurrences.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"stc\": {\n    \"name\": \"stc\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://stc.dudy.dev\",\n    \"source\": \"https://github.com/dudykr/stc\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Speedy TypeScript type checker written in Rust\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"steady\": {\n    \"name\": \"steady\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://eclipse.github.io/steady/\",\n    \"source\": \"https://github.com/eclipse/steady\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Analyses your Java applications for open-source dependencies with known vulnerabilities, using both static analysis and testing to determine code context and usage for greater accuracy.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"steampunk-spotter\": {\n    \"name\": \"Steampunk Spotter\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"ansible\",\n      \"configmanagement\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"gui\",\n      \"service\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://steampunk.si/spotter/\",\n    \"source\": \"https://gitlab.com/xlab-steampunk/steampunk-spotter-client/spotter-cli\",\n    \"pricing\": \"https://steampunk.si/spotter/pricing\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": false\n    },\n    \"description\": \"Ansible Playbook Scanning Tool that analyzes and offers recommendations for your playbooks.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Steampunk Spotter: Simplify and Speed up Ansible Upgrades\",\n        \"url\": \"https://www.youtube.com/watch?v=JIzph_gqf08\"\n      },\n      {\n        \"title\": \"Steampunk Spotter: Demo\",\n        \"url\": \"https://www.youtube.com/watch?v=yeggNPmtv04\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"steep\": {\n    \"name\": \"Steep\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/soutaro/steep\",\n    \"source\": \"https://github.com/soutaro/steep\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Gradual Typing for Ruby.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"stoke\": {\n    \"name\": \"STOKE\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"asm\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/StanfordPL/stoke\",\n    \"source\": \"https://github.com/StanfordPL/stoke\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A programming-language agnostic stochastic optimizer for the x86_64 instruction set. It uses random search to explore the extremely high-dimensional space of all possible program transformations.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"structcheck\": {\n    \"name\": \"structcheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-3.0-only (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://gitlab.com/opennota/check\",\n    \"source\": \"https://gitlab.com/opennota/check\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find unused struct fields.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"structslop\": {\n    \"name\": \"structslop\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/orijtech/structslop\",\n    \"source\": \"https://github.com/orijtech/structslop\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analyzer for Go that recommends struct field rearrangements to provide for maximum space/allocation efficiency\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"stylelint\": {\n    \"name\": \"Stylelint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"css\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"http://stylelint.io\",\n    \"source\": \"https://github.com/stylelint/stylelint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter for SCSS/CSS files.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"styler\": {\n    \"name\": \"styler\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"r\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-3\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://styler.r-lib.org\",\n    \"source\": \"https://github.com/r-lib/styler\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Formatting of R source code files and pretty-printing of R code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"super-linter\": {\n    \"name\": \"Super-Linter\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"coffeescript\",\n      \"go\",\n      \"javascript\",\n      \"perl\",\n      \"python\",\n      \"ruby\",\n      \"shell\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"configmanagement\",\n      \"container\",\n      \"json\",\n      \"markdown\",\n      \"xml\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/github/super-linter\",\n    \"source\": \"https://github.com/github/super-linter\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Combination of multiple linters to install as a GitHub Action.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": [\n      {\n        \"title\": \"The Easiest Way to Lint Your Code: GitHub Super Linter Deep Dive\",\n        \"url\": \"https://www.youtube.com/watch?v=BCrtoZ04L1Y\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"svace\": {\n    \"name\": \"Svace\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"java\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.ispras.ru/en/technologies/svace/\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static code analysis tool for Java,C,C++,C#,Go.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"svf\": {\n    \"name\": \"SVF\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://svf-tools.github.io/SVF\",\n    \"source\": \"https://github.com/SVF-tools/SVF\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static tool that enables scalable and precise interprocedural dependence analysis for C and C++ programs.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"svls\": {\n    \"name\": \"svls\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"verilog\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/dalance/svls\",\n    \"source\": \"https://github.com/dalance/svls\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Language Server Protocol implementation for Verilog and SystemVerilog, including lint capabilities.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"swiftformat\": {\n    \"name\": \"SwiftFormat\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"swift\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/nicklockwood/SwiftFormat\",\n    \"source\": \"https://github.com/nicklockwood/SwiftFormat\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A library and command-line formatting tool for reformatting Swift code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"swiftlint\": {\n    \"name\": \"SwiftLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"swift\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://realm.github.io/SwiftLint\",\n    \"source\": \"https://github.com/realm/SwiftLint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool to enforce Swift style and conventions.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Mastering SwiftLint for Code Readability\",\n        \"url\": \"https://www.youtube.com/watch?v=4YQ6DJ-xovY\"\n      },\n      {\n        \"title\": \"The Road to Cleaner Code w/ SwiftLint\",\n        \"url\": \"https://academy.realm.io/posts/slug-jp-simard-swiftlint/\"\n      }\n    ],\n    \"reviews\": [\n      \"https://plugins.jetbrains.com/plugin/9175-swiftlint\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"symfony-insight\": {\n    \"name\": \"Symfony Insight\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://insight.symfony.com/\",\n    \"source\": null,\n    \"pricing\": \"https://insight.symfony.com/pricing\",\n    \"plans\": null,\n    \"description\": \"Detect security risks, find bugs and provide actionable metrics for PHP projects.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"synopsys\": {\n    \"name\": \"Synopsys\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"fortran\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"swift\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"mobile\",\n      \"nodejs\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html\",\n    \"source\": null,\n    \"pricing\": \"https://www.blackduck.com/static-analysis-tools-sast/coverity/get-pricing.html\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"A commercial static analysis platform that allows for scanning of multiple languages (C/C++, Android, C#, Java, JS, PHP, Python, Node.JS, Ruby, Fortran, and Swift).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sys\": {\n    \"name\": \"Sys\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ocaml\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/PLSysSec/sys\",\n    \"source\": \"https://github.com/PLSysSec/sys\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static/symbolic Tool for finding bugs in (browser) code. It uses the LLVM AST to find bugs like uninitialized memory access.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"sysdig\": {\n    \"name\": \"sysdig\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://sysdig.com/\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A secure DevOps platform for cloud and container forensics. Built on an open source stack, Sysdig provides Docker image scanning and created Falco, the open standard for runtime threat detection for containers, Kubernetes and cloud. \",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Run confidently with secure DevOps\",\n        \"url\": \"https://www.youtube.com/watch?v=KXfZWprVr0w\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tailor\": {\n    \"name\": \"Tailor\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"swift\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://sleekbyte.github.io/tailor\",\n    \"source\": \"https://github.com/sleekbyte/tailor\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analysis and lint tool for source code written in Apple's Swift programming language.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tangleguard\": {\n    \"name\": \"TangleGuard\",\n    \"categories\": [\n      \"linter\",\n      \"meta\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://tangleguard.com/\",\n    \"source\": \"https://github.com/TangleGuard\",\n    \"pricing\": null,\n    \"plans\": {\n      \"free\": false,\n      \"oss\": true\n    },\n    \"description\": \"Helps you understand and maintain a scalable software architecture. To do so, it generates a interactive, nested dependency graph out of the source code. You can choose the level of details and get the portion of your codebase that matters to you.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"TangleGuard Cloud\",\n        \"url\": \"https://app.tangleguard.com/\"\n      },\n      {\n        \"title\": \"TangleGuard Preview\",\n        \"url\": \"https://youtu.be/whzbP1Hnsqs\"\n      },\n      {\n        \"title\": \"TangleGuard Documentation\",\n        \"url\": \"https://docs.tangleguard.com/\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": false\n  },\n  \"tclchecker\": {\n    \"name\": \"tclchecker\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"tcl\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ActiveState/tdk/blob/master/docs/3.0/TDK_3.0_Checker.txt\",\n    \"source\": \"https://github.com/ActiveState/tdk/blob/master/docs/3.0/TDK_3.0_Checker.txt\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static syntax analysis module (as part of [TDK](https://github.com/ActiveState/tdk)).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"teamscale\": {\n    \"name\": \"Teamscale\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"abap\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"java\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://teamscale.com\",\n    \"source\": null,\n    \"pricing\": \"https://teamscale.com/pricing\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Static and dynamic analysis tool supporting more than 25 languages and direct IDE integration. Free hosting for Open Source projects available on request. Free academic licenses available.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"CQSE Webinar: Architekturanalyse mit Teamscale (German)\",\n        \"url\": \"https://www.youtube.com/watch?v=fJVjv0153-U\"\n      },\n      {\n        \"title\": \"Teamscale Integration for Visual Studio\",\n        \"url\": \"https://marketplace.visualstudio.com/items?itemName=CQSEGmbH.Teamscale\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tencentcodeanalysis\": {\n    \"name\": \"TencentCodeAnalysis\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"php\",\n      \"python\",\n      \"scala\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"css\",\n      \"html\",\n      \"xml\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://tca.tencent.com/\",\n    \"source\": \"https://github.com/Tencent/CodeAnalysis\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Tencent Cloud Code Analysis (TCA for short, code-named CodeDog inside the company early) is a comprehensive platform for code analysis and issue tracking. TCA consist of three components, server, web and client. It integrates of a number of self-developed tools, and also supports dynamic integration of code analysis tools in various programming languages.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tern\": {\n    \"name\": \"tern\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://ternjs.net\",\n    \"source\": \"https://github.com/ternjs/tern\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A JavaScript code analyzer for deep, cross-editor language support.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"terraform-compliance\": {\n    \"name\": \"terraform-compliance\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://terraform-compliance.com\",\n    \"source\": \"https://github.com/eerkunt/terraform-compliance\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A lightweight, compliance- and security focused, BDD test framework against Terraform.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"terrascan\": {\n    \"name\": \"terrascan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/cesar-rodriguez/terrascan\",\n    \"source\": \"https://github.com/cesar-rodriguez/terrascan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Collection of security and best practice tests for static code analysis of Terraform templates.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"test\": {\n    \"name\": \"test\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD-3-Clause (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://pkg.go.dev/testing\",\n    \"source\": \"https://pkg.go.dev/testing\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Show location of test failures from the stdlib testing module.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"texlab\": {\n    \"name\": \"TeXLab\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"latex\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://texlab.netlify.app\",\n    \"source\": \"https://github.com/latex-lsp/texlab\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Language Server Protocol implementation for TeX/LaTeX, including lint capabilities.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"textlint\": {\n    \"name\": \"textlint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"markdown\"\n    ],\n    \"licenses\": [\n      \"MIT Licence\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://textlint.github.io/\",\n    \"source\": \"https://github.com/textlint/textlint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"textlint is an open source text linting utility written in JavaScript.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tflint\": {\n    \"name\": \"tflint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\"\n    ],\n    \"licenses\": [\n      \"Mozilla Public License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/wata727/tflint\",\n    \"source\": \"https://github.com/wata727/tflint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Terraform linter for detecting errors that can not be detected by `terraform plan`.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tfsec\": {\n    \"name\": \"tfsec\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"configmanagement\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/tfsec/tfsec\",\n    \"source\": \"https://github.com/tfsec/tfsec\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Terraform static analysis tool that prevents potential security issues by checking cloud misconfigurations at build time and directly integrates with the HCL parser for better results. Checks for violations of AWS, Azure and GCP security best practice recommendations.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"threatmapper\": {\n    \"name\": \"ThreatMapper\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dotnet\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"python\",\n      \"ruby\",\n      \"rust\"\n    ],\n    \"other\": [\n      \"container\",\n      \"ci\",\n      \"nodejs\",\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://github.com/deepfence/ThreatMapper\",\n    \"source\": \"https://github.com/deepfence/ThreatMapper\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Vulnerability Scanner and Risk Evaluation for containers, serverless and hosts at runtime. ThreatMapper generates runtime BOMs from dependencies and operating system packages, matches against multiple threat feeds, scans for unprotected secrets, and scores issues based on severity and risk-of-exploit.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"todocheck\": {\n    \"name\": \"todocheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"go\",\n      \"groovy\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"python\",\n      \"r\",\n      \"rust\",\n      \"scala\",\n      \"shell\",\n      \"swift\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/preslavmihaylov/todocheck\",\n    \"source\": \"https://github.com/preslavmihaylov/todocheck\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Linter for integrating annotated TODOs with your issue trackers\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"traceroute\": {\n    \"name\": \"Traceroute\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ruby\"\n    ],\n    \"other\": [\n      \"rails\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/amatsuda/traceroute\",\n    \"source\": \"https://github.com/amatsuda/traceroute\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Rake task gem that helps you find the unused routes and controller actions for your Rails 3+ app.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"trivy\": {\n    \"name\": \"trivy\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"php\",\n      \"ruby\",\n      \"rust\"\n    ],\n    \"other\": [\n      \"container\",\n      \"nodejs\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/aquasecurity/trivy\",\n    \"source\": \"https://github.com/aquasecurity/trivy\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A Simple and Comprehensive Vulnerability Scanner for Containers and other Artifacts, Suitable for CI. Trivy detects vulnerabilities of OS packages (Alpine, RHEL, CentOS, etc.) and application dependencies (Bundler, Composer, npm, yarn, etc.). Checks containers and filesystems.\\n\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"trufflehog\": {\n    \"name\": \"trufflehog\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"AGPL-3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://trufflesecurity.com\",\n    \"source\": \"https://github.com/trufflesecurity/trufflehog\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find credentials all over the place\\nTruffleHog is an open source secret-scanning engine that resolves exposed secrets across your company’s entire tech stack. \",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"trunk\": {\n    \"name\": \"trunk\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"python\",\n      \"ruby\",\n      \"rust\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"ansible\",\n      \"cloudformation\",\n      \"dockerfile\",\n      \"markdown\",\n      \"protobuf\",\n      \"terraform\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://trunk.io\",\n    \"source\": \"https://github.com/trunk-io/\",\n    \"pricing\": \"https://trunk.io/pricing\",\n    \"plans\": {\n      \"free\": true,\n      \"oss\": true\n    },\n    \"description\": \"Modern repositories include many technologies, each with its own set of linters. With 30+ linters and counting, Trunk makes it dead-simple to identify, install, configure, and run the right linters, static analyzers, and formatters for all your repos.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Trunk GitHub Action\",\n        \"url\": \"https://github.com/trunk-io/trunk-action\"\n      },\n      {\n        \"title\": \"Community Slack Channel\",\n        \"url\": \"https://slack.trunk.io\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"trustinsoft-analyzer\": {\n    \"name\": \"TrustInSoft Analyzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://trust-in-soft.com\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Exhaustive detection of coding errors and their associated security vulnerabilities. This encompasses a sound undefined behavior detection (buffer overflows, out-of-bounds array accesses, null-pointer dereferences, use-after-free, divide-by-zeros, uninitialized memory accesses, signed overflows, invalid pointer arithmetic, etc.), data flow and control flow verification as well as full functional verification of formal specifications. All versions of C up to C18 and C++ up to C++20 are supported. TrustInSoft Analyzer will acquire ISO 26262 qualification in Q2'2023 (TCL3). A MISRA C checker is also bundled.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"TrustInSoft blog\",\n        \"url\": \"https://trust-in-soft.com/resources/news/\"\n      },\n      {\n        \"title\": \"TrustInSoft white papers\",\n        \"url\": \"https://trust-in-soft.com/resources/news/?_types=white-papers\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.gartner.com/reviews/market/application-security-testing/vendor/trustinsoft/reviews\"\n    ],\n    \"demos\": [\n      \"https://github.com/TrustInSoft/demos\",\n      \"https://github.com/TrustInSoft/jenkins-demos\"\n    ],\n    \"wrapper\": null\n  },\n  \"tscancode\": {\n    \"name\": \"TscanCode\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"lua\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Tencent/TscanCode\",\n    \"source\": \"https://github.com/Tencent/TscanCode\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A fast and accurate static analysis solution for C/C++, C#, Lua codes provided by Tencent. Using GPLv3 license.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tslint\": {\n    \"name\": \"tslint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0 license\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://palantir.github.io/tslint/\",\n    \"source\": \"https://github.com/palantir/tslint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"TSLint has been deprecated as of 2019. Please see [this issue](https://github.com/palantir/tslint/issues/4534) for more details. `typescript-eslint` is now your best option for linting TypeScript.\\nTSLint is an extensible static analysis tool that checks TypeScript code for readability, maintainability,  and functionality errors. It is widely supported across modern editors & build systems and can be customized  with your own lint rules, configurations, and formatters.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": [\n      {\n        \"title\": \"Nextjs: tslint to eslint\",\n        \"url\": \"https://www.youtube.com/watch?v=qXzIW4CfpxA\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tslint-clean-code\": {\n    \"name\": \"tslint-clean-code\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.npmjs.com/package/tslint-clean-code\",\n    \"source\": \"https://github.com/Glavin001/tslint-clean-code\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A set of TSLint rules inspired by the Clean Code handbook.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tslint-microsoft-contrib\": {\n    \"name\": \"tslint-microsoft-contrib\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Microsoft/tslint-microsoft-contrib\",\n    \"source\": \"https://github.com/Microsoft/tslint-microsoft-contrib\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A set of tslint rules for static code analysis of TypeScript projects maintained by Microsoft.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tsqllint\": {\n    \"name\": \"tsqllint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/tsqllint/tsqllint\",\n    \"source\": \"https://github.com/tsqllint/tsqllint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"T-SQL-specific linter.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tsqlrules\": {\n    \"name\": \"TSqlRules\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ashleyglee/TSqlRules\",\n    \"source\": \"https://github.com/ashleyglee/TSqlRules\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"TSQL Static Code Analysis Rules for SQL Server.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tsunami-security-scanner\": {\n    \"name\": \"Tsunami Security Scanner\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/google/tsunami-security-scanner\",\n    \"source\": \"https://github.com/google/tsunami-security-scanner\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A general purpose network security scanner with an extensible plugin system for  detecting high severity RCE-like vulnerabilities with high confidence. Custom detectors for finding vulnerabilities (e.g. open APIs) can be added.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Tsunami Security Scanner from Google: Identify Critical vulnerabilities with high confidence - LAB\",\n        \"url\": \"https://www.youtube.com/watch?v=SMlWes1XnWw\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"tuli\": {\n    \"name\": \"Tuli\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ircmaxell/Tuli\",\n    \"source\": \"https://github.com/ircmaxell/Tuli\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A static analysis engine.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"twig-lint\": {\n    \"name\": \"twig-lint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/asm89/twig-lint\",\n    \"source\": \"https://github.com/asm89/twig-lint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"twig-lint is a lint tool for your twig files.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"twiggy\": {\n    \"name\": \"Twiggy\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"wasm\"\n    ],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/rustwasm/twiggy\",\n    \"source\": \"https://github.com/rustwasm/twiggy\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Analyzes a binary's call graph to profile code size. The goal is to slim down wasm binary size.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"ty\": {\n    \"name\": \"ty\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://docs.astral.sh/ty/\",\n    \"source\": \"https://github.com/astral-sh/ty\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An extremely fast Python type checker written in Rust.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"typescript-call-graph\": {\n    \"name\": \"TypeScript Call Graph\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/whyboris/TypeScript-Call-Graph\",\n    \"source\": \"https://github.com/whyboris/TypeScript-Call-Graph\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"CLI to generate an interactive graph of functions and calls from your TypeScript files\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"typescript-eslint\": {\n    \"name\": \"TypeScript ESLint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/typescript-eslint/typescript-eslint\",\n    \"source\": \"https://github.com/typescript-eslint/typescript-eslint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"TypeScript language extension for eslint.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"VSCode ESLint, Prettier & Airbnb Style Guide Setup\",\n        \"url\": \"https://www.youtube.com/watch?v=SydnKbGc7W8\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"typl\": {\n    \"name\": \"TypL\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://typl.dev\",\n    \"source\": \"https://github.com/getify/TypL\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"With TypL, you just write completely standard JS, and the tool figures out your types via powerful inferencing.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"unconvert\": {\n    \"name\": \"unconvert\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mdempsky/unconvert\",\n    \"source\": \"https://github.com/mdempsky/unconvert\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Detect redundant type conversions.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"undebt\": {\n    \"name\": \"Undebt\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Yelp/undebt\",\n    \"source\": \"https://github.com/Yelp/undebt\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Language-independent tool for massive, automatic, programmable refactoring based on simple pattern definitions.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"understand\": {\n    \"name\": \"Understand\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ada\",\n      \"asm\",\n      \"c\",\n      \"csharp\",\n      \"cpp\",\n      \"cobol\",\n      \"delphi\",\n      \"fortran\",\n      \"java\",\n      \"javascript\",\n      \"php\",\n      \"python\",\n      \"vbnet\"\n    ],\n    \"other\": [\n      \"css\",\n      \"html\",\n      \"xml\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.scitools.com\",\n    \"source\": null,\n    \"pricing\": \"https://www.scitools.com/pricing\",\n    \"plans\": null,\n    \"description\": \"Code visualization tool that provides code analysis, standards testing, metrics, graphing, dependency analysis and more for Ada, VHDL, and others.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"What is Understand?\",\n        \"url\": \"https://www.youtube.com/watch?v=QXxciTA1R4k\"\n      },\n      {\n        \"title\": \"Basic Navigation in Understand\",\n        \"url\": \"https://www.youtube.com/watch?v=YDd9J2Fs5Ug\"\n      },\n      {\n        \"title\": \"Tell a story about your code in just one image using Graphs\",\n        \"url\": \"https://www.youtube.com/watch?v=mZRWN6ukUig\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"unibeautify\": {\n    \"name\": \"Unibeautify\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"jsx\",\n      \"objectivec\",\n      \"php\",\n      \"python\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"css\",\n      \"html\",\n      \"markdown\",\n      \"vue\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"service\"\n    ],\n    \"homepage\": \"https://unibeautify.com\",\n    \"source\": \"https://github.com/unibeautify/unibeautify\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Universal code beautifier with a GitHub app. Supports HTML, CSS, JavaScript, TypeScript, JSX, Vue, C++, Go, Objective-C, Java, Python, PHP, GraphQL, Markdown, and more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"unimport\": {\n    \"name\": \"unimport\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://unimport.hakancelik.dev\",\n    \"source\": \"https://github.com/hakancelikdev/unimport\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A linter, formatter for finding and removing unused import statements.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"unparam\": {\n    \"name\": \"unparam\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/mvdan/unparam\",\n    \"source\": \"https://github.com/mvdan/unparam\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find unused function parameters.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"upsource\": {\n    \"name\": \"Upsource\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\",\n      \"javascript\",\n      \"kotlin\",\n      \"php\"\n    ],\n    \"other\": [\n      \"ci\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.jetbrains.com/upsource\",\n    \"source\": null,\n    \"pricing\": \"https://www.jetbrains.com/buy\",\n    \"plans\": null,\n    \"description\": \"Code review tool with static code analysis and code-aware navigation for Java, PHP, JavaScript and Kotlin.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Upsource - Code Review Best Practices\",\n        \"url\": \"https://www.youtube.com/watch?v=EjwD7Pi7J_0\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"vale\": {\n    \"name\": \"vale\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"writing\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://vale.sh\",\n    \"source\": \"https://github.com/errata-ai/vale\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A syntax-aware linter for prose built with speed and extensibility in mind.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"varcheck\": {\n    \"name\": \"varcheck\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL-3.0-only (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://gitlab.com/opennota/check\",\n    \"source\": \"https://gitlab.com/opennota/check\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find unused global variables and constants.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"vera\": {\n    \"name\": \"vera++\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSL-1.0 (original text)\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://bitbucket.org/verateam/vera/wiki/Introduction\",\n    \"source\": \"https://bitbucket.org/verateam/vera/src/master\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Vera++ is a programmable tool for verification, analysis and transformation of C++ source code.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"veracode\": {\n    \"name\": \"Veracode\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"dotnet\",\n      \"c\",\n      \"cpp\",\n      \"java\",\n      \"javascript\",\n      \"objectivec\",\n      \"php\",\n      \"swift\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.veracode.com/security/static-code-analysis\",\n    \"source\": null,\n    \"pricing\": \"https://info.veracode.com/request-quote.html\",\n    \"plans\": {\n      \"free\": false,\n      \"oss\": false\n    },\n    \"description\": \"Find flaws in binaries and bytecode without requiring source. Support all major programming languages: Java, .NET, JavaScript, Swift, Objective-C, C, C++ and more.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"Veracode Overview\",\n        \"url\": \"https://www.youtube.com/watch?v=6Fq_UMgwX4I\"\n      },\n      {\n        \"title\": \"Veracode SCA Scan for VS Code Plugin\",\n        \"url\": \"https://www.youtube.com/watch?v=hCl2H8Heqnw\"\n      }\n    ],\n    \"reviews\": [\n      \"https://www.peerspot.com/products/veracode-reviews\"\n    ],\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"verible-linter-action\": {\n    \"name\": \"verible-linter-action\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"verilog\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0 License\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://github.com/chipsalliance/verible-linter-action\",\n    \"source\": \"https://github.com/chipsalliance/verible-linter-action\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Automatic SystemVerilog linting in github actions with the help of Verible Used to lint Verilog and SystemVerilog source files and comment erroneous lines  of code in Pull Requests automatically.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"verifast\": {\n    \"name\": \"VeriFast\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"ocaml\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/verifast/verifast\",\n    \"source\": \"https://github.com/verifast/verifast\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for modular formal verification of correctness properties of single-threaded and multithreaded  C and Java programs annotated with preconditions and postconditions written in separation logic.  To express rich specifications, the programmer can define inductive datatypes,  primitive recursive pure functions over these datatypes, and abstract separation logic predicates.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"verilator\": {\n    \"name\": \"Verilator\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"verilog\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GPL v3 or Perl Artistic License Version 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.veripool.org/verilator\",\n    \"source\": \"https://github.com/verilator/verilator\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool which converts Verilog to a cycle-accurate behavioral model in C++ or SystemC. Performs lint code-quality checks.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"vetur\": {\n    \"name\": \"Vetur\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"vue\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\",\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://marketplace.visualstudio.com/items?itemName=octref.vetur\",\n    \"source\": \"https://github.com/vuejs/vetur\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Vue tooling for VS Code, powered by vls (vue language server). Vetur has support for formatting embedded HTML, CSS, SCSS, JS, TypeScript, and more. Vetur only has a \\\"whole document formatter\\\" and cannot format arbitrary ranges.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": [\n      {\n        \"title\": \"Pine Wu - var vetur = vscode + vue; | VueConf 2017\",\n        \"url\": \"https://www.youtube.com/watch?v=05tNXJ-Kric\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"vint\": {\n    \"name\": \"vint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"vim-script\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/Kuniwak/vint\",\n    \"source\": \"https://github.com/Kuniwak/vint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Fast and Highly Extensible Vim script Language Lint implemented by Python.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"violations-lib\": {\n    \"name\": \"Violations Lib\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\"\n    ],\n    \"other\": [\n      \"ci\",\n      \"support\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/tomasbjerre/violations-lib\",\n    \"source\": \"https://github.com/tomasbjerre/violations-lib\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Java library for parsing report files from static code analysis. Used by a bunch of Jenkins, Maven and Gradle plugins.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"visual-expert\": {\n    \"name\": \"Visual Expert\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"sql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://www.visual-expert.com\",\n    \"source\": null,\n    \"pricing\": \"https://www.visual-expert.com/EN/visual-expert-price.html\",\n    \"plans\": null,\n    \"description\": \"Code analysis for PowerBuilder, Oracle, and SQL Server Explores, analyzes, and documents Code \",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"vmware-chap\": {\n    \"name\": \"VMware chap\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"GPL v2\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/vmware/chap\",\n    \"source\": \"https://github.com/vmware/chap\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"chap analyzes un-instrumented ELF core files for leaks, memory growth, and corruption.  It is sufficiently reliable that it can be used in automation to catch leaks before  they are committed. As an interactive tool, it helps explain memory growth,  can identify some forms of corruption, and supplements a debugger  by giving the status of various memory locations. \",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"vscode-verilog-hdl-support\": {\n    \"name\": \"vscode-verilog-hdl-support\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"verilog\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/mshr-h/vscode-verilog-hdl-support\",\n    \"source\": \"https://github.com/mshr-h/vscode-verilog-hdl-support\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Verilog HDL/SystemVerilog/Bluespec SystemVerilog support for VS Code. Provides syntax highlighting and Linting support from Icarus Verilog, Vivado Logical Simulation, Modelsim and Verilator\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"vsdiagnostics\": {\n    \"name\": \"VSDiagnostics\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU General Public License v2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Vannevelj/VSDiagnostics\",\n    \"source\": \"https://github.com/Vannevelj/VSDiagnostics\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A collection of static analyzers based on Roslyn that integrates with VS.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"vuls\": {\n    \"name\": \"Vuls\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"container\"\n    ],\n    \"licenses\": [\n      \"AGPL-3.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://vuls.io/\",\n    \"source\": \"https://github.com/future-architect/vuls\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Agent-less Linux vulnerability scanner based on information from NVD, OVAL, etc.  It has some container image support, although is not a container specific tool.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"vulture\": {\n    \"name\": \"vulture\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/jendrikseipp/vulture\",\n    \"source\": \"https://github.com/jendrikseipp/vulture\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Find unused classes, functions and variables in Python code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"wala\": {\n    \"name\": \"WALA\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"java\",\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Eclipse Public License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/wala/WALA\",\n    \"source\": \"https://github.com/wala/WALA\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Static analysis capabilities for Java bytecode and related languages and for JavaScript.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": [\n      {\n        \"title\": \"WALA Everywhere\",\n        \"url\": \"https://www.youtube.com/watch?v=QtrJEopSSuw\"\n      }\n    ],\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"wap\": {\n    \"name\": \"WAP\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"php\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"GNU GPL\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://securityonline.info/owasp-wap-web-application-protection-project\",\n    \"source\": \"https://awap.sourceforge.io\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Tool to detect and correct input validation vulnerabilities in PHP (4.0 or higher) web applications and predicts false positives by combining static analysis and data mining.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"warnalyzer\": {\n    \"name\": \"warnalyzer\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"rust\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT / Apache 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/est31/warnalyzer\",\n    \"source\": \"https://github.com/est31/warnalyzer\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Show unused code from multi-crate Rust projects\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"wartremover\": {\n    \"name\": \"WartRemover\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"scala\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://www.wartremover.org\",\n    \"source\": \"https://github.com/puffnfresh/wartremover\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A flexible Scala code linting tool.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"wasm-language-tools\": {\n    \"name\": \"wasm-language-tools\",\n    \"categories\": [\n      \"linter\",\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"wasm\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"ide-plugin\"\n    ],\n    \"homepage\": \"https://github.com/g-plane/wasm-language-tools\",\n    \"source\": \"https://github.com/g-plane/wasm-language-tools\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"WebAssembly Language Tools aims to provide and improve the editing experience of WebAssembly Text Format. It also provides an out-of-the-box formatter (a.k.a. pretty printer) for WebAssembly Text Format.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"weeder\": {\n    \"name\": \"Weeder\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"haskell\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/ocharles/weeder\",\n    \"source\": \"https://github.com/ocharles/weeder\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A tool for detecting dead exports or package imports in Haskell code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"weggli\": {\n    \"name\": \"weggli\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\"\n    ],\n    \"other\": [\n      \"security\"\n    ],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/googleprojectzero/weggli\",\n    \"source\": \"https://github.com/googleprojectzero/weggli\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A fast and robust semantic search tool for C and C++ codebases. It is designed to help security researchers identify interesting functionality in large codebases.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"wemake-python-styleguide\": {\n    \"name\": \"wemake-python-styleguide\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://wemake-python-styleguide.rtfd.io/\",\n    \"source\": \"https://github.com/wemake-services/wemake-python-styleguide\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"The strictest and most opinionated python linter ever.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"whitehat-application-security-platform\": {\n    \"name\": \"WhiteHat Application Security Platform\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"aspnet\",\n      \"csharp\",\n      \"java\",\n      \"javascript\",\n      \"objectivec\",\n      \"php\",\n      \"typescript\"\n    ],\n    \"other\": [\n      \"html\",\n      \"mobile\",\n      \"nodejs\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://source.whitehatsec.com/help/sentinel/sast-service-detail.html\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"WhiteHat Scout (for Developers) combined with WhiteHat Sentinel Source (for Operations) supporting WhiteHat Top 40 and OWASP Top 10.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"wily\": {\n    \"name\": \"wily\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/tonybaloney/wily\",\n    \"source\": \"https://github.com/tonybaloney/wily\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A command-line tool for archiving, exploring and graphing the complexity of Python source code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"wintellect-analyzers\": {\n    \"name\": \"Wintellect.Analyzers\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Other\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/Wintellect/Wintellect.Analyzers\",\n    \"source\": \"https://github.com/Wintellect/Wintellect.Analyzers\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \".NET Compiler Platform (\\\"Roslyn\\\") diagnostic analyzers and code fixes.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"wotan\": {\n    \"name\": \"Wotan\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\",\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache License 2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/fimbullinter/wotan\",\n    \"source\": \"https://github.com/fimbullinter/wotan\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Pluggable TypeScript and JavaScript linter.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"write-good\": {\n    \"name\": \"write-good\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"writing\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/btford/write-good\",\n    \"source\": \"https://github.com/btford/write-good\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A linter with a focus on eliminating \\\"weasel words\\\".\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"wsl\": {\n    \"name\": \"wsl\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"go\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/bombsimon/wsl\",\n    \"source\": \"https://github.com/bombsimon/wsl\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Enforces empty lines at the right places.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"xcode\": {\n    \"name\": \"XCode\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"c\",\n      \"cpp\",\n      \"objectivec\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://developer.apple.com/xcode\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"XCode provides a pretty decent UI for [Clang's](https://clang-analyzer.llvm.org/xcode.html) static code analyzer (C/C++, Obj-C).\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"xenon\": {\n    \"name\": \"xenon\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://xenon.readthedocs.io\",\n    \"source\": \"https://github.com/rubik/xenon\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Monitor code complexity using [`radon`](https://github.com/rubik/radon).\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"xo\": {\n    \"name\": \"xo\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/xojs/xo\",\n    \"source\": \"https://github.com/xojs/xo\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Opinionated but configurable ESLint wrapper with lots of goodies included. Enforces strict and readable code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"xygeni\": {\n    \"name\": \"Xygeni\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"csharp\",\n      \"go\",\n      \"java\",\n      \"javascript\",\n      \"python\"\n    ],\n    \"other\": [\n      \"dockerfile\",\n      \"kubernetes\",\n      \"terraform\"\n    ],\n    \"licenses\": [\n      \"proprietary\"\n    ],\n    \"types\": [\n      \"service\"\n    ],\n    \"homepage\": \"https://xygeni.io/\",\n    \"source\": null,\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Xygeni is a comprehensive Software Supply Chain Security platform. It provides Advanced SAST with AI-powered remediation, Software Composition Analysis (SCA) with real-time malware detection, Infrastructure as Code (IaC) scanning, and Secrets detection to ensure end-to-end code security.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"yamllint\": {\n    \"name\": \"yamllint\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"template\",\n      \"yaml\"\n    ],\n    \"licenses\": [\n      \"GNU General Public License v3.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://yamllint.readthedocs.io\",\n    \"source\": \"https://github.com/adrienverge/yamllint\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Checks YAML files for syntax validity, key repetition and cosmetic problems such as lines length, trailing spaces, and indentation.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"yapf\": {\n    \"name\": \"yapf\",\n    \"categories\": [\n      \"formatter\"\n    ],\n    \"languages\": [\n      \"python\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"Apache-2.0\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/google/yapf\",\n    \"source\": \"https://github.com/google/yapf\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A formatter for Python files created by Google\\nYAPF follows a distinctive methodology, originating from the 'clang-format' tool created by Daniel Jasper. Essentially, the program reframes the code to the most suitable formatting that abides by the style guide, even if the original code already follows the style guide. This concept is similar to the Go programming language's 'gofmt' tool, which aims to put an end to debates about formatting by having the entire codebase of a project pass through YAPF whenever changes are made, thereby maintaining a consistent style throughout the project and eliminating the need to argue about style in every code review.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"yardstick\": {\n    \"name\": \"yardstick\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"javascript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/calmh/yardstick\",\n    \"source\": \"https://github.com/calmh/yardstick\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Javascript code metrics.\",\n    \"discussion\": null,\n    \"deprecated\": true,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"zarn\": {\n    \"name\": \"zarn\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"perl\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://github.com/htrgouvea/zarn\",\n    \"source\": \"https://github.com/htrgouvea/zarn\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"A lightweight static security analysis tool for modern Perl Apps\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"zod\": {\n    \"name\": \"zod\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"typescript\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://zod.dev\",\n    \"source\": \"https://github.com/colinhacks/zod\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"TypeScript-first schema validation with static type inference. The goal is to eliminate duplicative type declarations. With Zod, you declare a validator once and Zod will automatically infer the static TypeScript type. It is easy to compose simpler types into complex data structures.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"zpa\": {\n    \"name\": \"ZPA\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [\n      \"plsql\"\n    ],\n    \"other\": [],\n    \"licenses\": [\n      \"LGPL-3.0 License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://zpa.felipebz.com\",\n    \"source\": \"https://github.com/felipebz/zpa\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"An open source parser and code analyzer for PL/SQL and Oracle SQL code.\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  },\n  \"zydis\": {\n    \"name\": \"zydis\",\n    \"categories\": [\n      \"linter\"\n    ],\n    \"languages\": [],\n    \"other\": [\n      \"binary\"\n    ],\n    \"licenses\": [\n      \"MIT License\"\n    ],\n    \"types\": [\n      \"cli\"\n    ],\n    \"homepage\": \"https://zydis.re\",\n    \"source\": \"https://github.com/zyantific/zydis\",\n    \"pricing\": null,\n    \"plans\": null,\n    \"description\": \"Fast and lightweight x86/x86-64 disassembler library\",\n    \"discussion\": null,\n    \"deprecated\": null,\n    \"resources\": null,\n    \"reviews\": null,\n    \"demos\": null,\n    \"wrapper\": null\n  }\n}"
  },
  {
    "path": "data/render/.gitignore",
    "content": "target\n"
  },
  {
    "path": "data/render/Cargo.toml",
    "content": "[package]\nname = \"render\"\nversion = \"0.2.0\"\nauthors = [\"Matthias Endler <matthias-endler@gmx.net>\"]\nedition = \"2024\"\ndescription = \"Static analysis tools catalog renderer\"\nlicense = \"MIT\"\nrepository = \"https://github.com/analysis-tools-dev/static-analysis\"\nkeywords = [\"static-analysis\", \"linting\", \"tools\", \"catalog\"]\ncategories = [\"development-tools\"]\n\n[lints.clippy]\n# Correctness lints (enabled by default, but being explicit)\ncorrectness = { level = \"deny\", priority = -1 }\n\n# Style lints\nstyle = { level = \"warn\", priority = -1 }\ncomplexity = { level = \"warn\", priority = -1 }\nperf = { level = \"warn\", priority = -1 }\nsuspicious = { level = \"warn\", priority = -1 }\n\n# Additional strict lints\ncargo = { level = \"warn\", priority = -1 }\npedantic = { level = \"warn\", priority = -1 }\nnursery = { level = \"warn\", priority = -1 }\n\n# Specific lints we want to enforce\nmissing_docs_in_private_items = \"warn\"\nmissing_errors_doc = \"warn\"\nmissing_panics_doc = \"warn\"\nunwrap_used = \"deny\"\nexpect_used = \"warn\"\npanic = \"deny\"\nunimplemented = \"deny\"\nunreachable = \"deny\"\ntodo = \"warn\"\nprint_stdout = \"warn\"\nprint_stderr = \"warn\"\ndbg_macro = \"warn\"\n\n# Allow some pedantic lints that might be too noisy\nmodule_name_repetitions = \"allow\"\nsimilar_names = \"allow\"\ntoo_many_lines = \"allow\"  # We'll use the clippy.toml threshold instead\n\n[dependencies]\nserde = \"1.0.228\"\nserde_derive = \"1.0.136\"\nserde_yaml = \"0.9.34\"\naskama = \"0.12.1\"\n# Switch back to crates as soon as a new release with tokio 1.x support is\n# released. See https://github.com/softprops/hubcaps/pull/285\nhubcaps = { git=\"https://github.com/softprops/hubcaps\" }\ntokio = { version = \"1.43.4\", features = [\"rt-multi-thread\", \"macros\"] }\nchrono = \"0.4.44\"\nanyhow = \"1.0.102\"\npico-args = \"0.5.0\"\nserde_json = \"1.0.149\"\nslug = \"0.1.6\"\n"
  },
  {
    "path": "data/render/clippy.toml",
    "content": "# Clippy configuration for stricter linting\n# https://rust-lang.github.io/rust-clippy/master/index.html\n\n# Set the threshold for too many arguments\ntoo-many-arguments-threshold = 4\n\n# Set the threshold for too many lines\ntoo-many-lines-threshold = 100\n\n# Set the threshold for type complexity\ntype-complexity-threshold = 250\n\n# Avoid suggesting wildcard imports\navoid-breaking-exported-api = false"
  },
  {
    "path": "data/render/src/bin/main.rs",
    "content": "use anyhow::{Context, Result};\nuse askama::Template;\nuse pico_args::Arguments;\nuse render::types::{Entry, ParsedEntry, Tag, Tags, Type};\nuse render::{check_deprecated, create_api, create_catalog};\nuse slug::slugify;\nuse std::collections::BTreeMap;\nuse std::env;\nuse std::ffi::OsStr;\nuse std::fs;\nuse std::io;\nuse std::path::PathBuf;\n\nstruct Args {\n    tags: PathBuf,\n    tools: PathBuf,\n    md_out: PathBuf,\n    json_out: PathBuf,\n    skip_deprecated: bool,\n}\n\nfn parse_path(s: &OsStr) -> Result<PathBuf> {\n    Ok(s.into())\n}\n\nfn read_tags(path: PathBuf) -> Result<Tags> {\n    let f = std::fs::File::open(path)?;\n    Ok(serde_yaml::from_reader(f)?)\n}\n\nfn read_tools(path: PathBuf) -> Result<Vec<ParsedEntry>> {\n    let dir: std::fs::ReadDir = std::fs::read_dir(path)?;\n\n    let files = dir\n        .map(|res| res.map(|e| e.path()))\n        .filter(|x| match x {\n            Ok(pb) => pb.extension().and_then(OsStr::to_str) == Some(\"yml\"),\n            Err(_) => false,\n        })\n        .collect::<Result<Vec<_>, io::Error>>()?;\n\n    files\n        .iter()\n        .inspect(|p| println!(\"Checking {}\", p.display()))\n        .map(|p| {\n            let file = std::fs::File::open(p)?;\n            let entry: ParsedEntry = serde_yaml::from_reader(file)?;\n            Ok(entry)\n        })\n        .collect::<Result<Vec<ParsedEntry>, _>>()\n}\n\n/// Backfills the deprecated field in the tools data from the old tools data.\nfn backfill_deprecated(tools: &mut Vec<Entry>) -> Result<()> {\n    let tools_raw = match fs::read_to_string(\"data/api/tools.json\") {\n        Ok(content) => content,\n        Err(_) => return Ok(()), // No old data to backfill from. Skip silently.\n    };\n\n    let old_tools_data: BTreeMap<String, serde_json::Value> = serde_json::from_str(&tools_raw)?;\n\n    for tool in tools {\n        let id = slugify(&tool.name);\n        if let Some(old_tool) = old_tools_data.get(&id) {\n            // Only backfill deprecated if it's not already set\n            if tool.deprecated.is_none() {\n                tool.deprecated = old_tool.get(\"deprecated\").and_then(|d| d.as_bool());\n            }\n        }\n    }\n    Ok(())\n}\n\nfn main() -> Result<()> {\n    let mut args = Arguments::from_env();\n    let args = Args {\n        tags: args.value_from_os_str(\"--tags\", parse_path)?,\n        tools: args.value_from_os_str(\"--tools\", parse_path)?,\n        md_out: args.value_from_os_str(\"--md-out\", parse_path)?,\n        json_out: args.value_from_os_str(\"--json-out\", parse_path)?,\n        skip_deprecated: args.contains(\"--skip-deprecated\"),\n    };\n\n    let tags = read_tags(args.tags)?;\n\n    let parsed_tools = read_tools(args.tools)?;\n    let tools: Result<Vec<Entry>> = parsed_tools\n        .into_iter()\n        .map(|t| Entry::from_parsed(t, &tags))\n        .collect();\n    let mut tools = tools?;\n    tools.sort();\n\n    let should_check_deprecation = !args.skip_deprecated;\n    let github_token = env::var(\"GITHUB_TOKEN\");\n\n    match (should_check_deprecation, github_token) {\n        (true, Ok(token)) => check_deprecated(token, &mut tools)?,\n        (true, Err(_)) => {\n            eprintln!(\"No GITHUB_TOKEN environment variable found. Reusing old deprecation data.\");\n            backfill_deprecated(&mut tools)?;\n        }\n        (false, _) => backfill_deprecated(&mut tools)?,\n    }\n\n    let languages: Vec<Tag> = tags\n        .clone()\n        .into_iter()\n        .filter(|t| t.tag_type == Type::Language)\n        .collect();\n\n    let other_tags: Vec<Tag> = tags\n        .clone()\n        .into_iter()\n        .filter(|t| t.tag_type == Type::Other)\n        .collect();\n\n    let catalog = create_catalog(&tools, &languages, &other_tags)?;\n    fs::write(&args.md_out, catalog.render()?).context(format!(\n        \"Cannot write Markdown output to {}\",\n        args.md_out.display()\n    ))?;\n\n    let api = create_api(catalog, &languages, &other_tags)?;\n\n    let json = serde_json::to_string_pretty(&api)?;\n    let tools_out = args.json_out.join(\"tools.json\");\n    fs::write(&tools_out, json).context(format!(\n        \"Cannot write tools JSON output to {}\",\n        args.json_out.display()\n    ))?;\n\n    let mut tags_json = BTreeMap::new();\n    tags_json.insert(\"languages\", languages);\n    tags_json.insert(\"other\", other_tags);\n    let json = serde_json::to_string_pretty(&tags_json)?;\n\n    let tags_out = args.json_out.join(\"tags.json\");\n    fs::write(&tags_out, json).context(format!(\n        \"Cannot write tags JSON output to {}\",\n        args.json_out.display()\n    ))?;\n\n    // let stats_raw = fs::read_to_string(\"data/api/stats_raw.json\")?;\n    // let stats: StatsRaw = serde_json::from_str(&stats_raw)?;\n\n    // let stats = format_stats(stats);\n    // let json = serde_json::to_string(&stats)?;\n\n    // let stats_out = args.json_out.join(\"stats.json\");\n    // fs::write(&stats_out, json).context(format!(\n    //     \"Cannot write stats JSON output to {}\",\n    //     args.json_out.display()\n    // ))?;\n\n    Ok(())\n}\n"
  },
  {
    "path": "data/render/src/lib.rs",
    "content": "#[macro_use]\nextern crate serde_derive;\n\nuse anyhow::Result;\nuse chrono::{DateTime, Local, NaiveDateTime, Utc};\nuse hubcaps::{Credentials, Github};\nuse slug::slugify;\nuse stats::StatsRaw;\n\nmod lints;\npub mod stats;\npub mod types;\n\nuse std::collections::BTreeMap;\nuse types::{Api, ApiEntry, Catalog, Entry, ParsedEntry, Tag, Type};\n\nfn valid(entry: &ParsedEntry, tags: &[Tag]) -> Result<()> {\n    let lints = [lints::name, lints::min_one_tag];\n    lints.iter().try_for_each(|lint| lint(entry, tags))\n}\n\n#[tokio::main]\npub async fn check_deprecated(token: String, entries: &mut Vec<Entry>) -> Result<()> {\n    println!(\"Checking for deprecated entries on Github. This might take a while...\");\n    let github = Github::new(\n        String::from(\"analysis tools bot\"),\n        Credentials::Token(token),\n    )?;\n\n    for entry in entries {\n        if entry.source.is_none() {\n            continue;\n        }\n\n        let Some(source) = entry.source.as_ref() else {\n            continue;\n        };\n        let components: Vec<&str> = source.trim_end_matches('/').split('/').collect();\n        if !(components.contains(&\"github.com\") && components.len() == 5) {\n            // valid github source must have 5 elements - anything longer and they are probably a\n            // reference to a path inside a repo, rather than a repo itself.\n            continue;\n        }\n\n        let owner = components[3];\n        let repo = components[4];\n\n        if let Ok(commit_list) = github.repo(owner, repo).commits().list(\"\").await {\n            let date = &commit_list[0].commit.author.date;\n            let last_commit = NaiveDateTime::parse_from_str(date, \"%Y-%m-%dT%H:%M:%SZ\")?;\n            let last_commit_utc: DateTime<Utc> =\n                DateTime::from_naive_utc_and_offset(last_commit, Utc);\n            let now = Local::now().date_naive();\n            let duration = now.signed_duration_since(last_commit_utc.date_naive());\n\n            if duration.num_days() > 365 {\n                entry.deprecated = Some(true);\n            } else {\n                entry.deprecated = None;\n            }\n        }\n    }\n\n    Ok(())\n}\n\npub fn create_catalog(entries: &[Entry], languages: &[Tag], other_tags: &[Tag]) -> Result<Catalog> {\n    // Move tools that support multiple programming languages into their own category\n    let (multi, entries): (Vec<Entry>, Vec<Entry>) = entries.iter().cloned().partition(|entry| {\n        let language_tags = entry\n            .tags\n            .iter()\n            .filter(|t| t.tag_type == Type::Language)\n            .count();\n        language_tags > 1 && !entry.is_c_cpp()\n    });\n\n    let mut linters = BTreeMap::new();\n    for language in languages {\n        let list: Vec<Entry> = entries\n            .iter()\n            .filter(|e| e.tags.contains(language))\n            .cloned()\n            .collect();\n        if !list.is_empty() {\n            linters.insert(language.clone(), list);\n        }\n    }\n\n    let mut others = BTreeMap::new();\n    for other in other_tags {\n        let list: Vec<Entry> = entries\n            .iter()\n            .filter(|e| e.tags.contains(other))\n            .cloned()\n            .collect();\n        if !list.is_empty() {\n            others.insert(other.clone(), list);\n        }\n    }\n\n    Ok(Catalog {\n        linters,\n        others,\n        multi,\n    })\n}\n\npub fn create_api(catalog: Catalog, languages: &[Tag], other_tags: &[Tag]) -> Result<Api> {\n    let mut api_entries = BTreeMap::new();\n\n    // Concatenate all entries into one vector\n    let mut entries: Vec<Entry> = catalog.linters.into_values().flatten().collect();\n    entries.extend(catalog.others.into_values().flatten());\n    entries.extend(catalog.multi);\n\n    for entry in entries {\n        // Get the language data for the entry. We iterate over all languages\n        // and look up each language in the entry tags This is an O(n) operation\n        // as we iterate over the language list only once while the lookup is an\n        // O(1) operation thanks to the tag hash set.\n        let entry_languages = languages\n            .iter()\n            .filter_map(|lang| {\n                if entry.tags.contains(lang) {\n                    entry.tags.get(lang).map(|tag| tag.value.clone())\n                } else {\n                    None\n                }\n            })\n            .collect();\n\n        // ...same for the non-language tags\n        let entry_other = other_tags\n            .iter()\n            .filter_map(|other| {\n                if entry.tags.contains(other) {\n                    entry.tags.get(other).map(|tag| tag.value.clone())\n                } else {\n                    None\n                }\n            })\n            .collect();\n\n        // In the future we want to split up licenses in the YAML input files into a list.\n        // Emulate the future data format by creating a list from the current string.\n        // Note that this string could contain more than one license name for now, e.g.\n        // MIT / Apache License\n        let licenses = vec![entry.license];\n\n        let api_entry = ApiEntry {\n            name: entry.name.clone(),\n            categories: entry.categories,\n            languages: entry_languages,\n            other: entry_other,\n            licenses,\n            types: entry.types,\n            homepage: entry.homepage,\n            source: entry.source,\n            pricing: entry.pricing,\n            plans: entry.plans,\n            description: entry.description,\n            discussion: entry.discussion,\n            deprecated: entry.deprecated,\n            resources: entry.resources,\n            reviews: entry.reviews,\n            demos: entry.demos,\n            wrapper: entry.wrapper,\n        };\n        api_entries.insert(slugify(&entry.name), api_entry);\n    }\n\n    Ok(api_entries)\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n\n    #[test]\n    fn test_slugify() {\n        assert_eq!(slugify(\"this is a test\"), \"this-is-a-test\".to_string());\n        assert_eq!(slugify(\"Big\"), \"big\".to_string());\n        assert_eq!(slugify(\"   Big\"), \"big\".to_string());\n        assert_eq!(slugify(\"Astrée\"), \"astree\".to_string());\n        assert_eq!(slugify(\"non word 1234\"), \"non-word-1234\".to_string());\n        assert_eq!(slugify(\"it-has-dashes\"), \"it-has-dashes\".to_string());\n        assert_eq!(\n            slugify(\"   - - it-has-dashes - -\"),\n            \"it-has-dashes\".to_string()\n        );\n    }\n}\n\npub fn format_stats(stats: StatsRaw) -> BTreeMap<String, String> {\n    stats\n        .data\n        .result\n        .into_iter()\n        .map(|r| {\n            (\n                r.metric.path.trim_start_matches(\"/tool/\").to_string(),\n                r.value.1,\n            )\n        })\n        .collect()\n}\n"
  },
  {
    "path": "data/render/src/lints.rs",
    "content": "use anyhow::{Result, anyhow};\n\nuse crate::types::ParsedEntry;\nuse crate::types::Tag;\n\npub fn name(entry: &ParsedEntry, _: &[Tag]) -> Result<()> {\n    if entry.name.len() <= 50 {\n        Ok(())\n    } else {\n        Err(anyhow!(\n            \"Name of entry may be at most 50 characters long, but {} is {} long\",\n            entry.name,\n            entry.name.len()\n        ))\n    }\n}\n\npub fn min_one_tag(entry: &ParsedEntry, _: &[Tag]) -> Result<()> {\n    if entry.tags.is_empty() {\n        Err(anyhow!(\n            \"{} must have at least one tag from `tags.yml`.\",\n            entry.name\n        ))\n    } else {\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "data/render/src/stats.rs",
    "content": "use serde_derive::Deserialize;\nuse serde_derive::Serialize;\n\n#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct StatsRaw {\n    pub status: String,\n    pub data: Data,\n}\n\n#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct Data {\n    pub result_type: String,\n    pub result: Vec<Result>,\n    pub stats: Stats,\n}\n\n#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct Result {\n    pub metric: Metric,\n    pub value: (f64, String),\n}\n\n#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct Metric {\n    pub path: String,\n}\n\n#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct Stats {\n    pub summary: Summary,\n    pub store: Store,\n    pub ingester: Ingester,\n}\n\n#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct Summary {\n    pub bytes_processed_per_second: i64,\n    pub lines_processed_per_second: i64,\n    pub total_bytes_processed: i64,\n    pub total_lines_processed: i64,\n    pub exec_time: f64,\n}\n\n#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct Store {\n    pub total_chunks_ref: i64,\n    pub total_chunks_downloaded: i64,\n    pub chunks_download_time: f64,\n    pub head_chunk_bytes: i64,\n    pub head_chunk_lines: i64,\n    pub decompressed_bytes: i64,\n    pub decompressed_lines: i64,\n    pub compressed_bytes: i64,\n    pub total_duplicates: i64,\n}\n\n#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct Ingester {\n    pub total_reached: i64,\n    pub total_chunks_matched: i64,\n    pub total_batches: i64,\n    pub total_lines_sent: i64,\n    pub head_chunk_bytes: i64,\n    pub head_chunk_lines: i64,\n    pub decompressed_bytes: i64,\n    pub decompressed_lines: i64,\n    pub compressed_bytes: i64,\n    pub total_duplicates: i64,\n}\n"
  },
  {
    "path": "data/render/src/types.rs",
    "content": "use anyhow::{Result, bail};\nuse askama::Template;\nuse serde::Deserialize;\nuse std::cmp::Ordering;\nuse std::collections::{BTreeMap, BTreeSet};\n\nuse crate::valid;\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Hash, Ord, PartialOrd)]\npub enum Type {\n    #[serde(alias = \"language\")]\n    Language,\n    #[serde(alias = \"other\")]\n    Other,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Hash, Ord, PartialOrd)]\npub struct Tag {\n    pub name: String,\n    pub value: String,\n    #[serde(alias = \"type\")]\n    pub tag_type: Type,\n}\n\nimpl Tag {\n    fn new(name: &str, value: &str, tag_type: Type) -> Self {\n        Self {\n            name: name.into(),\n            value: value.into(),\n            tag_type,\n        }\n    }\n}\n\n// The tags from tags.yml. Note that this is a `Vector<Tag>` and not a\n// `BTreeSet<Tag>` because we like to keep the sorting between renders.\npub type Tags = Vec<Tag>;\n\npub type EntryTags = BTreeSet<String>;\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]\npub struct Resource {\n    title: String,\n    url: String,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]\npub struct Review {\n    url: String,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]\npub struct Demo {\n    url: String,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Hash, Ord, PartialOrd)]\n#[serde(rename = \"category\")]\npub enum Category {\n    #[serde(rename = \"linter\")]\n    Linter,\n    #[serde(rename = \"formatter\")]\n    Formatter,\n    #[serde(rename = \"performance\")]\n    Performance,\n    #[serde(rename = \"meta\")]\n    Meta,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]\npub struct ParsedEntry {\n    pub name: String,\n    pub categories: BTreeSet<Category>,\n    pub tags: BTreeSet<String>,\n    pub license: String,\n    pub types: BTreeSet<String>,\n    pub homepage: String,\n    pub source: Option<String>,\n    pub pricing: Option<String>,\n    pub plans: Option<BTreeMap<String, bool>>,\n    pub description: String,\n    pub discussion: Option<String>,\n    pub deprecated: Option<bool>,\n    pub resources: Option<Vec<Resource>>,\n    pub reviews: Option<BTreeSet<String>>,\n    pub demos: Option<BTreeSet<String>>,\n    pub wrapper: Option<bool>,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Ord, PartialOrd)]\npub enum ToolType {\n    #[serde(rename = \"cli\")]\n    Commandline,\n    #[serde(rename = \"gui\")]\n    GUI,\n    #[serde(rename = \"service\")]\n    Service,\n    #[serde(rename = \"ide-plugin\")]\n    IdePlugin,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]\npub struct Entry {\n    pub name: String,\n    pub categories: BTreeSet<Category>,\n    pub tags: BTreeSet<Tag>,\n    pub license: String,\n    pub types: BTreeSet<ToolType>,\n    pub homepage: String,\n    pub source: Option<String>,\n    pub pricing: Option<String>,\n    pub plans: Option<BTreeMap<String, bool>>,\n    pub description: String,\n    pub discussion: Option<String>,\n    pub deprecated: Option<bool>,\n    pub resources: Option<Vec<Resource>>,\n    pub reviews: Option<BTreeSet<String>>,\n    pub demos: Option<BTreeSet<String>>,\n    pub wrapper: Option<bool>,\n}\n\nimpl Entry {\n    pub fn is_c_cpp(&self) -> bool {\n        self.tags\n            == [\n                Tag::new(\"C\", \"c\", Type::Language),\n                Tag::new(\"C++\", \"cpp\", Type::Language),\n            ]\n            .iter()\n            .cloned()\n            .collect::<BTreeSet<Tag>>()\n    }\n\n    pub fn from_parsed(p: ParsedEntry, tags: &[Tag]) -> Result<Entry> {\n        valid(&p, tags)?;\n\n        let tag_results: Vec<Result<Tag>> = p.tags.iter().map(|t| get_tag(t, tags)).collect();\n        let tag_errors: Vec<String> = tag_results\n            .iter()\n            .filter_map(|r| r.as_ref().err().map(|e| e.to_string()))\n            .collect();\n        if !tag_errors.is_empty() {\n            bail!(\n                \"Tool '{}': {}\\n  File: data/tools/{}.yml\",\n                p.name,\n                tag_errors.join(\"\\n\"),\n                p.name.to_lowercase().replace(' ', \"-\")\n            );\n        }\n        let entry_tags: Result<BTreeSet<Tag>> = tag_results.into_iter().collect();\n\n        let types: Result<BTreeSet<ToolType>> = p\n            .types\n            .iter()\n            .map(|t| {\n                let value = serde_json::to_value(t)?;\n                serde_json::from_value::<ToolType>(value).map_err(Into::into)\n            })\n            .collect();\n\n        Ok(Entry {\n            name: p.name,\n            categories: p.categories,\n            tags: entry_tags?,\n            license: p.license,\n            types: types?,\n            homepage: p.homepage,\n            source: p.source,\n            pricing: p.pricing,\n            plans: p.plans,\n            description: p.description,\n            discussion: p.discussion,\n            deprecated: p.deprecated,\n            resources: p.resources,\n            reviews: p.reviews,\n            demos: p.demos,\n            wrapper: p.wrapper,\n        })\n    }\n}\n\nfn get_tag(t: &str, tags: &[Tag]) -> Result<Tag> {\n    for tag in tags {\n        if tag.value == t {\n            return Ok(tag.clone());\n        }\n    }\n    bail!(\"Invalid tag: {}\", t)\n}\n\nimpl PartialOrd for Entry {\n    fn partial_cmp(&self, other: &Entry) -> Option<Ordering> {\n        Some(self.cmp(other))\n    }\n}\n\nimpl Ord for Entry {\n    fn cmp(&self, other: &Entry) -> Ordering {\n        self.name.to_lowercase().cmp(&other.name.to_lowercase())\n    }\n}\n\npub type EntryMap = BTreeMap<Tag, Vec<Entry>>;\n\n#[derive(Debug, Serialize, Deserialize, Template)]\n#[template(path = \"README.md\")]\npub struct Catalog {\n    pub linters: EntryMap,\n    pub others: EntryMap,\n    pub multi: Vec<Entry>,\n}\n\n/// An entry of the machine-readable JSON out from the tool.\n///\n/// We use a different, de-normalized data format instead of the catalog, which\n/// keeps the information for each tool in a struct instead of grouping tools by\n/// tags.\n#[derive(Debug, Serialize, Deserialize)]\npub struct ApiEntry {\n    /// The original entry name (not slugified)\n    pub name: String,\n    pub categories: BTreeSet<Category>,\n    pub languages: Vec<String>,\n    pub other: Vec<String>,\n    pub licenses: Vec<String>,\n    pub types: BTreeSet<ToolType>,\n    pub homepage: String,\n    pub source: Option<String>,\n    pub pricing: Option<String>,\n    pub plans: Option<BTreeMap<String, bool>>,\n    pub description: String,\n    pub discussion: Option<String>,\n    pub deprecated: Option<bool>,\n    pub resources: Option<Vec<Resource>>,\n    pub reviews: Option<BTreeSet<String>>,\n    pub demos: Option<BTreeSet<String>>,\n    pub wrapper: Option<bool>,\n}\n\n/// The final API dataformat is a map where the key is the entry name and the\n/// value is the entry data, which makes searching for a tool's data easier\npub type Api = BTreeMap<String, ApiEntry>;\n"
  },
  {
    "path": "data/render/templates/README.md",
    "content": "<!-- 🚨🚨 DON'T EDIT THIS FILE DIRECTLY. Edit `data/tools.yml` instead. 🚨🚨 -->\n\n <a href=\"https://analysis-tools.dev/\">\n   <img alt=\"Analysis Tools Website\" src=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/redesign.svg\" />\n </a>\n\nThis repository lists **static analysis tools** for all programming languages, build tools, config files and more. The focus is on tools which improve code quality such as linters and formatters.\nThe official website, [analysis-tools.dev](https://analysis-tools.dev/) is based on this repository and adds rankings, user comments, and additional resources like videos for each tool.\n\n[![Website](https://img.shields.io/badge/Website-Online-2B5BAE)](https://analysis-tools.dev)\n![CI](https://github.com/analysis-tools-dev/static-analysis/workflows/CI/badge.svg)\n[![Links](https://github.com/analysis-tools-dev/static-analysis/actions/workflows/links.yml/badge.svg)](https://github.com/analysis-tools-dev/static-analysis/actions/workflows/links.yml)\n\n## Sponsors\n\nThis project would not be possible without the generous support of our sponsors.\n\n<table>\n   <tr>\n      <td>\n         <a href=\"https://www.pixee.ai/\">\n            <picture >\n               <source width=\"200px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/sponsors/pixee-light.png\">\n               <img width=\"200px\" alt=\"Pixee\" src=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/sponsors/pixee-dark.png\">\n            </picture>\n         </a>\n      </td>\n      <td>\n         <a href=\"https://coderabbit.ai\">\n            <img width=\"200px\" src=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/sponsors/code-rabbit.svg\" />\n         </a>\n      </td>\n      <td>\n         <a href=\"https://semgrep.dev/\">\n            <img width=\"200px\" src=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/sponsors/semgrep.svg\" />\n         </a>\n      </td>\n      <td>\n         <a href=\"https://offensive360.com/\">\n            <img width=\"200px\" src=\"https://raw.githubusercontent.com/analysis-tools-dev/assets/master/static/sponsors/offensive360.png\" />\n         </a>\n      </td>\n   </tr>\n</table>\n\nIf you also want to support this project, head over to our [Github sponsors page](https://github.com/sponsors/analysis-tools-dev).\n\n## Meaning of Symbols:\n\n- :copyright: stands for proprietary software. All other tools are Open Source.\n- :information_source: indicates that the community does not recommend to use this tool for new projects anymore. The icon links to the discussion issue.\n- :warning: means that this tool was not updated for more than 1 year, or the repo was archived.\n\nPull requests are very welcome!  \nAlso check out the sister project, [awesome-dynamic-analysis](https://github.com/mre/awesome-dynamic-analysis).\n\n## Table of Contents\n\n#### [Programming Languages](#programming-languages-1)\n\n{% for (language, _) in linters %}\n- [{{ language.name }}](#{{ language.value }})\n  {%- endfor %}\n\n#### [Multiple Languages](#multiple-languages-1)\n\n#### [Other](#other-1)\n<details>\n <summary>Show Other</summary>\n{% for (tag, _) in others %}\n- [{{ tag.name }}](#{{ tag.value }})\n  {%- endfor %}\n</details>\n\n---\n\n## Programming Languages\n\n{%- for (language, linters) in linters %}\n\n<a name=\"{{ language.value }}\" />\n<h2>{{ language.name }}</h2>\n\n{% for linter in linters %}\n- {% if linter.deprecated.is_some() && linter.deprecated.unwrap() %}**{{linter.name }}**{% else %}[{{linter.name }}]({{linter.homepage }}){% endif %}{% if linter.discussion.is_some() %} [:information_source:](<{{linter.discussion.as_ref().unwrap()}}>){% endif %}{% if linter.deprecated.is_some() && linter.deprecated.unwrap() %} :warning:{% endif %}{% if linter.license == \"proprietary\" %} :copyright:{% endif %} — {{ linter.description }}\n{% endfor %}\n\n{%- endfor %}\n\n## Multiple languages\n\n{% for linter in multi %}\n- {% if linter.deprecated.is_some() && linter.deprecated.unwrap() %}**{{linter.name }}**{% else %}[{{linter.name }}]({{linter.homepage }}){% endif %}{% if linter.discussion.is_some() %} [:information_source:](<{{linter.discussion.as_ref().unwrap()}}>){% endif %}{% if linter.deprecated.is_some() && linter.deprecated.unwrap() %} :warning:{% endif %}{% if linter.license == \"proprietary\" %} :copyright:{% endif %} — {{ linter.description }}\n{% endfor %}\n\n## Other\n\n{% for (tag, others) in others %}\n\n<a name=\"{{ tag.value }}\" />\n<h2>{{ tag.name }}</h2>\n\n{% for other in others %}\n- {% if other.deprecated.is_some() && other.deprecated.unwrap() %}**{{ other.name }}**{% else %}[{{ other.name }}]({{ other.homepage }}){% endif %}{% if other.discussion.is_some() %} [:information_source:](<{{other.discussion.as_ref().unwrap()}}>){% endif %}{% if other.deprecated.is_some() && other.deprecated.unwrap() %} :warning:{% endif %}{% if other.license == \"proprietary\" %} :copyright:{% endif %} — {{ other.description }}\n{% endfor %}\n\n{%- endfor %}\n\n## More Collections\n\n- [Clean code linters](https://github.com/collections/clean-code-linters) — A collection of linters in github collections\n- [Code Quality Checker Tools For PHP Projects](https://github.com/collections/code-quality-in-php) — A collection of PHP linters in github collections\n- [go-tools](https://github.com/dominikh/go-tools) — A collection of tools and libraries for working with Go code, including linters and static analysis\n- [linters](https://github.com/mcandre/linters) — An introduction to static code analysis\n- [OWASP Source Code Analysis Tools](https://owasp.org/www-community/Source_Code_Analysis_Tools) — List of tools maintained by the Open Web Application Security Project\n- [php-static-analysis-tools](https://github.com/exakat/php-static-analysis-tools) — A reviewed list of useful PHP static analysis tools\n- [AppSec Santa — SAST Tools](https://appsecsanta.com/sast-tools) — Independent comparison of 30+ static analysis security testing tools with features, pricing, and alternatives\n- [Wikipedia](http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis) — A list of tools for static code analysis.\n\n## License\n\n[![CC0](https://i.creativecommons.org/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)\n\nTo the extent possible under law, [Matthias Endler](https://endler.dev) has waived all copyright and related or neighboring rights to this work.\nThe underlying source code used to format and display that content is licensed under the MIT license.\n\n\nTitle image [Designed by Freepik](https://www.freepik.com)."
  },
  {
    "path": "data/tags.yml",
    "content": "- name: .env\n  value: dotenv\n  type: other\n- name: .NET\n  value: dotnet\n  type: language\n- name: ABAP\n  value: abap\n  type: language\n- name: ActionScript\n  value: actionscript\n  type: language\n- name: Active Server Pages\n  value: asp\n  type: language\n- name: Ada\n  value: ada\n  type: language\n- name: Ansible\n  value: ansible\n  type: other\n- name: Apex\n  value: apex\n  type: language\n- name: Archive\n  value: archive\n  type: other\n- name: ASP.NET\n  value: aspnet\n  type: language\n- name: Assembly\n  value: asm\n  type: language\n- name: Awk\n  value: awk\n  type: language\n- name: Azure Resource Manager\n  value: arm\n  type: other\n- name: Binaries\n  value: binary\n  type: other\n- name: Build tools\n  value: buildtool\n  type: other\n- name: C\n  value: c\n  type: language\n- name: C#\n  value: csharp\n  type: language\n- name: C++\n  value: cpp\n  type: language\n- name: Clojure\n  value: clojure\n  type: language\n- name: Cloud Formation\n  value: cloudformation\n  type: other\n- name: COBOL\n  value: cobol\n  type: language\n- name: CoffeeScript\n  value: coffeescript\n  type: language\n- name: ColdFusion\n  value: coldfusion\n  type: language\n- name: Config Files\n  value: configfile\n  type: other\n- name: Configuration Management\n  value: configmanagement\n  type: other\n- name: Containers\n  value: container\n  type: other\n- name: Continuous Integration\n  value: ci\n  type: other\n- name: Crystal\n  value: crystal\n  type: language\n- name: CSS/SASS/SCSS\n  value: css\n  type: other\n- name: Dart\n  value: dart\n  type: language\n- name: Delphi\n  value: delphi\n  type: language\n- name: Deno\n  value: deno\n  type: other\n- name: Dlang\n  value: dlang\n  type: language\n- name: Dockerfile\n  value: dockerfile\n  type: other\n- name: Elixir\n  value: elixir\n  type: language\n- name: Elm\n  value: elm\n  type: language\n- name: Embedded Ruby (a.k.a. ERB, eRuby)\n  value: erb\n  type: other\n- name: Embedded\n  value: embedded\n  type: other\n- name: Erlang\n  value: erlang\n  type: language\n- name: F#\n  value: fsharp\n  type: language\n- name: Fortran\n  value: fortran\n  type: language\n- name: Gherkin\n  value: gherkin\n  type: other\n- name: Ghidra\n  value: ghidra\n  type: other\n- name: Go\n  value: go\n  type: language\n- name: git\n  value: git\n  type: other\n- name: Groovy\n  value: groovy\n  type: language\n- name: Haskell\n  value: haskell\n  type: language\n- name: Haxe\n  value: haxe\n  type: language\n- name: HTML\n  value: html\n  type: other\n- name: Java\n  value: java\n  type: language\n- name: JavaScript\n  value: javascript\n  type: language\n- name: JavaServer Pages\n  value: jsp\n  type: language\n- name: Jimple\n  value: jimple\n  type: language\n- name: JSON\n  value: json\n  type: other\n- name: JSX\n  value: jsx\n  type: language\n- name: Julia\n  value: julia\n  type: language\n- name: Kotlin\n  value: kotlin\n  type: language\n- name: Kubernetes\n  value: kubernetes\n  type: other\n- name: Laravel\n  value: laravel\n  type: other\n- name: LaTeX\n  value: latex\n  type: other\n- name: Less\n  value: less\n  type: other\n- name: Lightning Web Components\n  value: lwc\n  type: language\n- name: Lisp\n  value: lisp\n  type: language\n- name: Lua\n  value: lua\n  type: language\n- name: Makefiles\n  value: make\n  type: other\n- name: Markdown\n  value: markdown\n  type: other\n- name: MATLAB\n  value: matlab\n  type: language\n- name: Metalinter\n  value: meta\n  type: other\n- name: Mobile\n  value: mobile\n  type: other\n- name: Nim\n  value: nim\n  type: language\n- name: Nix\n  value: nix\n  type: other\n- name: Node.js\n  value: nodejs\n  type: other\n- name: Objective C\n  value: objectivec\n  type: language\n- name: Ocaml\n  value: ocaml\n  type: language\n- name: Packages\n  value: package\n  type: other\n- name: Pascal\n  value: pascal\n  type: language\n- name: Perl\n  value: perl\n  type: language\n- name: PhoneGap\n  value: phonegap\n  type: other\n- name: PHP\n  value: php\n  type: language\n- name: PL/SQL\n  value: plsql\n  type: language\n- name: PowerShell\n  value: powershell\n  type: language\n- name: Prometheus\n  value: prometheus\n  type: other\n- name: Protocol Buffers\n  value: protobuf\n  type: other\n- name: Puppet\n  value: puppet\n  type: other\n- name: Python\n  value: python\n  type: language\n- name: R\n  value: r\n  type: language\n- name: Rails\n  value: rails\n  type: other\n- name: Raku\n  value: raku\n  type: language\n- name: Rego\n  value: rego\n  type: language\n- name: Ruby\n  value: ruby\n  type: language\n- name: Rust\n  value: rust\n  type: language\n- name: Scala\n  value: scala\n  type: language\n- name: Security/SAST\n  value: security\n  type: other\n- name: Shell\n  value: shell\n  type: language\n- name: Smart Contracts\n  value: smart-contracts\n  type: other\n- name: SQL\n  value: sql\n  type: language\n- name: Support\n  value: support\n  type: other\n- name: Spring\n  value: spring\n  type: other\n- name: Swift\n  value: swift\n  type: language\n- name: Tcl\n  value: tcl\n  type: language\n- name: Template-Languages\n  value: template\n  type: other\n- name: Terraform\n  value: terraform\n  type: other\n- name: Translation\n  value: translation\n  type: other\n- name: TSQL\n  value: tsql\n  type: language\n- name: TypeScript\n  value: typescript\n  type: language\n- name: VBScript\n  value: vbscript\n  type: language\n- name: Verilog/SystemVerilog\n  value: verilog\n  type: language\n- name: Vim Script\n  value: vim-script\n  type: language\n- name: Visual Basic\n  value: vbasic\n  type: language\n- name: Visual Basic .NET\n  value: vbnet\n  type: language\n- name: Visual Basic for Applications (VBA)\n  value: vba\n  type: language\n- name: Visualforce\n  value: visualforce\n  type: language\n- name: Vue.js\n  value: vue\n  type: other\n- name: WebAssembly\n  value: wasm\n  type: language\n- name: Writing\n  value: writing\n  type: other\n- name: XML\n  value: xml\n  type: other\n- name: YAML\n  value: yaml\n  type: other\n"
  },
  {
    "path": "data/tools/Meziantou.Analyzer.yml",
    "content": "name: Meziantou.Analyzer\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: MIT license\ntypes:\n  - cli\nsource: 'https://github.com/meziantou/Meziantou.Analyzer'\nhomepage: 'https://github.com/meziantou/Meziantou.Analyzer'\ndescription: >-\n  A Roslyn analyzer to enforce some good practices in C# in terms of design, usage, security, performance, and style.\n"
  },
  {
    "path": "data/tools/SonarAnalyzer.CSharp.yml",
    "content": "name: SonarAnalyzer.CSharp\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: LGPL-3.0-only license\ntypes:\n  - cli\nsource: 'https://github.com/SonarSource/sonar-dotnet'\nhomepage: 'https://github.com/SonarSource/sonar-dotnet'\ndescription: >-\n  These Roslyn analyzers allow you to produce Clean Code that is safe, reliable, and maintainable by helping you find and correct bugs, vulnerabilities, and code smells in your codebase.\n"
  },
  {
    "path": "data/tools/abaplint.yml",
    "content": "name: abaplint\ncategories:\n  - linter\ntags:\n  - abap\nlicense: MIT License\ntypes:\n  - cli\n  - service\n  - ide-plugin  \nsource: 'https://github.com/abaplint/abaplint'\nhomepage: 'https://abaplint.org'\ndescription: 'Linter for ABAP, written in TypeScript.'\n"
  },
  {
    "path": "data/tools/abapopenchecks.yml",
    "content": "name: abapOpenChecks\ncategories:\n  - linter\ntags:\n  - abap\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/larshp/abapOpenChecks'\nhomepage: 'https://docs.abapopenchecks.org'\ndescription: Enhances the SAP Code Inspector with new and customizable checks.\n"
  },
  {
    "path": "data/tools/actionlint.yml",
    "content": "name: actionlint\ncategories:\n  - linter\ntags:\n  - ci\nlicense: MIT License\ntypes:\n  - cli \nsource: 'https://github.com/rhysd/actionlint'\nhomepage: 'https://rhysd.github.io/actionlint'\ndescription: 'Static checker for GitHub Actions workflow files. Provides an online version.'\n"
  },
  {
    "path": "data/tools/active-record-doctor.yml",
    "content": "name: Active Record Doctor\ncategories:\n  - linter\ntags:\n  - ruby\n  - rails\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/gregnavis/active_record_doctor\"\nhomepage: \"https://github.com/gregnavis/active_record_doctor\"\ndescription: >-\n  Identify database issues before they hit production.\n"
  },
  {
    "path": "data/tools/aether.yml",
    "content": "name: aether\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/codecombat/aether'\nhomepage: 'http://aetherjs.com'\ndescription: >-\n  Lint, analyze, normalize, transform, sandbox, run, step through, and visualize\n  user JavaScript, in node or the browser.\n"
  },
  {
    "path": "data/tools/after-the-deadline.yml",
    "content": "name: After the Deadline\ncategories:\n  - linter\ntags:\n  - writing\ndeprecated: true\nlicense: GPL v2\ntypes:\n  - cli\nsource: 'https://open.afterthedeadline.com'\nhomepage: 'https://open.afterthedeadline.com'\ndescription: 'Spell, style and grammar checker.'\n"
  },
  {
    "path": "data/tools/ale.yml",
    "content": "name: ale\ncategories:\n  - linter\ntags:\n  - javascript\n  - python\nlicense: BSD 2-Clause \"Simplified\" License\ntypes:\n  - ide-plugin\nsource: 'https://github.com/w0rp/ale'\nhomepage: 'https://github.com/w0rp/ale'\ndescription: Asynchronous Lint Engine for Vim and NeoVim with support for many languages.\n"
  },
  {
    "path": "data/tools/alex.yml",
    "content": "name: alex\ncategories:\n  - linter\ntags:\n  - writing\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/get-alex/alex'\nhomepage: 'https://alexjs.com'\ndescription: 'Catch insensitive, inconsiderate writing'\n"
  },
  {
    "path": "data/tools/aligncheck.yml",
    "content": "name: aligncheck\ncategories:\n  - linter\ntags:\n  - go\nlicense: GPL v2\ntypes:\n  - cli\nsource: 'https://gitlab.com/opennota/check'\nhomepage: 'https://gitlab.com/opennota/check'\ndescription: Find inefficiently packed structs.\n"
  },
  {
    "path": "data/tools/alquitran.yml",
    "content": "name: alquitran\ncategories:\n  - linter\ntags:\n  - archive\nlicense: MIT License\ntypes:\n  - cli \nsource: 'https://github.com/ferivoz/alquitran'\nhomepage: 'https://github.com/ferivoz/alquitran'\ndescription: >-\n  Inspects tar archives and tries to spot portability issues in regard \n  to POSIX 2017 pax specification and common tar implementations.\n  \n  This project is intended to be used by maintainers of projects who want to offer portable source code archives for as many systems as possible.\n  Checking tar archives with alquitran before publishing them should help spotting issues before they reach distributors and users.\n"
  },
  {
    "path": "data/tools/ameba.yml",
    "content": "name: ameba\ncategories:\n  - linter\ntags:\n  - crystal\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/crystal-ameba/ameba'\nhomepage: 'https://crystal-ameba.github.io'\nresources:\n  - title: Crystal Language Static Code Analysis with the Ameba Shard\n    url: https://www.youtube.com/watch?v=SV8tV79Lvog\ndescription: A static code analysis tool for Crystal.\n"
  },
  {
    "path": "data/tools/anchore.yml",
    "content": "name: anchore\ncategories:\n  - linter\ntags:\n  - container\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/anchore/anchore-engine'\nhomepage: 'https://anchore.io'\ndescription: >-\n  Discover, analyze, and certify container images.\n  A service that analyzes Docker images and applies user-defined acceptance policies \n  to allow automated container image validation and certification \n"
  },
  {
    "path": "data/tools/android-lint-summary.yml",
    "content": "name: android-lint-summary\ncategories:\n  - linter\ntags:\n  - mobile\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/passy/android-lint-summary'\nhomepage: 'https://passy.github.io/android-lint-summary'\ndescription: >-\n  Combines lint errors of multiple projects into one output, check lint results\n  of multiple sub-projects at once.\n"
  },
  {
    "path": "data/tools/android-lint.yml",
    "content": "name: Android Lint\ncategories:\n  - linter\ntags:\n  - mobile\nlicense: Android Software Development Kit License Agreement\ntypes:\n  - cli\nsource: \"https://android.googlesource.com\"\nhomepage: \"https://developer.android.com/studio/write/lint\"\ndescription: Run static analysis on Android projects.\n"
  },
  {
    "path": "data/tools/android-studio.yml",
    "content": "name: Android Studio\ncategories:\n  - linter\ntags:\n  - java\n  - kotlin\nlicense: Android Software Development Kit License Agreement\ntypes:\n  - ide-plugin\nsource: >-\n  https://android.googlesource.com/platform/tools/adt/idea/+/refs/heads/mirror-goog-studio-master-dev\nhomepage: 'https://developer.android.com/studio'\ndescription: >-\n  Based on IntelliJ IDEA, and comes bundled with tools for Android including\n  Android Lint.\n"
  },
  {
    "path": "data/tools/angr.yml",
    "content": "name: angr\ncategories:\n  - linter\ntags:\n  - binary\nlicense: BSD 2-Clause \"Simplified\" License\ntypes:\n  - cli\nhomepage: 'https://github.com/angr/angr'\ndescription: Binary code analysis tool that also supports symbolic execution.\n"
  },
  {
    "path": "data/tools/angular-eslint.yml",
    "content": "name: Angular ESLint\ncategories:\n  - linter\ntags:\n  - typescript\n  - html\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/angular-eslint/angular-eslint'\nhomepage: 'https://github.com/angular-eslint/angular-eslint#readme'\ndescription: 'Linter for Angular projects'\n"
  },
  {
    "path": "data/tools/ansible-lint.yml",
    "content": "name: ansible-lint\ncategories:\n  - linter\ntags:\n  - configmanagement\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/ansible/ansible-lint\"\nhomepage: \"https://ansible.readthedocs.io/projects/lint/\"\ndescription: >-\n  Checks playbooks for practices and behaviour that could potentially be\n  improved.\n"
  },
  {
    "path": "data/tools/appchecker.yml",
    "content": "name: AppChecker\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - java\n  - php\nlicense: proprietary\ntypes:\n  - cli\nhomepage: https://npo-echelon.ru/en/solutions/appchecker.php\npricing: https://npo-echelon.ru/en/solutions/appchecker.php\nplans:\n  free: false\n  oss: false\ndescription: Static analysis for C/C++/C#, PHP and Java.\n"
  },
  {
    "path": "data/tools/application-inspector.yml",
    "content": "name: Application Inspector\ncategories:\n  - linter\ntags:\n  - asp\n  - c\n  - cpp\n  - csharp\n  - html\n  - java\n  - javascript\n  - objectivec\n  - php\n  - sql\n  - swift\n  - vbnet\n  - security\nlicense: proprietary\ntypes:\n  - service\nhomepage: \"https://www.ptsecurity.com/ww-en/products/ai\"\npricing: https://global.ptsecurity.com/en/products/ai/\nplans:\n  free: false\n  oss: false\ndescription: >-\n  Commercial Static Code Analysis which generates exploits to verify\n  vulnerabilities.\n"
  },
  {
    "path": "data/tools/applicationinspector.yml",
    "content": "name: ApplicationInspector\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - csharp\n  - go\n  - html\n  - java\n  - javascript\n  - objectivec\n  - php\n  - powershell\n  - python\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/microsoft/ApplicationInspector'\nhomepage: 'https://github.com/microsoft/ApplicationInspector'\nresources:\n  - title: Introducing Microsoft Application Inspector\n    url: https://www.microsoft.com/security/blog/2020/01/16/introducing-microsoft-application-inspector/\ndescription: >-\n  Creates reports of over 400 rule patterns for feature detection (e.g. the use\n  of cryptography or version control in apps).\n"
  },
  {
    "path": "data/tools/appscan-source.yml",
    "content": "name: HCL AppScan Source\ncategories:\n  - linter\ntags:\n  - asp\n  - aspnet\n  - c\n  - cobol\n  - coldfusion\n  - cpp\n  - csharp\n  - java\n  - javascript\n  - jsp\n  - mobile\n  - perl\n  - php\n  - plsql\n  - tsql\n  - vbasic\n  - vbnet\n  - vbscript\n  - security\nlicense: proprietary\ntypes:\n  - service\nhomepage: \"https://www.hcltechsw.com/products/appscan\"\npricing: http://www.hcl-software.com/appscan/contact-us\nplans:\n  free: false\n  oss: false\ndescription: Commercial Static Code Analysis.\nresources:\n  - title: Introducing HCL AppScan Standard\n    url: https://www.youtube.com/watch?v=TmYY67w18RI\n"
  },
  {
    "path": "data/tools/archunit.yml",
    "content": "name: ArchUnit\ncategories:\n  - linter\ntags:\n  - java\n  - kotlin\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/TNG/ArchUnit'\nhomepage: 'https://www.archunit.org'\ndescription: Unit test your Java or Kotlin architecture.\n"
  },
  {
    "path": "data/tools/archunitnet.yml",
    "content": "name: ArchUnitNET\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/TNG/ArchUnitNET'\nhomepage: 'https://github.com/TNG/ArchUnitNET'\ndescription: >-\n  A C# architecture test library to specify and assert architecture rules in C#\n  for automated testing.\n"
  },
  {
    "path": "data/tools/arkitect.yml",
    "content": "name: PHPArkitect\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/phparkitect/arkitect'\nhomepage: 'https://github.com/phparkitect/arkitect'\nresources:\n  - title: 'PUG Romagna - Testing Architectural Decisions with PHPArkitect (Italian)'\n    url: 'https://www.youtube.com/watch?v=fhRDZs82AbE'\ndescription: >-\n    PHPArkitect helps you to keep your PHP codebase coherent and solid, by\n    permitting to add some architectural constraint check to your workflow. You\n    can express the constraint that you want to enforce, in simple and readable\n    PHP code."
  },
  {
    "path": "data/tools/ast-grep.yml",
    "content": "name: ast-grep\ncategories:\n  - linter\ntags:\n  - c\n  - csharp\n  - go\n  - java\n  - lua\n  - javascript\n  - json\n  - jsx\n  - kotlin\n  - python\n  - ruby\n  - rust\n  - typescript\n  - yaml\nlicense: MIT\ntypes:\n  - cli\n  - ide-plugin\nsource: 'https://github.com/ast-grep/ast-grep'\nhomepage: 'https://ast-grep.github.io/'\nresources:\n  - title: ast-grep Quick Start Guide\n    url: https://ast-grep.github.io/guide/quick-start.html\ndescription: >-\n  ast-grep is a powerful tool designed for managing code at scale using\n  Abstract Syntax Trees (AST). Think of it as a hybrid of grep, eslint, and codemod,\n  with the ability to search, lint, and rewrite code based on its structure rather than plain text.\n\n  It supports multiple languages and is designed to be extensible, allowing you to register custom languages.\nreviews:\n  - https://stackshare.io/ast-grep\ndemos:\n  - https://ast-grep.github.io/playground.html\n"
  },
  {
    "path": "data/tools/astre.yml",
    "content": "name: Astrée\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://www.absint.com/astree/index.htm'\npricing: https://www.absint.com/astree/contact.htm\nplans:\n  free: false\n  oss: false\ndescription: >-\n  Astrée automatically proves the absence of runtime errors and invalid con­current behavior in C/C++ applications.\n  It is sound for floating-point computations, very fast, and exceptionally precise.\n  The analyzer also checks for MISRA/CERT/CWE/Adaptive Autosar coding rules and supports qualification for ISO 26262,\n  DO-178C level A, and other safety standards.\n  Jenkins and Eclipse plugins are available.\n"
  },
  {
    "path": "data/tools/atom-beautify.yml",
    "content": "name: Atom-Beautify\ncategories:\n  - linter\ntags:\n  - c\n  - coffeescript\n  - coldfusion\n  - cpp\n  - csharp\n  - css\n  - html\n  - java\n  - javascript\n  - objectivec\n  - php\n  - python\n  - ruby\n  - sql\n  - typescript\nlicense: MIT License\ntypes:\n  - ide-plugin\nsource: \"https://github.com/Glavin001/atom-beautify\"\nhomepage: \"https://atom.io/packages/atom-beautify\"\nresources:\n  - title: Adding Atom Beautify Package to Atom\n    url: https://www.youtube.com/watch?v=oBz6rXG0XT8\n  - title: 10 Essential Atom Editor Packages & Setup\n    url: https://www.youtube.com/watch?v=aiXNKHKWlmY\ndescription: >-\n  Beautify HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#,\n  Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL, and more in Atom\n  editor.\n"
  },
  {
    "path": "data/tools/autocorrect.yml",
    "content": "name: autocorrect\ncategories:\n  - linter\n  - formatter\ntags:\n  - writing\n  - markdown\n  - html\n  - javascript\n  - css\n  - typescript\n  - jsx\n  - vue\n  - json\n  - yaml\n  - rust\n  - ruby\n  - python\n  - go\n  - csharp\n  - scala\n  - shell\n  - xml\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/huacnlee/autocorrect'\nhomepage: 'https://huacnlee.github.io/autocorrect'\ndescription: A linter and formatter to help you to improve copywriting, correct spaces, words, punctuations between CJK (Chinese, Japanese, Korean).\n"
  },
  {
    "path": "data/tools/autoflake.yml",
    "content": "name: autoflake\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/PyCQA/autoflake'\nhomepage: 'https://github.com/PyCQA/autoflake'\ndescription: Autoflake removes unused imports and unused variables from Python code.\n"
  },
  {
    "path": "data/tools/autopep8.yml",
    "content": "name: autopep8\ncategories:\n  - formatter\ntags:\n  - python\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/hhatto/autopep8\"\nhomepage: \"https://pypi.org/project/autopep8/\"\ndescription: >-\n  A tool that automatically formats Python code to conform to the PEP 8 style guide.\n\n  It uses the pycodestyle utility to determine what parts of the code needs to be formatted.\n"
  },
  {
    "path": "data/tools/axe-core.yml",
    "content": "name: axe-core\ncategories:\n  - linter\ntags:\n  - html\nlicense: MPL-2.0\ntypes:\n  - cli\nsource: 'https://github.com/dequelabs/axe-core'\nhomepage: 'https://www.deque.com/axe/'\ndescription: >-\n  Accessibility engine for automated Web UI testing. Tests HTML against\n  WCAG 2.0, 2.1, and 2.2 guidelines. Used by Google Lighthouse, Microsoft\n  Accessibility Insights, and thousands of organizations worldwide.\n"
  },
  {
    "path": "data/tools/axivion-bauhaus-suite.yml",
    "content": "name: Axivion Bauhaus Suite\ncategories:\n- linter\ntags:\n- c\n- cpp\n- java\n- php\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://www.axivion.com/en/products-services-9#products_bauhaussuite\ndescription: >-\n  Tracks down error-prone code locations, style violations, cloned or dead code, cyclic\n  dependencies and more for C/C++, C#/.NET, Java and Ada 83/Ada 95.\npricing: https://www.axivion.com/pricing\n"
  },
  {
    "path": "data/tools/azsk.yml",
    "content": "name: AzSK\ncategories:\n  - linter\ntags:\n  - arm\n  - configmanagement\n  - ci\n  - security\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/azsk/DevOpsKit'\nhomepage: 'https://azsk.azurewebsites.net/'\ndescription: 'Secure DevOps kit for Azure (AzSK) provides security IntelliSense, Security Verification Tests (SVTs), CICD scan vulnerabilities, compliance issues, and infrastructure misconfiguration in your infrastructure-as-code. Supports Azure via ARM.'\n"
  },
  {
    "path": "data/tools/bandit.yml",
    "content": "name: bandit\ncategories:\n  - linter\ntags:\n  - python\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: \"https://github.com/PyCQA/bandit\"\nhomepage: \"https://bandit.readthedocs.io/en/latest\"\ndescription: A tool to find common security issues in Python code.\nresources:\n  - title: \"Code security with Bandit and Safety — Perfect Python\"\n    url: https://www.youtube.com/watch?v=YZOKnvisJpw\n  - title: \"The Python Podcast.__init__: Bandit with Tim Kelsey, Travis McPeak, and Eric Brown - E62\"\n    url: https://www.pythonpodcast.com/episodepage/bandit-with-tim-kelsey-travis-mcpeak-and-eric-brown\n"
  },
  {
    "path": "data/tools/bashate.yml",
    "content": "name: bashate\ncategories:\n  - linter\ntags:\n  - shell\nlicense:  Apache-2.0 License \ntypes:\n  - cli\nsource: 'https://github.com/openstack/bashate'\nhomepage: 'https://github.com/openstack/bashate'\ndescription: >-\n   Code style enforcement for bash programs.\n   The output format aims to follow pycodestyle (pep8) default output format.\nresources:\n  - title: Official bashate documentation\n    url: https://docs.openstack.org/bashate\n"
  },
  {
    "path": "data/tools/bearer.yml",
    "content": "name: Bearer\ncategories:\n  - linter\ntags:\n  - ci\n  - security\n  - html\n  - javascript\n  - java\n  - typescript\n  - json\n  - jsx\n  - rails\n  - ruby\n  - c\n  - go\n  - yaml\nlicense: Elastic License 2.0\ntypes:\n  - cli\nsource: \"https://github.com/bearer/bearer\"\nhomepage: \"https://github.com/bearer/bearer\"\nplans:\n  oss: true\n  free: false\npricing: https://www.bearer.com/plans\nresources:\n  - title: \"Bearer's built-in set of rules to prevent cirtical security risks and vulnerabilities\"\n    url: https://docs.bearer.com/reference/rules/\n  - title: \"Bearer CLI: 2 months in retrospect of new features and improvements!\"\n    url: https://www.bearer.com/blog/bearer-cli-2-months-in-retrospect-of-new-features-and-improvements\ndescription: >-\n  Open-Source static code analysis tool to discover, \n  filter and prioritize security risks and vulnerabilities \n  leading to sensitive data exposures (PII, PHI, PD). \n  Highly configurable and easily extensible, \n  built for security and engineering teams.\n"
  },
  {
    "path": "data/tools/bellybutton.yml",
    "content": "name: bellybutton\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/hchasestevens/bellybutton'\nhomepage: 'https://github.com/hchasestevens/bellybutton'\ndescription: A linting engine supporting custom project-specific rules.\n"
  },
  {
    "path": "data/tools/better-code-hub.yml",
    "content": "name: Better Code Hub\ncategories:\n  - linter\ntags:\n  - cpp\n  - csharp\n  - go\n  - groovy\n  - java\n  - javascript\n  - kotlin\n  - objectivec\n  - perl\n  - php\n  - python\n  - ruby\n  - scala\n  - shell\n  - smart-contracts\n  - swift\n  - typescript\nlicense: proprietary\ntypes:\n  - service\nhomepage: https://bettercodehub.com\ndescription: >-\n  Better Code Hub checks your GitHub codebase against 10 engineering guidelines devised\n  by the authority in software quality, Software Improvement Group.\nresources:\n  - title: Better Code Hub introduction video\n    url: https://www.youtube.com/watch?v=diERwdr2omM\npricing: https://bettercodehub.com/pricing\nplans:\n  free: true\n  oss: true\n"
  },
  {
    "path": "data/tools/betterscan.yml",
    "content": "name: Betterscan CE\ncategories:\n  - linter\ntags:\n  - ci\n  - apex\n  - c\n  - cpp\n  - csharp\n  - php\n  - python\n  - perl\n  - ruby\n  - go\n  - java\n  - ruby\n  - scala\n  - swift\n  - kotlin\n  - javascript\n  - typescript\n  - python\n  - security\nlicense: AGPL-3.0\ntypes:\n  - cli\ndeprecated: true\nsource: \"https://github.com/tcosolutions/betterscan-ce\"\nhomepage: \"https://github.com/tcosolutions/betterscan-ce\"\nplans:\n  oss: true\n  free: false\ndescription: Checks your code and infra (various Git repositories supported, cloud stacks, CLI, Web Interface platform, integrationss available) for security and quality issues. Code Scanning/SAST/Linting using many tools/Scanners deduplicated with One Report (AI optional).\n"
  },
  {
    "path": "data/tools/binbloom.yml",
    "content": "name: binbloom\ncategories:\n  - linter\ntags:\n  - binary\nlicense: Apache-2.0 License \ntypes:\n  - cli\nsource: 'https://github.com/quarkslab/binbloom'\nhomepage: 'https://github.com/quarkslab/binbloom'\ndescription: >-\n  Analyzes a raw binary firmware and determines features like endianness or the loading address. \n  The tool is compatible with all architectures.\n  \n  Loading address: binbloom can parse a raw binary firmware and determine its loading address.\n  Endianness: binbloom can use heuristics to determine the endianness of a firmware.\n  UDS Database: binbloom can parse a raw binary firmware and check if it contains an array containing UDS command IDs.\nresources:\n  - title: \"Tutorial: Binbloom - Raw Binary Firmware Analysis Software\"\n    url: https://www.kitploit.com/2020/10/binbloom-raw-binary-firmware-analysis.html?m=1\n"
  },
  {
    "path": "data/tools/binskim.yml",
    "content": "name: BinSkim\ncategories:\n  - linter\ntags:\n  - binary\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/Microsoft/binskim'\nhomepage: 'https://github.com/Microsoft/binskim'\ndescription: >-\n  A binary static analysis tool that provides security and correctness results\n  for Windows portable executables.\n"
  },
  {
    "path": "data/tools/biome.yml",
    "content": "name: biome\ncategories:\n  - linter\ntags:\n  - javascript\n  - typescript\n  - json\n  - css\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/biomejs/biome\"\nhomepage: \"https://biomejs.dev\"\ndescription: >-\n  A toolchain for web projects, aimed to provide functionalities to maintain them.\n  Biome formats and lints code in a fraction of a second.\n  It is the successor to Rome.\n  It is designed to eventually replace Biome is designed to eventually replace\n  Babel, ESLint, webpack, Prettier, Jest, and others.\n"
  },
  {
    "path": "data/tools/black-duck.yml",
    "content": "name: Black Duck\ncategories:\n  - linter\ntags:\n  - binary\nlicense: proprietary\ntypes:\n  - cli\nhomepage: \"https://www.blackducksoftware.com\"\npricing: https://www.synopsys.com/software-integrity/contact-sales.html\nplans:\n  free: false\n  oss: false\ndescription: >-\n  Tool to analyze source code and binaries for reusable code, necessary licenses\n  and potential security aspects.\nresources:\n  - title: Black Duck SCA & Coverity Static Analysis (SAST) Integrations with Amazon AWS CI Tools | Synopsys\n    url: https://www.youtube.com/watch?v=GEvxbU6EmiA\n"
  },
  {
    "path": "data/tools/black.yml",
    "content": "name: Black\ncategories:\n  - formatter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/psf/black\"\nhomepage: \"https://black.readthedocs.io/en/stable\"\ndescription: The uncompromising Python code formatter.\nresources:\n  - title: Using the black code formatter in Python\n    url: https://www.youtube.com/watch?v=InA-oAWu3Mo\n  - title: \"Łukasz Langa - Life Is Better Painted Black, or: How to Stop Worrying and Embrace Auto-Formatting\"\n    url: https://www.youtube.com/watch?v=esZLCuWs_2Y\ndemos:\n  - https://black.vercel.app/\nreviews:\n  - https://luminousmen.com/post/my-unpopular-opinion-about-black-code-formatter"
  },
  {
    "path": "data/tools/bloaty.yml",
    "content": "name: bloaty\ncategories:\n  - linter\ntags:\n  - binary\nlicense: Apache-2.0 License \ntypes:\n  - cli\nsource: 'https://github.com/google/bloaty'\nhomepage: 'https://github.com/google/bloaty'\ndescription: >-\n  Ever wondered what's making your binary big?\n  Bloaty McBloatface will show you a size profile of the binary so you can understand what's taking up space inside.\n  Bloaty performs a deep analysis of the binary. Using custom ELF, DWARF, and Mach-O parsers, \n  Bloaty aims to accurately attribute every byte of the binary to the symbol or compileunit that produced it. \n  It will even disassemble the binary looking for references to anonymous data. F\n"
  },
  {
    "path": "data/tools/blockwatch.yml",
    "content": "name: BlockWatch\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - csharp\n  - css\n  - go\n  - html\n  - java\n  - javascript\n  - jsx\n  - kotlin\n  - make\n  - markdown\n  - php\n  - python\n  - ruby\n  - rust\n  - shell\n  - sql\n  - swift\n  - typescript\n  - xml\n  - yaml\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/mennanov/blockwatch'\nhomepage: 'https://github.com/mennanov/blockwatch'\ndescription: 'A language-agnostic linter that keeps code, documentation, and configuration in sync and enforces strict formatting and validation rules.'\n"
  },
  {
    "path": "data/tools/bodyclose.yml",
    "content": "name: bodyclose\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/timakin/bodyclose'\nhomepage: 'https://github.com/timakin/bodyclose'\ndescription: Checks whether HTTP response body is closed.\n"
  },
  {
    "path": "data/tools/bootlint.yml",
    "content": "name: Bootlint\ncategories:\n  - linter\ntags:\n  - html\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/twbs/bootlint'\nhomepage: 'https://github.com/twbs/bootlint'\ndescription: An HTML linter for Bootstrap projects.\n"
  },
  {
    "path": "data/tools/bowler.yml",
    "content": "name: Bowler\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/facebookincubator/bowler'\nhomepage: 'https://pybowler.io/'\ndescription: >-\n   Safe code refactoring for modern Python. \n   Bowler is a refactoring tool for manipulating Python at the syntax tree level. \n   It enables safe, large scale code modifications while guaranteeing that the \n   resulting code compiles and runs. It provides both a simple command line interface \n   and a fluent API in Python for generating complex code modifications in code.\n"
  },
  {
    "path": "data/tools/brakeman.yml",
    "content": "name: brakeman\ncategories:\n  - linter\ntags:\n  - ruby\n  - security\nlicense: Other\ntypes:\n  - cli\nsource: \"https://github.com/presidentbeef/brakeman\"\nhomepage: \"https://brakemanscanner.org\"\ndescription: >-\n  A static analysis security vulnerability scanner for Ruby on Rails\n  applications.\nresources:\n  - title: \"Brakeman: A Security Scanner for Ruby on Rails\"\n    url: https://www.youtube.com/watch?v=pTUlPq4glOg\n"
  },
  {
    "path": "data/tools/brittany.yml",
    "content": "name: brittany\ncategories:\n  - formatter\ntags:\n  - haskell\nlicense: GNU Affero General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/lspitzner/brittany'\nhomepage: 'https://github.com/lspitzner/brittany'\ndescription: Haskell source code formatter\n"
  },
  {
    "path": "data/tools/buf.yml",
    "content": "name: buf\ncategories:\n  - linter\ntags:\n  - protobuf\nlicense: Apache-2.0 License\ntypes:\n  - cli\nsource: 'https://github.com/bufbuild/buf'\nhomepage: 'https://buf.build'\ndescription: >-\n  Provides a CLI linter that enforces good API design choices and structure\n"
  },
  {
    "path": "data/tools/bugprove.yml",
    "content": "name: BugProve\ncategories:\n  - linter\ntags:\n  - asm\n  - binary\n  - c\n  - cpp\n  - security\nlicense: proprietary\ntypes:\n  - cli\nplans:\n  free: true\ndeprecated: true\nhomepage: \"https://bugprove.com\"\ndescription: >-\n  BugProve is a firmware analysis platform featuring both static and dynamic analysis\n  techniques to discover memory corruptions, command injections and other classes or\n  common weaknesses in binary code. It also detects vulnerable dependencies,\n  weak cryptographic parameters, misconfigurations, and more.\nresources:\n  - title: BugProve Product Intro by John Hammond\n    url: https://www.youtube.com/watch?v=orTvsOlFS5k\nreviews:\n  - https://www.g2.com/products/bugprove/reviews\n"
  },
  {
    "path": "data/tools/bullet.yml",
    "content": "name: Bullet\ncategories:\n  - linter\ntags:\n  - ruby\n  - rails\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/flyerhzm/bullet\"\nhomepage: \"https://github.com/flyerhzm/bullet\"\ndescription: >-\n  Help to kill N+1 queries and unused eager loading.\n"
  },
  {
    "path": "data/tools/bundler-audit.yml",
    "content": "name: bundler-audit\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/rubysec/bundler-audit'\nhomepage: 'https://github.com/rubysec/bundler-audit'\ndescription: >-\n  Audit Gemfile.lock for gems with security vulnerabilities reported in\n  [Ruby Advisory Database](https://github.com/rubysec/ruby-advisory-db).\n"
  },
  {
    "path": "data/tools/c2rust.yml",
    "content": "name: C2Rust\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/immunant/c2rust'\nhomepage: 'https://c2rust.com'\nresources:\n  - title: \"RustConf 2018 - C2Rust: Migrating Legacy Code to Rust by Per Larsen\"\n    url: https://www.youtube.com/watch?v=WEsR0Vv7jhg&t=233s\ndescription: >-\n  C2Rust helps you migrate C99-compliant code to Rust. The translator (or\n  transpiler) produces unsafe Rust code that closely mirrors the input C code.\n"
  },
  {
    "path": "data/tools/cakefuzzer.yml",
    "content": "name: CakeFuzzer\ncategories:\n  - linter\ntags:\n  - php\nlicense: GNU GPL\ntypes:\n  - cli\nsource: 'https://github.com/Zigrin-Security/CakeFuzzer'\nhomepage: 'https://zigrin.com/tools/cake-fuzzer/'\ndescription: >-\n  Web application security testing tool for CakePHP-based web applications. CakeFuzzer employs a predefined set of attacks that are randomly modified before execution. Leveraging its deep understanding of the Cake PHP framework, Cake Fuzzer launches attacks on all potential application entry points.\n"
  },
  {
    "path": "data/tools/callGraph.yml",
    "content": "name: callGraph\ncategories:\n  - linter\ntags:\n  - awk\n  - shell\n  - dart\n  - fortran\n  - go\n  - lua\n  - javascript\n  - julia\n  - kotlin\n  - matlab\n  - perl\n  - pascal\n  - php\n  - python\n  - r\n  - raku\n  - ruby\n  - rust\n  - scala\n  - swift\n  - tcl\n  - typescript\nlicense: GNU General Public License\ntypes:\n  - cli\nsource: 'https://github.com/koknat/callGraph'\nhomepage: 'https://github.com/koknat/callGraph'\ndescription: Statically generates a call graph image and displays it on screen.\n"
  },
  {
    "path": "data/tools/cane.yml",
    "content": "name: cane\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/square/cane'\nhomepage: 'https://github.com/square/cane'\ndescription: Code quality threshold checking as part of your build.\n"
  },
  {
    "path": "data/tools/cargo-audit.yml",
    "content": "name: cargo-audit\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Other\ntypes:\n  - cli\nsource: \"https://github.com/RustSec/cargo-audit\"\nhomepage: \"https://rustsec.org\"\nresources:\n  - title: \"Keep your Users Safe and Scan Your Rust Dependencies With This Tool\"\n    url: https://www.youtube.com/watch?v=V8RfQ0uihzE\n  - title: \"How to audit Rust code in 4 minutes!\"\n    url: https://www.youtube.com/watch?v=w2Co88TzrsQ\ndescription: >-\n  Audit Cargo.lock for crates with security vulnerabilities reported to the\n  [RustSec Advisory Database](https://github.com/RustSec/advisory-db/).\n"
  },
  {
    "path": "data/tools/cargo-bloat.yml",
    "content": "name: cargo-bloat\ncategories:\n  - linter\ntags:\n  - binary\n  - rust\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/RazrFalcon/cargo-bloat'\nhomepage: 'https://github.com/RazrFalcon/cargo-bloat'\ndescription: >-\n  Find out what takes most of the space in your executable.\n  supports ELF (Linux, BSD), Mach-O (macOS) and PE (Windows) binaries.\n"
  },
  {
    "path": "data/tools/cargo-breaking.yml",
    "content": "name: cargo-breaking\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MPL-2.0\ntypes:  \n  - cli\nsource: 'https://github.com/iomentum/cargo-breaking'\nhomepage: 'https://github.com/iomentum/cargo-breaking'\ndescription: >-\n  cargo-breaking compares a crate's public API between two different branches,\n  shows what changed, and suggests the next version according to semver.\n"
  },
  {
    "path": "data/tools/cargo-call-stack.yml",
    "content": "name: cargo-call-stack\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Apache-2.0\ntypes:\n  - cli\nsource: \"https://github.com/japaric/cargo-call-stack\"\nhomepage: \"https://github.com/japaric/cargo-call-stack\"\ndescription: >-\n  Whole program static stack analysis\n  The tool produces the full call graph of a program as a dot file.\n"
  },
  {
    "path": "data/tools/cargo-deny.yml",
    "content": "name: cargo-deny\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Apache License\ntypes:\n  - cli\nsource: 'https://github.com/EmbarkStudios/cargo-deny'\nhomepage: 'https://embarkstudios.github.io/cargo-deny'\ndescription: >-\n  A cargo plugin for linting your dependencies.\n  It can be used either as a command line too, a Rust crate, or a Github action for CI.\n  It checks for valid license information, duplicate crates, security vulnerabilities, and more.\n"
  },
  {
    "path": "data/tools/cargo-expand.yml",
    "content": "name: cargo-expand\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/dtolnay/cargo-expand'\nhomepage: 'https://github.com/dtolnay/cargo-expand'\ndescription: >-\n  Cargo subcommand to show result of macro expansion \n  and #[derive] expansion applied to the current crate. \n  This is a wrapper around a more verbose compiler command.\n"
  },
  {
    "path": "data/tools/cargo-geiger.yml",
    "content": "name: cargo-geiger\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/geiger-rs/cargo-geiger'\nhomepage: 'https://github.com/geiger-rs/cargo-geiger'\ndescription: >-\n  A cargo plugin for analysing the usage of unsafe Rust code\n  Provides statistical output to aid security auditing\n"
  },
  {
    "path": "data/tools/cargo-inspect.yml",
    "content": "name: cargo-inspect\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/mre/cargo-inspect'\nhomepage: 'https://github.com/mre/cargo-inspect'\ndescription: >-\n  Inspect Rust code without syntactic sugar to see what the compiler does behind\n  the curtains.\n"
  },
  {
    "path": "data/tools/cargo-semver-checks.yml",
    "content": "name: cargo-semver-checks\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Apache License (Version 2.0) or MIT\ntypes:\n  - cli\nsource: 'https://github.com/obi1kenobi/cargo-semver-checks'\nhomepage: 'https://crates.io/crates/cargo-semver-checks'\ndescription: >-\n  Scan your Rust crate releases for semver violations.\n  It can be used either directly via the CLI, as a GitHub Action in CI, \n  or via release managers like `release-plz`.\n  It found semver violations in \n  [more than 1 in 6 of the top 1000 most-downloaded crates](https://predr.ag/blog/semver-violations-are-common-better-tooling-is-the-answer/) on crates.io.\n"
  },
  {
    "path": "data/tools/cargo-show-asm.yml",
    "content": "name: cargo-show-asm\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MIT / Apache 2.0\ntypes:  \n  - cli\nsource: 'https://github.com/pacak/cargo-show-asm'\nhomepage: 'https://github.com/pacak/cargo-show-asm'\ndescription: >-\n    cargo subcommand showing the assembly, LLVM-IR and MIR generated for Rust code\n"
  },
  {
    "path": "data/tools/cargo-spellcheck.yml",
    "content": "name: cargo-spellcheck\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Apache 2.0 / MIT License\ntypes:\n  - cli\nsource: 'https://github.com/drahnr/cargo-spellcheck'\nhomepage: 'https://github.com/drahnr/cargo-spellcheck'\ndescription: >-\n  Checks all your documentation for spelling and grammar mistakes \n  with hunspell (ready) and languagetool (preview)\n"
  },
  {
    "path": "data/tools/cargo-udeps.yml",
    "content": "name: cargo udeps\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MIT License / Apache 2.0 license\ntypes:\n  - cli\nsource: 'https://github.com/est31/cargo-udeps'\nhomepage: 'https://github.com/est31/cargo-udeps'\ndescription: >- \n  Find unused dependencies in Cargo.toml.\n  It either prints out a \"unused crates\" line listing the crates, \n  or it prints out a line saying that no crates were unused.\n"
  },
  {
    "path": "data/tools/cargo-unused-features.yml",
    "content": "name: cargo-unused-features\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MIT\ntypes:  \n  - cli\nsource: 'https://github.com/TimonPost/cargo-unused-features'\nhomepage: 'https://github.com/TimonPost/cargo-unused-features'\ndescription: >-\n    Find potential unused enabled feature flags and prune them.\n    You can generate a simple HTML report from the json to make it easier to inspect results.\n    \n    It removes a feature of a dependency and then compiles the project to see if it still compiles.\n    If it does, the feature flag can possibly be removed, but it can be a false-positive.\n"
  },
  {
    "path": "data/tools/cast-highlight.yml",
    "content": "name: CAST Highlight\ncategories:\n- linter\ntags:\n- abap\n- c\n- cobol\n- cpp\n- csharp\n- java\n- javascript\n- jsp\n- php\n- plsql\n- python\n- tsql\n- vbasic\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://www.castsoftware.com/products/highlight\ndescription: >-\n  Commercial Static Code Analysis which runs locally, but uploads the results to its\n  cloud for presentation.\npricing: https://www.castsoftware.com/products/highlight/pricing#pricing\n"
  },
  {
    "path": "data/tools/cbmc.yml",
    "content": "name: CBMC\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: BSD-4-Clause-UC\ntypes:\n  - cli\nsource: 'https://github.com/diffblue/cbmc'\nhomepage: 'http://www.cprover.org/cbmc'\ndescription: >-\n  Bounded model-checker for C programs, user-defined assertions, standard\n  assertions, several coverage metric analyses.\n"
  },
  {
    "path": "data/tools/cfn-lint.yml",
    "content": "name: cfn-lint\ncategories:\n  - linter\ntags:\n  - configmanagement\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/awslabs/cfn-python-lint'\nhomepage: 'https://github.com/awslabs/cfn-python-lint'\ndescription: AWS Labs CloudFormation linter.\n"
  },
  {
    "path": "data/tools/cfn_nag.yml",
    "content": "name: cfn_nag\ncategories:\n  - linter\ntags:\n  - configmanagement\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/stelligent/cfn_nag'\nhomepage: 'https://github.com/stelligent/cfn_nag'\ndescription: A linter for AWS CloudFormation templates.\n"
  },
  {
    "path": "data/tools/chap.yml",
    "content": "name: VMware chap\ncategories:\n  - linter\ntags:\n  - binary\nlicense: GPL v2\ntypes:\n  - cli \nsource: 'https://github.com/vmware/chap'\nhomepage: 'https://github.com/vmware/chap'\ndescription: >-\n   chap analyzes un-instrumented ELF core files for leaks, memory growth, and corruption. \n   It is sufficiently reliable that it can be used in automation to catch leaks before \n   they are committed. As an interactive tool, it helps explain memory growth, \n   can identify some forms of corruption, and supplements a debugger \n   by giving the status of various memory locations. \n"
  },
  {
    "path": "data/tools/chart-testing.yml",
    "content": "name: chart-testing\ncategories:\n  - linter\ntags:\n  - kubernetes\nlicense: Apache-2.0 License \ntypes:\n  - cli\nsource: 'https://github.com/helm/chart-testing'\nhomepage: 'https://github.com/helm/chart-testing'\ndescription: >-\n  ct is the tool for testing Helm charts. \n  It is meant to be used for linting and testing pull requests. \n  It automatically detects charts changed against the target branch.\n"
  },
  {
    "path": "data/tools/checker-framework.yml",
    "content": "name: Checker Framework\ncategories:\n  - linter\ntags:\n  - java\nlicense: GPL with Classpath exception / MIT License\ntypes:\n  - cli\nsource: 'https://github.com/typetools/checker-framework'\nhomepage: 'https://checkerframework.org'\ndescription: Pluggable type-checking for Java.  This is not just a bug-finder, but a verification tool that gives a guarantee of correctness.  It comes with 27 pre-built type systems, and it enables users to define their own type system; the manual lists over 30 user-contributed type systems.\n"
  },
  {
    "path": "data/tools/checkmake.yml",
    "content": "name: checkmake\ncategories:\n  - linter\ntags:\n  - buildtool\n  - make\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/mrtazz/checkmake'\nhomepage: 'https://github.com/mrtazz/checkmake'\ndescription: Linter / Analyzer for Makefiles.\n"
  },
  {
    "path": "data/tools/checkmarx-cxsast.yml",
    "content": "name: Checkmarx CxSAST\ncategories:\n  - linter\ntags:\n  - apex\n  - asp\n  - c\n  - cpp\n  - csharp\n  - go\n  - groovy\n  - html\n  - java\n  - javascript\n  - mobile\n  - nodejs\n  - objectivec\n  - perl\n  - phonegap\n  - php\n  - python\n  - ruby\n  - scala\n  - security\n  - swift\n  - vbasic\n  - vbnet\n  - vbscript\n  - visualforce\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://www.checkmarx.com/products/static-application-security-testing'\npricing: https://checkmarx.com/packaging/\nplans:\n  free: false\n  oss: false\ndescription: Commercial Static Code Analysis which doesn't require pre-compilation.\n"
  },
  {
    "path": "data/tools/checkov.yml",
    "content": "name: checkov\ncategories:\n  - linter\ntags:\n  - configmanagement\nlicense: Apache-2.0\ntypes:\n  - cli\nsource: 'https://github.com/bridgecrewio/checkov'\nhomepage: 'https://www.checkov.io'\ndescription: >-\n  Static analysis tool for Terraform files (tf>=v0.12), preventing cloud\n  misconfigs at build time.\n"
  },
  {
    "path": "data/tools/checkstyle.yml",
    "content": "name: checkstyle\ncategories:\n  - linter\ntags:\n  - java\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/checkstyle/checkstyle'\nhomepage: 'https://checkstyle.org'\ndescription: >-\n  Checking Java source code for adherence to a Code Standard or set of\n  validation rules (best practices).\n"
  },
  {
    "path": "data/tools/chktex.yml",
    "content": "name: ChkTeX\ncategories:\n  - linter\ntags:\n  - latex\nlicense: GNU Public License version 2 or greater\ntypes:\n  - cli\nsource: 'http://git.savannah.nongnu.org/cgit/chktex.git'\ndeprecated: true\nhomepage: 'http://www.nongnu.org/chktex'\ndescription: A linter for LaTex which catches some typographic errors LaTeX oversees.\n"
  },
  {
    "path": "data/tools/churn-php.yml",
    "content": "name: churn-php\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/bmitch/churn-php'\nhomepage: 'https://github.com/bmitch/churn-php'\ndescription: Helps discover good candidates for refactoring.\n"
  },
  {
    "path": "data/tools/churn.yml",
    "content": "name: Churn\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/danmayer/churn\"\nhomepage: \"https://github.com/danmayer/churn\"\ndescription: >-\n  A Project to give the churn file, class, and method for a project for a given checkin.\n  Over time the tool adds up the history of churns to give the number of times a file, class, or method is changing during the life of a project.\n"
  },
  {
    "path": "data/tools/ciocheck.yml",
    "content": "name: ciocheck\ncategories:\n  - formatter\n  - meta\ntags:\n  - meta\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/ContinuumIO/ciocheck'\nhomepage: 'https://github.com/ContinuumIO/ciocheck'\ndescription: >-\n  Linter, formatter and test suite helper. As a linter, it is a wrapper around\n  `pep8`, `pydocstyle`, `flake8`, and `pylint`.\n"
  },
  {
    "path": "data/tools/ck.yml",
    "content": "name: ck\ncategories:\n  - linter\ntags:\n  - java\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/mauricioaniche/ck'\nhomepage: 'https://github.com/mauricioaniche/ck'\ndescription: >-\n  Calculates Chidamber and Kemerer object-oriented metrics by processing the\n  source Java files.\n"
  },
  {
    "path": "data/tools/ckjm.yml",
    "content": "name: ckjm\ncategories:\n  - linter\ntags:\n  - java\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/dspinellis/ckjm'\nhomepage: 'http://www.spinellis.gr/sw/ckjm'\ndescription: >-\n  Calculates Chidamber and Kemerer object-oriented metrics by processing the\n  bytecode of compiled Java files.\n"
  },
  {
    "path": "data/tools/clair.yml",
    "content": "name: clair\ncategories:\n  - linter\ntags:\n  - container\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/coreos/clair'\nhomepage: 'https://github.com/coreos/clair'\ndescription: Vulnerability Static Analysis for Containers.\n"
  },
  {
    "path": "data/tools/clang-tidy.yml",
    "content": "name: clang-tidy\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: Apache License v2.0 with LLVM Exceptions\ntypes:\n  - cli\nsource: 'https://clang.llvm.org/extra/clang-tidy'\nhomepage: 'https://clang.llvm.org/extra/clang-tidy'\ndescription: Clang-based C++ linter tool with the (limited) ability to fix issues, too.\n"
  },
  {
    "path": "data/tools/classgraph.yml",
    "content": "name: ClassGraph\ncategories:\n  - linter\ntags:\n  - groovy\n  - java\n  - kotlin\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/classgraph/classgraph'\nhomepage: 'https://github.com/classgraph/classgraph'\ndescription: >-\n  A classpath and module path scanner for querying or visualizing class metadata\n  or class relatedness.\n"
  },
  {
    "path": "data/tools/clayton.yml",
    "content": "name: Clayton\nhomepage: https://www.getclayton.com/\ndescription: >-\n  AI-powered code reviews for Salesforce. Secure your developments, enforce best practice\n  and control your technical debt in real-time.\ntags:\n  - apex\n  - lwc\n  - visualforce\ncategories:\n  - linter\ntypes:\n  - service\nlicense: proprietary\npricing: https://www.getclayton.com/pricing\n"
  },
  {
    "path": "data/tools/clazy.yml",
    "content": "name: clazy\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: LGPL\ntypes:\n  - cli\nsource: 'https://github.com/KDE/clazy'\nhomepage: 'https://github.com/KDE/clazy'\ndescription: >-\n  Qt-oriented static code analyzer based on the Clang framework.\n  clazy is a compiler plugin which allows clang to understand Qt semantics.\n  You get more than 50 Qt related compiler warnings, ranging from unneeded memory allocations\n  to misusage of API, including fix-its for automatic refactoring.\n"
  },
  {
    "path": "data/tools/clippy.yml",
    "content": "name: clippy\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Apache-2.0, MIT license \ntypes:\n  - cli\nsource: \"https://github.com/rust-lang/rust-clippy\"\nhomepage: \"https://rust-lang.github.io/rust-clippy\"\ndemos:\n  - https://play.rust-lang.org\nresources:\n  - title: Rust For Beginners Tutorial - Linting with Clippy\n    url: https://www.youtube.com/watch?v=BE9KY6X7aUM\n  - title: \"Easy Rust 096: Final example of iterators and quick look at clippy\"\n    url: https://www.youtube.com/watch?v=OgcrRt84bUY\ndescription: A code linter to catch common mistakes and improve your Rust code.\n"
  },
  {
    "path": "data/tools/clj-kondo.yml",
    "content": "name: clj-kondo\ncategories:\n  - linter\ntags:\n  - clojure\nlicense: Eclipse Public License 1.0\ntypes:\n  - cli\nsource: 'https://github.com/borkdude/clj-kondo'\nhomepage: 'https://github.com/borkdude/clj-kondo'\ndescription: >-\n  A linter for Clojure code that sparks joy. It informs you about potential\n  errors while you are typing.\n"
  },
  {
    "path": "data/tools/closure-compiler.yml",
    "content": "name: Closure Compiler\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/google/closure-compiler'\nhomepage: 'https://developers.google.com/closure/compiler'\ndescription: >-\n  A compiler tool to increase efficiency, reduce size, and provide code warnings\n  in JavaScript files.\n"
  },
  {
    "path": "data/tools/closurelinter.yml",
    "content": "name: ClosureLinter\ncategories:\n  - linter\ntags:\n  - javascript\ndeprecated: true\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/google/closure-linter'\nhomepage: 'https://github.com/google/closure-linter'\ndescription: >-\n  Ensures that all of your project's JavaScript code follows the guidelines in\n  the Google JavaScript Style Guide. It can also automatically fix many common\n  errors.\n"
  },
  {
    "path": "data/tools/cloud-iac-security.yml",
    "content": "name: Cloud (IaC) Security for JetBrains IDEs\ncategories:\n  - linter\ntags:\n  - dockerfile\n  - kubernetes\n  - security\nlicense: MIT\ntypes:\n  - ide-plugin\nsource: \"https://github.com/NordCoderd/cloud-security-plugin\"\nhomepage: \"https://plugins.jetbrains.com/plugin/25413-cloud-iac-security\"\ndescription: \"Cloud (IaC) Security plugin for JetBrains IDEs. Performs real-time inspections of Docker & Kubernetes IaC with 50+ rules based on Docker image/build security best practices, Kubernetes Pod Security Standards, and NSA/CISA Kubernetes Hardening Guidance.\"\nresources:\n  - title: \"Bundled-rules documentation\"\n    url: https://protsenko.dev/infrastructure-security/"
  },
  {
    "path": "data/tools/cloudformation-guard.yml",
    "content": "name: AWS CloudFormation Guard\ncategories:\n  - linter\ntags:\n  - configmanagement\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/aws-cloudformation/cloudformation-guard'\nhomepage: 'https://github.com/aws-cloudformation/cloudformation-guard'\ndescription: >-\n  Check local CloudFormation templates against policy-as-code rules \n  and generate rules from existing templates.\n"
  },
  {
    "path": "data/tools/clusterlint.yml",
    "content": "name: clusterlint\ncategories:\n  - linter\ntags:\n  - kubernetes\nlicense: Apache-2.0 License \ntypes:\n  - cli\nsource: 'https://github.com/digitalocean/clusterlint'\nhomepage: 'https://github.com/digitalocean/clusterlint'\ndescription: >-\n  Clusterlint queries live Kubernetes clusters for resources, executes common and \n  platform specific checks against these resources and provides actionable feedback to cluster operators. \n  It is a non invasive tool that is run externally. Clusterlint does not alter the resource configurations.\n"
  },
  {
    "path": "data/tools/cmetrics.yml",
    "content": "name: CMetrics\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\nsource: 'https://github.com/MetricsGrimoire/CMetrics'\nhomepage: 'https://github.com/MetricsGrimoire/CMetrics'\ndescription: Measures size and complexity for C files.\n"
  },
  {
    "path": "data/tools/coala.yml",
    "content": "name: coala\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - css\n  - java\n  - javascript\nlicense: AGPL-3.0-only\ndeprecated: true\ntypes:\n  - cli\nsource: \"https://github.com/coala/coala\"\nhomepage: \"https://github.com/coala/coala\"\ndescription: >-\n  Language independent framework for creating code analysis - supports over 60\n  languages by default.\n"
  },
  {
    "path": "data/tools/cobra.yml",
    "content": "name: Cobra\ncategories:\n  - linter\ntags:\n  - ada\n  - c\n  - cpp\n  - python\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://spinroot.com/cobra'\nplans:\n  free: true\n  oss: true\ndescription: Structural source code analyzer by NASA's Jet Propulsion Laboratory.\n"
  },
  {
    "path": "data/tools/codacy.yml",
    "content": "name: Codacy\ncategories:\n  - linter\ntags:\n  - apex\n  - shell\n  - coffeescript\n  - cpp\n  - csharp\n  - crystal\n  - css\n  - elixir\n  - go\n  - groovy\n  - java\n  - javascript\n  - json\n  - jsp\n  - kotlin\n  - markdown\n  - php\n  - plsql\n  - python\n  - ruby\n  - scala\n  - swift\n  - tsql\n  - typescript\n  - vbscript\n  - visualforce\n  - xml\nlicense: proprietary\ntypes:\n  - service\nhomepage: https://www.codacy.com\ndescription: Code Analysis to ship Better Code, Faster.\nresources:\n  - title: Automate your code quality with Codacy Static Analysis Tool\n    url: https://www.youtube.com/watch?v=oxqTu2ouxaw\n  - title: A founder's journey - Codacy\n    url: https://www.youtube.com/watch?v=lVxkD_bmbFY\npricing: https://www.codacy.com/pricing\nplans:\n  free: false\n  oss: true\n"
  },
  {
    "path": "data/tools/code-climate.yml",
    "content": "name: Code Climate\ncategories:\n  - linter\nlicense: AGPL-3.0 License\ntags:\n  - ci\ntypes:\n  - service\nsource: \"https://github.com/codeclimate/codeclimate\"\nhomepage: \"https://codeclimate.com\"\ndescription: \"The open and extensible static analysis platform, for everyone.\"\n"
  },
  {
    "path": "data/tools/code-cracker.yml",
    "content": "name: code-cracker\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/code-cracker/code-cracker'\nhomepage: 'https://code-cracker.github.io'\ndescription: >-\n  An analyzer library for C# and VB that uses Roslyn to produce refactorings,\n  code analysis, and other niceties.\n"
  },
  {
    "path": "data/tools/code-graph-rag.yml",
    "content": "name: Code-Graph-RAG\ncategories:\n  - meta\ntags:\n  - python\n  - javascript\n  - typescript\n  - rust\n  - go\n  - java\n  - scala\n  - cpp\n  - lua\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/vitali87/code-graph-rag\"\nhomepage: \"https://code-graph-rag.com\"\ndescription: >-\n  Builds knowledge graphs from multi-language codebases using Tree-sitter AST parsing\n  and stores them in Memgraph. Supports 11 programming languages with a unified graph\n  schema and enables natural language querying and editing of code structure and\n  relationships. Functions as an MCP server for AI assistant integration.\n"
  },
  {
    "path": "data/tools/code-pathfinder.yml",
    "content": "name: Code Pathfinder\ncategories:\n  - linter\ntags:\n  - ci\n  - container\n  - dockerfile\n  - python\n  - security\nlicense: AGPL-3.0\ntypes:\n  - cli\nsource: 'https://github.com/shivasurya/code-pathfinder'\nhomepage: 'https://codepathfinder.dev'\nresources:\n  - title: Code Pathfinder Rules Registry\n    url: https://codepathfinder.dev/registry\ndescription: >-\n  An open-source security suite aiming to combine structural code analysis with \n  AI-powered vulnerability detection. Built for advanced structural search, derive \n  insights, find vulnerabilities in code.\n"
  },
  {
    "path": "data/tools/codeac.yml",
    "content": "name: Codeac\ncategories:\n  - linter\ntags:\n  - ci\n  - container\n  - go\n  - java\n  - javascript\n  - php\n  - python\n  - ruby\n  - typescript\nlicense: proprietary\ntypes:\n  - service\nhomepage: \"https://www.codeac.io/?ref=awesome-static-analysis\"\npricing: https://www.codeac.io/pricing.html\nplans:\n  free: true\n  oss: true\ndescription: >-\n  Automated code review tool integrates with GitHub, Bitbucket and GitLab (even\n  self-hosted). Available for JavaScript, TypeScript, Python, Ruby, Go, PHP,\n  Java, Docker, and more. (open-source free)\n"
  },
  {
    "path": "data/tools/codeburner.yml",
    "content": "name: codeburner\ncategories:\n  - meta\ntags:\n  - c\n  - cpp\n  - java\n  - javascript\n  - meta\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/groupon/codeburner'\nhomepage: 'https://groupon.github.io/codeburner'\ndescription: Provides a unified interface to sort and act on the issues it finds.\n"
  },
  {
    "path": "data/tools/codechecker.yml",
    "content": "name: codechecker\ncategories:\n  - linter\ntags:\n  - buildtool\n  - c\n  - cpp\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/Ericsson/codechecker'\nhomepage: 'https://codechecker.readthedocs.io/en/latest'\ndescription: >-\n  A defect database and viewer extension for the Clang Static Analyzer with web\n  GUI.\n"
  },
  {
    "path": "data/tools/codecov.yml",
    "content": "name: Codecov\ncategories:\n  - linter\nlicense: proprietary\ntags:\n  - ci\ntypes:\n  - service\nhomepage: \"https://about.codecov.io/\"\npricing: \"https://about.codecov.io/pricing/\"\nplans:\n  free: true\n  oss: true\nresources:\n  - title: \"Codecov Overview\"\n    url: https://www.youtube.com/watch?v=wwFookaYHoo\n  - title: \"Codecov Onboarding 1: Account Creation\"\n    url: https://www.youtube.com/watch?v=8xToLcchs4Y\n  - title: \"Codecov Github Tutorial/Demo\"\n    url: https://docs.codecov.com/docs/github-tutorial\nreviews:\n  - https://www.g2.com/products/codecov/reviews\ndescription: >-\n  Codecov is a company that provides code coverage tools for developers and engineering leaders \n  to gain visibility into their code coverage.\n  \n  They offer flexible and unified reporting, seamless coverage insights, and robust coverage controls.\n  Codecov supports over 20 languages and is CI/CD agnostic.\n  Over 29,000 organizations and 1 million developers use Codecov.\n  Codecov has recently joined Sentry.\n"
  },
  {
    "path": "data/tools/codedepends.yml",
    "content": "name: CodeDepends\ncategories:\n  - linter\ntags:\n  - r\nlicense: GPL\ntypes:\n  - cli\ndeprecated: true\nsource: 'https://github.com/duncantl/CodeDepends'\nhomepage: 'https://github.com/duncantl/CodeDepends'\ndescription: Static Code Analysis for R.\n"
  },
  {
    "path": "data/tools/codefactor.yml",
    "content": "name: CodeFactor\ncategories:\n  - linter\ntags:\n  - ci\n  - c\n  - cpp\n  - csharp\n  - java\n  - css\n  - javascript\n  - go\n  - python\n  - ruby\n  - typescript\n  - scala\n  - coffeescript\n  - groovy\n  - php\n  - container\n  - shell\n  - yaml\n  - vue\n  - html\n  - swift\n  - kotlin\n  - powershell\n  - dart\n  - r\nlicense: proprietary\ntypes:\n  - service\nhomepage: https://codefactor.io\ndescription: Automated Code Analysis for repos on GitHub or BitBucket.\nresources:\n  - title: Getting started with CodeFactor.io\n    url: https://www.youtube.com/watch?v=0wL1bgoya2U\npricing: https://codefactor.io/pricing\nplans:\n  free: false\n  oss: true\n"
  },
  {
    "path": "data/tools/codeflow.yml",
    "content": "name: CodeFlow\ncategories:\n  - linter\ntags:\n  - ci\n  - javascript\n  - typescript\n  - php\n  - ruby\n  - java\n  - css\n  - container\n  - python\nlicense: proprietary\ntypes:\n  - service\nhomepage: 'https://www.getcodeflow.com'\npricing: https://www.getcodeflow.com\nplans:\n  free: false\n  oss: true\ndescription: >-\n  Automated code analysis tool to deal with technical depth. Integrates with\n  Bitbucket and Gitlab. (free for Open Source Projects)\n"
  },
  {
    "path": "data/tools/codeintelligence.yml",
    "content": "name: Code Intelligence\ncategories:\n  - linter\ntags:\n  - security\n  - go\n  - c\n  - cpp\n  - java\nlicense: proprietary\ntypes:\n  - service\nhomepage: 'https://www.code-intelligence.com'\npricing: https://www.code-intelligence.com/product-pricing\nplans:\n  free: false\n  oss: true\ndescription: 'CI/CD-agnostic DevSecOps platform which combines industry-leading fuzzing engines for finding bugs and visualizing code coverage'\nresources:\n  - title: Code Intelligence | Introduction\n    url: https://www.youtube.com/watch?v=Qfsz_ZTKM6Y\n"
  },
  {
    "path": "data/tools/codelyzer.yml",
    "content": "name: Codelyzer\ncategories:\n  - linter\ntags:\n  - typescript\ndeprecated: true\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/mgechev/codelyzer'\nhomepage: 'http://codelyzer.com'\ndescription: >-\n  A set of tslint rules for static code analysis of Angular 2 TypeScript\n  projects.\n"
  },
  {
    "path": "data/tools/codemodder.yml",
    "content": "name: Codemodder\ncategories:\n - linter\ntags:\n  - java\n  - python\nlicense: GNU AFFERO GENERAL PUBLIC LICENSE 3.0\ntypes:\n - cli\nsource: 'https://github.com/pixee/codemodder-java'\nhomepage: 'https://codemodder.io/'\ndescription: >-\n Codemodder is a pluggable framework for building expressive codemods. Use Codemodder when you need more than a linter or code formatting tool. Use it to fix non-trivial security issues and other code quality problems.\n"
  },
  {
    "path": "data/tools/codenarc.yml",
    "content": "name: CodeNarc\ncategories:\n  - linter\ntags:\n  - groovy\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/CodeNarc/CodeNarc'\nhomepage: 'https://codenarc.github.io/CodeNarc'\ndescription: >-\n  A static analysis tool for Groovy source code, enabling monitoring and\n  enforcement of many coding standards and best practices.\n"
  },
  {
    "path": "data/tools/codeql.yml",
    "content": "name: codeql\ncategories:\n  - linter\ntags:\n  - ci\n  - security\n  - java\n  - python\n  - javascript\n  - typescript\n  - csharp\n  - c\n  - cpp\nlicense: MIT\ntypes:\n  - service\n  - ide-plugin\nhomepage: 'https://github.com/github/codeql'\nresources:\n  - title: Community-powered security analysis with CodeQL - GitHub Universe 2020\n    url: https://www.youtube.com/watch?v=Y6PjAaZKNYk\n  - title: Continuous code analysis with CodeQL\n    url: https://www.youtube.com/watch?v=KEPiDz2oO-I\ndescription: >-\n  Deep code analysis - semantic queries and dataflow for several languages\n  with VSCode plugin support.\n"
  },
  {
    "path": "data/tools/codeque.yml",
    "content": "name: CodeQue\ncategories:\n  - linter\ntags:\n  - typescript\n  - javascript\n  - jsx\n  - lua\n  - python\n  - json\nlicense: Sustainable Use License\ntypes:\n  - cli\n  - ide-plugin\nsource: \"https://github.com/codeque-co/codeque\"\nhomepage: \"https://codeque.co\"\ndescription: Ecosystem for structural matching JavaScript and TypeScript code. Offers search tool that understands code structure. Available as CLI tool and Visual Studio Code extension. It helps to search code faster and more accurately making you workflow more effective. Soon it will offer ESLint plugin to create your own rules in minutes to help with assuring codebase quality.\nresources:\n  - title: Documentation\n    url: \"https://codeque.co/docs\"\n  - title: Visual Studio Code Extension\n    url: \"https://codeque.co/r/vsc\"\n  - title: CLI via NPM\n    url: \"https://www.npmjs.com/package/@codeque/cli\"\n  - title: Core via NPM\n    url: \"https://www.npmjs.com/package/@codeque/core\"\n"
  },
  {
    "path": "data/tools/coderabbit.yml",
    "content": "name: CodeRabbit\ncategories:\n  - linter\ntags:\n  - ci\ntypes:\n  - service\nsource: \"https://github.com/coderabbitai\"\nhomepage: \"https://coderabbit.ai\"\nlicense: proprietary\nplans:\n  oss: true\n  free: true\npricing: https://coderabbit.ai/pricing\nresources:\n  - title: \"AI Code Reviews Demo\"\n    url: https://www.youtube.com/watch?v=3SyUOSebG7E\ndescription: >-\n  AI-powered code review tool that helps developers write better code faster. \n  CodeRabbit provides automated code reviews, \n  identifies security vulnerabilities, and suggests code improvements. \n  It integrates with GitHub and GitLab.\n"
  },
  {
    "path": "data/tools/coderush.yml",
    "content": "name: CodeRush\ncategories:\n  - linter\ntags:\n  - aspnet\n  - csharp\n  - dotnet\nlicense: proprietary\ntypes:\n  - cli\nhomepage: https://www.devexpress.com/products/coderush\ndescription: >-\n  Code creation, debugging, navigation, refactoring, analysis and visualization tools\n  that use the Roslyn engine in Visual Studio 2015 and up.\npricing: https://www.devexpress.com/buy/net/\n"
  },
  {
    "path": "data/tools/codescan.yml",
    "content": "name: CodeScan\nhomepage: https://www.codescan.io/\ndescription: \"Code Quality and Security for Salesforce Developers. Made exclusively\\\n  \\ for the Salesforce platform, CodeScan\\u2019s code analysis solutions provide you\\\n  \\ with total visibility into your code health.\"\ncategories:\n- linter\ntags:\n- apex\n- lwc\n- visualforce\nlicense: proprietary\ntypes:\n- service\npricing: https://www.codescan.io/pricing\n"
  },
  {
    "path": "data/tools/codescene.yml",
    "content": "name: CodeScene\ncategories:\n  - linter\ntags:\n  - c\n  - clojure\n  - cpp\n  - csharp\n  - dart\n  - elixir\n  - erlang\n  - go\n  - groovy\n  - java\n  - javascript\n  - kotlin\n  - perl\n  - php\n  - powershell\n  - python\n  - ruby\n  - scala\n  - swift\n  - typescript\nlicense: proprietary\ntypes:\n  - service\nhomepage: https://codescene.com\ndescription: >-\n  CodeScene is a quality visualization tool for software. Prioritize technical debt,\n  detect delivery risks, and measure organizational aspects. Fully automated.\nresources:\n  - title: CodeScene Introduction - short video with the essentials of CodeScene\n    url: https://www.youtube.com/watch?v=4Mwv-Swxo84\n  - title: Augmented Code Analysis with CodeScene\n    url: https://www.youtube.com/watch?v=c2lqk98bC00\n  - title: \"Beyond code: interview with Adam Tornhill about CodeScene\"\n    url: https://www.youtube.com/watch?v=tbCA2JiO_K8\npricing: https://codescene.com/pricing\nplans:\n  free: false\n  oss: true\nreviews:\n  - https://www.capterra.com/p/193379/CodeScene/"
  },
  {
    "path": "data/tools/codesee.yml",
    "content": "name: CodeSee\ncategories:\n  - linter\ntags:\n  - go\n  - java\n  - javascript\n  - python\n  - rust\n  - typescript\nlicense: proprietary\ntypes:\n  - service \n  - ide-plugin\nhomepage: 'https://www.codesee.io/'\ndemos:\n  - https://www.codesee.io/maps-demos\npricing: https://www.codesee.io/pricing\nplans:\n  free: true\n  oss: false\ndescription: >-\n  CodeSee is mapping and automating your app's services, directories, file\n  dependencies, and code changes. It's like Google Map, but for code.t\n\n"
  },
  {
    "path": "data/tools/codesonar-from-grammatech.yml",
    "content": "name: CodeSonar from GrammaTech\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - csharp\n  - java\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://codesecure.com/our-products/codesonar/'\npricing: https://codesecure.com/trial-request/\nplans:\n  free: false\n  oss: false\ndescription: >-\n  Advanced, whole program, deep path, static analysis of C, C++, Java and C# with\n  easy-to-understand explanations and code and path visualization.\n"
  },
  {
    "path": "data/tools/codespell.yml",
    "content": "name: codespell\ncategories:\n  - linter\ntags:\n  - writing\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\nsource: 'https://github.com/codespell-project/codespell'\nhomepage: 'https://github.com/codespell-project/codespell'\ndescription: Check code for common misspellings.\n"
  },
  {
    "path": "data/tools/codety.yml",
    "content": "name: Codety\ncategories:\n  - linter\ntags:\n  - ci\n  - cpp\n  - go\n  - java\n  - javascript\n  - json\n  - jsp\n  - kotlin\n  - plsql\n  - python\n  - scala\n  - swift\n  - typescript\nlicense: proprietary\ntypes:\n  - service\nhomepage: https://www.codety.io\npricing: https://www.codety.io\nplans:\n  free: true\n  oss: true\ndescription: Codety Scanner is a comprehensive source code scanner that embeds 5000+ static code analysis rules, which aim to detect code issues for 20+ programming languages and IaC tools.\nsource: \"https://github.com/codetyio/codety-scanner\"\n"
  },
  {
    "path": "data/tools/codiga.yml",
    "content": "name: Codiga\ncategories:\n  - linter\ntags:\n  - apex\n  - c\n  - cpp\n  - dockerfile\n  - go\n  - java\n  - javascript\n  - kotlin\n  - ruby\n  - php\n  - python\n  - typescript\n  - scala\n  - ci\nlicense: proprietary\ntypes:\n  - service\nhomepage: https://www.codiga.io\ndescription: >-\n  Automated Code Reviews and Technical Debt management platform that supports 12+\n  languages.\npricing: https://www.codiga.io/pricing\nresources:\n  - title: Codiga Code Analysis Demonstration\n    url: https://www.youtube.com/watch?v=hQ_BjDYlsCU\n  - title: Codiga Coding Assistant\n    url: https://www.youtube.com/watch?v=alS_h2ig7ZI\nplans:\n  free: true\n  oss: false\nreviews:\n  - https://www.capterra.com/p/234335/Codiga/"
  },
  {
    "path": "data/tools/coffeelint.yml",
    "content": "name: coffeelint\ncategories:\n  - linter\ntags:\n  - coffeescript\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/clutchski/coffeelint'\nhomepage: 'https://coffeelint.github.io/'\ndescription: A style checker that helps keep CoffeeScript code clean and consistent.\n"
  },
  {
    "path": "data/tools/cognicrypt.yml",
    "content": "name: CogniCrypt\ncategories:\n  - linter\ntags:\n  - java\nlicense: Eclipse Public License 2.0\ntypes:\n  - cli\nsource: \"https://github.com/eclipse-cognicrypt/CogniCrypt\"\nhomepage: \"https://www.eclipse.org/cognicrypt\"\ndescription: Checks Java source and byte code for incorrect uses of cryptographic APIs.\nresources:\n  - title: \"Tutorial: CogniCrypt basics, and how to integrate your own Crypto APIs into CognICrypt\"\n    url: https://www.youtube.com/watch?v=vOZKN8yQcAY\n"
  },
  {
    "path": "data/tools/cohesion.yml",
    "content": "name: cohesion\ncategories:\n  - linter\ntags:\n  - python\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/mschwager/cohesion'\nhomepage: 'https://github.com/mschwager/cohesion'\ndescription: A tool for measuring Python class cohesion.\n"
  },
  {
    "path": "data/tools/collector.yml",
    "content": "name: collector\ncategories:\n  - formatter\ntags:\n  - container\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/banyanops/collector'\nhomepage: 'https://github.com/banyanops/collector'\ndescription: 'Run arbitrary scripts inside containers, and gather useful information.'\n"
  },
  {
    "path": "data/tools/commitlint.yml",
    "content": "name: commitlint\ncategories:\n  - linter\ntags:\n  - git\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/conventional-changelog/commitlint'\nhomepage: 'https://commitlint.js.org'\ndescription: >-\n  checks if your commit messages meet the conventional commit format\n"
  },
  {
    "path": "data/tools/complexity-report.yml",
    "content": "name: complexity-report\ncategories:\n  - linter\ntags:\n  - javascript\ndeprecated: true\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/escomplex/complexity-report'\nhomepage: 'https://github.com/escomplex/complexity-report'\ndescription: Software complexity analysis for JavaScript projects.\n"
  },
  {
    "path": "data/tools/composer-dependency-analyser.yml",
    "content": "name: composer-dependency-analyser\ncategories:\n  - linter\ntags:\n  - php\n  - ci\n  - package\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/shipmonk-rnd/composer-dependency-analyser'\nhomepage: 'https://github.com/shipmonk-rnd/composer-dependency-analyser'\ndescription: |\n  Fast detection of composer dependency issues.\n\n  * 💪 Powerful: Detects unused, shadow and misplaced composer dependencies\n  * ⚡ Performant: Scans 15 000 files in 2s!\n  * ⚙️ Configurable: Fine-grained ignores via PHP config\n  * 🕸️ Lightweight: No composer dependencies\n  * 🍰 Easy-to-use: No config needed for first try\n  * ✨ Compatible: PHP >= 7.2\n"
  },
  {
    "path": "data/tools/cookstyle.yml",
    "content": "name: cookstyle\ncategories:\n  - linter\ntags:\n  - configmanagement\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/chef/cookstyle'\nhomepage: 'https://docs.chef.io/cookstyle.html'\ndescription: >-\n  Cookstyle is a linting tool based on the RuboCop Ruby linting tool for Chef\n  cookbooks.\n"
  },
  {
    "path": "data/tools/corgea.yml",
    "content": "name: Corgea\ncategories:\n  - linter\ntags:\n  - ci\n  - go\n  - java\n  - javascript\n  - php\n  - python\n  - ruby\n  - security\n  - typescript\n  - csharp\n  - kotlin\n  - c\n  - cpp\nlicense: proprietary\ntypes:\n  - cli\n  - service\nhomepage: 'https://corgea.com/'\npricing: https://corgea.com/pricing\nplans:\n  free: true\n  oss: false\ndescription: >-\n  Corgea is an AI-powered SAST scanner that helps developers find and fix insecure code. \n  It finds business logic flaws, broken authentication, API vulnerabilities, and more with little false positives.\n  Additionally, it automatically writes security fixes for them to approve. \n  Corgea integrates with GitHub, GitLab, Azure DevOps, IDEs and CLI. It is free to try it.\nresources:\n  - title: Product homepage\n    url: https://corgea.com/\n  - title: Corgea Docs\n    url: https://docs.corgea.app/\n"
  },
  {
    "path": "data/tools/corrode.yml",
    "content": "name: Corrode\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - rust\ndeprecated: true\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\nsource: 'https://github.com/jameysharp/corrode'\nhomepage: 'https://github.com/jameysharp/corrode'\ndescription: >-\n  Semi-automatic translation from C to Rust. Could reveal bugs in the original\n  implementation by showing Rust compiler warnings and errors. Superseded by\n  C2Rust.\n"
  },
  {
    "path": "data/tools/coverity.yml",
    "content": "name: Coverity\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - csharp\n  - fortran\n  - java\n  - javascript\n  - php\n  - python\n  - rails\n  - scala\n  - security\n  - typescript\n  - vbnet\nlicense: proprietary\ntypes:\n  - cli\nhomepage: >-\n  https://www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html\npricing: https://www.synopsys.com/software-integrity/contact-sales.html\nplans:\n  free: false\n  oss: true\ndescription: >-\n  Synopsys Coverity supports 20 languages and over 70 frameworks including Ruby\n  on rails, Scala, PHP, Python, JavaScript, TypeScript, Java, Fortran, C, C++,\n  C#, VB.NET.\nresources:\n  - title: Coverity - Static Analysis by Synopsys\n    url: https://www.youtube.com/watch?v=FZ-ySGEcD0c\n  - title: Checkmarx - Source Code Analysis Made Easy 2017\n    url: https://www.youtube.com/watch?v=zo1pCl6yQ34\nreviews:\n  - https://www.gartner.com/reviews/market/application-security-testing/vendor/synopsys/product/coverity-sast\n  - https://www.g2.com/products/coverity/reviews\n  - https://www.peerspot.com/products/coverity-reviews"
  },
  {
    "path": "data/tools/cpachecker.yml",
    "content": "name: CPAchecker\ncategories:\n  - linter\ntags:\n  - c\nlicense: Apache 2.0 License\ntypes:\n  - cli \nsource: 'https://cpachecker.sosy-lab.org/download.php'\nhomepage: 'https://cpachecker.sosy-lab.org'\ndescription: >-\n  A tool for configurable software verification of C programs. \n  The name CPAchecker was chosen to reflect that the tool is based on the CPA concepts and is used for checking software programs.\n"
  },
  {
    "path": "data/tools/cpp-linter-action.yml",
    "content": "name: cpp-linter-action\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - ci\n  - python\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/cpp-linter/cpp-linter-action'\nhomepage: 'https://cpp-linter.github.io/cpp-linter-action/'\ndescription: A Github Action for linting C/C++ code integrating clang-tidy and clang-format to collect feedback provided in the form of thread comments and/or annotations.\nresources:\n  - title: C/C++ Lint Action introduction\n    url: https://github.com/cpp-linter/cpp-linter-action\n"
  },
  {
    "path": "data/tools/cppcheck.yml",
    "content": "name: cppcheck\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: \"https://github.com/danmar/cppcheck\"\nhomepage: \"https://cppcheck.sourceforge.io\"\ndescription: Static analysis of C/C++ code.\ndemos:\n  - https://cppcheck.sourceforge.io/demo/\n  - https://www.g2.com/products/cppcheck/reviews\nreviews:\n  - https://sourceforge.net/projects/cppcheck/reviews/\nresources:\n  - title: Cppcheck introduction\n    url: https://www.viva64.com/en/t/0083/\n  - title: \"Using cppcheck for C & C++ Static Analysis\"\n    url: https://www.youtube.com/watch?v=oJ8SXVoefaA\n"
  },
  {
    "path": "data/tools/cppdepend.yml",
    "content": "name: CppDepend\ncategories:\n- linter\ntags:\n- c\n- cpp\ndeprecated: false\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://www.cppdepend.com\ndescription: >-\n  Measure, query and visualize your code and avoid unexpected issues, technical debt\n  and complexity.\npricing: https://www.cppdepend.com/purchase\n"
  },
  {
    "path": "data/tools/cpplint.yml",
    "content": "name: cpplint\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: Apache-2.0\ntypes:\n  - cli\nsource: \"https://github.com/cpplint/cpplint\"\nhomepage: \"https://github.com/cpplint/cpplint\"\ndescription: Automated C++ checker that follows Google's style guide.\n"
  },
  {
    "path": "data/tools/cqc.yml",
    "content": "name: cqc\ncategories:\n  - linter\ntags:\n  - css\n  - javascript\n  - jsx\n  - less\n  - vue\nlicense: BSD-3-Clause (original text)\ntypes:\n  - cli\nsource: 'https://github.com/xcatliu/cqc'\nhomepage: 'https://github.com/xcatliu/cqc'\ndescription: >-\n  Check your code quality for js, jsx, vue, css, less, scss, sass and styl\n  files.\n"
  },
  {
    "path": "data/tools/cqmetrics.yml",
    "content": "name: cqmetrics\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/dspinellis/cqmetrics'\nhomepage: 'https://github.com/dspinellis/cqmetrics'\ndescription: Quality metrics for C code.\n"
  },
  {
    "path": "data/tools/credential-digger.yml",
    "content": "name: Credential Digger\ncategories:\n  - linter\ntags:\n  - security\nlicense: Apache License 2.0\ntypes:  \n  - cli\nsource: 'https://github.com/SAP/credential-digger'\nhomepage: 'https://github.com/SAP/credential-digger'\ndescription: >-\n  Credential Digger is a GitHub scanning tool that identifies hardcoded credentials (Passwords, API Keys, Secret Keys, Tokens, personal information, etc), \n  and filtering the false positive data through a machine learning model called [Password Model](https://huggingface.co/SAPOSS/password-model). This scanner\n  is able to detect passwords and non structured tokens with a low false positive rate. \n"
  },
  {
    "path": "data/tools/credo.yml",
    "content": "name: credo\ncategories:\n  - linter\ntags:\n  - elixir\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/rrrene/credo'\nhomepage: 'https://github.com/rrrene/credo'\ndescription: A static code analysis tool with a focus on code consistency and teaching.\n"
  },
  {
    "path": "data/tools/crystal.yml",
    "content": "name: crystal\ncategories:\n  - linter\ntags:\n  - crystal\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/crystal-lang/crystal'\nhomepage: 'https://crystal-lang.org'\ndescription: The Crystal compiler has built-in linting functionality.\n"
  },
  {
    "path": "data/tools/cscout.yml",
    "content": "name: CScout\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/dspinellis/cscout'\nhomepage: 'https://www.spinellis.gr/cscout'\ndescription: Complexity and quality metrics for C and C preprocessor code.\n"
  },
  {
    "path": "data/tools/csharpessentials.yml",
    "content": "name: CSharpEssentials\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/DustinCampbell/CSharpEssentials'\nhomepage: 'https://github.com/DustinCampbell/CSharpEssentials'\ndescription: >-\n  C# Essentials is a collection of Roslyn diagnostic analyzers, code fixes and\n  refactorings that make it easy to work with C# 6 language features.\n"
  },
  {
    "path": "data/tools/css-stats.yml",
    "content": "name: CSS Stats\ncategories:\n  - linter\ntags:\n  - css\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/cssstats/cssstats'\nhomepage: 'https://cssstats.com'\ndescription: Potentially interesting stats on stylesheets.\n"
  },
  {
    "path": "data/tools/csscomb.yml",
    "content": "name: CSScomb\ncategories:\n  - formatter\ntags:\n  - css\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/csscomb/csscomb.js'\nhomepage: 'https://github.com/csscomb/csscomb.js'\ndescription: >-\n  A coding style formatter for CSS. Supports own configurations to make style\n  sheets beautiful and consistent.\n"
  },
  {
    "path": "data/tools/csslint.yml",
    "content": "name: CSSLint\ncategories:\n  - linter\ntags:\n  - css\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/CSSLint/csslint'\nhomepage: 'http://csslint.net'\ndescription: >-\n  Does basic syntax checking and finds problematic patterns or signs of\n  inefficiency.\n"
  },
  {
    "path": "data/tools/cwe_checker.yml",
    "content": "name: cwe_checker\ncategories:\n  - linter\ntags:\n  - binary\nlicense: GNU Lesser General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/fkie-cad/cwe_checker'\nhomepage: 'https://github.com/fkie-cad/cwe_checker'\ndescription: cwe_checker finds vulnerable patterns in binary executables.\n"
  },
  {
    "path": "data/tools/cyclocomp.yml",
    "content": "name: cyclocomp\ncategories:\n  - linter\ntags:\n  - r\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/MangoTheCat/cyclocomp'\nhomepage: 'https://github.com/MangoTheCat/cyclocomp'\ndescription: Quantifies the cyclomatic complexity of R functions / expressions.\n"
  },
  {
    "path": "data/tools/d-scanner.yml",
    "content": "name: D-scanner\ncategories:\n  - linter\ntags:\n  - dlang\nlicense: Boost Software License 1.0\ntypes:\n  - cli\nsource: 'https://github.com/dlang-community/D-Scanner'\nhomepage: 'https://github.com/dlang-community/D-Scanner'\ndescription: D-Scanner is a tool for analyzing D source code.\n"
  },
  {
    "path": "data/tools/dagda.yml",
    "content": "name: dagda\ncategories:\n  - linter\ntags:\n  - container\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/eliasgranderubio/dagda'\nhomepage: 'https://github.com/eliasgranderubio/dagda'\ndescription: Perform static analysis of known vulnerabilities in docker images/containers.\ndeprecated: true\n"
  },
  {
    "path": "data/tools/dart-code-metrics.yml",
    "content": "name: Dart Code Metrics\ncategories:\n  - linter\ntags:\n  - dart\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/dart-code-checker/dart-code-metrics'\nhomepage: 'https://pub.dev/packages/dart_code_metrics'\ndescription: Additional linter for Dart. Reports code metrics, checks for anti-patterns and provides additional rules for Dart analyzer.\n"
  },
  {
    "path": "data/tools/database_consistency.yml",
    "content": "name: DatabaseConsistency\ncategories:\n  - linter\ntags:\n  - ruby\n  - rails\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/djezzzl/database_consistency\"\nhomepage: \"https://github.com/djezzzl/database_consistency\"\ndescription: >-\n  The tool to avoid various issues due to inconsistencies and inefficiencies between a database schema and application models.\n"
  },
  {
    "path": "data/tools/dataflow-framework.yml",
    "content": "name: Dataflow Framework\ncategories:\n  - linter\ntags:\n  - java\nlicense: GPL with Classpath exception / MIT License\ntypes:\n  - cli\nsource: 'https://github.com/typetools/checker-framework'\nhomepage: 'https://github.com/typetools/checker-framework'\ndescription: >-\n  An industrial-strength dataflow framework for Java.\n  The Dataflow Framework is used in the Checker Framework, Google’s Error Prone, Uber’s NullAway, Meta’s Nullsafe, and in other contexts.\n  It is distributed with the Checker Framework.\nresources:\n  - title: \"User Manual\"\n    url: https://checkerframework.org/manual/checker-framework-dataflow-manual.pdf\n"
  },
  {
    "path": "data/tools/datree.yml",
    "content": "name: Datree\ncategories:\n  - linter\ntags:\n  - kubernetes\n  - security\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/datreeio/datree'\nhomepage: 'https://datree.io/'\ndescription: 'A CLI tool to prevent Kubernetes misconfigurations by ensuring that manifests and Helm charts follow best practices as well as your organization’s policies'\n"
  },
  {
    "path": "data/tools/dawnscanner.yml",
    "content": "name: dawnscanner\ncategories:\n  - linter\ntags:\n  - rails\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/thesp0nge/dawnscanner'\nhomepage: 'https://github.com/thesp0nge/dawnscanner'\ndescription: >-\n  A static analysis security scanner for ruby written web applications. It\n  supports Sinatra, Padrino and Ruby on Rails frameworks.\n"
  },
  {
    "path": "data/tools/dbcritic.yml",
    "content": "name: dbcritic\ncategories:\n  - linter\ntags:\n  - sql\nlicense: BSD-3-Clause License \ntypes:\n  - cli\nsource: 'https://github.com/channable/dbcritic'\nhomepage: 'https://github.com/channable/dbcritic'\ndescription: >-\n  dbcritic finds problems in a database schema, such as\n  a missing primary key constraint in a table.\n"
  },
  {
    "path": "data/tools/deadcode.yml",
    "content": "name: deadcode\ncategories:\n  - linter\ntags:\n  - go\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/tsenart/deadcode'\nhomepage: 'https://github.com/tsenart/deadcode'\ndescription: Finds unused code.\n"
  },
  {
    "path": "data/tools/deadnix.yml",
    "content": "name: deadnix\ncategories:\n  - linter\ntags:\n  - nix\nlicense: GPL-3.0\ntypes:\n  - cli \nsource: 'https://github.com/astro/deadnix'\nhomepage: 'https://github.com/astro/deadnix'\ndescription: 'Scan Nix files for dead code (unused variable bindings)'\n"
  },
  {
    "path": "data/tools/deal.yml",
    "content": "name: deal\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/life4/deal\"\nhomepage: \"https://deal.readthedocs.io/\"\ndescription: >-\n  Design by contract for Python. Write bug-free code. \n  By adding a few decorators to your code, you get for free tests, static\n  analysis, formal verification, and much more.\n\n"
  },
  {
    "path": "data/tools/deepcode.yml",
    "content": "name: DeepCode\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - java\n  - javascript\n  - python\n  - typescript\nlicense: proprietary\ntypes:\n  - service\nhomepage: https://snyk.io/platform/deepcode-ai/\ndeprecated: true\ndescription: >-\n  DeepCode was acquired by Snyk is now Snyk Code.\nresources:\n  - title: Intro to DeepCode\n    url: https://www.youtube.com/watch?v=5ThvYN3nWcg\n  - title: \"Introduction to DeepCode's CLI - Install, config, first use\"\n    url: https://www.youtube.com/watch?v=PG8PmrKEuLY\n"
  },
  {
    "path": "data/tools/deepscan.yml",
    "content": "name: DeepScan\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: proprietary\ntypes:\n  - cli\nhomepage: https://deepscan.io\ndescription: >-\n  An analyzer for JavaScript which targets runtime errors and quality issues rather\n  than coding conventions.\npricing: https://deepscan.io/pricing\nplans:\n  free: false\n  oss: true\n"
  },
  {
    "path": "data/tools/deepsource.yml",
    "content": "name: DeepSource\ncategories:\n  - linter\ntags:\n  - configmanagement\n  - container\n  - go\n  - javascript\n  - python\n  - ruby\n  - sql\nlicense: proprietary\ntypes:\n  - service\nhomepage: https://deepsource.com\nresources:\n  - title: What is DeepSource?\n    url: https://www.youtube.com/watch?v=SwEQXK1ms_U\n  - title: Static analysis for C# with DeepSource\n    url: https://www.youtube.com/watch?v=hgWui62Aa0E\ndescription: >-\n  In-depth static analysis to find issues in verticals of bug risks, security, anti-patterns,\n  performance, documentation and style. Native integrations with GitHub, GitLab and\n  Bitbucket. Less than 5% false positives.\npricing: https://deepsource.io/pricing\nplans:\n  free: true\n  oss: true\nreviews:\n  - https://www.capterra.com/p/199025/DeepSource/\n"
  },
  {
    "path": "data/tools/deleaker.yml",
    "content": "name: deleaker\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - csharp\n  - delphi\n  - dotnet\nlicense: proprietary\ntypes:\n  - service\nhomepage: 'https://www.deleaker.com/'\npricing: https://www.deleaker.com/order.html\nplans:\n  free: false\n  oss: false\ndescription: >-\n  Deleaker is a memory leak detection tool for C++, .NET, and Delphi,\n  integrating with Visual Studio, Qt Creator, and RAD Studio or running\n  as a standalone application. It helps developers find and fix memory,\n  GDI, and handle leaks efficiently.\n"
  },
  {
    "path": "data/tools/delphilint.yml",
    "content": "name: DelphiLint\r\ncategories:\r\n  - linter\r\ntags:\r\n  - delphi\r\nlicense: LGPL-3.0-only license\r\ntypes:\r\n  - ide-plugin\r\nsource: 'https://github.com/integrated-application-development/delphilint'\r\nhomepage: 'https://github.com/integrated-application-development/delphilint'\r\ndescription: A Delphi IDE package providing on-the-fly code analysis and linting, powered by SonarDelphi."
  },
  {
    "path": "data/tools/dennis.yml",
    "content": "name: dennis\ncategories:\n  - linter\ntags:\n  - translation\nlicense: BSD-3-Clause\ntypes:\n  - cli\nsource: 'https://github.com/willkg/dennis'\nhomepage: 'https://github.com/willkg/dennis'\ndescription: >-\n  A set of utilities for working with PO files to ease development and improve\n  quality.\n"
  },
  {
    "path": "data/tools/deno_lint.yml",
    "content": "name: deno_lint\ncategories:\n  - linter\ntags:\n  - deno\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/denoland/deno_lint'\nhomepage: 'https://github.com/denoland/deno_lint'\ndescription: Official linter for Deno.\n"
  },
  {
    "path": "data/tools/depends.yml",
    "content": "name: Depends\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - java\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/multilang-depends/depends'\nhomepage: 'https://github.com/multilang-depends/depends'\ndescription: >-\n  Analyses the comprehensive dependencies of code elements for Java, C/C++,\n  Ruby.\n"
  },
  {
    "path": "data/tools/dephpend.yml",
    "content": "name: dephpend\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/mihaeu/dephpend'\nhomepage: 'https://github.com/mihaeu/dephpend'\ndescription: Dependency analysis tool.\n"
  },
  {
    "path": "data/tools/deprecation-detector.yml",
    "content": "name: deprecation-detector\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/sensiolabs-de/deprecation-detector'\nhomepage: 'https://github.com/sensiolabs-de/deprecation-detector'\ndescription: Finds usages of deprecated (Symfony) code.\n"
  },
  {
    "path": "data/tools/deptrac.yml",
    "content": "name: deptrac\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/sensiolabs-de/deptrac'\nhomepage: 'https://github.com/sensiolabs-de/deptrac'\ndescription: Enforce rules for dependencies between software layers.\n"
  },
  {
    "path": "data/tools/derscanner.yml",
    "content": "name: DerScanner\ncategories:\n  - linter\ntags:\n  - abap\n  - apex\n  - asp\n  - c\n  - cpp\n  - cobol\n  - csharp\n  - dart\n  - delphi\n  - go\n  - groovy\n  - html\n  - java\n  - javascript\n  - kotlin\n  - mobile\n  - nodejs\n  - objectivec\n  - pascal\n  - perl\n  - php\n  - plsql\n  - python\n  - ruby\n  - rust\n  - scala\n  - security\n  - swift\n  - vbasic\n  - vbnet\n  - vbscript\n  - xml\nlicense: proprietary\ntypes:\n  - cli\n  - service\nhomepage: https://derscanner.com/\ndescription: >-\n  Multi-language Static Application Security Testing (SAST) platform that detects critical vulnerabilities,\n  including hardcoded secrets, weak cryptography, backdoors, SQL injections, insecure configurations, etc.\npricing: https://derscanner.com/pricing\n"
  },
  {
    "path": "data/tools/designite.yml",
    "content": "name: Designite\ncategories:\n- linter\ntags:\n- csharp\nlicense: proprietary\ntypes:\n- cli\nhomepage: http://www.designite-tools.com\ndescription: >-\n  Designite supports detection of various architecture, design, and implementation\n  smells, computation of various code quality metrics, and trend analysis.\npricing: http://www.designite-tools.com/buy\n"
  },
  {
    "path": "data/tools/designitejava.yml",
    "content": "name: DesigniteJava\ncategories:\n- linter\ntags:\n- java\nlicense: proprietary\ntypes:\n- cli\nhomepage: http://www.designite-tools.com/designitejava\ndescription: >-\n  DesigniteJava supports detection of various architecture, design, and implementation\n  smells along with computation of various code quality metrics.\npricing: http://www.designite-tools.com/buy\n"
  },
  {
    "path": "data/tools/designpatterndetector.yml",
    "content": "name: DesignPatternDetector\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/Halleck45/DesignPatternDetector'\nhomepage: 'https://github.com/Halleck45/DesignPatternDetector'\ndescription: Detection of design patterns in PHP code.\n"
  },
  {
    "path": "data/tools/detect-secrets.yml",
    "content": "name: detect-secrets\ncategories:\n  - linter\ntags:\n  - security\nlicense: Apache-2.0\ntypes:  \n  - cli\nsource: 'https://github.com/Yelp/detect-secrets'\nhomepage: 'https://github.com/Yelp/detect-secrets'\ndescription: >-\n    An enterprise friendly way of detecting and preventing secrets in code.\n    \n    It does this by running periodic diff outputs against heuristically crafted regex statements, \n    to identify whether any new secret has been committed. This way, it avoids the overhead of digging \n    through all git history, as well as the need to scan the entire repository every time.\n"
  },
  {
    "path": "data/tools/detekt.yml",
    "content": "name: detekt\ncategories:\n  - linter\ntags:\n  - kotlin\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/detekt/detekt'\nhomepage: 'https://detekt.github.io/detekt'\ndescription: Static code analysis for Kotlin code.\n"
  },
  {
    "path": "data/tools/devskim.yml",
    "content": "name: DevSkim\ncategories:\n  - linter\ntags:\n  - asp\n  - c\n  - cpp\n  - java\n  - php\n  - python\n  - ruby\nlicense: MIT License\ntypes:\n  - ide-plugin\nsource: 'https://github.com/microsoft/devskim'\nhomepage: 'https://github.com/microsoft/devskim'\nresources:\n  - title: \"ToorCon 19 — Pavel Bansky - Detecting security issues as fast as you making them\"\n    url: https://www.youtube.com/watch?v=VK80nTLGUk4\ndescription: >-\n  Regex-based static analysis tool for Visual Studio, VS Code, and Sublime Text\n  - C/C++, C#, PHP, ASP, Python, Ruby, Java, and others.\n"
  },
  {
    "path": "data/tools/dialyxir.yml",
    "content": "name: dialyxir\ncategories:\n  - linter\ntags:\n  - elixir\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/jeremyjh/dialyxir'\nhomepage: 'https://github.com/jeremyjh/dialyxir'\ndescription: 'Mix tasks to simplify use of Dialyzer in Elixir projects.'\n"
  },
  {
    "path": "data/tools/dialyzer.yml",
    "content": "name: dialyzer\ncategories:\n  - linter\ntags:\n  - erlang\nlicense: Apache-2.0 License \ntypes:\n  - cli\nsource: 'https://github.com/erlang/otp/tree/master/lib/dialyzer'\nhomepage: 'https://www.erlang.org/doc/man/dialyzer.html'\ndescription: >-\n  The DIALYZER, a DIscrepancy AnaLYZer for ERlang programs.\n  Dialyzer is a static analysis tool that identifies software discrepancies, \n  such as definite type errors, code that has become dead or unreachable \n  because of programming error, and unnecessary tests, \n  in single Erlang modules or entire (sets of) applications.\n\n  Dialyzer starts its analysis from either debug-compiled BEAM bytecode \n  or from Erlang source code. The file and line number of a discrepancy \n  is reported along with an indication of what the discrepancy is about. \n  Dialyzer bases its analysis on the concept of success typings, \n  which allows for sound warnings (no false positives).\nresources:\n    - title: \"ElixirConf 2016 - Dialyzer: Optimistic Type Checking for Erlang and Elixir by Jason Voegele\"\n      url: https://www.youtube.com/watch?v=JT0ECYZ9FaQ\n    - title: \"Sean Cribbs - Chemanalysis: Dialyzing Elixir | Code BEAM SF 19\"\n      url: https://www.youtube.com/watch?v=k4au7VioXNk\n    - title: \"Stavros Aronis - What does Dialyzer think about me? | Code BEAM STO 19\"\n      url: https://www.youtube.com/watch?v=Nxsw1jRE2A4&t=709s\n"
  },
  {
    "path": "data/tools/diesel-guard.yml",
    "content": "name: diesel-guard\ncategories:\n  - linter\ntags:\n  - sql\n  - rust\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/ayarotsky/diesel-guard'\nhomepage: 'https://github.com/ayarotsky/diesel-guard'\ndescription: >-\n  Linter for dangerous Postgres migration patterns in Diesel and SQLx.\n  Prevents downtime caused by unsafe schema changes.\n"
  },
  {
    "path": "data/tools/diffblue.yml",
    "content": "name: Diffblue\ncategories:\n  - linter\nlicense: proprietary\ntags:\n  - ci\n  - java\ntypes:\n  - service\nhomepage: \"https://www.diffblue.com/\"\npricing: \"https://www.diffblue.com/pricing/\"\nplans:\n  free: true\nresources:\n  - title: \"Diffblue Cover Overview\"\n    url: https://www.youtube.com/watch?v=9vt1szlaAKw\n  - title: \"Codecov Github Tutorial/Demo\"\n    url: https://docs.codecov.com/docs/github-tutorial\n  - title: \"Diffblue Cover in Eclipse\"\n    url: https://www.youtube.com/watch?v=jiUgMs21NNE\n  - title: \"Diffblue Cover on a Pull Request\"\n    url: https://www.youtube.com/watch?v=dhN-mbgOSMo\ndescription: >-\n  Diffblue is a software company that provides AI-powered code analysis and\n  testing solutions for software development teams.\n\n  Its technology helps developers automate testing, find bugs, and reduce manual\n  labor in their software development processes. The company's main product,\n  Diffblue Cover, uses AI to generate and run unit tests for Java code, helping\n  to catch errors and improve code quality.\n"
  },
  {
    "path": "data/tools/diffrs.yml",
    "content": "name: diff.rs\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/xfbs/diff.rs\"\nhomepage: \"https://diff.rs\"\ndescription: >-\n  Web application (WASM) to render a diff between Rust crate versions.\n"
  },
  {
    "path": "data/tools/diktat.yml",
    "content": "name: diktat\ncategories:\n  - linter\n  - formatter\ntags:\n  - kotlin\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/saveourtool/diktat'\nhomepage: 'https://diktat.saveourtool.com'\ndescription: Strict coding standard for Kotlin and a linter that detects and auto-fixes code smells.\n"
  },
  {
    "path": "data/tools/dingo-hunter.yml",
    "content": "name: dingo-hunter\ncategories:\n  - linter\ntags:\n  - go\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/nickng/dingo-hunter'\nhomepage: 'https://github.com/nickng/dingo-hunter'\ndescription: Static analyser for finding deadlocks in Go.\n"
  },
  {
    "path": "data/tools/dlint.yml",
    "content": "name: Dlint\ncategories:\n  - linter\ntags:\n  - python\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/dlint-py/dlint'\nhomepage: 'https://github.com/dlint-py/dlint'\ndescription: A tool for ensuring Python code is secure.\n"
  },
  {
    "path": "data/tools/docker-label-inspector.yml",
    "content": "name: Docker Label Inspector\ncategories:\n  - linter\ntags:\n  - container\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/garethr/docker-label-inspector'\nhomepage: 'https://github.com/garethr/docker-label-inspector'\ndescription: Lint and validate Dockerfile labels.\n"
  },
  {
    "path": "data/tools/dockle.yml",
    "content": "name: Dockle\ncategories:\n  - linter\ntags:\n  - container\n  - security\n  - dockerfile\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: \"https://github.com/goodwithtech/dockle\"\nhomepage: \"https://github.com/goodwithtech/dockle\"\ndescription: >-\n  Container Image Linter for Security helping build the Best-Practice Docker\n  Image. Scans Docker images for security vulnerabilities and CIS Benchmark\n  compliance. Checks for secrets, credential exposure, and security best\n  practices. Provides multiple severity levels (FATAL, WARN, INFO) and\n  supports various output formats for CI/CD integration."
  },
  {
    "path": "data/tools/dodgy.yml",
    "content": "name: Dodgy\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/landscapeio/dodgy\"\nhomepage: \"https://github.com/landscapeio/dodgy\"\ndescription: Dodgy is a very basic tool to run against your codebase to search for \"dodgy\" looking values. It is a series of simple regular expressions designed to detect things such as accidental SCM diff checkins, or passwords or secret keys hard coded into files.\n"
  },
  {
    "path": "data/tools/dogsled.yml",
    "content": "name: dogsled\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/alexkohler/dogsled'\nhomepage: 'https://github.com/alexkohler/dogsled'\ndescription: Finds assignments/declarations with too many blank identifiers.\n"
  },
  {
    "path": "data/tools/doop.yml",
    "content": "name: Doop\ncategories:\n  - linter\ntags:\n  - java\nlicense: UPL\ntypes:\n  - cli\nsource: 'https://github.com/plast-lab/doop'\nhomepage: 'https://plast-lab.github.io/doop-pldi15-tutorial/'\ndescription: Doop is a declarative framework for static analysis of Java/Android programs, centered on pointer analysis algorithms. Doop provides a large variety of analyses and also the surrounding scaffolding to run an analysis end-to-end (fact generation, processing, statistics, etc.).\n"
  },
  {
    "path": "data/tools/dotenv-linter-rust.yml",
    "content": "name: dotenv-linter (Rust)\ncategories:\n  - linter\ntags:\n  - configfile\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/dotenv-linter/dotenv-linter'\nhomepage: 'https://dotenv-linter.github.io/#/'\ndescription: 'Lightning-fast linter for .env files. Written in Rust'\n"
  },
  {
    "path": "data/tools/dotenv-linter.yml",
    "content": "name: dotenv-linter\ncategories:\n  - linter\ntags:\n  - configfile\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/wemake-services/dotenv-linter'\nhomepage: 'https://dotenv-linter.readthedocs.io/en/latest'\ndescription: Linting dotenv files like a charm.\n"
  },
  {
    "path": "data/tools/dotnet-format.yml",
    "content": "name: dotnet-format\ncategories:\n  - linter\ntags:\n  - dotnet\n  - csharp\n  - vbasic\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/dotnet/format\"\nhomepage: \"https://github.com/dotnet/format\"\ndescription: >-\n  A code formatter for .NET. Preferences will be read from an `.editorconfig`\n  file, if present, otherwise a default set of preferences will be used. At this\n  time dotnet-format is able to format C# and Visual Basic projects with a\n  subset of supported `.editorconfig` options.\n"
  },
  {
    "path": "data/tools/drnim.yml",
    "content": "name: DrNim\ncategories:\n  - linter\ntags:\n  - nim\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://nim-lang.org/docs/drnim.html'\nhomepage: 'https://nim-lang.org/docs/drnim.html'\ndescription: 'DrNim combines the Nim frontend with the Z3 proof engine in order to allow verify / validate software written in Nim.'\n"
  },
  {
    "path": "data/tools/dupl.yml",
    "content": "name: dupl\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/mibk/dupl'\nhomepage: 'https://github.com/mibk/dupl'\ndescription: Reports potentially duplicated code.\n"
  },
  {
    "path": "data/tools/dylint.yml",
    "content": "name: dylint\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MIT License / Apache 2.0 license\ntypes:\n  - cli\nsource: 'https://github.com/trailofbits/dylint'\nhomepage: 'https://www.trailofbits.com/post/write-rust-lints-without-forking-clippy'\ndescription: >-\n  A tool for running Rust lints from dynamic libraries.\n  Dylint makes it easy for developers to maintain their own personal lint collections.\n"
  },
  {
    "path": "data/tools/easycodingstandard.yml",
    "content": "name: EasyCodingStandard\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/Symplify/EasyCodingStandard'\nhomepage: >-\n  https://www.tomasvotruba.com/blog/2017/05/03/combine-power-of-php-code-sniffer-and-php-cs-fixer-in-3-lines\ndescription: >-\n  Combine [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) and\n  [PHP-CS-Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer).\n"
  },
  {
    "path": "data/tools/effective_dart.yml",
    "content": "name: effective_dart\ncategories:\n  - linter\ntags:\n  - dart\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/tenhobi/effective_dart'\nhomepage: 'https://pub.dev/packages/effective_dart'\ndescription: Linter rules corresponding to the guidelines in Effective Dart\n"
  },
  {
    "path": "data/tools/electrolysis.yml",
    "content": "name: electrolysis\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/Kha/electrolysis'\nhomepage: 'https://kha.github.io/electrolysis'\ndescription: >-\n  A tool for formally verifying Rust programs by transpiling them into\n  definitions in the Lean theorem prover.\n"
  },
  {
    "path": "data/tools/elm-analyse.yml",
    "content": "name: elm-analyse\ncategories:\n  - linter\ntags:\n  - elm\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/stil4m/elm-analyse'\nhomepage: 'https://stil4m.github.io/elm-analyse'\ndescription: >-\n  A tool that allows you to analyse your Elm code, identify deficiencies and\n  apply best practices.\n"
  },
  {
    "path": "data/tools/elm-review.yml",
    "content": "name: elm-review\ncategories:\n  - linter\ntags:\n  - elm\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/jfmengels/elm-review'\nhomepage: 'https://package.elm-lang.org/packages/jfmengels/elm-review/latest'\ndescription: >-\n  Analyzes whole Elm projects, with a focus on shareable and custom rules\n  written in Elm that add guarantees the Elm compiler doesn't give you.\n"
  },
  {
    "path": "data/tools/elvis.yml",
    "content": "name: elvis\ncategories:\n  - linter\ntags:\n  - erlang\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/inaka/elvis'\nhomepage: 'https://github.com/inaka/elvis'\ndescription: Erlang Style Reviewer.\n"
  },
  {
    "path": "data/tools/ember-template-lint.yml",
    "content": "name: ember-template-lint\ncategories:\n  - linter\ntags:\n  - template\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/ember-template-lint/ember-template-lint'\nhomepage: 'https://github.com/ember-template-lint/ember-template-lint'\ndescription: Linter for Ember or Handlebars templates.\n"
  },
  {
    "path": "data/tools/embold.yml",
    "content": "name: Embold\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - csharp\n  - go\n  - java\n  - javascript\n  - kotlin\n  - python\n  - typescript\nlicense: proprietary\ntypes:\n  - service\nhomepage: https://embold.io\ndescription: >-\n  Intelligent software analytics platform that identifies design issues, code issues,\n  duplication and metrics. Supports Java, C, C++, C#, JavaScript, TypeScript, Python,\n  Go, Kotlin and more.\npricing: https://embold.io/pricing\nplans:\n  free: true\n  oss: false\n"
  },
  {
    "path": "data/tools/emerge.yml",
    "content": "name: emerge\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - objectivec\n  - go\n  - javascript\n  - java\n  - kotlin\n  - php\n  - python\n  - ruby\n  - swift\n  - typescript\nlicense: MIT\ntypes:\n  - cli\n  - service\nsource: \"https://github.com/glato/emerge\"\nhomepage: \"https://github.com/glato/emerge\"\ndescription: Emerge is a source code and dependency visualizer that can be used to gather insights about source code structure, metrics, dependencies and complexity of software projects. After scanning the source code of a project it provides you an interactive web interface to explore and analyze your project by using graph structures.\n"
  },
  {
    "path": "data/tools/enforster.yml",
    "content": "name: Enforster AI\ncategories:\n  - linter\ntags:\n  - ci\n  - go\n  - java\n  - javascript\n  - php\n  - python\n  - security\n  - typescript\n  - csharp\n  - c\n  - cpp\nlicense: proprietary\ntypes:\n  - service\nhomepage: 'https://enforster.ai/'\ndescription: >-\n  Enforster AI performs Contextual Code Security SAST, leveraging LLMs and artificial intelligence to reduce \n  and enrich the detection of Logic Flaws, Secrets, Data leaks, Supply chain and technical vulnerabilities. \nresources:\n  - title: Product homepage\n    url: https://enforster.ai/\n  - title: Docs\n    url: https://docs.enforster.ai/\n  - title: Platform Access\n    url: https://app.enforster.ai/\n"
  },
  {
    "path": "data/tools/enlightn.yml",
    "content": "name: Enlightn\ncategories:\n  - linter\ntags:\n  - php\n  - security\n  - laravel\nlicense: LGPL-3.0 License\ntypes:\n  - cli\nsource: 'https://github.com/enlightn/enlightn'\nhomepage: 'https://www.laravel-enlightn.com/'\nresources:\n  - title: \"Enlightn: Performance and Security Consultant\"\n    url: https://www.youtube.com/watch?v=l6gY53fL1zI\ndescription: >-\n  A static and dynamic analysis tool for Laravel applications that provides\n  recommendations to improve the performance, security and code reliability\n  of Laravel apps. Contains 120 automated checks.\n"
  },
  {
    "path": "data/tools/enre-cpp.yml",
    "content": "name: ENRE-cpp\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: LGPL-2.1 license\ntypes:\n  - cli\nsource: 'https://github.com/xjtu-enre/ENRE-cpp'\nhomepage: 'https://github.com/xjtu-enre/ENRE-cpp'\ndescription: >-\n  ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code.\n  ENRE-cpp is a ENtity Relationship Extractor for C/C++ based on @eclipse/CDT. (Under development)\n\n"
  },
  {
    "path": "data/tools/enre-java.yml",
    "content": "name: ENRE-java\ncategories:\n  - linter\ntags:\n  - java\nlicense: LGPL-2.1 license\ntypes:\n  - cli\nsource: 'https://github.com/xjtu-enre/ENRE-java'\nhomepage: 'https://github.com/xjtu-enre/ENRE-java'\ndescription: >-\n  ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code.\n  ENRE-java is a ENtity Relationship Extractor for Java projects based on @Eclipse JDT/parser.\n\n"
  },
  {
    "path": "data/tools/enre-py.yml",
    "content": "name: ENRE-py\ncategories:\n  - linter\ntags:\n  - python\nlicense: LGPL-2.1 license\ntypes:\n  - cli\nsource: 'https://github.com/xjtu-enre/ENRE-py'\nhomepage: 'https://github.com/xjtu-enre/ENRE-py'\ndescription: >-\n  ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code.\n  ENRE-py is a ENtity Relationship Extractor for Python based on Python Language Services of The Standard Library.\n\n"
  },
  {
    "path": "data/tools/enre-ts.yml",
    "content": "name: ENRE-ts\ncategories:\n  - linter\ntags:\n  - typescript\nlicense: LGPL-2.1 license\ntypes:\n  - cli\nsource: 'https://github.com/xjtu-enre/ENRE-ts'\nhomepage: 'https://github.com/xjtu-enre/ENRE-ts'\ndescription: >-\n  ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code.\n  ENRE-ts is a ENtity Relationship Extractor for ECMAScript and TypeScript based on @babel/parser.\n\n"
  },
  {
    "path": "data/tools/erb-formatter.yml",
    "content": "name: ERB::Formatter\ncategories:\n  - formatter\ntags:\n  - erb\n  - html\n  - ruby\n  - rails\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/nebulab/erb-formatter\"\nhomepage: \"https://github.com/nebulab/erb-formatter\"\ndescription: >-\n  Format ERB files with speed and precision.\n"
  },
  {
    "path": "data/tools/erb-lint.yml",
    "content": "name: ERB Lint\ncategories:\n  - linter\ntags:\n  - erb\n  - html\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/Shopify/erb-lint'\nhomepage: 'https://github.com/Shopify/erb-lint'\ndescription: 'Lint your ERB or HTML files'\n"
  },
  {
    "path": "data/tools/errcheck.yml",
    "content": "name: errcheck\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/kisielk/errcheck'\nhomepage: 'https://github.com/kisielk/errcheck'\ndescription: Check that error return values are used.\n"
  },
  {
    "path": "data/tools/error-prone.yml",
    "content": "name: Error Prone\ncategories:\n  - linter\ntags:\n  - java\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/google/error-prone'\nhomepage: 'https://errorprone.info'\ndescription: Catch common Java mistakes as compile-time errors.\n"
  },
  {
    "path": "data/tools/errwrap.yml",
    "content": "name: errwrap\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD 3-Clause License\ntypes:\n  - cli\nsource: 'https://github.com/fatih/errwrap'\nhomepage: 'https://github.com/fatih/errwrap'\ndescription: >-\n  Wrap and fix Go errors with the new %w verb directive. \n  This tool analyzes fmt.Errorf() calls and reports calls that contain a verb directive that \n  is different than the new %w verb directive introduced in Go v1.13. \n  It's also capable of rewriting calls to use the new %w wrap verb directive.\n"
  },
  {
    "path": "data/tools/es6-plato.yml",
    "content": "name: es6-plato\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/the-simian/es6-plato'\nhomepage: 'https://github.com/the-simian/es6-plato'\ndescription: Visualize JavaScript (ES6) source complexity.\n"
  },
  {
    "path": "data/tools/esbmc.yml",
    "content": "name: ESBMC\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/esbmc/esbmc'\nhomepage: 'http://esbmc.org'\ndescription: >-\n  ESBMC is an open source, permissively licensed, context-bounded model checker\n  based on satisfiability modulo theories for the verification of single- and\n  multi-threaded C/C++ programs.\n"
  },
  {
    "path": "data/tools/escomplex.yml",
    "content": "name: escomplex\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/jared-stilwell/escomplex'\nhomepage: 'https://github.com/jared-stilwell/escomplex'\ndescription: Software complexity analysis of JavaScript-family abstract syntax trees.\n"
  },
  {
    "path": "data/tools/eslint.yml",
    "content": "name: ESLint\ncategories:\n  - linter\ntags:\n  - javascript\n  - typescript\n  - jsx\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/eslint/eslint\"\nhomepage: \"https://github.com/eslint/eslint\"\ndescription: An extensible linter for JS, following the ECMAScript standard.\nreviews:\n  - https://stackshare.io/eslint\n  - https://openbase.com/js/eslint/reviews\ndemos:\n  - https://eslint.org/play/\nresources:\n  - title: ESLint Tutorial with VSCode\n    url: https://www.youtube.com/watch?v=fslNny60HzI\n  - title: VSCode ESLint, Prettier & Airbnb Style Guide Setup\n    url: https://www.youtube.com/watch?v=SydnKbGc7W8\n"
  },
  {
    "path": "data/tools/esprima.yml",
    "content": "name: Esprima\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: BSD 2-Clause \"Simplified\" License\ntypes:\n  - cli\nsource: 'https://github.com/jquery/esprima'\nhomepage: 'https://esprima.org'\ndescription: ECMAScript parsing infrastructure for multipurpose analysis.\n"
  },
  {
    "path": "data/tools/exakat.yml",
    "content": "name: exakat\ncategories:\n  - linter\ntags:\n  - ci\n  - php\nlicense: Other\ntypes:\n  - service\nsource: 'https://github.com/exakat/exakat'\nhomepage: 'https://www.exakat.io'\ndescription: An automated code reviewing engine for PHP.\n"
  },
  {
    "path": "data/tools/ezno.yml",
    "content": "name: ezno\ncategories:\n  - linter\ntags:\n  - javascript\n  - typescript\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/kaleidawave/ezno\"\nhomepage: \"https://kaleidawave.github.io/posts/introducing-ezno/\"\ndescription: >-\n  A JavaScript compiler and TypeScript checker written in Rust with a focus on\n  static analysis and runtime performance. Ezno's type checker is built from\n  scratch. \n  The checker is fully compatible with TypeScript type annotations and can work\n  without any type annotations at all.\n"
  },
  {
    "path": "data/tools/fantomas.yml",
    "content": "name: fantomas\ncategories:\n  - formatter\ntags:\n  - fsharp\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/fsprojects/fantomas'\nhomepage: 'https://fsprojects.github.io/fantomas/'\ndescription: F# source code formatter.\n"
  },
  {
    "path": "data/tools/fasterer.yml",
    "content": "name: Fasterer\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/DamirSvrtan/fasterer'\nhomepage: 'https://github.com/DamirSvrtan/fasterer'\ndescription: 'Common Ruby idioms checker.'\n"
  },
  {
    "path": "data/tools/fb-contrib.yml",
    "content": "name: fb-contrib\ncategories:\n  - linter\ntags:\n  - java\nlicense: GNU Lesser General Public License v2.1\ntypes:\n  - cli\nsource: 'https://github.com/mebigfatguy/fb-contrib'\nhomepage: 'http://fb-contrib.sourceforge.net'\ndescription: A plugin for FindBugs with additional bug detectors.\n"
  },
  {
    "path": "data/tools/find-security-bugs.yml",
    "content": "name: Find Security Bugs\ncategories:\n  - linter\ntags:\n  - groovy\n  - java\n  - kotlin\n  - scala\nlicense: LGPL-3.0-only\ntypes:\n  - cli\nsource: 'https://github.com/find-sec-bugs/find-sec-bugs'\nhomepage: 'https://find-sec-bugs.github.io'\ndescription: >-\n  The SpotBugs plugin for security audits of Java web applications and Android\n  applications. (Also work with Kotlin, Groovy and Scala projects)\n"
  },
  {
    "path": "data/tools/fix-insight.yml",
    "content": "name: Fix Insight\ncategories:\n  - linter\ntags:\n  - delphi\nlicense: proprietary\ntypes:\n  - cli\nsource: https://www.tmssoftware.com/site/fixinsight.asp\nhomepage: https://www.tmssoftware.com/site/fixinsight.asp\ndescription: >-\n  A free IDE Plugin for static code analysis. A _Pro_ edition includes a command line\n  tool for automation purposes.\npricing: https://tmssoftware.com/site/tmsallaccess.asp#product-buy-online\n"
  },
  {
    "path": "data/tools/fixinator.yml",
    "content": "name: Fixinator\ncategories:\n- linter\ntags:\n- coldfusion\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://fixinator.app\ndescription: Static security code analysis for ColdFusion or CFML code. Designed to work within a CI pipeline or from the developers terminal.\nresources:\n- title: Fixinator Getting Started Guide\n  url: https://github.com/foundeo/fixinator/wiki/Getting-Started\npricing: https://fixinator.app\n"
  },
  {
    "path": "data/tools/fixit.yml",
    "content": "name: fixit\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/Instagram/Fixit'\nhomepage: 'https://pypi.org/project/fixit'\ndescription: A framework for creating lint rules and corresponding auto-fixes for source code.\nresources:\n  - title: Enforcing coding conventions using libCST and Fixit\n    url: https://www.digitalernachschub.de/blog/enforcing-coding-conventions-using-libcst-and-fixit/\n"
  },
  {
    "path": "data/tools/flake8.yml",
    "content": "name: flake8\ncategories:\n  - meta\ntags:\n  - meta\n  - python\nlicense: Other\ntypes:\n  - cli\nsource: \"https://github.com/PyCQA/flake8\"\nhomepage: \"https://github.com/PyCQA/flake8\"\ndescription: \"A wrapper around `pyflakes`, `pycodestyle` and `mccabe`.\"\nresources:\n  - title: My Python Code Looks Ugly and Confusing - Help!\n    url: https://www.youtube.com/watch?v=TDUf93vqq3g\n  - title: flake8 in Python | Linters | PEP8 Standards\n    url: https://www.youtube.com/watch?v=qUpfUenwUPA\n  - title: A flake8 plugin from scratch (intermediate)\n    url: https://www.youtube.com/watch?v=ot5Z4KQPBL8\ndemo:\n  - https://aperezhortal.github.io/flake8-dashboard/example_dashboard/index.html\nreviews:\n  - https://www.slant.co/options/12632/~flake8-review"
  },
  {
    "path": "data/tools/flakeheaven.yml",
    "content": "name: flakeheaven\ncategories:\n  - meta\ntags:\n  - meta\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/flakeheaven/flakeheaven\"\nhomepage: \"https://pypi.org/project/flakeheaven/\"\ndescription: >-\n  flakeheaven is a python linter built around flake8 to enable\n  inheritable and complex toml configuration.\n"
  },
  {
    "path": "data/tools/flawfinder.yml",
    "content": "name: flawfinder\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\nsource: 'https://github.com/david-a-wheeler/flawfinder'\nhomepage: 'http://dwheeler.com/flawfinder/'\ndescription: Finds possible security weaknesses.\n"
  },
  {
    "path": "data/tools/flay.yml",
    "content": "name: flay\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/seattlerb/flay'\nhomepage: 'https://ruby.sadi.st/Flay.html'\ndescription: Flay analyzes code for structural similarities.\n"
  },
  {
    "path": "data/tools/flen.yml",
    "content": "name: flen\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/lafolle/flen'\nhomepage: 'https://github.com/lafolle/flen'\ndescription: Get info on length of functions in a Go package.\n"
  },
  {
    "path": "data/tools/flint.yml",
    "content": "name: flint++\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\ndeprecated: true\nlicense: Boost Software License 1.0\ntypes:\n  - cli\nsource: 'https://github.com/JossWhittle/FlintPlusPlus'\nhomepage: 'https://github.com/JossWhittle/FlintPlusPlus'\ndescription: >-\n  Cross-platform, zero-dependency port of flint, a lint program for C++\n  developed and used at Facebook.\n"
  },
  {
    "path": "data/tools/flog.yml",
    "content": "name: flog\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/seattlerb/flog'\nhomepage: 'https://ruby.sadi.st/Flog.html'\ndescription: >-\n  Flog reports the most tortured code in an easy to read pain report. The higher\n  the score, the more pain the code is in.\n"
  },
  {
    "path": "data/tools/flow.yml",
    "content": "name: flow\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/facebook/flow'\nhomepage: 'https://flow.org'\ndescription: A static type checker for JavaScript.\n"
  },
  {
    "path": "data/tools/flowdroid.yml",
    "content": "name: FlowDroid\ncategories:\n  - linter\ntags:\n  - mobile\nlicense: GNU Lesser General Public License v2.1\ntypes:\n  - cli\nsource: 'https://github.com/secure-software-engineering/FlowDroid'\nhomepage: 'https://github.com/secure-software-engineering/FlowDroid'\ndescription: Static taint analysis tool for Android applications.\n"
  },
  {
    "path": "data/tools/flowr.yml",
    "content": "name: flowR\ncategories:\n  - linter\ntags:\n  - r\nlicense: GPL-3\ntypes:\n  - cli\n  - ide-plugin\nsource: 'https://github.com/flowr-analysis/flowr'\nhomepage: 'https://github.com/flowr-analysis/flowr'\ndescription: >-\n  A [program slicer](https://github.com/flowr-analysis/flowr/wiki/Terminology#program-slice) and [dataflow analyzer](https://en.wikipedia.org/wiki/Data-flow_analysis) for the [R](https://www.r-project.org/) programming language.\n  Its slicer allows you to reduce a complicated program just to the parts related for a specific task (e.g., the generation of a single or collection of plots, a significance test, ...). The dataflow analysis\n  provides you with a detailed view on the semantics of the R code which can greatly improve other analyses.\n  To use _flowR_, check out the [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=code-inspect.vscode-flowr), the [RStudio Addin](https://github.com/flowr-analysis/rstudio-addin-flowr), the [Docker image](https://hub.docker.com/r/eagleoutice/flowr), or the [R package](https://github.com/flowr-analysis/flowr-r-adapter).\nresources:\n- title: Wiki Pages\n  url: https://github.com/flowr-analysis/flowr/wiki\n- title: Overview of the VS Code extension\n  url: https://www.youtube.com/watch?v=Zgq6rnbvvhk\n"
  },
  {
    "path": "data/tools/foodcritic.yml",
    "content": "name: foodcritic\ncategories:\n  - linter\ntags:\n  - configmanagement\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/foodcritic/foodcritic'\nhomepage: 'http://www.foodcritic.io'\ndescription: A lint tool that checks Chef cookbooks for common problems.\n"
  },
  {
    "path": "data/tools/forbidden-apis.yml",
    "content": "name: forbidden-apis\ncategories:\n  - linter\ntags:\n  - java\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/policeman-tools/forbidden-apis'\nhomepage: 'https://github.com/policeman-tools/forbidden-apis'\ndescription: >-\n  Detects and forbids invocations of specific method/class/field (like reading\n  from a text stream without a charset). Maven/Gradle/Ant compatible.\n"
  },
  {
    "path": "data/tools/fortify.yml",
    "content": "name: Fortify\ncategories:\n  - linter\ntags:\n  - abap\n  - actionscript\n  - apex\n  - aspnet\n  - c\n  - cobol\n  - coldfusion\n  - cpp\n  - csharp\n  - html\n  - java\n  - javascript\n  - jsp\n  - objectivec\n  - php\n  - plsql\n  - python\n  - ruby\n  - scala\n  - security\n  - swift\n  - tsql\n  - vbasic\n  - vbnet\n  - vbscript\n  - xml\nlicense: proprietary\ntypes:\n  - ide-plugin\nhomepage: https://www.microfocus.com/en-us/cyberres/application-security/static-code-analyzer\npricing: https://www.opentext.com/products/fortify-on-demand/trial\nplans:\n  free: false\n  oss: false\ndescription: >-\n  A commercial static analysis platform that supports the scanning of C/C++, C#, VB.NET,\n  VB6, ABAP/BSP, ActionScript, Apex, ASP.NET, Classic ASP, VB Script, Cobol, ColdFusion,\n  HTML, Java, JS, JSP, MXML/Flex, Objective-C, PHP, PL/SQL, T-SQL, Python (2.6, 2.7),\n  Ruby (1.9.3), Swift, Scala, VB, and XML.\nresources:\n  - title: Visual Studio - real-time security with Fortify Security Assistant (2018)\n    url: https://www.youtube.com/watch?v=7CfeUXtDlwQ\n"
  },
  {
    "path": "data/tools/fortitude.yml",
    "content": "name: Fortitude\ncategories:\n  - linter\ntags:\n  - fortran\nlicense: MIT License\ntypes:\n  - cli\nhomepage: \"https://fortitude.readthedocs.io\"\nsource: \"https://github.com/PlasmaFAIR/fortitude\"\ndescription: >-\n  Fortran linter, inspired by (and built on) Ruff, and based on\n  community best practices. Supports latest Fortran (2023) standard.\n"
  },
  {
    "path": "data/tools/fprettify.yml",
    "content": "name: fprettify\ncategories:\n  - linter\ntags:\n  - fortran\nlicense: NOASSERTION\ntypes:\n  - cli\nsource: \"https://github.com/pseewald/fprettify\"\nhomepage: \"https://pypi.python.org/pypi/fprettify\"\ndescription: >-\n  Auto-formatter for modern fortran source code, written in Python.\n\n  Fprettify is a tool that provides consistent whitespace, indentation, and\n  delimiter alignment in code, including the ability to change letter case and\n  handle preprocessor directives, all while preserving revision history and\n  tested for editor integration.\n"
  },
  {
    "path": "data/tools/frama-c.yml",
    "content": "name: Frama-C\ncategories:\n  - linter\ntags:\n  - c\nlicense: GNU Lesser General Public License v2.1\ntypes:\n  - cli\nsource: 'https://www.frama-c.com/html/get-frama-c.html'\nhomepage: 'https://www.frama-c.com'\ndescription: A sound and extensible static analyzer for C code.\n"
  },
  {
    "path": "data/tools/freeplane-code-explorer.yml",
    "content": "name: Freeplane Code Explorer\ncategories:\n  - meta\ntags:\n  - java\n  - kotlin\n  - scala\nlicense: GPL-2.0-or-later\ntypes:\n   - gui\nsource: 'https://github.com/freeplane/freeplane'\nhomepage: 'https://docs.freeplane.org/user-documentation/Code_Explorer.html'\ndescription: >\n  The Code Explorer mode in Freeplane is designed for analyzing the structure and dependencies \n  of code compiled to JVM class files. \n  It also allows displaying ArchUnit test results directly in Freeplane, \n  if Freeplane is running and ArchUnit detects rule violations during the tests.\n"
  },
  {
    "path": "data/tools/frink.yml",
    "content": "name: Frink\ncategories:\n  - formatter\ntags:\n  - tcl\nlicense: unknown\ntypes:\n  - cli\nsource: 'http://catless.ncl.ac.uk/Programs/Frink'\nhomepage: 'http://catless.ncl.ac.uk/Programs/Frink'\ndescription: >-\n  A Tcl formatting and static check program (can prettify the program, minimise,\n  obfuscate or just sanity check it).\n"
  },
  {
    "path": "data/tools/fsharplint.yml",
    "content": "name: FSharpLint\ncategories:\n  - linter\ntags:\n  - fsharp\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/fsprojects/FSharpLint\"\nhomepage: \"https://github.com/fsprojects/FSharpLint\"\ndescription: Lint tool for F#.\n"
  },
  {
    "path": "data/tools/fta.yml",
    "content": "name: fta\r\ncategories:\r\n  - linter\r\ntypes:\r\n  - cli\r\ntags:\r\n  - typescript\r\nlicense: MIT\r\nsource: 'https://github.com/sgb-io/fta'\r\nhomepage: 'https://ftaproject.dev/'\r\ndescription: >-\r\n  Rust-based static analysis for TypeScript projects\r\ndemos:\r\n  - https://ftaproject.dev/playground"
  },
  {
    "path": "data/tools/fukuzatsu.yml",
    "content": "name: Fukuzatsu\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/CoralineAda/fukuzatsu'\nhomepage: 'https://github.com/CoralineAda/fukuzatsu'\ndescription: 'A tool for measuring code complexity in Ruby class files. Its analysis generates scores based on cyclomatic complexity algorithms with no added \"opinions\".'\n"
  },
  {
    "path": "data/tools/gawk-lint.yml",
    "content": "name: gawk --lint\ncategories:\n  - linter\ntags:\n  - awk\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://www.gnu.org/software/gawk/manual/html_node/Options.html'\nhomepage: 'https://www.gnu.org/software/gawk/manual/html_node/Options.html'\ndescription: >-\n  Warns about constructs that are dubious or nonportable to other awk\n  implementations.\n"
  },
  {
    "path": "data/tools/gcc.yml",
    "content": "name: GCC\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: GPL\ntypes:\n  - cli\nsource: \"https://github.com/gcc-mirror/gcc\"\nhomepage: \"https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html\"\ndescription: >-\n  The GCC compiler has static analysis capabilities since version 10.\n  This option is only available if GCC was configured with analyzer support enabled. \n  It can also output its diagnostics to a JSON file in the SARIF format (from v13).\n"
  },
  {
    "path": "data/tools/gendarme.yml",
    "content": "name: Gendarme\ncategories:\n  - formatter\ntags:\n  - csharp\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/mono/mono-tools'\nhomepage: 'https://www.mono-project.com/docs/tools+libraries/tools/gendarme'\ndescription: >-\n  Gendarme inspects programs and libraries that contain code in ECMA CIL format\n  (Mono and .NET).\n"
  },
  {
    "path": "data/tools/gherkin-lint.yml",
    "content": "name: gherkin-lint\ncategories:\n  - linter\ntags:\n  - gherkin\nlicense: ISC License\ntypes:\n  - cli\nsource: 'https://github.com/vsiakka/gherkin-lint'\nhomepage: 'https://github.com/vsiakka/gherkin-lint'\ndescription: A linter for the Gherkin-Syntax written in Javascript.\n"
  },
  {
    "path": "data/tools/ghidra.yml",
    "content": "name: Ghidra\ncategories:\n  - linter\ntags:\n  - binary\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/NationalSecurityAgency/ghidra'\nhomepage: 'https://ghidra-sre.org'\ndescription: >-\n  A software reverse engineering (SRE) suite of tools developed by NSA's\n  Research Directorate in support of the Cybersecurity mission\nresources:\n  - title: Ghidra Installation Guide\n    url: https://ghidra-sre.org/InstallationGuide.html\n"
  },
  {
    "path": "data/tools/gitguardian-internel-monitoring.yml",
    "content": "name: GitGuardian ggshield\ncategories:\n  - linter\ntags:\n  - security\n  - ci\n  - dotenv\n  - terraform\n  - container\n  - git\nlicense: MIT\ntypes:\n  - cli\n  - service\nsource: 'https://github.com/gitguardian/ggshield'\nhomepage: 'https://www.gitguardian.com/ggshield'\nresources:\n  - title: Getting started with ggshield \n    url: https://docs.gitguardian.com/ggshield-docs/getting-started\n  - title: A Developer's View of GitGuardian ggshield Throughout The Software Development Lifecycle\n    url: https://www.youtube.com/watch?v=diuBTBjx7Qc\ndescription: >-\n  ggshield is a CLI application that runs in your local environment \n  or in a CI environment to help you detect more than 350+ types of secrets, \n  as well as other potential security vulnerabilities or policy breaks affecting your codebase.\nfree forever for individual developers:\n  - https://dashboard.gitguardian.com/auth/signup\n"
  },
  {
    "path": "data/tools/gitleaks.yml",
    "content": "name: Gitleaks\ncategories:\n  - linter\ntags:\n  - security\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/zricethezav/gitleaks'\nhomepage: 'https://github.com/zricethezav/gitleaks'\ndescription: >-\n  A SAST tool for detecting hardcoded secrets like passwords, api keys, and\n  tokens in git repos.\n"
  },
  {
    "path": "data/tools/gixy.yml",
    "content": "name: gixy\ncategories:\n  - linter\ntags:\n  - configfile\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/yandex/gixy'\nhomepage: 'https://github.com/yandex/gixy'\ndescription: >-\n  A tool to analyze Nginx configuration. The main goal is to prevent\n  misconfiguration and automate flaw detection.\n"
  },
  {
    "path": "data/tools/go-consistent.yml",
    "content": "name: go-consistent\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/Quasilyte/go-consistent'\nhomepage: 'https://github.com/Quasilyte/go-consistent'\ndescription: Analyzer that helps you to make your Go programs more consistent.\n"
  },
  {
    "path": "data/tools/go-critic.yml",
    "content": "name: go-critic\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/go-critic/go-critic'\nhomepage: 'https://github.com/go-critic/go-critic'\ndescription: >-\n  Go source code linter that maintains checks which are currently not\n  implemented in other linters.\n"
  },
  {
    "path": "data/tools/go-meta-linter.yml",
    "content": "name: Go Meta Linter\ncategories:\n  - meta\ntags:\n  - go\n  - meta\ndeprecated: true\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/alecthomas/gometalinter'\nhomepage: 'https://github.com/alecthomas/gometalinter'\ndescription: >-\n  Concurrently run Go lint tools and normalise their output. Use `golangci-lint`\n  for new projects.\n"
  },
  {
    "path": "data/tools/go-tool-vet-shadow.yml",
    "content": "name: go tool vet --shadow\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD-3-Clause (original text)\ntypes:\n  - cli\nsource: 'https://github.com/golang/go/tree/master/src/cmd/vet'\nhomepage: 'https://golang.org/cmd/vet#hdr-Shadowed_variables'\ndescription: Reports variables that may have been unintentionally shadowed.\n"
  },
  {
    "path": "data/tools/go-vet.yml",
    "content": "name: go vet\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD-3-Clause (original text)\ntypes:\n  - cli\nsource: 'https://github.com/golang/go/tree/master/src/cmd/vet'\nhomepage: 'https://golang.org/cmd/vet'\ndescription: Examines Go source code and reports suspicious.\n"
  },
  {
    "path": "data/tools/goast-rego.yml",
    "content": "name: goast\ncategories:\n  - linter\ntags:\n  - go\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: \"https://github.com/m-mizutani/goast\"\nhomepage: \"https://github.com/m-mizutani/goast\"\ndescription: Go AST (Abstract Syntax Tree) based static analysis tool with Rego.\n"
  },
  {
    "path": "data/tools/goast.yml",
    "content": "name: go/ast\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD-3-Clause (original text)\ntypes:\n  - cli\nsource: 'https://github.com/golang/go/tree/master/src/go/ast'\nhomepage: 'https://golang.org/pkg/go/ast'\ndescription: Package ast declares the types used to represent syntax trees for Go packages.\n"
  },
  {
    "path": "data/tools/goblint.yml",
    "content": "name: Goblint\ncategories:\n  - linter\ntags:\n  - c\n  - ci\nlicense: MIT License\ntypes:\n  - cli\n  - ide-plugin\nhomepage: \"https://goblint.in.tum.de\"\nsource: \"https://github.com/goblint/analyzer\"\ndescription: >-\n  A static analyzer for the analysis of multi-threaded C programs. Its primary focus is the \n  detection of data races, but it also reports other runtime errors, such as buffer overflows and\n  null-pointer dereferences.\n"
  },
  {
    "path": "data/tools/gochecknoglobals.yml",
    "content": "name: gochecknoglobals\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/leighmcculloch/gochecknoglobals'\nhomepage: 'https://github.com/leighmcculloch/gochecknoglobals'\ndescription: Checks that no globals are present.\n"
  },
  {
    "path": "data/tools/goconst.yml",
    "content": "name: goconst\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/jgautheron/goconst'\nhomepage: 'https://github.com/jgautheron/goconst'\ndescription: Finds repeated strings that could be replaced by a constant.\n"
  },
  {
    "path": "data/tools/gocyclo.yml",
    "content": "name: gocyclo\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/fzipp/gocyclo'\nhomepage: 'https://github.com/fzipp/gocyclo'\ndescription: Calculate cyclomatic complexities of functions in Go source code.\n"
  },
  {
    "path": "data/tools/gofmt-s.yml",
    "content": "name: gofmt -s\ncategories:\n  - formatter\n  - linter\ntags:\n  - go\nlicense: BSD-3-Clause (original text)\ntypes:\n  - cli\nsource: 'https://github.com/golang/go/tree/master/src/cmd/gofmt'\nhomepage: 'https://golang.org/cmd/gofmt'\ndescription: Checks if the code is properly formatted and could not be further simplified.\n"
  },
  {
    "path": "data/tools/gofumpt.yml",
    "content": "name: gofumpt\ncategories:\n  - formatter\ntags:\n  - go\nlicense: BSD-3\ntypes:\n  - cli\n  - ide-plugin\nsource: 'https://github.com/mvdan/gofumpt'\nhomepage: 'https://github.com/mvdan/gofumpt'\ndescription: >-\n  Enforce a stricter format than `gofmt`, while being backwards-compatible. \n  That is, `gofumpt` is happy with a subset of the formats that `gofmt` is happy with.\n  \n  The tool is a fork of `gofmt` as of Go 1.19, and requires Go 1.18 or later. \n  It can be used as a drop-in replacement to format your Go code, and running gofmt \n  after gofumpt should produce no changes.\n  \n  `gofumpt` will never add rules which disagree with `gofmt` formatting. So we extend `gofmt` rather than compete with it.\n"
  },
  {
    "path": "data/tools/goimports.yml",
    "content": "name: goimports\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD-3-Clause (original text)\ntypes:\n  - cli\nsource: 'https://github.com/golang/tools/tree/master/cmd/goimports'\nhomepage: 'https://pkg.go.dev/golang.org/x/tools/cmd/goimports'\ndescription: Checks missing or unreferenced package imports.\n"
  },
  {
    "path": "data/tools/gokart.yml",
    "content": "name: gokart\ncategories:\n  - linter\ntags:\n  - go\n  - security\nlicense: Apache-2.0 License \ntypes:\n  - cli\nsource: 'https://github.com/praetorian-inc/gokart'\nhomepage: 'https://github.com/praetorian-inc/gokart'\ndescription: >- \n  Golang security analysis with a focus on minimizing false positives.\n  It is capable of tracing the source of variables and function arguments \n  to determine whether input sources are safe.\n"
  },
  {
    "path": "data/tools/golangci-lint.yml",
    "content": "name: GolangCI-Lint\ncategories:\n  - linter\ntags:\n  - go\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: \"https://github.com/golangci/golangci-lint\"\nhomepage: \"https://golangci-lint.run\"\ndescription: \"Alternative to `Go Meta Linter`: GolangCI-Lint is a linters aggregator.\"\nresources:\n  - title: \"GopherCon 2019: Denis Isaev (author of golangci-lint) - Go Linters: Myths and Best Practices\"\n    url: https://www.youtube.com/watch?v=1U-Gzz4TYP0\n"
  },
  {
    "path": "data/tools/golint.yml",
    "content": "name: golint\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/golang/lint'\nhomepage: 'https://github.com/golang/lint'\ndescription: Prints out coding style mistakes in Go source code.\n"
  },
  {
    "path": "data/tools/goodcheck.yml",
    "content": "name: Goodcheck\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - java\n  - php\nlicense: MIT License\ntypes:\n  - cli\nhomepage: 'https://sider.github.io/goodcheck'\ndescription: Regexp based customizable linter.\n"
  },
  {
    "path": "data/tools/goodpractice.yml",
    "content": "name: goodpractice\ncategories:\n  - linter\ntags:\n  - r\nlicense: Other\ntypes:\n  - cli\nsource: \"https://github.com/mangothecat/goodpractice\"\nhomepage: \"https://docs.ropensci.org/goodpractice/\"\ndescription: >-\n  Analyses the source code for R packages and provides best-practice\n  recommendations.\n"
  },
  {
    "path": "data/tools/google-java-format.yml",
    "content": "name: google-java-format\ncategories:\n  - formatter\ntags:\n  - java\nlicense: Apache License 2.0\ntypes:\n  - cli\n  - ide-plugin\nsource: \"https://github.com/google/google-java-format\"\nhomepage: \"https://github.com/google/google-java-format\"\ndescription: >-\n  Reformats Java source code to comply with Google Java Style\n"
  },
  {
    "path": "data/tools/goone.yml",
    "content": "name: goone\ncategories:\n  - linter\ntags:\n  - go\n  - sql\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/masibw/goone'\nhomepage: 'https://github.com/masibw/goone'\ndescription: 'Finds N+1 queries (SQL calls in a for loop) in go code'\n"
  },
  {
    "path": "data/tools/goreporter.yml",
    "content": "name: goreporter\ncategories:\n  - meta\ntags:\n  - go\n  - meta\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/360EntSecGroup-Skylar/goreporter'\nhomepage: 'https://github.com/360EntSecGroup-Skylar/goreporter'\ndescription: Concurrently runs many linters and normalises their output to a report.\n"
  },
  {
    "path": "data/tools/goroutine-inspect.yml",
    "content": "name: goroutine-inspect\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD 2-Clause \"Simplified\" License\ntypes:\n  - cli\nsource: 'https://github.com/linuxerwang/goroutine-inspect'\nhomepage: 'https://github.com/linuxerwang/goroutine-inspect'\ndescription: An interactive tool to analyze Golang goroutine dump.\n"
  },
  {
    "path": "data/tools/gosec-gas.yml",
    "content": "name: gosec (gas)\ncategories:\n  - linter\ntags:\n  - go\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/securego/gosec'\nhomepage: 'https://securego.io'\ndescription: Inspects source code for security problems by scanning the Go AST.\n"
  },
  {
    "path": "data/tools/gotype.yml",
    "content": "name: gotype\ncategories:\n  - linter\ntags:\n  - go\nlicense: 3-Clause BSD License + Patent Grant\ntypes:\n  - cli\nsource: 'https://golang.org/x/tools/cmd/gotype'\nhomepage: 'https://pkg.go.dev/golang.org/x/tools/cmd/gotype'\ndescription: Syntactic and semantic analysis similar to the Go compiler.\n"
  },
  {
    "path": "data/tools/govulncheck.yml",
    "content": "name: govulncheck\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD-3-Clause\ntypes:\n  - cli\n  - service\nsource: 'https://pkg.go.dev/golang.org/x/vuln/vulncheck'\nhomepage: 'https://go.dev/blog/vuln'\ndescription: >-\n  Govulncheck reports known vulnerabilities that affect Go code. \n  It uses static analysis of source code or a binary's symbol table to narrow down reports to only those that could affect the application.\n\n  By default, govulncheck makes requests to the Go vulnerability database at https://vuln.go.dev.\n  Requests to the vulnerability database contain only module paths, not code or other properties of your program.\n"
  },
  {
    "path": "data/tools/graphmycsscom.yml",
    "content": "name: GraphMyCSS.com\ncategories:\n  - linter\ntags:\n  - css\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/TheJaredWilcurt/itcss-specificity-graph'\nhomepage: 'https://graphmycss.com'\ndescription: CSS Specificity Graph Generator.\n"
  },
  {
    "path": "data/tools/graudit.yml",
    "content": "name: graudit\ncategories:\n  - linter\ntags:\n  - asp\n  - c\n  - cpp\n  - csharp\n  - java\n  - perl\n  - php\n  - python\n  - ruby\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/wireghoul/graudit'\nhomepage: 'http://www.justanotherhacker.com'\ndescription: Grep rough audit - source code auditing tool.\n"
  },
  {
    "path": "data/tools/griffe.yml",
    "content": "name: Griffe\ncategories:\n  - linter\ntags:\n  - python\nlicense: ISC License\ntypes:\n  - cli\nsource: 'https://github.com/mkdocstrings/griffe'\nhomepage: 'https://mkdocstrings.github.io/griffe/'\ndescription: >-\n  Signatures for entire Python programs.\n  Extract the structure, the frame, the skeleton of your project,\n  to generate API documentation or find breaking changes in your API.\n"
  },
  {
    "path": "data/tools/grumphp.yml",
    "content": "name: GrumPHP\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/phpro/grumphp'\nhomepage: 'https://github.com/phpro/grumphp'\ndescription: Checks code on every commit.\n"
  },
  {
    "path": "data/tools/grunt-bootlint.yml",
    "content": "name: grunt-bootlint\ncategories:\n  - linter\ntags:\n  - html\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/twbs/grunt-bootlint'\nhomepage: 'https://github.com/twbs/grunt-bootlint'\ndescription: >-\n  A Grunt wrapper for [Bootlint](https://github.com/twbs/bootlint), the HTML\n  linter for Bootstrap projects.\n"
  },
  {
    "path": "data/tools/grype.yml",
    "content": "name: Grype\ncategories:\n  - linter\ntags:\n  - security\n  - container\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: \"https://github.com/anchore/grype\"\nhomepage: \"https://github.com/anchore/grype\"\ndescription: >-\n  Vulnerability scanner for container images and filesystems. Developed by\n  Anchore, it scans container images, directories, and archives for known\n  vulnerabilities. Supports multiple image formats, SBOM integration, and\n  VEX (Vulnerability Exploitability eXchange) for accurate vulnerability\n  assessment. Works with various vulnerability databases and provides\n  detailed reporting."
  },
  {
    "path": "data/tools/gulp-bootlint.yml",
    "content": "name: gulp-bootlint\ncategories:\n  - linter\ntags:\n  - html\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/tschortsch/gulp-bootlint'\nhomepage: 'https://github.com/tschortsch/gulp-bootlint'\ndescription: >-\n  A gulp wrapper for [Bootlint](https://github.com/twbs/bootlint), the HTML\n  linter for Bootstrap projects.\n"
  },
  {
    "path": "data/tools/haml-lint.yml",
    "content": "name: haml-lint\ncategories:\n  - linter\ntags:\n  - template\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/sds/haml-lint'\nhomepage: 'https://github.com/sds/haml-lint'\ndescription: Tool for writing clean and consistent HAML.\n"
  },
  {
    "path": "data/tools/haskell-dockerfile-linter.yml",
    "content": "name: Haskell Dockerfile Linter\ncategories:\n  - linter\ntags:\n  - container\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/lukasmartinelli/hadolint'\nhomepage: 'https://github.com/lukasmartinelli/hadolint'\ndescription: A smarter Dockerfile linter that helps you build best practice Docker images.\n"
  },
  {
    "path": "data/tools/hasmysecretleaked.yml",
    "content": "name: HasMySecretLeaked\ncategories:\n  - linter\ntags:\n  - git\n  - security\nlicense: proprietary\ntypes:\n  - cli\n  - service\ndeprecated: true\nhomepage: \"https://gitguardian.com/hasmysecretleaked\"\nsource: \"https://github.com/GitGuardian/ggshield\"\ndescription: >-\n  HasMySecretLeaked is a project from GitGuardian that aims to help individual users\n  and organizations search across 20 million exposed secrets to verify if their \n  developer secrets have leaked on public repositories, gists, and issues on GitHub projects.\n"
  },
  {
    "path": "data/tools/haxe-checkstyle.yml",
    "content": "name: Haxe Checkstyle\ncategories:\n  - linter\ntags:\n  - haxe\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/HaxeCheckstyle/haxe-checkstyle'\nhomepage: 'https://haxecheckstyle.github.io/docs/haxe-checkstyle/home.html'\ndescription: >-\n  A static analysis tool to help developers write Haxe code that adheres to a\n  coding standard.\n"
  },
  {
    "path": "data/tools/hegel.yml",
    "content": "name: hegel\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/JSMonk/hegel'\nhomepage: 'https://hegel.js.org'\ndescription: >-\n  A static type checker for JavaScript with a bias on type inference and strong\n  type systems.\n"
  },
  {
    "path": "data/tools/helix-qac.yml",
    "content": "name: Helix QAC\ncategories:\n- linter\ntags:\n- c\n- cpp\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://www.perforce.com/products/helix-qac\ndescription: >-\n  Enterprise-grade static analysis for embedded software. Supports MISRA, CERT, and\n  AUTOSAR coding standards.\nresources:\n- title: Code with Confidence - Helix QAC\n  url: https://www.youtube.com/watch?v=HHaBnZx2fGY\n- title: How to Apply AUTOSAR Guidelines With Helix QAC\n  url: https://www.youtube.com/watch?v=XFvZ_hh6LCo\npricing: https://www.perforce.com/purchase\n"
  },
  {
    "path": "data/tools/herbie.yml",
    "content": "name: herbie\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Mozilla Public License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/mcarton/rust-herbie-lint'\nhomepage: 'https://github.com/mcarton/rust-herbie-lint'\ndescription: >-\n  Adds warnings or errors to your crate when using a numerically unstable\n  floating point expression.\n"
  },
  {
    "path": "data/tools/hlint.yml",
    "content": "name: HLint\ncategories:\n  - linter\ntags:\n  - haskell\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/ndmitchell/hlint'\nhomepage: 'https://github.com/ndmitchell/hlint'\ndescription: HLint is a tool for suggesting possible improvements to Haskell code.\n"
  },
  {
    "path": "data/tools/holistic.yml",
    "content": "name: holistic\ncategories:\n  - linter\ntags:\n  - sql\nlicense: MIT License\ntypes:\n  - service\nhomepage: 'https://holistic.dev/'\ndescription: >-\n  More than 1,300 rules to analyze SQL queries.\n  Takes an SQL schema definition and the query source code to generate improvement recommendations.\n  Detects code smells, unused indexes, unused tables, views, materialized views, and more.\n"
  },
  {
    "path": "data/tools/hopper-gui.yml",
    "content": "name: Hopper\ncategories:\n  - linter\ntags:\n  - binary\nlicense: proprietary\ntypes:\n  - gui\nhomepage: \"https://www.hopperapp.com/\"\ndescription: >-\n  macOS and Linux reverse engineering tool that lets you disassemble, decompile\n  and debug applications. Hopper displays the code using different\n  representations, e.g. the Control Flow Graph, and the pseudo-code of a\n  procedure. Supports Apple Silicon.\n"
  },
  {
    "path": "data/tools/hopper.yml",
    "content": "name: Hopper\ncategories:\n  - linter\ntags:\n  - groovy\n  - java\n  - kotlin\n  - scala\ndeprecated: true\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/cuplv/hopper'\nhomepage: 'https://github.com/cuplv/hopper'\ndescription: A static analysis tool written in scala for languages that run on JVM.\n"
  },
  {
    "path": "data/tools/hound-ci.yml",
    "content": "name: Hound CI\ncategories:\n  - linter\ntags:\n  - coffeescript\n  - css\n  - go\n  - javascript\n  - ruby\n  - swift\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/houndci/hound'\nhomepage: 'https://houndci.com'\ndescription: >-\n  Comments on style violations in GitHub pull requests. Supports Coffeescript,\n  Go, HAML, JavaScript, Ruby, SCSS and Swift.\n"
  },
  {
    "path": "data/tools/html-inspector.yml",
    "content": "name: HTML Inspector\ncategories:\n  - linter\ntags:\n  - html\ndeprecated: true\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/philipwalton/html-inspector'\nhomepage: 'https://github.com/philipwalton/html-inspector'\ndescription: >-\n  HTML Inspector is a code quality tool to help you and your team write better\n  markup.\n"
  },
  {
    "path": "data/tools/html-tidy.yml",
    "content": "name: HTML Tidy\ncategories:\n  - linter\ntags:\n  - html\nlicense: Custom\ntypes:\n  - cli\nsource: 'https://github.com/htacg/tidy-html5'\nhomepage: 'http://www.html-tidy.org'\ndescription: >-\n  Corrects and cleans up HTML and XML documents by fixing markup errors and\n  upgrading legacy code to modern standards.\n"
  },
  {
    "path": "data/tools/html-validate.yml",
    "content": "name: HTML-Validate\ncategories:\n  - linter\ntags:\n  - html\n  - vue\nlicense: MIT License\ntypes:\n  - cli\n  - ide-plugin\nsource: 'https://gitlab.com/html-validate/html-validate'\nhomepage: 'https://html-validate.org/'\ndescription: Offline HTML5 validator.\n"
  },
  {
    "path": "data/tools/htmlbeautifier.yml",
    "content": "name: htmlbeautifier\ncategories:\n  - formatter\ntags:\n  - erb\n  - html\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/threedaymonk/htmlbeautifier\"\nhomepage: \"https://github.com/threedaymonk/htmlbeautifier\"\ndescription: >-\n  A normaliser/beautifier for HTML that also understands embedded Ruby.\n  Ideal for tidying up Rails templates.\n"
  },
  {
    "path": "data/tools/htmlhint.yml",
    "content": "name: HTMLHint\ncategories:\n  - linter\ntags:\n  - html\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/yaniswang/HTMLHint'\nhomepage: 'https://htmlhint.com'\ndescription: A Static Code Analysis Tool for HTML.\n"
  },
  {
    "path": "data/tools/huntbugs.yml",
    "content": "name: HuntBugs\ncategories:\n  - linter\ntags:\n  - java\ndeprecated: true\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/amaembo/huntbugs'\nhomepage: 'https://github.com/amaembo/huntbugs'\ndescription: >-\n  Bytecode static analyzer tool based on Procyon Compiler Tools aimed to\n  supersede FindBugs.\n"
  },
  {
    "path": "data/tools/i-code-cnes-for-fortran.yml",
    "content": "name: i-Code CNES for Fortran\ncategories:\n  - linter\ntags:\n  - fortran\nlicense: Eclipse Public License 1.0\ntypes:\n  - cli\nsource: 'https://github.com/lequal/i-CodeCNES'\nhomepage: 'https://github.com/lequal/i-CodeCNES'\ndescription: 'An open source static code analysis tool for Fortran 77, Fortran 90 and Shell.'\n"
  },
  {
    "path": "data/tools/i-code-cnes-for-shell.yml",
    "content": "name: i-Code CNES for Shell\ncategories:\n  - linter\ntags:\n  - shell\nlicense: Eclipse Public License 1.0\ntypes:\n  - cli\nsource: 'https://github.com/lequal/i-CodeCNES'\nhomepage: 'https://github.com/lequal/i-CodeCNES'\ndescription: An open source static code analysis tool for Shell and Fortran (77 and 90).\n"
  },
  {
    "path": "data/tools/iblessing.yml",
    "content": "name: iblessing\ncategories:\n  - linter\ntags:\n  - mobile\n  - security\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/Soulghost/iblessing'\nhomepage: 'https://www.kitploit.com/2020/08/iblessing-ios-security-exploiting.html'\ndescription: >-\n  iblessing is an iOS security exploiting toolkit. It can be used for reverse\n  engineering, binary analysis and vulnerability mining.\n"
  },
  {
    "path": "data/tools/ida-free.yml",
    "content": "name: IDA Free\ncategories:\n  - linter\ntags:\n  - binary\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://www.hex-rays.com/products/ida/support/download_freeware'\ndescription: Binary code analysis tool.\n"
  },
  {
    "path": "data/tools/ikos.yml",
    "content": "name: IKOS\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/nasa-sw-vnv/ikos'\nhomepage: 'https://github.com/nasa-sw-vnv/ikos'\ndescription: A sound static analyzer for C/C++ code based on LLVM.\n"
  },
  {
    "path": "data/tools/imhotep.yml",
    "content": "name: imhotep\ncategories:\n  - meta\ntags:\n  - buildtool\n  - javascript\n  - meta\n  - python\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/justinabrahms/imhotep'\nhomepage: 'https://github.com/justinabrahms/imhotep'\ndescription: >-\n  Comment on commits coming into your repository and check for syntactic errors\n  and general lint warnings.\n"
  },
  {
    "path": "data/tools/include-gardener.yml",
    "content": "name: include-gardener\ncategories:\n  - formatter\ntags:\n  - c\n  - cpp\n  - python\n  - ruby\nlicense: GNU Public License version 2 or greater\ntypes:\n  - cli\nsource: 'https://github.com/feddischson/include_gardener'\nhomepage: 'https://github.com/feddischson/include_gardener'\ndescription: >-\n  A multi-language static analyzer for C/C++/Obj-C/Python/Ruby to create a graph\n  (in dot or graphml format) which shows all `#include` relations of a given set\n  of files.\n"
  },
  {
    "path": "data/tools/ineffassign.yml",
    "content": "name: ineffassign\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/gordonklaus/ineffassign'\nhomepage: 'https://github.com/gordonklaus/ineffassign'\ndescription: Detect ineffectual assignments in Go code.\n"
  },
  {
    "path": "data/tools/infer.yml",
    "content": "name: Infer\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - java\n  - objectivec\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/facebook/infer'\nhomepage: 'https://fbinfer.com'\ndescription: 'A static analyzer for Java, C and Objective-C'\n"
  },
  {
    "path": "data/tools/infersharp.yml",
    "content": "name: Infer#\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/microsoft/infersharp'\nhomepage: 'https://github.com/microsoft/infersharp'\ndescription: >-\n  InferSharp (also referred to as Infer#) is an interprocedural and \n  scalable static code analyzer for C#. Via the capabilities of Facebook's Infer, \n  this tool detects null pointer dereferences and resource leaks.\n"
  },
  {
    "path": "data/tools/inspectortiger.yml",
    "content": "name: InspectorTiger\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/thg-consulting/it'\nhomepage: 'https://github.com/thg-consulting/it'\ndescription: >-\n  IT, Inspector Tiger, is a modern python code review tool / framework.\n  It comes with bunch of pre-defined handlers which warns you about improvements and possible bugs.\n  Beside these handlers, you can write your own or use community ones.\n"
  },
  {
    "path": "data/tools/intellij-idea.yml",
    "content": "name: IntelliJ IDEA\ncategories:\n  - formatter\ntags:\n  - java\nlicense: proprietary\ntypes:\n  - ide-plugin\nhomepage: https://www.jetbrains.com/idea\ndescription: >-\n  Comes bundled with a lot of inspections for Java and Kotlin and includes tools for\n  refactoring, formatting and more.\npricing: https://www.jetbrains.com/buy\nplans:\n  free: false\n  oss: true\n"
  },
  {
    "path": "data/tools/interfacer.yml",
    "content": "name: interfacer\ncategories:\n  - linter\ntags:\n  - go\ndeprecated: true\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/mvdan/interfacer'\nhomepage: 'https://github.com/mvdan/interfacer'\ndescription: Suggest narrower interfaces that can be used.\n"
  },
  {
    "path": "data/tools/ionide-analyzers.yml",
    "content": "name: ionide-analyzers\ncategories:\n  - linter\ntags:\n  - fsharp\nlicense: \"MIT License\"\ntypes:\n  - cli\nsource: 'https://github.com/ionide/ionide-analyzers'\nhomepage: 'https://ionide.io/ionide-analyzers/'\ndescription: A collection of F# analyzers, built with the FSharp.Analyzers.SDK.\n"
  },
  {
    "path": "data/tools/iverilog.yml",
    "content": "name: Icarus Verilog\ncategories:\n  - linter\ntags:\n  - verilog\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\ndeprecated: true\nsource: 'http://iverilog.icarus.com/'\nhomepage: 'https://github.com/steveicarus/iverilog'\ndescription: >-\n  A Verilog simulation and synthesis tool that operates by compiling\n  source code written in IEEE-1364 Verilog into some target format\n"
  },
  {
    "path": "data/tools/jakstab.yml",
    "content": "name: Jakstab\ncategories:\n  - linter\ntags:\n  - binary\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\nsource: 'https://github.com/jkinder/jakstab'\nhomepage: 'https://github.com/jkinder/jakstab'\ndescription: >-\n  Jakstab is an Abstract Interpretation-based, integrated disassembly and static\n  analysis framework for designing analyses on executables and recovering\n  reliable control flow graphs.\n"
  },
  {
    "path": "data/tools/jarchitect.yml",
    "content": "name: JArchitect\ncategories:\n  - linter\ntags:\n  - java\nlicense: proprietary\ntypes:\n  - cli\nhomepage: https://www.jarchitect.com\ndescription: >-\n  Measure, query and visualize your code and avoid unexpected issues, technical debt\n  and complexity.\npricing: https://www.jarchitect.com/purchase\n"
  },
  {
    "path": "data/tools/jbmc.yml",
    "content": "name: JBMC\ncategories:\n  - linter\ntags:\n  - java\nlicense: BSD-4-Clause-UC (original text)\ntypes:\n  - cli\nsource: 'https://github.com/peterschrammel/cbmc/releases/tag/jbmc-5.8-cav18'\nhomepage: 'https://www.cprover.org/jbmc'\ndescription: >-\n  Bounded model-checker for Java (bytecode), verifies user-defined assertions,\n  standard assertions, several coverage metric analyses.\n"
  },
  {
    "path": "data/tools/jeb-decomplier.yml",
    "content": "name: JEB Decompiler\ncategories:\n  - linter\ntags:\n  - binary\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://www.pnfsoftware.com/'\ndescription: >-\n  Decompile and debug binary code. Break down and analyze document files.\n  Android Dalvik, MIPS, ARM, Intel x86, Java, WebAssembly & Ethereum Decompilers.\n"
  },
  {
    "path": "data/tools/jedi.yml",
    "content": "name: jedi\ncategories:\n  - linter\ntags:\n  - python\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/davidhalter/jedi'\nhomepage: 'https://jedi.readthedocs.io/en/latest'\ndescription: Autocompletion/static analysis library for Python.\nresources:\n  - title: Choosing an Autocomplete for Python\n    url: https://www.youtube.com/watch?v=Qa-5mYCqPto"
  },
  {
    "path": "data/tools/jet.yml",
    "content": "name: JET\ncategories:\n  - linter\ntags:\n  - julia\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/aviatesk/JET.jl'\nhomepage: 'https://github.com/aviatesk/JET.jl'\ndescription: Static type inference system to detect bugs and type instabilities.\n"
  },
  {
    "path": "data/tools/jlisa.yml",
    "content": "name: JLiSA\ncategories:\n  - linter\ntags:\n  - java\nlicense: MIT license\ntypes:\n  - cli\nsource: 'https://github.com/lisa-analyzer/jlisa'\nhomepage: 'https://github.com/lisa-analyzer/jlisa'\ndescription: An abstract interpretation-based static analyzer for Java build upon the [LiSA](https://github.com/lisa-analyzer/lisa) framekwork."
  },
  {
    "path": "data/tools/joern.yml",
    "content": "name: Joern\ncategories:\n  - linter\ntags:\n  - security\n  - java\n  - javascript\n  - typescript\n  - csharp\n  - c\n  - cpp\n  - ghidra\n  - go\n  - jimple\n  - kotlin\n  - php\n  - python\n  - ruby\n  - swift\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/joernio/joern'\nhomepage: 'https://joern.io'\ndescription: >-\n  Joern is a platform for analyzing source code, bytecode, and binary executables.\n  It generates code property graphs (CPGs), a graph representation of code for cross-language code analysis.\n  Code property graphs are stored in a custom graph database.\n  This allows code to be mined using search queries formulated in a Scala-based domain-specific query language.\n  Joern is developed with the goal of providing a useful tool for vulnerability discovery and research in static program analysis.\nresources:\n  - title: Documentation\n    url: https://docs.joern.io\n  - title: CPG Specification\n    url: https://cpg.joern.io\n"
  },
  {
    "path": "data/tools/jqassistant.yml",
    "content": "name: jQAssistant\ncategories:\n  - linter\ntags:\n  - java\n  - kotlin\n  - typescript\n  - xml\n  - json\n  - yaml\n  - git\n  - spring\n  - nodejs\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/jqassistant/jqassistant'\nhomepage: 'https://jqassistant.org/'\ndescription: >-\n  jQAssistant is a plugin based software analytics platform which allows scanning code structures and metadata from repositories into a Neo4j graph database. \n  The gathered data can be used for ad-hoc exploration using queries, visualization or defining rules for continuous architecture validation.\nresources:\n  - title: Plugins\n    url: https://github.com/jqassistant-plugin"
  },
  {
    "path": "data/tools/jshint.yml",
    "content": "name: jshint\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/jshint/jshint'\nhomepage: 'https://jshint.com/about'\ndiscussion: 'https://github.com/analysis-tools-dev/static-analysis/issues/223'\ndescription: >-\n  Detect errors and potential problems in JavaScript code and enforce your\n  team's coding conventions.\n"
  },
  {
    "path": "data/tools/jslint.yml",
    "content": "name: JSLint\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: Llvm release license\ntypes:\n  - cli\nsource: 'https://github.com/douglascrockford/JSLint'\nhomepage: 'https://github.com/douglascrockford/JSLint'\ndiscussion: 'https://github.com/analysis-tools-dev/static-analysis/issues/223'\ndescription: The JavaScript Code Quality Tool.\n"
  },
  {
    "path": "data/tools/jsonlint.yml",
    "content": "name: jsonlint\ncategories:\n  - linter\ntags:\n  - json\nlicense: MIT License\ntypes:\n  - cli\n  - service\nsource: 'https://github.com/zaach/jsonlint'\nhomepage: 'https://jsonlint.com/'\ndescription: >-\n  A JSON parser and validator with a CLI. Standalone version of jsonlint.com\n"
  },
  {
    "path": "data/tools/jsprime.yml",
    "content": "name: JSPrime\ncategories:\n  - linter\ntags:\n  - javascript\ndeprecated: true\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/dpnishant/jsprime'\nhomepage: 'https://dpnishant.github.io/jsprime'\ndescription: Static security analysis tool.\n"
  },
  {
    "path": "data/tools/kani.yml",
    "content": "name: kani\ncategories:\n  - linter\ntypes:\n  - cli\ntags:\n  - rust\n  - security\nlicense: \"MIT & Apache 2.0\"\nsource: \"https://github.com/model-checking/kani\"\nhomepage: \"https://github.com/model-checking/kani\"\ndescription: |\n  The Kani Rust Verifier is a bit-precise model checker for Rust. \n  Kani is particularly useful for verifying unsafe code blocks in Rust, \n  where the \"unsafe superpowers\" are unchecked by the compiler.\n  Kani verifies:\n\n  * Memory safety (e.g., null pointer dereferences)\n  * User-specified assertions (i.e., assert!(...))\n  * The absence of panics (e.g., unwrap() on None values)\n  * The absence of some types of unexpected behavior (e.g., arithmetic overflows)\n"
  },
  {
    "path": "data/tools/keploy.yml",
    "content": "name: keploy\ncategories:\n  - linter\ntags:\n  - go\n  - csharp\n  - javascript\n  - java\n  - python\n  - rust\n\nlicense: Apache-2.0 License\ntypes:\n  - cli\nhomepage: \"https://keploy.io/\"\nsource: \"https://github.com/keploy/\"\nresources:\n  - title: \"Keploy PR Agent\"\n    url: https://github.com/apps/keploy\n  - title: \"Keploy Agent VSCode Extension\" \n    url: https://marketplace.visualstudio.com/items?itemName=Keploy.keployio\n  - title: \"Keploy Low code Integration Testing\"\n    url:  \"https://github.com/keploy/keploy\"\ndescription: >-\n Keploy is an open-source testing platform that helps developers automate and streamline their testing process. It provides API, and integration testing agents, generating tests, mocks/stubs for APIs that actually work. Additionally, Keploy offers an AI-powered Unit Testing Agent that generates stable, useful unit tests directly in your GitHub PRs and in VSCode, helping catch errors and improve code quality.\n\n"
  },
  {
    "path": "data/tools/kics.yml",
    "content": "name: kics\ncategories:\n  - linter\ntags:\n  - ansible\n  - configmanagement\n  - container\n  - kubernetes\n  - security\n  - terraform\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/Checkmarx/kics'\nhomepage: 'https://kics.io/'\ndescription: 'Find security vulnerabilities, compliance issues, and infrastructure misconfigurations in your infrastructure-as-code. Supports Terraform, Kubernetes, Docker, AWS CloudFormation and Ansible'\n"
  },
  {
    "path": "data/tools/kiuwan.yml",
    "content": "name: Kiuwan\ncategories:\n- linter\ntags:\n- c\n- cpp\n- go\n- java\n- javascript\n- kotlin\n- php\n- python\n- scala\n- swift\nlicense: proprietary\ntypes:\n- service\nhomepage: https://www.kiuwan.com/code-security-sast\ndescription: >-\n  Identify and remediate cyber threats in a blazingly fast, collaborative environment,\n  with seamless integration in your SDLC. Python, C\\C++, Java, C#, PHP and more.\npricing: https://www.kiuwan.com/pricing\nplans:\n  free: false\n  oss: false\n"
  },
  {
    "path": "data/tools/klee.yml",
    "content": "name: KLEE\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: UIUC open source license\ntypes:\n  - cli\nsource: \"https://github.com/klee/klee\"\nhomepage: \"http://klee.github.io/\"\nresources:\n  - title: \"Introduction to symbolic execution with KLEE\"\n    url: \"https://www.youtube.com/watch?v=z6bsk-lsk1Q\"\n  - title: \"KLEE: Unassisted and Automatic Generation of High-Coverage\nTests for Complex Systems Programs [Original Paper]\"\n    url: \"https://www.usenix.org/legacy/event/osdi08/tech/full_papers/cadar/cadar.pdf\"\ndescription: >-\n  A dynamic symbolic execution engine built on top of the LLVM compiler\n  infrastructure. \n  It can auto-generate test cases for programs such that\n  the test cases exercise as much of the program as possible.\n\n\n"
  },
  {
    "path": "data/tools/klint.yml",
    "content": "name: klint\ncategories:\n  - linter\ntags:\n  - kubernetes\nlicense: Apache-2.0\ntypes:  \n  - cli\nsource: 'https://github.com/uswitch/klint'\nhomepage: 'https://github.com/uswitch/klint'\ndescription: >-\n    A tool that listens to changes in Kubernetes resources and runs linting rules against them.\n    Identify and debug erroneous objects and nudge objects in line with the policies\n    as both change over time.\n    Klint helps us encode checks and proactively alert teams when they need to take action.\n"
  },
  {
    "path": "data/tools/klocwork.yml",
    "content": "name: Klocwork\ncategories:\n- linter\ntags:\n- c\n- cpp\n- csharp\n- java\nlicense: proprietary\ntypes:\n- service\nhomepage: https://www.perforce.com/products/klocwork\ndescription: Quality and Security Static analysis for C/C++, Java and C#.\npricing: https://www.perforce.com/purchase\nplans:\n  free: false\n  oss: false\n"
  },
  {
    "path": "data/tools/kmdr.yml",
    "content": "name: kmdr\ncategories:\n  - linter\ntags:\n  - shell\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/ediardo/kmdr-cli'\nhomepage: 'https://github.com/ediardo/kmdr-cli'\ndescription: >-\n  CLI tool for learning commands from your terminal. kmdr delivers a break down\n  of commands with every attribute explained.\n"
  },
  {
    "path": "data/tools/krane.yml",
    "content": "name: krane\ncategories:\n  - linter\ntags:\n  - kubernetes\n  - container\nlicense: Apache-2.0\ntypes:\n  - cli\nsource: \"https://github.com/appvia/krane\"\nhomepage: \"https://github.com/appvia/krane\"\ndescription: >-\n  Krane is a simple Kubernetes RBAC static analysis tool.\n\n  It identifies potential security risks in K8s RBAC design and makes\n  suggestions on how to mitigate them. Krane dashboard presents current RBAC\n  security posture and lets you navigate through its definition.\n"
  },
  {
    "path": "data/tools/ktfmt.yml",
    "content": "name: ktfmt\ncategories:\n  - formatter\ntags:\n  - kotlin\nlicense: Apache-2.0\ntypes:\n  - cli\n  - ide-plugin\nsource: \"https://github.com/facebook/ktfmt\"\nhomepage: \"https://facebook.github.io/ktfmt/\"\ndescription: >-\n  A program that reformats Kotlin source code to comply with the common\n  community standard for Kotlin code conventions.\n\n  A ktfmt IntelliJ plugin is available from the plugin repository. To install\n  it, go to your IDE's settings and select the Plugins category. Click the\n  Marketplace tab, search for the ktfmt plugin, and click the Install button.\n"
  },
  {
    "path": "data/tools/ktlint.yml",
    "content": "name: ktlint\ncategories:\n  - formatter\n  - linter\ntags:\n  - kotlin\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/shyiko/ktlint'\nhomepage: 'https://ktlint.github.io'\ndescription: An anti-bikeshedding Kotlin linter with built-in formatter.\n"
  },
  {
    "path": "data/tools/kube-hunter.yml",
    "content": "name: kube-hunter\ncategories:\n  - linter\ntags:\n  - kubernetes\n  - security\nlicense: Apache-2.0\ntypes:  \n  - cli\nsource: 'https://github.com/aquasecurity/kube-hunter'\nhomepage: 'https://aquasecurity.github.io/kube-hunter/'\ndescription: >-\n    Hunt for security weaknesses in Kubernetes clusters.\n"
  },
  {
    "path": "data/tools/kube-lint.yml",
    "content": "name: kube-lint\ncategories:\n  - linter\ntags:\n  - kubernetes\nlicense: Apache-2.0 License\ntypes:\n  - cli\nsource: \"https://github.com/viglesiasce/kube-lint\"\nhomepage: \"https://github.com/viglesiasce/kube-lint\"\ndescription: >-\n  A linter for Kubernetes resources with a customizable rule set.\n  You define a list of rules that you would like to validate against your \n  resources and kube-lint will evaluate those rules against them.\n"
  },
  {
    "path": "data/tools/kube-linter.yml",
    "content": "name: kube-linter\ncategories:\n  - linter\ntags:\n  - kubernetes\nlicense: Apache-2.0 License\ntypes:\n  - cli\nsource: \"https://github.com/stackrox/kube-linter\"\nhomepage: \"https://github.com/stackrox/kube-linter\"\ndescription: >-\n  KubeLinter is a static analysis tool that checks Kubernetes YAML files \n  and Helm charts to ensure the applications represented in them adhere to best practices.\n"
  },
  {
    "path": "data/tools/kube-score.yml",
    "content": "name: kube-score\ncategories:\n  - linter\ntags:\n  - kubernetes\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/zegl/kube-score\"\nhomepage: \"https://kube-score.com\"\ndescription: Static code analysis of your Kubernetes object definitions.\n"
  },
  {
    "path": "data/tools/kubeconform.yml",
    "content": "name: kubeconform\ncategories:\n  - linter\ntags:\n  - kubernetes\nlicense: Apache 2.0\ntypes:\n  - cli\nsource: \"https://github.com/yannh/kubeconform\"\nhomepage: \"https://github.com/yannh/kubeconform\"\nresources:\n  - title: Ensuring Kubernetes manifests validity & compliance - a tooling overview - Yann Hamon, Contentful\n    url: https://youtu.be/YM7Wy_M7Lvw?t=657\ndescription: |\n  A fast Kubernetes manifests validator with support for custom resources.\n\n  It is inspired by, contains code from and is designed to stay close to [Kubeval](https://analysis-tools.dev/tool/kubeval),\n  but with the following improvements:\n  * high performance: will validate & download manifests over multiple routines, caching downloaded files in memory\n  * configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities\n  * uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes.\n"
  },
  {
    "path": "data/tools/kubelinter.yml",
    "content": "name: KubeLinter\ncategories:\n  - linter\ntags:\n  - kubernetes\nlicense: Apache-2.0 License\ntypes:\n  - cli\nsource: \"https://github.com/stackrox/kube-linter\"\nhomepage: \"https://github.com/stackrox/kube-linter\"\ndescription: \"KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.\"\nresources:\n  - title: \"KubeLinter: An open source linter for Kubernetes, from StackRox\"\n    url: https://www.youtube.com/watch?v=KWX0sWojV_0\n  - title: Announcement blog post\n    url: https://www.stackrox.com/post/2020/10/introducing-kubelinter-an-open-source-linter-for-kubernetes\n"
  },
  {
    "path": "data/tools/kubeval.yml",
    "content": "name: kubeval\ncategories:\n  - linter\ntags:\n  - kubernetes\nlicense: Other\ntypes:\n  - cli\ndeprecated: true\nsource: \"https://github.com/instrumenta/kubeval\"\nhomepage: \"https://kubeval.instrumenta.dev\"\ndescription: >-\n  Validates your Kubernetes configuration files and supports multiple Kubernetes\n  versions.\n"
  },
  {
    "path": "data/tools/lacheck.yml",
    "content": "name: lacheck\ncategories:\n  - linter\ntags:\n  - latex\nlicense: GPL\ntypes:\n  - cli\nsource: 'https://www.ctan.org/tex-archive/support/lacheck'\nhomepage: 'https://www.ctan.org/pkg/lacheck'\ndescription: A tool for finding common mistakes in LaTeX documents.\n"
  },
  {
    "path": "data/tools/langlint.yml",
    "content": "name: LangLint\ncategories:\n  - linter\ntags:\n  - python\n  - javascript\n  - typescript\n  - go\n  - rust\n  - java\n  - cpp\n  - markdown\n  - json\n  - yaml\n  - translation\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/HzaCode/Langlint'\nhomepage: 'https://github.com/HzaCode/Langlint'\ndescription: >-\n  Automated translation platform for code comments and docstrings across 20+ file types.\n  Eliminates language barriers in international software collaboration. Supports 100+ language pairs with syntax protection.\n  Integrates into CI/CD pipelines like Ruff. 10-20x faster with concurrent processing.\n"
  },
  {
    "path": "data/tools/languagetool.yml",
    "content": "name: languagetool\ncategories:\n  - linter\ntags:\n  - writing\nlicense: GNU Lesser General Public License v2.1\ntypes:\n  - cli\nsource: 'https://github.com/languagetool-org/languagetool'\nhomepage: 'https://languagetool.org'\ndescription: >-\n  Style and grammar checker for 25+ languages. It finds many errors that a\n  simple spell checker cannot detect.\n"
  },
  {
    "path": "data/tools/larastan.yml",
    "content": "name: larastan\ncategories:\n  - linter\ntags:\n  - php\n  - laravel\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/larastan/larastan'\nhomepage: 'https://github.com/larastan/larastan'\ndescription:  >-\n  Adds static analysis to Laravel improving developer productivity and code quality.\n  It is a wrapper around PHPStan.\n"
  },
  {
    "path": "data/tools/laser.yml",
    "content": "name: laser\ncategories:\n  - linter\ntags:\n  - ruby\ndeprecated: true\nlicense: GNU Affero General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/michaeledgar/laser'\nhomepage: 'https://github.com/michaeledgar/laser'\ndescription: Static analysis and style linter for Ruby code.\n"
  },
  {
    "path": "data/tools/ldra.yml",
    "content": "name: LDRA\ncategories:\n- linter\ntags:\n- c\n- cpp\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://ldra.com\ndescription: >-\n  A tool suite including static analysis (TBVISION) to various standards including\n  MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ & Custom Rules.\npricing: https://ldra.com/register/\nplans:\n  free: false\n  oss: false\n"
  },
  {
    "path": "data/tools/lgtm.yml",
    "content": "name: LGTM\ncategories:\n  - linter\ntags:\n  - ci\n  - security\n  - java\n  - python\n  - javascript\n  - typescript\n  - go\n  - c\n  - cpp\n  - csharp\nlicense: proprietary\ntypes:\n  - service\nhomepage: 'https://lgtm.com/'\ndescription: >-\n  Find security vulnerabilities, variants, and critical code quality issues\n  using CodeQL queries over source code. Automatic PR code review; free for open source.\n  Formerly semmle. It supports public Git repositories hosted on Bitbucket Cloud,\n  GitHub.com, GitLab.com.\n\nresources:\n  - title: \"Welcoming Semmle to GitHub\"\n    url: https://github.blog/2019-09-18-github-welcomes-semmle/\n"
  },
  {
    "path": "data/tools/libvcs4j.yml",
    "content": "name: LibVCS4j\ncategories:\n  - linter\ntags:\n  - support\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/uni-bremen-agst/libvcs4j'\nhomepage: 'https://github.com/uni-bremen-agst/libvcs4j'\ndescription: >-\n  A Java library that allows existing tools to analyse the evolution of software\n  systems by providing a common API for different version control systems and\n  issue trackers.\n"
  },
  {
    "path": "data/tools/lint.yml",
    "content": "name: lint\ncategories:\n  - linter\ntags:\n  - dart\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/passsy/dart-lint'\nhomepage: 'https://github.com/passsy/dart-lint'\ndescription: >-\n  An opinionated, community-driven set of lint rules for Dart and Flutter\n  projects. Like pedantic but stricter\n"
  },
  {
    "path": "data/tools/linter-for-dart.yml",
    "content": "name: Linter for dart\ncategories:\n  - linter\ntags:\n  - dart\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: \"https://github.com/dart-lang/linter\"\nhomepage: \"https://github.com/dart-lang/linter\"\ndescription: Style linter for Dart.\n"
  },
  {
    "path": "data/tools/linter-rust.yml",
    "content": "name: linter-rust\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/AtomLinter/linter-rust'\nhomepage: 'https://github.com/AtomLinter/linter-rust'\ndescription: 'Linting your Rust-files in Atom, using rustc and cargo.'\n"
  },
  {
    "path": "data/tools/linter.yml",
    "content": "name: linter\ncategories:\n  - linter\ntags:\n  - scala\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/HairyFotr/linter'\nhomepage: 'https://github.com/HairyFotr/linter'\ndescription: >-\n  Linter is a Scala static analysis compiler plugin which adds compile-time\n  checks for various possible bugs, inefficiencies, and style problems.\n"
  },
  {
    "path": "data/tools/lintian.yml",
    "content": "name: lintian\ncategories:\n  - linter\ntags:\n  - package\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\nsource: \"https://salsa.debian.org/lintian/lintian\"\nhomepage: \"https://wiki.debian.org/Lintian\"\ndescription: Static analysis tool for Debian packages.\n"
  },
  {
    "path": "data/tools/lintr.yml",
    "content": "name: lintr\ncategories:\n  - linter\ntags:\n  - r\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/jimhester/lintr'\nhomepage: 'https://github.com/jimhester/lintr'\ndescription: Static Code Analysis for R.\n"
  },
  {
    "path": "data/tools/linty-fresh.yml",
    "content": "name: linty fresh\ncategories:\n  - linter\ntags:\n  - python\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/lyft/linty_fresh'\nhomepage: 'https://github.com/lyft/linty_fresh'\ndescription: Parse lint errors and report them to Github as comments on a pull request.\n"
  },
  {
    "path": "data/tools/liquidhaskell.yml",
    "content": "name: Liquid Haskell\ncategories:\n  - linter\ntags:\n  - haskell\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/ucsd-progsys/liquidhaskell'\nhomepage: 'https://ucsd-progsys.github.io/liquidhaskell-blog/'\ndescription: Liquid Haskell is a refinement type checker for Haskell programs.\n"
  },
  {
    "path": "data/tools/lizard.yml",
    "content": "name: lizard\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - java\n  - csharp\n  - javascript\n  - typescript\n  - objectivec\n  - swift\n  - python\n  - ruby\n  - php\n  - scala\n  - go\n  - lua\n  - rust\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/terryyin/lizard'\nhomepage: 'https://github.com/terryyin/lizard'\ndescription: >-\n  Lizard is an extensible Cyclomatic Complexity Analyzer for many programming languages \n  including C/C++ (doesn't require all the header files or Java imports). \n  It also does copy-paste detection (code clone detection/code duplicate detection)\n  and many other forms of static code analysis.\n  Counts lines of code without comments, CCN (cyclomatic complexity number), token count of functions, parameter count of functions.\n"
  },
  {
    "path": "data/tools/lll.yml",
    "content": "name: lll\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/walle/lll'\nhomepage: 'https://github.com/walle/lll'\ndescription: Report long lines.\n"
  },
  {
    "path": "data/tools/lockbud.yml",
    "content": "name: lockbud\ncategories:\n  - linter\ntags:\n  - rust\nlicense: BSD-3-Clause\ntypes:\n  - cli\nsource: \"https://github.com/BurtonQin/lockbud\"\nhomepage: \"https://github.com/BurtonQin/lockbud\"\ndescription: >-\n  Statically detects Rust deadlocks bugs.\n  It currently detects two common kinds of deadlock bugs:\n  doublelock and locks in conflicting order.\n  It will print bugs in JSON format together with the source code location and\n  an explanation of each bug.\n"
  },
  {
    "path": "data/tools/lockfile-lint.yml",
    "content": "name: lockfile-lint\ncategories:\n  - linter\ntags:\n  - security\n  - nodejs\nlicense: Apache-2.0 License \ntypes:\n  - cli\nsource: 'https://github.com/lirantal/lockfile-lint'\nhomepage: 'https://github.com/lirantal/lockfile-lint'\ndescription: >-\n    Lint an npm or yarn lockfile to analyze and detect security issues\n"
  },
  {
    "path": "data/tools/luacheck.yml",
    "content": "name: luacheck\ncategories:\n  - linter\ntags:\n  - lua\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/lunarmodules/luacheck'\nhomepage: 'https://github.com/lunarmodules/luacheck'\ndescription: A tool for linting and static analysis of Lua code.\n"
  },
  {
    "path": "data/tools/lualint.yml",
    "content": "name: lualint\ncategories:\n  - linter\ntags:\n  - lua\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/philips/lualint'\nhomepage: 'https://github.com/philips/lualint'\ndescription: >-\n  lualint performs luac-based static analysis of global variable usage in\n  Lua source code.\n"
  },
  {
    "path": "data/tools/luanalysis.yml",
    "content": "name: Luanalysis\ncategories:\n  - linter\ntags:\n  - lua\nlicense:  Apache-2.0 License \ntypes:\n  - ide-plugin\nsource: 'https://github.com/Benjamin-Dobell/IntelliJ-Luanalysis'\nhomepage: 'https://plugins.jetbrains.com/plugin/14698-luanalysis'\ndescription: 'An IDE for statically typed Lua development.'\n"
  },
  {
    "path": "data/tools/lunasec.yml",
    "content": "name: LunaSec\ncategories:\n  - linter\ntags:\n  - security\nlicense: Apache License Version 2.0\ntypes:\n  - service\nhomepage: \"https://github.com/marketplace/lunatrace-by-lunasec/\"\nsource: \"https://github.com/lunasec-io/lunasec\"\ndescription: >-\n  Open Source AppSec platform that automatically notifies you the next time vulnerabilities\n  like Log4Shell or node-ipc happen. Track your dependencies and builds in a centralized service.\n"
  },
  {
    "path": "data/tools/mago.yml",
    "content": "name: mago\ncategories:\n  - linter\n  - formatter\ntags:\n  - php  \nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/carthage-software/mago'\nhomepage: 'https://mago.carthage.software'\ndescription:  >-\n    Mago is a complete toolchain for PHP, written in Rust, designed from the ground up for maximum performance.\n    \n    - ✨ A blazing-fast formatter that automatically formats your code according to PER-CS, ending style debates forever.\n    - 🔎 An intelligent linter that catches stylistic issues, inconsistencies, and code smells before they become problems.\n    - 🔬 A powerful static analyzer that finds type errors and logical bugs in your code without you ever having to run it.\n    - 🛡️ A robust architectural guard that enforces dependency rules and structural conventions.\n  \n"
  },
  {
    "path": "data/tools/malcat.yml",
    "content": "name: Malcat\ncategories:\n  - linter\ntags:\n  - binary\n  - security\nlicense: proprietary\ntypes:\n  - gui\nplans:\n  free: true\nhomepage: \"https://malcat.fr/\"\ndescription: >-\n  Hexadecimal editor and disassembler for malware analysis and binary file\n  inspection. Supports over 50 file formats and multiple CPU architectures\n  (x86/x64, MIPS, .NET, Python, VB p-code). Features rapid analysis,\n  embedded file extraction, Yara signature scanning, anomaly detection,\n  and Python scripting. Designed for malware analysts, SOC operators,\n  incident responders, and CTF players."
  },
  {
    "path": "data/tools/maligned.yml",
    "content": "name: maligned\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/mdempsky/maligned'\nhomepage: 'https://github.com/mdempsky/maligned'\ndescription: Detect structs that would take less memory if their fields were sorted.\n"
  },
  {
    "path": "data/tools/manalyze.yml",
    "content": "name: Manalyze\ncategories:\n  - linter\ntags:\n  - binary\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/JusticeRage/Manalyze'\nhomepage: 'https://github.com/JusticeRage/Manalyze'\ndescription: 'A static analyzer, which checks portable executables for malicious content.'\n"
  },
  {
    "path": "data/tools/mariana-trench.yml",
    "content": "name: Mariana Trench\ncategories:\n  - linter\ntags:\n  - java\n  - mobile\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/facebook/mariana-trench\"\nhomepage: \"https://mariana-tren.ch/\"\ndescription: >-\n  Our security focused static analysis tool for Android and Java applications.\n  Mariana Trench analyzes Dalvik bytecode and is built to run fast on large\n  codebases (10s of millions of lines of code). It can find vulnerabilities as\n  code changes, before it ever lands in your repository.\n"
  },
  {
    "path": "data/tools/markdownlint.yml",
    "content": "name: markdownlint\ncategories:\n  - linter\ntags:\n  - markdown\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/DavidAnson/markdownlint'\nhomepage: 'https://github.com/DavidAnson/markdownlint'\ndescription: Node.js -based style checker and lint tool for Markdown/CommonMark files.\n"
  },
  {
    "path": "data/tools/mate.yml",
    "content": "name: MATE\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: BSD-3-Clause\ntypes:\n  - cli\nsource: \"https://github.com/GaloisInc/MATE\"\nhomepage: \"https://galoisinc.github.io/MATE/\"\ndescription: >-\n  A suite of tools for interactive program analysis with a focus on\n  hunting for bugs in C and C++ code.\n  MATE unifies application-specific and low-level vulnerability analysis using\n  code property graphs (CPGs), enabling the discovery of highly\n  application-specific vulnerabilities that depend on both implementation\n  details and the high-level semantics of target C/C++ programs.\n"
  },
  {
    "path": "data/tools/mbake.yml",
    "content": "name: mbake\ncategories:\n  - formatter\n  - linter\ntags:\n  - make\n  - python\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/EbodShojaei/bake'\nhomepage: 'https://pypi.org/project/mbake/'\ndescription: mbake is a Makefile formatter and linter. It only took 50 years!\n"
  },
  {
    "path": "data/tools/mccabe.yml",
    "content": "name: mccabe\ncategories:\n  - linter\ntags:\n  - python\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/PyCQA/mccabe'\nhomepage: 'https://pypi.org/project/mccabe'\ndescription: Check McCabe complexity.\n"
  },
  {
    "path": "data/tools/mcsema.yml",
    "content": "name: mcsema\ncategories:\n  - linter\ntags:\n  - binary\nlicense: AGPL-3.0 License \ntypes:\n  - cli \nsource: 'https://github.com/lifting-bits/mcsema'\nhomepage: 'https://github.com/lifting-bits/mcsema'\ndescription: >-\n   Framework for lifting x86, amd64, aarch64, sparc32, and sparc64 program binaries to LLVM bitcode.\n   It translates (\"lifts\") executable binaries from native machine code to LLVM bitcode,\n   which is very useful for performing program analysis methods.\n"
  },
  {
    "path": "data/tools/mdformat.yml",
    "content": "name: mdformat\ncategories:\n  - formatter\ntags:\n  - markdown\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/executablebooks/mdformat\"\nhomepage: \"https://mdformat.rtfd.io\"\ndescription: \"CommonMark compliant Markdown formatter\"\n"
  },
  {
    "path": "data/tools/mdl.yml",
    "content": "name: mdl\ncategories:\n  - linter\ntags:\n  - markdown\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/mivok/markdownlint'\nhomepage: 'https://github.com/mivok/markdownlint'\ndescription: A tool to check Markdown files and flag style issues.\n"
  },
  {
    "path": "data/tools/mdsf.yml",
    "content": "name: mdsf\ncategories:\n  - formatter\ntags:\n  - markdown\nlicense: MIT License\ntypes:\n  - cli\ndeprecated: false\nhomepage: \"https://github.com/hougesen/mdsf\"\nsource: \"https://github.com/hougesen/mdsf\"\ndescription: Format markdown code blocks using your favorite code formatters.\n"
  },
  {
    "path": "data/tools/mega-linter.yml",
    "content": "name: Mega-Linter\ncategories:\n  - linter\ntags:\n  - ansible\n  - apex\n  - arm\n  - c\n  - ci\n  - clojure\n  - cloudformation\n  - coffeescript\n  - configfile\n  - configmanagement\n  - container\n  - cpp\n  - css\n  - csharp\n  - dart\n  - dockerfile\n  - dotenv\n  - dotnet\n  - gherkin\n  - go\n  - groovy\n  - html\n  - java\n  - javascript\n  - json\n  - jsx\n  - kotlin\n  - kubernetes\n  - latex\n  - lua\n  - lwc\n  - markdown\n  - nodejs\n  - perl\n  - php\n  - powershell\n  - protobuf\n  - puppet\n  - python\n  - r\n  - raku\n  - ruby\n  - rust\n  - scala\n  - shell\n  - sql\n  - terraform\n  - typescript\n  - vbnet\n  - vue\n  - writing\n  - xml\n  - yaml\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/nvuillam/mega-linter\"\nhomepage: \"https://megalinter.io/\"\ndescription: >-\n  Mega-Linter can handle any type of project thanks to its 70+ embedded Linters,\n   its advanced reporting, runnable on any CI system or locally,\n   with assisted installation and configuration, able to apply formatting and fixes\nresources:\n  - title: Hands on - Improving code standards with mega linter\n    url: https://www.youtube.com/watch?v=3xgTU1GhRvs\n"
  },
  {
    "path": "data/tools/metadata-json-lint.yml",
    "content": "name: metadata-json-lint\ncategories:\n  - linter\ntags:\n  - configmanagement\n  - puppet\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/voxpupuli/metadata-json-lint'\nhomepage: 'https://github.com/voxpupuli/metadata-json-lint'\ndescription: Tool to check the validity of Puppet metadata.json files.\n"
  },
  {
    "path": "data/tools/metric_fu.yml",
    "content": "name: MetricFu\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/metricfu/metric_fu\"\nhomepage: \"https://github.com/metricfu/metric_fu\"\ndescription: >-\n  MetricFu is a set of tools to provide reports that show which parts of your code might need extra work.\n"
  },
  {
    "path": "data/tools/mirai.yml",
    "content": "name: MIRAI\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/facebookexperimental/MIRAI'\nhomepage: 'https://github.com/facebookexperimental/MIRAI'\ndescription: >-\n  And abstract interpreter operating on Rust's mid-level intermediate language,\n  and providing warnings based on taint analysis.\n"
  },
  {
    "path": "data/tools/misshit.yml",
    "content": "name: MISS_HIT\ncategories:\n  - linter\n  - formatter\ntags:\n  - matlab\nlicense: GPL-3.0\ntypes:\n  - cli\nsource: \"https://github.com/florianschanda/miss_hit\"\nhomepage: \"https://misshit.org/\"\ndescription: >-\n  MISS_HIT is a free, open-source code quality toolset for MATLAB, Simulink,\n  and Octave. It includes MH Style (style checker and formatter), MH Metrics\n  (complexity metrics), MH Lint (static analysis), MH Trace (requirements\n  traceability), and MH Copyright (copyright management). Designed to work\n  standalone without requiring MATLAB/Octave installation."
  },
  {
    "path": "data/tools/misspell-fixer.yml",
    "content": "name: misspell-fixer\ncategories:\n  - linter\ntags:\n  - writing\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/vlajos/misspell-fixer'\nhomepage: 'https://github.com/vlajos/misspell-fixer'\ndescription: 'Quick tool for fixing common misspellings, typos in source code.'\n"
  },
  {
    "path": "data/tools/misspell.yml",
    "content": "name: misspell\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/client9/misspell'\nhomepage: 'https://github.com/client9/misspell'\ndescription: Finds commonly misspelled English words.\n"
  },
  {
    "path": "data/tools/misspelled-words-in-context.yml",
    "content": "name: Misspelled Words In Context\ncategories:\n  - linter\ntags:\n  - writing\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/jwilk/mwic'\nhomepage: 'https://jwilk.net/software/mwic'\ndescription: >-\n  A spell-checker that groups possible misspellings and shows them in their\n  contexts.\n"
  },
  {
    "path": "data/tools/mlint.yml",
    "content": "name: mlint\ncategories:\n  - linter\ntags:\n  - matlab\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://www.mathworks.com/help/matlab/ref/mlint.html'\ndescription: Check MATLAB code files for possible problems.\n"
  },
  {
    "path": "data/tools/mobb.yml",
    "content": "name: Mobb\ncategories:\n  - formatter\n  - linter\ntags:\n  - ci\n  - java\n  - javascript\n  - typescript\n  - csharp\nlicense: proprietary\ntypes:\n  - service\n  - cli\nhomepage: 'https://mobb.ai'\ndescription: >-\n  Mobb is a trusted, automatic vulnerability fixer that secures applications, reduces security backlogs, \n  and frees developers to focus on innovation. Mobb is free for open-source projects.\n"
  },
  {
    "path": "data/tools/mondrian.yml",
    "content": "name: Mondrian\ncategories:\n  - linter\ntags:\n  - php\nlicense: CC-BY-SA-3.0\ntypes:\n  - cli\nsource: 'https://github.com/Trismegiste/Mondrian'\nhomepage: 'https://trismegiste.github.io/Mondrian'\ndescription: A set of static analysis and refactoring tools which use graph theory.\n"
  },
  {
    "path": "data/tools/mopsa.yml",
    "content": "name: MOPSA\ncategories:\n  - linter\ntags:\n  - c\n  - python\nlicense: GNU Lesser General Public License v3.0\ntypes:\n  - cli\nsource: 'https://gitlab.com/mopsa/mopsa-analyzer'\nhomepage: 'https://mopsa.lip6.fr'\ndescription: A static analyzer designed to easily reuse abstract domains across widely different languages (such as C and Python).\n"
  },
  {
    "path": "data/tools/multilint.yml",
    "content": "name: multilint\ncategories:\n  - meta\ntags:\n  - meta\n  - python\nlicense: ISC License\ntypes:\n  - cli\nsource: 'https://github.com/adamchainz/multilint'\nhomepage: 'https://github.com/adamchainz/multilint'\ndescription: 'A wrapper around `flake8`, `isort` and `modernize`.'\n"
  },
  {
    "path": "data/tools/mypy.yml",
    "content": "name: mypy\ncategories:\n  - linter\ntags:\n  - python\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/python/mypy'\nhomepage: 'http://www.mypy-lang.org'\nresources:\n  - title: Static type checking with mypy\n    url: https://www.youtube.com/watch?v=9gNnhNxra3E\n  - title: Introduction to python typing + mypy (beginner - intermediate)\n    url: https://www.youtube.com/watch?v=H5CnZQDKfhU\ndemos:\n  - https://mypy-lang.org/examples.html\ndescription: >-\n  A static type checker that aims to combine the benefits of duck typing and\n  static typing, frequently used with\n  [MonkeyType](https://github.com/Instagram/MonkeyType).\n"
  },
  {
    "path": "data/tools/mythril.yml",
    "content": "name: mythril\ncategories:\n  - linter\ntags:\n  - smart-contracts\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/ConsenSys/mythril'\nhomepage: 'https://github.com/ConsenSys/mythril'\ndescription: >-\n  A symbolic execution framework with batteries included, can be used to find\n  and exploit vulnerabilities in smart contracts automatically.\nresources:\n  - title: \"The Ether Wars: Exploits, counter exploits and honeypots - Bernhard Mueller, DEF CON 27 Conference\"\n    url: https://www.youtube.com/watch?v=Qd9ubry-c_M\n  - title: \"Smashing Ethereum Smart Contracts for Fun and ACTUAL Profit - Bernhard Mueller\"\n    url: https://www.youtube.com/watch?v=iqf6epACgds\n"
  },
  {
    "path": "data/tools/mythx.yml",
    "content": "name: MythX\ncategories:\n  - linter\ntags:\n  - smart-contracts\nlicense: proprietary\ntypes:\n  - cli\n  - service\n  - ide-plugin\nhomepage: https://mythx.io\ndescription: >-\n  MythX is an easy to use analysis platform which integrates several analysis methods\n  like fuzzing, symbolic execution and static analysis to find vulnerabilities with\n  high precision. It can be integrated with toolchains like Remix or VSCode or called\n  from the command-line.\nresources:\n  - title: What is MythX?\n    url: https://www.youtube.com/watch?v=N-dAuqNztjA\npricing: https://mythx.io/plans/\nplans:\n  free: false\n  oss: false\n"
  },
  {
    "path": "data/tools/nagelfar.yml",
    "content": "name: Nagelfar\ncategories:\n  - linter\ntags:\n  - tcl\nlicense: GPL v2\ntypes:\n  - cli\nsource: 'https://sourceforge.net/p/nagelfar/code/ci/master/tree'\nhomepage: 'https://sourceforge.net/projects/nagelfar'\ndescription: A static syntax checker for Tcl.\n"
  },
  {
    "path": "data/tools/nakedret.yml",
    "content": "name: nakedret\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/alexkohler/nakedret'\nhomepage: 'https://github.com/alexkohler/nakedret'\ndescription: Finds naked returns.\n"
  },
  {
    "path": "data/tools/nargs.yml",
    "content": "name: nargs\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/alexkohler/nargs'\nhomepage: 'https://github.com/alexkohler/nargs'\ndescription: Finds unused arguments in function declarations.\n"
  },
  {
    "path": "data/tools/nauz-file-detector.yml",
    "content": "name: Nauz File Detector\ncategories:\n  - linter\ntags:\n  - binary\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/horsicq/Nauz-File-Detector'\nhomepage: 'https://github.com/horsicq/Nauz-File-Detector'\ndescription: Static Linker/Compiler/Tool detector for Windows, Linux and MacOS.\n"
  },
  {
    "path": "data/tools/ndepend.yml",
    "content": "name: NDepend\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: proprietary\ntypes:\n  - cli\nhomepage: http://www.ndepend.com\ndescription: >-\n  Measure, query and visualize your code and avoid unexpected issues, technical debt\n  and complexity.\npricing: https://www.ndepend.com/purchase\nplans:\n  free: false\n  oss: false\n"
  },
  {
    "path": "data/tools/net-analyzers.yml",
    "content": "name: .NET Analyzers\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/DotNetAnalyzers'\nhomepage: 'https://github.com/DotNetAnalyzers'\ndescription: >-\n  An organization for the development of analyzers (diagnostics and code fixes)\n  using the .NET Compiler Platform.\n"
  },
  {
    "path": "data/tools/neurolint-cli.yml",
    "content": "---\nname: Neurolint-CLI\ncategories:\n  - linter\ntags:\n  - javascript\n  - typescript\nlicense: \"Apache-2.0\"\ntypes:\n  - cli\nhomepage: https://neurolint.dev\nsource: https://github.com/Alcatecablee/Neurolint-CLI\ndescription: |\n  Deterministic code transformation tool using AST parsing and rule-based transformations. \n  Automatically fixes 50+ issues including accessibility violations, hydration errors, \n  React 19/Next.js 16 migrations, and configuration updates. Features 5-step fail-safe \n  orchestration to ensure zero breaking changes. Specialized for React, Next.js, and TypeScript projects.\nresources:\n  - title: CLI Documentation\n    url: https://neurolint.dev\n  - title: GitHub Marketplace Action\n    url: https://github.com/marketplace/actions/neurolint-deterministic-code-fixer\n"
  },
  {
    "path": "data/tools/nimfmt.yml",
    "content": "name: nimfmt\ncategories:\n  - linter\ntags:\n  - nim\nlicense:  GPL-3.0 License \ntypes:\n  - cli\nsource: 'https://github.com/FedericoCeratto/nimfmt'\nhomepage: 'https://github.com/FedericoCeratto/nimfmt'\ndescription: 'Nim code formatter / linter / style checker'\n"
  },
  {
    "path": "data/tools/njsscan.yml",
    "content": "name: njsscan\ncategories:\n  - linter\ntags:\n  - security\n  - nodejs\nlicense: LGPL-2.1 License \ntypes:\n  - cli\nsource: 'https://github.com/ajinabraham/njsscan'\nhomepage: 'https://opensecurity.in'\ndescription: >-\n  A static application testing (SAST) tool that can find insecure code patterns in your node.js applications\n  using simple pattern matcher from libsast and syntax-aware semantic code pattern search tool semgrep.\n"
  },
  {
    "path": "data/tools/nodejsscan.yml",
    "content": "name: NodeJSScan\ncategories:\n  - linter\ntags:\n  - javascript\n  - nodejs\n  - security\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\n  - service\nsource: 'https://github.com/ajinabraham/NodeJsScan'\nhomepage: 'https://opensecurity.in'\ndescription: >-\n  A static security code scanner for Node.js applications powered by libsast and semgrep that builds on the njsscan cli tool.\n  It features a UI with various dashboards about an application's security status."
  },
  {
    "path": "data/tools/noir.yml",
    "content": "name: OWASP Noir\ncategories:\n  - linter\ntags:\n  - security\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/owasp-noir/noir\"\nhomepage: \"https://owasp-noir.github.io/noir/\"\nresources:\n  - title: OWASP Project Noir\n    url: https://owasp.org/www-project-noir/\ndescription: Attack surface detector that identifies endpoints by static analysis.\n"
  },
  {
    "path": "data/tools/nu-html-checker.yml",
    "content": "name: Nu Html Checker\ncategories:\n  - linter\ntags:\n  - css\n  - html\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/validator/validator'\nhomepage: 'https://validator.github.io/validator/'\ndescription: >-\n  Helps you catch problems in your HTML/CSS/SVG\n"
  },
  {
    "path": "data/tools/nullaway.yml",
    "content": "name: NullAway\ncategories:\n  - linter\ntags:\n  - java\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/uber/NullAway'\nhomepage: 'https://github.com/uber/NullAway'\ndescription: >-\n  Type-based null-pointer checker with low build-time overhead; an [Error\n  Prone](http://errorprone.info/) plugin.\n"
  },
  {
    "path": "data/tools/o360.yml",
    "content": "name: Offensive 360\ncategories:\n  - linter\ntags:\n  - asp\n  - csharp\n  - html\n  - java\n  - javascript\n  - mobile\n  - nodejs\n  - phonegap\n  - php\n  - security\n  - vbasic\n  - vbnet\n  - vbscript\n  - container\n  - dotnet\n  - typescript\n  - xml\n  - jsx\nlicense: proprietary\ntypes:\n  - service\nhomepage: \"https://offensive360.com/\"\ndescription: Commercial Static Code Analysis system doesn't require building the source code or pre-compilation.\n"
  },
  {
    "path": "data/tools/oclint.yml",
    "content": "name: oclint\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - objectivec\nlicense: BSD-3-Clause (original text)\ntypes:\n  - cli\nsource: 'https://github.com/oclint/oclint'\nhomepage: 'http://oclint.org'\ndescription: >-\n  A static source code analysis tool to improve quality and reduce defects for\n  C, C++ and Objective-C.\n"
  },
  {
    "path": "data/tools/oelint-adv.yml",
    "content": "name: oelint-adv\ncategories:\n  - linter\ntags:\n  - embedded\nlicense: BSD 2-Clause \"Simplified\" License\ntypes:\n  - cli\nsource: 'https://github.com/priv-kweihmann/oelint-adv'\nhomepage: 'https://github.com/priv-kweihmann/oelint-adv'\ndescription: Linter for bitbake recipes used in open-embedded and YOCTO\n"
  },
  {
    "path": "data/tools/open-static-analyzer.yml",
    "content": "name: OpenStaticAnalyzer\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - java\n  - csharp\n  - python\n  - javascript\nlicense: European Union Public Licence (EUPL) v1.2\ntypes:\n  - cli\nhomepage: https://github.com/sed-inf-u-szeged/OpenStaticAnalyzer\ndescription: >-\n  OpenStaticAnalyzer is a source code analyzer tool, which can perform deep static analysis of the source code of complex systems.\nplans:\n  free: true\n  oss: true\n"
  },
  {
    "path": "data/tools/openrewrite.yml",
    "content": "name: OpenRewrite\ncategories:\n  - linter\n  - formatter\ntags:\n  - git\n  - groovy\n  - java\n  - json\n  - kotlin\n  - python\n  - sql\n  - xml\n  - yaml\nlicense: Apache-2.0\ntypes:\n  - cli\nsource: 'https://github.com/openrewrite/rewrite'\nhomepage: 'https://docs.openrewrite.org/'\ndescription: >-\n  OpenRewrite [fixes common static analysis issues](https://docs.openrewrite.org/running-recipes/popular-recipe-guides/common-static-analysis-issue-remediation) \n  reported through Sonar and other tools using a Maven and Gradle plugin or the Moderne CLI.\n"
  },
  {
    "path": "data/tools/openscap.yml",
    "content": "name: OpenSCAP\ncategories:\n  - linter\ntags:\n  - container\nlicense: LGPL-2.1 License \ntypes:\n  - cli \nsource: 'https://github.com/OpenSCAP/openscap'\nhomepage: 'https://www.open-scap.org/'\ndescription: >-\n  Suite of automated audit tools to examine the configuration and \n  known vulnerabilities following the NIST-certified Security \n  Content Automation Protocol (SCAP).\n"
  },
  {
    "path": "data/tools/osv-scanner.yml",
    "content": "name: OSV-Scanner\ncategories:\n  - linter\ntags:\n  - security\n  - go\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: \"https://github.com/google/osv-scanner\"\nhomepage: \"https://osv.dev/\"\ndescription: >-\n  Vulnerability scanner written in Go which uses the data provided by OSV.dev.\n  Developed by Google to scan dependencies across multiple languages and\n  package managers for known vulnerabilities. Supports container scanning,\n  license scanning, and guided remediation. Works with lockfiles, SBOMs,\n  and container images to identify security issues."
  },
  {
    "path": "data/tools/oversecured.yml",
    "content": "name: Oversecured\ncategories:\n- linter\ntags:\n- mobile\n- security\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://oversecured.com\ndescription: >-\n  Enterprise vulnerability scanner for Android and iOS apps. It allows app owners\n  and developers to secure each new version of a mobile app by integrating Oversecured\n  into the development process.\n"
  },
  {
    "path": "data/tools/owasp-dependency-check.yml",
    "content": "name: OWASP Dependency Check\ncategories:\n  - linter\ntags:\n  - java\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/jeremylong/DependencyCheck'\nhomepage: 'https://owasp.org/www-project-dependency-check'\ndescription: 'Checks dependencies for known, publicly disclosed, vulnerabilities.'\n"
  },
  {
    "path": "data/tools/oxc.yml",
    "content": "name: oxc\ncategories:\n  - linter\n  - formatter\ntags:\n  - javascript\n  - typescript\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/web-infra-dev/oxc\"\nhomepage: \"https://github.com/web-infra-dev/oxc\"\ndescription: >-\n  The Oxidation Compiler is creating a suite of high-performance tools for the\n  JavaScript / TypeScript language re-written in Rust.\ndemos:\n  - https://web-infra-dev.github.io/oxc/playground\n"
  },
  {
    "path": "data/tools/pa11y.yml",
    "content": "name: Pa11y\ncategories:\n  - linter\ntags:\n  - html\nlicense: LGPL-3.0\ntypes:\n  - cli\nsource: 'https://github.com/pa11y/pa11y'\nhomepage: 'https://pa11y.org/'\ndescription: >-\n  Automated accessibility testing tool that runs HTML CodeSniffer or axe-core\n  from the command line. Supports CI/CD integration, multiple reporters, and\n  testing against WCAG 2.1 AA standards.\n"
  },
  {
    "path": "data/tools/packj.yml",
    "content": "name: packj\ncategories:\n  - linter\ntags:\n  - archive\nlicense: AGPL-3.0\ntypes:\n  - cli\nsource: \"https://github.com/ossillate-inc/packj\"\nhomepage: \"https://github.com/ossillate-inc/packj\"\ndescription: >-\n  Packj (pronounced package) is a command line (CLI) tool to vet open-source software packages for \"risky\" attributes\n  that make them vulnerable to supply chain attacks. This is the tool behind our large-scale security analysis\n  platform Packj.dev that continuously vets packages and provides free reports.\n"
  },
  {
    "path": "data/tools/paprika.yml",
    "content": "name: paprika\ncategories:\n  - linter\ntags:\n  - mobile\nlicense: GNU Affero General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/GeoffreyHecht/paprika'\nhomepage: 'https://github.com/GeoffreyHecht/paprika'\ndescription: A toolkit to detect some code smells in analyzed Android applications.\n"
  },
  {
    "path": "data/tools/parallel-lint.yml",
    "content": "name: parallel-lint\ncategories:\n  - linter\ntags:\n  - php\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/php-parallel-lint/PHP-Parallel-Lint'\nhomepage: 'https://github.com/php-parallel-lint/PHP-Parallel-Lint'\ndescription: >-\n  This tool checks syntax of PHP files faster than serial check with a fancier\n  output.\n"
  },
  {
    "path": "data/tools/parasoft.yml",
    "content": "name: parasoft\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - csharp\n  - javascript\nlicense: proprietary\ntypes:\n  - service\nhomepage: 'https://www.parasoft.com/'\npricing: https://www.parasoft.com/contact/\nplans:\n  free: false\n  oss: false\ndescription: >-\n  Automated Software Testing Solutions for unit-, API-, and web UI testing.\n  Complies with MISRA, OWASP, and others.\n"
  },
  {
    "path": "data/tools/parker.yml",
    "content": "name: Parker\ncategories:\n  - linter\ntags:\n  - css\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/katiefenn/parker'\nhomepage: 'https://github.com/katiefenn/parker'\ndescription: Stylesheet analysis tool.\n"
  },
  {
    "path": "data/tools/parse.yml",
    "content": "name: Parse\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/psecio/parse'\nhomepage: 'https://github.com/psecio/parse'\ndescription: A Static Security Scanner.\n"
  },
  {
    "path": "data/tools/pascal-analyzer.yml",
    "content": "name: Pascal Analyzer\ncategories:\n- linter\ntags:\n- delphi\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://peganza.com/products_pal.html\ndescription: >-\n  A static code analysis tool with numerous reports. A free _Lite_ version is available\n  with limited reporting.\npricing: https://peganza.com/orders.html\n"
  },
  {
    "path": "data/tools/pascal-expert.yml",
    "content": "name: Pascal Expert\ncategories:\n  - linter\ntags:\n  - delphi\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://peganza.com/products_pex.html'\ndescription: >-\n  IDE plugin for code analysis. Includes a subset of Pascal Analyzer reporting\n  capabilities and is available for Delphi versions 2007 and later.\n"
  },
  {
    "path": "data/tools/pc-lint.yml",
    "content": "name: PC-lint\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: proprietary\ntypes:\n  - cli\nhomepage: https://pclintplus.com/\ndescription: >-\n  Static analysis for C/C++. Runs natively under Windows/Linux/MacOS.\n  Analyzes code for virtually any platform, supporting C11/C18 and C++17.\npricing: https://pclintplus.com/pricing/\n"
  },
  {
    "path": "data/tools/pdepend.yml",
    "content": "name: pdepend\ncategories:\n  - linter\ntags:\n  - php\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/pdepend/pdepend'\nhomepage: 'https://pdepend.org'\ndescription: Calculates software metrics like cyclomatic complexity for PHP code.\n"
  },
  {
    "path": "data/tools/pelusa.yml",
    "content": "name: pelusa\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/codegram/pelusa'\nhomepage: 'https://github.com/codegram/pelusa'\ndescription: Static analysis Lint-type tool to improve your OO Ruby code.\n"
  },
  {
    "path": "data/tools/perlanalyzer.yml",
    "content": "name: Perl::Analyzer\ncategories:\n  - linter\ntags:\n  - perl\nlicense: Artistic License (2.0)\ntypes:\n  - cli\n  - service\n  - ide-plugin  \nsource: 'https://github.com/technix/Perl-Analyzer'\nhomepage: 'https://technix.github.io/Perl-Analyzer/'\ndescription: >-\n  Perl-Analyzer is a set of programs and modules that allow users to analyze and visualize Perl \n  codebases by providing information about namespaces and their relations, dependencies, \n  inheritance, and methods implemented, inherited, and redefined in packages, \n  as well as calls to methods from parent packages via SUPER. \n"
  },
  {
    "path": "data/tools/perlcritic.yml",
    "content": "name: 'Perl::Critic'\ncategories:\n  - linter\ntags:\n  - perl\nlicense: GPL v2\ntypes:\n  - cli\nsource: 'https://metacpan.org/release/Perl-Critic/source/lib/Perl/Critic.pm'\nhomepage: 'https://metacpan.org/pod/Perl::Critic'\ndescription: Critique Perl source code for best-practices.\n"
  },
  {
    "path": "data/tools/perltidy.yml",
    "content": "name: perltidy\ntags:\n  - perl\ncategories:\n  - formatter\nlicense: GPL-2.0 license\ntypes:\n  - cli\nsource: \"https://github.com/perltidy/perltidy\"\nhomepage: \"https://perltidy.sourceforge.net/\"\ndescription: >-\n  Perltidy is a Perl script which indents and reformats Perl scripts to make\n  them easier to read. \n\n  The formatting can be controlled with command line parameters. The default\n  parameter settings approximately follow the suggestions in the Perl Style\n  Guide. \n\n  Besides reformatting scripts, Perltidy can be a great help in tracking down\n  errors with missing or extra braces, parentheses, and square brackets because\n  it is very good at localizing errors.\n"
  },
  {
    "path": "data/tools/pfff.yml",
    "content": "name: pfff\ncategories:\n  - formatter\ntags:\n  - c\n  - cpp\n  - csharp\n  - css\n  - erlang\n  - haskell\n  - html\n  - java\n  - javascript\n  - php\n  - python\n  - rust\ndeprecated: true\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/returntocorp/pfff'\nhomepage: 'https://github.com/facebookarchive/pfff/wiki/Main'\ndescription: >-\n  Facebook's tools for code analysis, visualizations, or style-preserving source\n  transformation for many languages.\n"
  },
  {
    "path": "data/tools/pgspot.yml",
    "content": "name: pgspot\ncategories:\n  - linter\ntags:\n  - sql\nlicense: PostgreSQL License\ntypes:\n  - cli\nsource: 'https://github.com/timescale/pgspot'\nhomepage: 'https://github.com/timescale/pgspot'\ndescription: >-\n  Spot vulnerabilities in postgres extension scripts.\n  Finds unsafe search_path usage and unsafe object creation in PostgreSQL extension scripts or any other PostgreSQL SQL code.\n"
  },
  {
    "path": "data/tools/phan.yml",
    "content": "name: phan\ncategories:\n  - linter\ntags:\n  - php\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/etsy/phan'\nhomepage: 'https://github.com/phan/phan/wiki'\ndescription: A modern static analyzer from etsy."
  },
  {
    "path": "data/tools/phasar.yml",
    "content": "name: Phasar\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/secure-software-engineering/phasar'\nhomepage: 'https://phasar.org'\ndescription: >-\n  A LLVM-based static analysis framework which comes with a taint and type state\n  analysis.\n"
  },
  {
    "path": "data/tools/php-architecture-tester.yml",
    "content": "name: PHP Architecture Tester\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/carlosas/phpat'\nhomepage: 'https://github.com/carlosas/phpat'\ndescription: Easy to use architecture testing tool for PHP.\n"
  },
  {
    "path": "data/tools/php-assumptions.yml",
    "content": "name: PHP Assumptions\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/rskuipers/php-assumptions'\nhomepage: 'https://github.com/rskuipers/php-assumptions'\ndescription: Checks for weak assumptions.\n"
  },
  {
    "path": "data/tools/php-coding-standards-fixer.yml",
    "content": "name: PHP Coding Standards Fixer\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/FriendsOfPHP/PHP-CS-Fixer'\nhomepage: 'https://cs.symfony.com'\ndescription: >-\n  Fixes your code according to standards like PSR-1, PSR-2, and the Symfony\n  standard.\n"
  },
  {
    "path": "data/tools/php-insights.yml",
    "content": "name: PHP Insights\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/nunomaduro/phpinsights\"\nhomepage: \"https://github.com/nunomaduro/phpinsights\"\ndescription: >-\n  Instant PHP quality checks from your console. Analysis of code quality and\n  coding style as well as overview of code architecture and its complexity.\n"
  },
  {
    "path": "data/tools/php-inspections-ea-extended.yml",
    "content": "name: Php Inspections (EA Extended)\ncategories:\n  - linter\ntags:\n  - php\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/kalessil/phpinspectionsea'\nhomepage: 'https://plugins.jetbrains.com/plugin/7622-php-inspections-ea-extended-'\ndescription: A Static Code Analyzer for PHP.\n"
  },
  {
    "path": "data/tools/php-parser.yml",
    "content": "name: PHP-Parser\ncategories:\n  - linter\ntags:\n  - php\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/nikic/PHP-Parser'\nhomepage: 'https://github.com/nikic/PHP-Parser'\ndescription: A PHP parser written in PHP.\n"
  },
  {
    "path": "data/tools/php-refactoring-browser.yml",
    "content": "name: PHP Refactoring Browser\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/QafooLabs/php-refactoring-browser'\nhomepage: 'https://qafoolabs.github.io/php-refactoring-browser'\ndescription: Refactoring helper.\n"
  },
  {
    "path": "data/tools/php-semantic-versioning-checker.yml",
    "content": "name: PHP Semantic Versioning Checker\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/tomzx/php-semver-checker'\nhomepage: 'https://github.com/tomzx/php-semver-checker'\ndescription: Suggests a next version according to semantic versioning.\n"
  },
  {
    "path": "data/tools/php-speller.yml",
    "content": "name: php-speller\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/mekras/php-speller'\nhomepage: 'https://github.com/mekras/php-speller'\ndescription: PHP spell check library.\n"
  },
  {
    "path": "data/tools/php-token-reflection.yml",
    "content": "name: PHP-Token-Reflection\ncategories:\n  - linter\ntags:\n  - php\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/Andrewsville/PHP-Token-Reflection'\nhomepage: 'https://github.com/Andrewsville/PHP-Token-Reflection'\ndescription: Library emulating the PHP internal reflection.\n"
  },
  {
    "path": "data/tools/php7cc.yml",
    "content": "name: php7cc\ncategories:\n  - linter\ntags:\n  - php\ndeprecated: true\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/sstalle/php7cc'\nhomepage: 'https://github.com/sstalle/php7cc'\ndescription: PHP 7 Compatibility Checker.\n"
  },
  {
    "path": "data/tools/php7mar.yml",
    "content": "name: php7mar\ncategories:\n  - linter\ntags:\n  - php\ndeprecated: true\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/Alexia/php7mar'\nhomepage: 'https://github.com/Alexia/php7mar'\ndescription: Assist developers in porting their code quickly to PHP 7.\n"
  },
  {
    "path": "data/tools/php_codesniffer.yml",
    "content": "name: PHP_CodeSniffer\ncategories:\n  - linter\ntags:\n  - php\nlicense: Other\ntypes:\n  - cli\nsource: \"https://github.com/squizlabs/PHP_CodeSniffer\"\nhomepage: \"https://pear.php.net/package/PHP_CodeSniffer\"\ndescription: Detects violations of a defined set of coding standards.\n"
  },
  {
    "path": "data/tools/phpca.yml",
    "content": "name: phpca\ncategories:\n  - linter\ntags:\n  - php\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/wapmorgan/PhpCodeAnalyzer'\nhomepage: 'https://github.com/wapmorgan/PhpCodeAnalyzer'\ndescription: Finds usage of non-built-in extensions.\n"
  },
  {
    "path": "data/tools/phpcpd.yml",
    "content": "name: phpcpd\ncategories:\n  - linter\ntags:\n  - php\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/sebastianbergmann/phpcpd'\nhomepage: 'https://github.com/sebastianbergmann/phpcpd'\ndescription: Copy/Paste Detector for PHP code.\n"
  },
  {
    "path": "data/tools/phpdcd.yml",
    "content": "name: phpdcd\ncategories:\n  - linter\ntags:\n  - php\ndeprecated: true\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/sebastianbergmann/phpdcd'\nhomepage: 'https://github.com/sebastianbergmann/phpdcd'\ndescription: Dead Code Detector (DCD) for PHP code.\n"
  },
  {
    "path": "data/tools/phpdependencyanalysis.yml",
    "content": "name: PhpDependencyAnalysis\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/mamuz/PhpDependencyAnalysis'\nhomepage: 'https://mamuz.github.io/PhpDependencyAnalysis'\ndescription: Builds a dependency graph for a project.\n"
  },
  {
    "path": "data/tools/phpdeprecationdetector.yml",
    "content": "name: PhpDeprecationDetector\ncategories:\n  - linter\ntags:\n  - php\nlicense: BSD-3-Clause\ntypes:\n  - cli\nsource: 'https://github.com/wapmorgan/PhpDeprecationDetector'\nhomepage: 'https://github.com/wapmorgan/PhpDeprecationDetector'\ndescription:  >-\n  Analyzer of PHP code to search issues with deprecated functionality in newer interpreter versions. \n  It finds removed objects (functions, variables, constants and ini-directives), \n  deprecated functions functionality, and usage of forbidden names or tricks (e.g. reserved identifiers in newer versions).\n"
  },
  {
    "path": "data/tools/phpdoc-to-typehint.yml",
    "content": "name: phpdoc-to-typehint\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/dunglas/phpdoc-to-typehint'\nhomepage: 'https://github.com/dunglas/phpdoc-to-typehint'\ndescription: >-\n  Add scalar type hints and return types to existing PHP projects using PHPDoc\n  annotations.\n"
  },
  {
    "path": "data/tools/phpdocumentor.yml",
    "content": "name: phpDocumentor\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/phpDocumentor/phpDocumentor'\nhomepage: 'https://www.phpdoc.org'\ndescription: Analyzes PHP source code to generate documentation.\n"
  },
  {
    "path": "data/tools/phploc.yml",
    "content": "name: phploc\ncategories:\n  - linter\ntags:\n  - php\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/sebastianbergmann/phploc'\nhomepage: 'https://github.com/sebastianbergmann/phploc'\ndescription: >-\n  A tool for quickly measuring the size and analyzing the structure of a PHP\n  project.\n"
  },
  {
    "path": "data/tools/phpmd.yml",
    "content": "name: PHPMD\ncategories:\n  - linter\ntags:\n  - php\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/phpmd/phpmd'\nhomepage: 'https://phpmd.org'\ndescription: Finds possible bugs in your code.\n"
  },
  {
    "path": "data/tools/phpmetrics.yml",
    "content": "name: PhpMetrics\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/phpmetrics/PhpMetrics'\nhomepage: 'http://www.phpmetrics.org'\ndescription: Calculates and visualizes various code quality metrics.\n"
  },
  {
    "path": "data/tools/phpmnd.yml",
    "content": "name: phpmnd\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/povils/phpmnd'\nhomepage: 'https://github.com/povils/phpmnd'\ndescription: Helps to detect magic numbers.\n"
  },
  {
    "path": "data/tools/phpqa-jakzal.yml",
    "content": "name: phpqa - jakzal\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/jakzal/phpqa'\nhomepage: 'https://github.com/jakzal/phpqa'\ndescription: Many tools for PHP static analysis in one container.\n"
  },
  {
    "path": "data/tools/phpqa-jmolivas.yml",
    "content": "name: phpqa - jmolivas\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/jmolivas/phpqa'\nhomepage: 'https://github.com/jmolivas/phpqa'\ndescription: PHPQA all-in-one Analyzer CLI tool.\n"
  },
  {
    "path": "data/tools/phpqa.yml",
    "content": "name: PHPQA\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/EdgedesignCZ/phpqa'\nhomepage: 'https://edgedesigncz.github.io/phpqa'\ndescription: >-\n  A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd,\n  phpmetrics).\n"
  },
  {
    "path": "data/tools/phpsa.yml",
    "content": "name: phpsa\ncategories:\n  - linter\ntags:\n  - php\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/ovr/phpsa'\nhomepage: 'https://github.com/ovr/phpsa'\ndescription: Static analysis tool for PHP.\n"
  },
  {
    "path": "data/tools/phpstan.yml",
    "content": "name: PHPStan\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/phpstan/phpstan'\nhomepage: 'https://phpstan.org'\nresources:\n  - title: Measure PHP Code Quality With Static Analysis Using PHPStan\n    url: https://www.youtube.com/watch?v=OiS2xGVWEa0\ndemos:\n  - https://phpstan.org/try\ndescription: PHP Static Analysis Tool - discover bugs in your code without running it!\n"
  },
  {
    "path": "data/tools/pip-audit.yml",
    "content": "name: pip-audit\ncategories:\n  - linter\ntags:\n  - python\n  - security\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: \"https://github.com/pypa/pip-audit\"\nhomepage: \"https://github.com/pypa/pip-audit\"\ndescription: >-\n  Tool for scanning Python packages for known vulnerabilities. Developed by\n  the Python Packaging Authority (PyPA) and supported by Trail of Bits and\n  Google. Scans Python environments and requirements files to identify\n  vulnerable packages and suggests remediation. Supports GitHub Actions,\n  pre-commit hooks, and multiple vulnerability service integrations."
  },
  {
    "path": "data/tools/pixee.yml",
    "content": "name: Pixee\ncategories:\ntags:\n  - java\n  - python\nlicense: proprietary\ntypes:\n  - service\nhomepage: 'https://pixee.ai'\ndescription: >-\n Pixeebot finds security and code quality issues in your code and creates merge-ready pull requests with recommended fixes.\npricing: 'https://www.pixee.ai/pricing'\nplans:\n  free: true\n  oss: false\n"
  },
  {
    "path": "data/tools/plato.yml",
    "content": "name: plato\ncategories:\n  - linter\ntags:\n  - javascript\ndeprecated: true\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/es-analysis/plato'\nhomepage: 'https://github.com/es-analysis/plato'\ndescription: Visualize JavaScript source complexity.\n"
  },
  {
    "path": "data/tools/pmd.yml",
    "content": "name: PMD\ncategories:\n  - linter\ntags:\n  - apex\n  - java\n  - javascript\n  - plsql\n  - scala\n  - xml\n  - visualforce\nlicense: Other\ntypes:\n  - cli\nsource: \"https://github.com/pmd/pmd\"\nhomepage: \"https://pmd.github.io\"\ndescription: \"A source code analyzer for Java, Salesforce Apex, Javascript, PLSQL, XML, XSL and others.\"\n"
  },
  {
    "path": "data/tools/polymer-analyzer.yml",
    "content": "name: Polymer-analyzer\ncategories:\n  - linter\ntags:\n  - html\n  - javascript\nlicense: BSD-3-Clause (original text)\ntypes:\n  - cli\nsource: 'https://github.com/Polymer/tools/tree/master/packages/analyzer'\nhomepage: 'https://github.com/Polymer/tools/tree/master/packages/analyzer'\ndescription: A static analysis framework for Web Components.\n"
  },
  {
    "path": "data/tools/polyspace-bug-finder.yml",
    "content": "name: Polyspace Bug Finder\ncategories:\n- linter\ntags:\n- c\n- cpp\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://www.mathworks.com/products/polyspace-bug-finder.html\ndescription: >-\n  Identifies run-time errors, concurrency issues, security vulnerabilities, and other\n  defects in C and C++ embedded software.\npricing: https://www.mathworks.com/company/aboutus/contact_us/req_quote.html\n"
  },
  {
    "path": "data/tools/polyspace-code-prover.yml",
    "content": "name: Polyspace Code Prover\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://www.mathworks.com/products/polyspace-code-prover.html'\ndescription: >-\n  Provide code verification that proves the absence of overflow, divide-by-zero,\n  out-of-bounds array access, and certain other run-time errors in C and C++\n  source code.\n"
  },
  {
    "path": "data/tools/polyspace-for-ada.yml",
    "content": "name: Polyspace for Ada\ncategories:\n  - linter\ntags:\n  - ada\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://www.mathworks.com/products/polyspace-ada.html'\ndescription: >-\n  Provide code verification that proves the absence of overflow, divide-by-zero,\n  out-of-bounds array access, and certain other run-time errors in source code.\n"
  },
  {
    "path": "data/tools/portlint.yml",
    "content": "name: portlint\ncategories:\n  - linter\ntags:\n  - buildtool\n  - make\nlicense: BSD License\ntypes:\n  - cli\nsource: >-\n  https://www.freebsd.org/cgi/man.cgi?query=portlint&sektion=1&manpath=FreeBSD+8.1-RELEASE+and+Ports\nhomepage: >-\n  https://www.freebsd.org/cgi/man.cgi?query=portlint&sektion=1&manpath=FreeBSD+8.1-RELEASE+and+Ports\ndescription: A verifier for FreeBSD and DragonFlyBSD port directories.\n"
  },
  {
    "path": "data/tools/postcss.yml",
    "content": "name: PostCSS\ncategories:\n  - linter\ntags:\n  - css\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/postcss/postcss'\nhomepage: 'https://postcss.org'\ndescription: >-\n  A tool for transforming styles with JS plugins. These plugins can lint your\n  CSS, support variables and mixins, transpile future CSS syntax, inline images,\n  and more.\n"
  },
  {
    "path": "data/tools/prae.yml",
    "content": "\nname: prae\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/teenjuna/prae'\nhomepage: 'https://github.com/teenjuna/prae'\ndescription: >-\n   Provides a convenient macro that allows you to generate type wrappers \n   that promise to always uphold arbitrary invariants that you specified. \n"
  },
  {
    "path": "data/tools/pre-commit.yml",
    "content": "name: pre-commit\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - java\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/pre-commit/pre-commit'\nhomepage: 'https://pre-commit.com'\ndescription: A framework for managing and maintaining multi-language pre-commit hooks.\n"
  },
  {
    "path": "data/tools/prealloc.yml",
    "content": "name: prealloc\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/alexkohler/prealloc'\nhomepage: 'https://github.com/alexkohler/prealloc'\ndescription: Finds slice declarations that could potentially be preallocated.\n"
  },
  {
    "path": "data/tools/precaution.yml",
    "content": "name: Precaution\ncategories:\n  - linter\ntags:\n  - ci\n  - go\n  - java\n  - python\n  - security\nlicense: Business Source License 1.1\ntypes:\n  - cli\n  - service\nsource: 'https://github.com/securesauce/precli'\nhomepage: 'https://www.securesauce.dev/'\nresources:\n  - title: Introducing Precaution\n    url: https://blog.securesauce.dev/introducing-precaution\nplans:\n  oss: true\n  free: true\npricing: https://www.securesauce.dev/\ndescription: >-\n   Precaution is a static analysis security tool (SAST) designed\n   to find potentially critical vulnerabilities in source code prior\n   to production. It is available as a CLI, GitHub Action, and GitHub\n   App.\n"
  },
  {
    "path": "data/tools/prettier.yml",
    "content": "name: Prettier\ncategories:\n  - formatter\ntags:\n  - html\n  - javascript\n  - typescript\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/prettier/prettier\"\nhomepage: \"https://prettier.io\"\ndescription: An opinionated code formatter.\nresources:\n  - title: Code Formatting with Prettier in Visual Studio Code\n    url: https://www.youtube.com/watch?v=h3PJjP0nE98\n  - title: VSCode ESLint, Prettier & Airbnb Style Guide Setup\n    url: https://www.youtube.com/watch?v=SydnKbGc7W8\ndemos:\n  - https://prettier.io/playground\nreviews:\n  - https://plugins.jetbrains.com/plugin/10456-prettier/reviews\n  - https://www.producthunt.com/products/prettier/reviews\n  - https://stackshare.io/prettier\n"
  },
  {
    "path": "data/tools/primitive-erlang-security-tool-pest.yml",
    "content": "name: Primitive Erlang Security Tool (PEST)\ncategories:\n  - linter\ntags:\n  - erlang\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/okeuday/pest'\nhomepage: 'https://github.com/okeuday/pest'\ndescription: >-\n  A tool to do a basic scan of Erlang source code and report any function calls\n  that may cause Erlang source code to be insecure.\n"
  },
  {
    "path": "data/tools/progpilot.yml",
    "content": "name: Progpilot\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/designsecurity/progpilot'\nhomepage: 'https://github.com/designsecurity/progpilot'\ndescription: A static analysis tool for security purposes.\n"
  },
  {
    "path": "data/tools/project-wallace-css-analyzer.yml",
    "content": "name: Project Wallace CSS Analyzer\ncategories:\n  - linter\ntags:\n  - css\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/projectwallace/css-analyzer'\nhomepage: 'https://www.projectwallace.com'\ndescription: 'Analytics for CSS, part of [Project Wallace](https://www.projectwallace.com).'\n"
  },
  {
    "path": "data/tools/promformat.yml",
    "content": "name: promformat\ncategories:\n  - formatter\ntags:\n  - prometheus\nlicense: GPL-3.0\ntypes:\n  - cli\nsource: \"https://github.com/facetoe/promformat\"\nhomepage: \"https://github.com/facetoe/promformat\"\ndescription: >-\n  Promformat is a PromQL formatter written in Python.\n"
  },
  {
    "path": "data/tools/promval.yml",
    "content": "name: promval\ncategories:\n  - linter\ntags:\n  - prometheus\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/facetoe/promval\"\nhomepage: \"https://github.com/facetoe/promval\"\ndescription: >-\n  PromQL validator written in Python.\n  It can be used to validate that PromQL expressions are written as expected.\n"
  },
  {
    "path": "data/tools/pronto.yml",
    "content": "name: Pronto\ncategories:\n  - linter\ntags:\n  - c\n  - ci\n  - cpp\n  - elixir\n  - java\n  - javascript\n  - php\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/prontolabs/pronto'\nhomepage: 'https://github.com/prontolabs/pronto'\ndescription: >-\n  Quick automated code review of your changes. Supports more than 40 runners for\n  various languages, including Clang, Elixir, JavaScript, PHP, Ruby and more.\n"
  },
  {
    "path": "data/tools/proselint.yml",
    "content": "name: proselint\ncategories:\n  - linter\ntags:\n  - writing\nlicense: BSD-3-Clause\ntypes:\n  - cli\nsource: 'https://github.com/amperser/proselint'\nhomepage: 'https://github.com/amperser/proselint'\ndescription: A linter for English prose with a focus on writing style instead of grammar.\n"
  },
  {
    "path": "data/tools/prospector.yml",
    "content": "name: prospector\ncategories:\n  - meta\ntags:\n  - meta\n  - python\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\nsource: 'https://github.com/PyCQA/prospector'\nhomepage: 'https://github.com/PyCQA/prospector'\ndescription: 'A wrapper around `pylint`, `pep8`, `mccabe` and others.'\n"
  },
  {
    "path": "data/tools/protolint.yml",
    "content": "name: protolint\ncategories:\n  - linter\ntags:\n  - protobuf\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/yoheimuta/protolint'\nhomepage: 'https://github.com/yoheimuta/protolint'\ndescription: Pluggable linter and fixer to enforce Protocol Buffer style and conventions.\n"
  },
  {
    "path": "data/tools/prusti.yml",
    "content": "name: Prusti\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/viperproject/prusti-dev'\nhomepage: 'https://www.pm.inf.ethz.ch/research/prusti.html'\ndescription: >-\n  A static verifier for Rust, based on the Viper verification infrastructure. By\n  default Prusti verifies absence of panics by proving that statements such as\n  unreachable!() and panic!() are unreachable.\n"
  },
  {
    "path": "data/tools/psalm.yml",
    "content": "name: Psalm\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/vimeo/psalm'\nhomepage: 'https://psalm.dev'\nresources:\n  - title: Try it Tuesday - PHP Static Analysis Tool Psalm\n    url: https://www.youtube.com/watch?v=ZxXw5Fkp9R8\ndemos:\n  - https://psalm.dev/r/dcb13e702f\ndescription: Static analysis tool for finding type errors in PHP applications.\n"
  },
  {
    "path": "data/tools/ptpm.yml",
    "content": "name: PT.PM\ncategories:\n  - linter\ntags:\n  - csharp\n  - java\n  - javascript\n  - php\n  - plsql\n  - tsql\ndeprecated: true\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/PositiveTechnologies/PT.PM'\nhomepage: 'https://github.com/PositiveTechnologies/PT.PM'\ndescription: >-\n  An engine for searching patterns in the source code, based on Unified AST or\n  UST. At present time C#, Java, PHP, PL/SQL, T-SQL, and JavaScript are\n  supported. Patterns can be described within the code or using a DSL.\n"
  },
  {
    "path": "data/tools/ptsecurity.yml",
    "content": "name: PT Application Inspector\ncategories:\n  - linter\ntags:\n  - security\nlicense: proprietary\ntypes:\n  - service\nhomepage: 'https://www.ptsecurity.com'\ndescription: >-\n  Identifies code flaws and detects vulnerabilities to prevent web attacks.\n  Demonstrates remote code execution by presenting possible exploits.\nresources:\n  - title: Introduction video\n    url: https://www.youtube.com/watch?v=gtFH6tV2dlM\n"
  },
  {
    "path": "data/tools/pullrequest.yml",
    "content": "name: PullRequest\ncategories:\n- linter\ntags:\n- ci\nlicense: proprietary\ntypes:\n- service\nhomepage: https://www.hackerone.com/product/code\ndescription: >-\n  Code review as a service with built-in static analysis.  Increase velocity and reduce\n  technical debt through quality code review by expert engineers backed by best-in-class\n  automation.\n"
  },
  {
    "path": "data/tools/puma-scan.yml",
    "content": "name: Puma Scan\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: Mozilla Public License 2.0\ntypes:\n  - ide-plugin\nsource: 'https://github.com/pumasecurity/puma-scan'\nhomepage: 'https://pumasecurity.io'\ndescription: >-\n  Puma Scan provides real time secure code analysis for common vulnerabilities\n  (XSS, SQLi, CSRF, LDAPi, crypto, deserialization, etc.) as development teams\n  write code in Visual Studio.\n"
  },
  {
    "path": "data/tools/puppet-lint.yml",
    "content": "name: Puppet Lint\ncategories:\n  - linter\ntags:\n  - configmanagement\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/rodjek/puppet-lint'\nhomepage: 'https://github.com/rodjek/puppet-lint'\ndescription: Check that your Puppet manifests conform to the style guide.\n"
  },
  {
    "path": "data/tools/pure.yml",
    "content": "name: pure\ncategories:\n  - linter\ntags:\n  - archive\nlicense: MIT License\ntypes:\n  - cli \nsource: 'https://github.com/ronomon/pure'\nhomepage: 'https://github.com/ronomon/pure'\ndescription: >-\n  Pure is a static analysis file format checker that checks ZIP files for dangerous compression ratios, spec deviations,\n  malicious archive signatures, mismatching local and central directory headers, ambiguous UTF-8 filenames,\n  directory and symlink traversals, invalid MS-DOS dates, overlapping headers, overflow, underflow, \n  sparseness, accidental buffer bleeds etc.\n"
  },
  {
    "path": "data/tools/putout.yml",
    "content": "name: Putout\ncategories:\n  - linter\ntags:\n  - javascript\n  - typescript\n  - jsx\n  - css\n  - json\n  - markdown\n  - yaml \nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/coderaiser/putout\"\nhomepage: \"https://github.com/coderaiser/putout\"\ndescription: Pluggable and configurable code transformer with built-in eslint, babel plugins support for js, jsx typescript, flow, markdown, yaml and json.\n"
  },
  {
    "path": "data/tools/pvs-studio.yml",
    "content": "name: PVS-Studio\ncategories:\n- linter\ntags:\n- c\n- cpp\n- csharp\n- java\nlicense: proprietary\ntypes:\n- service\nhomepage: https://pvs-studio.com\ndescription: >-\n  A ([conditionally free](https://pvs-studio.com/en/order/open-source-license) for\n  FOSS and individual developers) static analysis of C, C++, C# and Java code. For\n  advertising purposes [you can propose a large FOSS project for analysis by PVS employees](https://github.com/viva64/pvs-studio-check-list).\n  Supports CWE mapping, OWASP ASVS, MISRA, AUTOSAR and SEI CERT coding standards.\nresources:\n- title: PVS-Studio is now in Compiler Explorer!\n  url: https://www.youtube.com/watch?v=hw5npZqB3b8\n- title: PVS-Studio in 2019\n  url: https://www.youtube.com/watch?v=FkfMGqxIR-I\n- title: Static Analysis in C++ (mostly about PVS-Studio)\n  url: https://www.youtube.com/watch?v=vYW6TOwFK2M\npricing: https://pvs-studio.com/en/order/license/\nreviews:\n  - https://www.gartner.com/reviews/market/application-security-testing/vendor/pvs-studio/product/pvs-studio\n  - https://www.g2.com/products/pvs-studio/reviews"
  },
  {
    "path": "data/tools/py-find-injection.yml",
    "content": "name: py-find-injection\ncategories:\n  - linter\ntags:\n  - python\ndeprecated: true\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/uber/py-find-injection'\nhomepage: 'https://github.com/uber/py-find-injection'\ndescription: Find SQL injection vulnerabilities in Python code.\n"
  },
  {
    "path": "data/tools/pyanalyze.yml",
    "content": "name: pyanalyze\ncategories:\n  - linter\ntags:\n  - python\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/quora/pyanalyze'\nhomepage: 'https://pyanalyze.readthedocs.io/en/latest/'\ndescription: >-\n  A tool for programmatically detecting common mistakes in Python code, such as references to undefined variables and type errors.\n  It can be extended to add additional rules and perform checks specific to particular functions.\n"
  },
  {
    "path": "data/tools/pycodestyle.yml",
    "content": "name: pycodestyle\ncategories:\n  - linter\ntags:\n  - python\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/PyCQA/pycodestyle'\nhomepage: 'https://pycodestyle.pycqa.org/en/latest'\ndescription: >-\n  (Formerly `pep8`) Check Python code against some of the style conventions in\n  PEP 8.\n"
  },
  {
    "path": "data/tools/pydocstyle.yml",
    "content": "name: pydocstyle\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/PyCQA/pydocstyle'\nhomepage: 'http://www.pydocstyle.org'\ndescription: Check compliance with Python docstring conventions.\n"
  },
  {
    "path": "data/tools/pyflakes.yml",
    "content": "name: pyflakes\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/pyflakes/pyflakes'\nhomepage: 'https://pypi.org/project/pyflakes'\ndescription: Check Python source files for errors.\n"
  },
  {
    "path": "data/tools/pylama.yml",
    "content": "name: pylama\ncategories:\n  - linter\ntags:\n  - meta\n  - python\n  - javascript\nlicense:  LGPL-3.0 License \ntypes:\n  - cli\nsource: 'https://github.com/klen/pylama'\nhomepage: 'https://klen.github.io/pylama/'\ndescription: 'Code audit tool for Python and JavaScript. Wraps pycodestyle, pydocstyle, PyFlakes, Mccabe, Pylint, and more'\n"
  },
  {
    "path": "data/tools/pylint.yml",
    "content": "name: pylint\ncategories:\n  - linter\ntags:\n  - python\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\nsource: 'https://github.com/PyCQA/pylint'\nhomepage: 'http://pylint.pycqa.org/en/latest'\ndescription: >-\n  Looks for programming errors, helps enforcing a coding standard and sniffs for\n  some code smells. It additionally includes `pyreverse` (an UML diagram\n  generator) and `symilar` (a similarities checker).\nresources:\n  - title: Pylint Tutorial – How to Write Clean Python\n    url: https://www.youtube.com/watch?v=fFY5103p5-c\n"
  },
  {
    "path": "data/tools/pylyzer.yml",
    "content": "name: pylyzers\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/mtshiba/pylyzer'\nhomepage: 'https://mtshiba.github.io/pylyzer/'\nresources: ~\ndemos: ~\ndescription: >-\n  A static code analyzer / language server for Python, written in Rust, focused\n  on type checking and readable output.\n"
  },
  {
    "path": "data/tools/pyra.yml",
    "content": "name: Pyra\ncategories:\n  - linter\ntags:\n  - python\nlicense: MPL-2.0 license\ntypes:\n  - cli\nsource: 'https://github.com/spangea/Pyra'\nhomepage: 'https://github.com/spangea/Pyra'\ndescription: Pyra is a high-level linter static analyzer for data science applications written in Python, that helps developers identify potential issues in their data science code written in Python, as an extension of [Lyra](https://github.com/caterinaurban/Lyra).\nresources:\n- title: Demo\n  url: https://www.youtube.com/watch?v=D-AsyuhsTyo\n"
  },
  {
    "path": "data/tools/pyre-check.yml",
    "content": "name: pyre-check\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/facebook/pyre-check'\nhomepage: 'https://pyre-check.org'\ndescription: >-\n  A fast, scalable type checker for large Python codebases. Pyre-check has\n  been superseded by Pyrefly, its next iteration.\ndeprecated: true\n"
  },
  {
    "path": "data/tools/pyrefly.yml",
    "content": "name: pyrefly\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/facebook/pyrefly'\nhomepage: 'https://pyrefly.org/'\ndescription: 'A fast, incremental type checker and language server for Python, providing IDE features like code navigation, semantic highlighting, and code completion.'\n"
  },
  {
    "path": "data/tools/pyright.yml",
    "content": "name: pyright\ncategories:\n  - linter\ntags:\n  - python\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/Microsoft/pyright'\nhomepage: 'https://github.com/Microsoft/pyright'\ndescription: >-\n  Static type checker for Python, created to address gaps in existing tools like\n  mypy.\n"
  },
  {
    "path": "data/tools/pyroma.yml",
    "content": "name: pyroma\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/regebro/pyroma'\nhomepage: 'https://github.com/regebro/pyroma'\ndescription: >-\n  Rate how well a Python project complies with the best practices of the Python\n  packaging ecosystem, and list issues that could be improved.\n"
  },
  {
    "path": "data/tools/pysa.yml",
    "content": "name: Pysa\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/facebook/pyre-check\"\nhomepage: \"https://pyre-check.org/docs/pysa-basics.html\"\ndescription: >-\n  A tool based on Facebook's pyre-check to identify potential security issues in\n  Python code identified with taint analysis.\nresources:\n  - title: \"Workshop: Graham Bleaney - Pysa to Identify Python Vulnerabilities - DEF CON 28SM AppSec Village\"\n    url: https://www.youtube.com/watch?v=8I3zlvtpOww\n"
  },
  {
    "path": "data/tools/pyt-python-taint.yml",
    "content": "name: PyT - Python Taint\ncategories:\n  - linter\ntags:\n  - python\ndeprecated: true\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\nsource: 'https://github.com/python-security/pyt'\nhomepage: 'https://github.com/python-security/pyt'\ndescription: >-\n  A static analysis tool for detecting security vulnerabilities in Python web\n  applications.\n"
  },
  {
    "path": "data/tools/pytype.yml",
    "content": "name: pytype\ncategories:\n  - linter\ntags:\n  - python\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/google/pytype'\nhomepage: 'https://google.github.io/pytype'\ndescription: A static type analyzer for Python code.\n"
  },
  {
    "path": "data/tools/pyupgrade.yml",
    "content": "name: pyupgrade\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/asottile/pyupgrade\"\nhomepage: \"https://pypi.org/project/pyupgrade-docs/\"\ndescription: A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language.\nresources:\n  - title: Python linter comparison 2022.\n    url: https://inventwithpython.com/blog/2022/11/19/python-linter-comparison-2022-pylint-vs-pyflakes-vs-flake8-vs-autopep8-vs-bandit-vs-prospector-vs-pylama-vs-pyroma-vs-black-vs-mypy-vs-radon-vs-mccabe/\n"
  },
  {
    "path": "data/tools/qafoo-quality-analyzer.yml",
    "content": "name: Qafoo Quality Analyzer\ncategories:\n  - linter\ntags:\n  - php\nlicense: GNU Affero General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/Qafoo/QualityAnalyzer'\nhomepage: 'https://github.com/Qafoo/QualityAnalyzer'\ndescription: Visualizes metrics and source code.\n"
  },
  {
    "path": "data/tools/qark.yml",
    "content": "name: qark\ncategories:\n  - linter\ntags:\n  - mobile\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/linkedin/qark'\nhomepage: 'https://github.com/linkedin/qark'\ndescription: Tool to look for several security related Android application vulnerabilities.\n"
  },
  {
    "path": "data/tools/quality.yml",
    "content": "name: quality\ncategories:\n  - linter\ntags:\n  - ci\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/apiology/quality'\nhomepage: 'https://github.com/apiology/quality'\ndescription: >-\n  Runs quality checks on your code using community tools, and makes sure your\n  numbers don't get any worse over time.\n"
  },
  {
    "path": "data/tools/qualys-container-security.yml",
    "content": "name: Qualys Container Security\ncategories:\n- linter\ntags:\n- container\n- security\nlicense: proprietary\ntypes:\n- service\nhomepage: https://www.qualys.com/apps/container-security\ndescription: >-\n  Container native application protection to provide visibility and control of containerized\n  applications.\npricing: https://www.qualys.com/free-trial/\n"
  },
  {
    "path": "data/tools/quantifiedcode.yml",
    "content": "name: QuantifiedCode\ncategories:\n  - linter\ntags:\n  - ci\n  - security\n  - python\ndeprecated: true\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - service\nsource: \"https://github.com/quantifiedcode/quantifiedcode\"\nhomepage: \"https://github.com/quantifiedcode/quantifiedcode\"\ndescription: >-\n  Automated code review & repair.\n  It helps you to keep track of issues and metrics in your software projects,\n  and can be easily extended to support new types of analyses.\n"
  },
  {
    "path": "data/tools/querly.yml",
    "content": "name: Querly\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/soutaro/querly'\nhomepage: 'https://github.com/soutaro/querly'\ndescription: Pattern Based Checking Tool for Ruby.\n"
  },
  {
    "path": "data/tools/qulice.yml",
    "content": "name: qulice\ncategories:\n  - linter\ntags:\n  - java\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/teamed/qulice'\nhomepage: 'https://www.qulice.com'\ndescription: >-\n  Combines a few (pre-configured) static analysis tools (checkstyle, PMD,\n  Findbugs, ...).\n"
  },
  {
    "path": "data/tools/qwiet.yml",
    "content": "name: Qwiet AI\ncategories:\n- linter\ntags:\n- java\n- javascript\n- jsp\n- csharp\n- python\n- scala\n- go\n- configmanagement\n- security\nlicense: proprietary\ntypes:\n- service\nhomepage: https://qwiet.ai/\ndescription: >-\n  Identify vulnerabilities that are unique to your code base before they reach\n  production. Leverages the Code Property Graph (CPG) to run its analyses\n  concurrently in a single graph of graphs. Automatically finds business logic\n  flaws in dev like hardcoded secrets and logic bombs\nresources:\n- title: Securing Every Pull Request with ShiftLeft\n  url: https://vimeo.com/383381584\n- title: ShiftLeft Intro\n  url: https://vimeo.com/233423863\npricing: https://www.shiftleft.io/pricing\n"
  },
  {
    "path": "data/tools/r-language-server.yml",
    "content": "name: R Language Server\ncategories:\n  - linter\ntags:\n  - r\nlicense: MIT + file LICENSE\ntypes:\n  - ide-plugin\nsource: 'https://github.com/REditorSupport/languageserver/'\nhomepage: 'https://github.com/REditorSupport/languageserver/'\ndescription:  >-\n  Provides code completion, refactoring, folding, diagnostics (with lintr), and more for R.\n"
  },
  {
    "path": "data/tools/radon.yml",
    "content": "name: radon\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/rubik/radon'\nhomepage: 'https://radon.readthedocs.io/en/latest'\ndescription: A Python tool that computes various metrics from the source code.\n"
  },
  {
    "path": "data/tools/railroader.yml",
    "content": "name: Railroader\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/david-a-wheeler/railroader'\nhomepage: 'https://railroader.org'\ndescription: >-\n  An open source static analysis security vulnerability scanner for Ruby on\n  Rails applications.\n"
  },
  {
    "path": "data/tools/rails_best_practices.yml",
    "content": "name: rails_best_practices\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/flyerhzm/rails_best_practices'\nhomepage: 'https://rails-bestpractices.com'\ndescription: 'A code metric tool for Rails projects'\n"
  },
  {
    "path": "data/tools/rco.yml",
    "content": "name: rco\ncategories:\n  - performance\ntags:\n  - r\nlicense: GPL-3\ntypes:\n  - cli\nsource: \"https://github.com/jcrodriguez1989/rco\"\nhomepage: \"https://jcrodriguez1989.github.io/rco/\"\ndescription: Performance optimizer for R code (with GUI).\n"
  },
  {
    "path": "data/tools/rector.yml",
    "content": "name: rector\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT\ntypes:  \n  - cli\nsource: 'https://github.com/rectorphp/rector'\nhomepage: 'https://getrector.org'\nresources: \n  - title: \"Rector: Install & Setup \"\n    url: https://www.youtube.com/watch?v=_Uk95vG3ezQ\ndemos:\n  - https://getrector.com/demo\ndescription: >-\n    Instant Upgrades and Automated Refactoring of any PHP 5.3+ code.\n    It upgrades your code for PHP 7.4, 8.0 and beyond.\n    Rector promises a low false-positive rate because it looks for narrowly\n    defined AST (abstract syntax tree) patterns. \n    The main use-case are tackling technical debt in your legacy code and removing dead code.\n    Rector provides a set of special rules for Symfony, Doctrine, PHPUnit, and many more.\n"
  },
  {
    "path": "data/tools/redex.yml",
    "content": "name: redex\ncategories:\n  - linter\ntags:\n  - mobile\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/facebook/redex\"\nhomepage: \"https://fbredex.com\"\ndescription: >-\n  Redex provides a framework for reading, writing, and analyzing .dex files, and a set of optimization passes \n  that use this framework to improve the bytecode. An APK optimized by Redex should be smaller and faster.\nresources:\n  - title: droidcon SF 2017 - Redex, Your Build, And You\n    url: https://www.youtube.com/watch?v=vtxJvJj6gSE\n  - title: Optimizing Android bytecode with ReDex\n    url: https://engineering.fb.com/android/optimizing-android-bytecode-with-redex/\n  - title:\n    url: https://www.youtube.com/watch?v=h_Gkl5eAdc4\n"
  },
  {
    "path": "data/tools/reek.yml",
    "content": "name: reek\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/troessner/reek'\nhomepage: 'https://github.com/troessner/reek'\ndescription: Code smell detector for Ruby.\n"
  },
  {
    "path": "data/tools/refactorfirst.yml",
    "content": "name: RefactorFirst\ncategories:\n  - linter\ntags:\n  - ci\n  - java\n  - support\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/jimbethancourt/RefactorFirst'\nhomepage: 'https://github.com/jimbethancourt/RefactorFirst'\ndescription: >-\n  Identifies and prioritizes God Classes and Highly Coupled classes in Java codebases you should refactor first.\n"
  },
  {
    "path": "data/tools/refactoring-essentials.yml",
    "content": "name: Refactoring Essentials\ncategories:\n  - linter\ntags:\n  - csharp\n  - vbnet\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/icsharpcode/RefactoringEssentials'\nhomepage: >-\n  https://marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.RefactoringEssentialsforVisualStudio\ndescription: >-\n  The free Visual Studio 2015 extension for C# and VB.NET refactorings,\n  including code best practice analyzers.\n"
  },
  {
    "path": "data/tools/reflection.yml",
    "content": "name: Reflection\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/phpDocumentor/Reflection\"\nhomepage: \"https://github.com/phpDocumentor/Reflection\"\ndescription: >-\n  Reflection library to do Static Analysis for PHP Projects\n"
  },
  {
    "path": "data/tools/refurb.yml",
    "content": "name: refurb\ncategories:\n  - linter\ntags:\n  - python\nlicense: GPL-3.0\ntypes:  \n  - cli\nsource: 'https://github.com/dosisod/refurb'\nhomepage: 'https://github.com/dosisod/refurb'\ndescription: >-\n    A tool for refurbishing and modernizing Python codebases.\n    Refurb is heavily inspired by clippy, the built-in linter for Rust.\n"
  },
  {
    "path": "data/tools/regal.yml",
    "content": "name: Regal\ncategories:\n  - linter\ntags:\n  - rego\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/styrainc/regal'\nhomepage: 'https://github.com/styrainc/regal'\ndescription: >-\n  Regal is a linter for the policy language Rego. Regal aims to catch bugs and mistakes\n  in policy code, while at the same time helping people learn the language, best practices\n  and idiomatic constructs.\nresources:\n  - title: 'Guarding the Guardrails — Introducing Regal, the Rego Linter'\n    url: 'https://www.styra.com/blog/guarding-the-guardrails-introducing-regal-the-rego-linter'\n  - title: 'Regal the Rego Linter, CNCF London meetup, June 2023 (video)'\n    url: 'https://www.youtube.com/watch?v=Xx8npd2TQJ0&t=2567s'\n"
  },
  {
    "path": "data/tools/relint.yml",
    "content": "name: relint\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - dotnet\n  - java\n  - javascript\n  - jsx\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/codingjoe/relint'\nhomepage: 'https://github.com/codingjoe/relint'\ndescription: >-\n  A static file linter that allows you to write custom rules using regular\n  expressions (RegEx).\n"
  },
  {
    "path": "data/tools/remark-lint.yml",
    "content": "name: remark-lint\ncategories:\n  - linter\ntags:\n  - markdown\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/remarkjs/remark-lint'\nhomepage: 'https://remark.js.org'\ndescription: Pluggable Markdown code style linter written in JavaScript.\n"
  },
  {
    "path": "data/tools/resharper.yml",
    "content": "name: ReSharper\ncategories:\n- linter\ntags:\n- asp\n- csharp\n- javascript\n- typescript\n- vbnet\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://www.jetbrains.com/resharper\ndescription: >-\n  Extends Visual Studio with on-the-fly code inspections for C#, VB.NET, ASP.NET,\n  JavaScript, TypeScript and other technologies.\npricing: https://www.jetbrains.com/buy\n"
  },
  {
    "path": "data/tools/retirejs.yml",
    "content": "name: retire.js\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/RetireJS/retire.js'\nhomepage: 'https://retirejs.github.io/retire.js'\ndescription: Scanner detecting the use of JavaScript libraries with known vulnerabilities.\n"
  },
  {
    "path": "data/tools/rev-dep.yml",
    "content": "name: Rev-dep\ncategories:\n  - linter\ntags:\n  - typescript\n  - javascript\n  - jsx \n  - ci\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/jayu/rev-dep\"\nhomepage: \"https://github.com/jayu/rev-dep\"\ndescription: Dependency analysis and optimization toolkit for modern JavaScript and TypeScript projects. Trace imports, identify circular dependencies, find unused code, clean node modules.\nresources:\n  - title: Install via NPM\n    url: \"https://www.npmjs.com/package/rev-dep\"\n"
  },
  {
    "path": "data/tools/reviewdog.yml",
    "content": "name: Reviewdog\ncategories:\n  - linter\ntags:\n  - ci\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/haya14busa/reviewdog'\nhomepage: 'https://github.com/haya14busa/reviewdog'\ndescription: >-\n  A tool for posting review comments from any linter in any code hosting\n  service.\n"
  },
  {
    "path": "data/tools/revive.yml",
    "content": "name: revive\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/mgechev/revive'\nhomepage: 'https://revive.run'\ndescription: >-\n  Fast, configurable, extensible, flexible, and beautiful linter for Go. Drop-in\n  replacement of golint.\n"
  },
  {
    "path": "data/tools/rhabdomancer.yml",
    "content": "name: rhabdomancer\ncategories:\n  - linter\ntags:\n  - binary\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/0xdea/rhabdomancer\"\nhomepage: \"https://crates.io/crates/rhabdomancer\"\nresources:\n  - title: Streamlining Vulnerability Research with the idalib Rust Bindings for IDA 9.2\n    url: https://hex-rays.com/blog/streamlining-vulnerability-research-idalib-rust-bindings\n  - title: Streamlining vulnerability research with IDA Pro and Rust\n    url: https://hnsecurity.it/blog/streamlining-vulnerability-research-with-ida-pro-and-rust\ndescription: IDA Pro headless plugin that locates calls to potentially insecure API functions in a binary file.\n"
  },
  {
    "path": "data/tools/rips.yml",
    "content": "name: RIPS\ncategories:\n  - linter\ntags:\n  - java\n  - nodejs\n  - php\nlicense: proprietary\ntypes:\n  - cli\nhomepage: https://www.ripstech.com\ndescription: A static source code analyser for vulnerabilities in PHP scripts.\npricing: https://sonarsource.com/plans-and-pricing/\n"
  },
  {
    "path": "data/tools/roodi.yml",
    "content": "name: Roodi\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/roodi/roodi\"\nhomepage: \"https://github.com/roodi/roodi\"\ndescription: >-\n  Roodi stands for Ruby Object Oriented Design Inferometer.\n  It parses your Ruby code and warns you about design issues you have based on the checks that it has configured.\n"
  },
  {
    "path": "data/tools/roslyn-analyzers.yml",
    "content": "name: Roslyn Analyzers\ncategories:\n  - linter\ntags:\n  - csharp\n  - dotnet\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/dotnet/roslyn-analyzers'\nhomepage: 'https://github.com/dotnet/roslyn-analyzers'\ndescription: Roslyn-based implementation of FxCop analyzers.\n"
  },
  {
    "path": "data/tools/roslyn-security-guard.yml",
    "content": "name: Roslyn Security Guard\ncategories:\n  - linter\ntags:\n  - csharp\n  - vbnet\nlicense: GNU Lesser General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/security-code-scan/security-code-scan'\nhomepage: 'https://security-code-scan.github.io'\ndescription: >-\n  Project that focuses on the identification of potential vulnerabilities such\n  as SQL injection, cross-site scripting (XSS), CSRF, cryptography weaknesses,\n  hardcoded passwords and many more.\n"
  },
  {
    "path": "data/tools/roslynator.yml",
    "content": "name: Roslynator\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/JosefPihrt/Roslynator'\nhomepage: 'https://github.com/JosefPihrt/Roslynator'\ndescription: >-\n  A collection of 190+ analyzers and 190+ refactorings for C#, powered by\n  Roslyn.\n"
  },
  {
    "path": "data/tools/rpmlint.yml",
    "content": "name: rpmlint\ncategories:\n  - linter\ntags:\n  - package\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\nsource: 'https://github.com/rpm-software-management/rpmlint'\nhomepage: 'https://github.com/rpm-software-management/rpmlint'\ndescription: Tool for checking common errors in rpm packages.\n"
  },
  {
    "path": "data/tools/rslint.yml",
    "content": "name: RSLint\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/RDambrosio016/RSLint'\nhomepage: 'http://rslint.org/'\ndescription: >-\n  A (WIP) JavaScript linter written in Rust designed to be as fast as possible,\n  customizable, and easy to use.\n"
  },
  {
    "path": "data/tools/rubocop.yml",
    "content": "name: RuboCop\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/rubocop-hq/rubocop'\nhomepage: 'https://docs.rubocop.org/rubocop'\nresources:\n  - title: Ruby Code Linting with RuboCop\n    url: https://www.youtube.com/watch?v=sfOGjcMVQ9U\ndescription: 'A Ruby static code analyzer, based on the community Ruby style guide.'\nreviews:\n  - https://stackshare.io/rubocop"
  },
  {
    "path": "data/tools/rubrowser.yml",
    "content": "name: Rubrowser\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/blazeeboy/rubrowser'\nhomepage: 'https://github.com/blazeeboy/rubrowser'\ndescription: Ruby classes interactive dependency graph generator.\n"
  },
  {
    "path": "data/tools/ruby-lint.yml",
    "content": "name: ruby-lint\ncategories:\n  - linter\ntags:\n  - ruby\ndeprecated: true\nlicense: \"Mozilla Public License, version 2.0\"\ntypes:\n  - cli\nsource: \"https://gitlab.com/yorickpeterse/ruby-lint\"\nhomepage: \"https://gitlab.com/yorickpeterse/ruby-lint\"\ndescription: Static code analysis for Ruby.\n"
  },
  {
    "path": "data/tools/rubycritic.yml",
    "content": "name: rubycritic\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/whitesmith/rubycritic'\nhomepage: 'https://github.com/whitesmith/rubycritic'\ndescription: A Ruby code quality reporter.\n"
  },
  {
    "path": "data/tools/rudra.yml",
    "content": "name: Rudra\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Apache\ntypes:\n  - cli\nsource: https://github.com/sslab-gatech/Rudra\nhomepage: https://github.com/sslab-gatech/Rudra\ndescription: >-\n  Rust Memory Safety & Undefined Behavior Detection. It is capable of analyzing single\n  Rust packages as well as all the packages on crates.io.\n"
  },
  {
    "path": "data/tools/ruff.yml",
    "content": "name: ruff\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/charliermarsh/ruff'\nhomepage: 'https://astral.sh/ruff'\nresources:\n  - title: Python tooling could be much, much faster (announcement)\n    url: https://notes.crmarsh.com/python-tooling-could-be-much-much-faster\ndescription: >-\n   Fast Python linter, written in Rust. 10-100x faster than existing linters.\n   Compatible with Python 3.10. Supports file watcher.\n"
  },
  {
    "path": "data/tools/rufo.yml",
    "content": "name: rufo\ncategories:\n  - formatter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/ruby-formatter/rufo'\nhomepage: 'https://github.com/ruby-formatter/rufo'\ndescription: 'An opinionated ruby formatter, intended to be used via the command line as a text-editor plugin, to autoformat files on save or on demand.'\n"
  },
  {
    "path": "data/tools/rust-analyzer.yml",
    "content": "name: rust-analyzer\ncategories:\n  - formatter\ntags:\n  - rust\nlicense: Other\ntypes:\n  - ide-plugin\nsource: \"https://github.com/rust-analyzer/rust-analyzer\"\nhomepage: \"https://rust-analyzer.github.io\"\ndescription: >-\n  Supports functionality such as 'goto definition', type inference, symbol\n  search, reformatting, and code completion, and enables renaming and\n  refactorings.\n"
  },
  {
    "path": "data/tools/rust-audit.yml",
    "content": "name: rust-audit\ncategories:\n  - linter\ntags:\n  - rust\n  - binary\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/Shnatsel/rust-audit'\nhomepage: 'https://github.com/Shnatsel/rust-audit'\ndescription: >-\n  Audit Rust binaries for known bugs or security vulnerabilities. This works by\n  embedding data about the dependency tree (Cargo.lock) in JSON format into a\n  dedicated linker section of the compiled executable.\n"
  },
  {
    "path": "data/tools/rust-language-server.yml",
    "content": "name: Rust Language Server\ncategories:\n  - formatter\ntags:\n  - rust\nlicense: Other\ntypes:\n  - ide-plugin\nsource: \"https://github.com/rust-lang-nursery/rls\"\nhomepage: \"https://github.com/rust-lang-nursery/rls\"\ndescription: >-\n  Supports functionality such as 'goto definition', symbol search, reformatting,\n  and code completion, and enables renaming and refactorings.\n"
  },
  {
    "path": "data/tools/rustfix.yml",
    "content": "name: rustfix\ncategories:\n  - linter\ntags:\n  - rust\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/rust-lang/rustfix'\nhomepage: 'https://github.com/rust-lang/rustfix'\ndescription: >-\n  Read and apply the suggestions made by rustc (and third-party lints, like\n  those offered by clippy).\n"
  },
  {
    "path": "data/tools/rustfmt.yml",
    "content": "name: rustfmt\ncategories:\n  - formatter\ntags:\n  - rust\nlicense: Apache License\ntypes:\n  - cli\nsource: 'https://github.com/rust-lang/rustfmt'\nhomepage: 'https://github.com/rust-lang/rustfmt'\ndescription: 'A tool for formatting Rust code according to style guidelines.'\n"
  },
  {
    "path": "data/tools/rustviz.yml",
    "content": "name: RustViz\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/rustviz/rustviz'\nhomepage: 'https://github.com/rustviz/rustviz'\ndescription: >-\n  RustViz is a tool that generates visualizations \n  from simple Rust programs to assist users in better \n  understanding the Rust Lifetime and Borrowing mechanism.\n  It generates SVG files with graphical indicators that integrate \n  with mdbook to render visualizations of data-flow in Rust programs.\n"
  },
  {
    "path": "data/tools/safeql.yml",
    "content": "name: SafeQL\ncategories:\n  - linter\ntags:\n  - javascript\n  - typescript\n  - sql\nlicense: MIT\ntypes:  \n  - cli\nsource: 'https://github.com/ts-safeql/safeql'\nhomepage: 'https://safeql.dev'\ndescription: >-\n    Validate and auto-generate TypeScript types from raw SQL queries in\n    PostgreSQL.\n    SafeQL is an ESLint plugin for writing SQL queries in a type-safe way."
  },
  {
    "path": "data/tools/safesql.yml",
    "content": "name: safesql\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/stripe/safesql'\nhomepage: 'https://github.com/stripe/safesql'\ndescription: Static analysis tool for Golang that protects against SQL injections.\n"
  },
  {
    "path": "data/tools/safety.yml",
    "content": "name: Safety\ncategories:\n  - linter\ntags:\n  - python\n  - security\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/pyupio/safety\"\nhomepage: \"https://safetycli.com/\"\ndescription: >-\n  Python dependency vulnerability scanner designed to enhance software supply\n  chain security by detecting packages with known vulnerabilities. Checks\n  Python dependencies against a database of known security vulnerabilities\n  and provides detailed reports. Supports CI/CD integration and multiple\n  output formats."
  },
  {
    "path": "data/tools/saikuro.yml",
    "content": "name: Saikuro\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: BSD License\ntypes:\n  - cli\nsource: 'https://github.com/metricfu/Saikuro'\nhomepage: 'https://metricfu.github.io/Saikuro'\ndescription: 'A Ruby cyclomatic complexity analyzer.'\n"
  },
  {
    "path": "data/tools/sandimeter.yml",
    "content": "name: SandiMeter\ncategories:\n  - linter\ntags:\n  - ruby\ndeprecated: true\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/makaroni4/sandi_meter'\nhomepage: 'https://rubygems.org/gems/sandi_meter'\ndescription: Static analysis tool for checking Ruby code for Sandi Metz' rules.\n"
  },
  {
    "path": "data/tools/sass-lint.yml",
    "content": "name: sass-lint\ncategories:\n  - linter\ntags:\n  - css\ndeprecated: true\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/sasstools/sass-lint'\nhomepage: 'https://github.com/sasstools/sass-lint'\ndescription: A Node-only Sass linter for both sass and scss syntax.\n"
  },
  {
    "path": "data/tools/sast-online.yml",
    "content": "name: SAST Online\ncategories:\n  - linter\ntags:\n  - dart\n  - java\n  - kotlin\n  - mobile\n  - security\nlicense: proprietary\ntypes:\n  - service\npricing: https://sast.online/pricing\nplans:\n  free: true\nsource: \"https://sast.online/\"\nhomepage: \"https://sast.online/\"\ndescription: >-\n    Check the Android Source code thoroughly to uncover and address potential security concerns and vulnerabilities.\n    Static application security testing (Static Code Analysis) tool Online\n"
  },
  {
    "path": "data/tools/scalastyle.yml",
    "content": "name: Scalastyle\ncategories:\n  - linter\ntags:\n  - scala\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/scalastyle/scalastyle'\nhomepage: 'http://www.scalastyle.org'\ndescription: Scalastyle examines your Scala code and indicates potential problems with it.\n"
  },
  {
    "path": "data/tools/scan-build.yml",
    "content": "name: scan-build\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: Apache License v2.0 with LLVM Exceptions\ntypes:\n  - cli\nsource: 'https://clang-analyzer.llvm.org/scan-build.html'\nhomepage: 'https://clang-analyzer.llvm.org/scan-build.html'\ndescription: Frontend to drive the Clang Static Analyzer built into Clang via a regular build.\n"
  },
  {
    "path": "data/tools/scapegoat.yml",
    "content": "name: scapegoat\ncategories:\n  - linter\ntags:\n  - scala\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/sksamuel/scapegoat'\nhomepage: 'https://github.com/sksamuel/scapegoat'\ndescription: Scala compiler plugin for static code analysis.\n"
  },
  {
    "path": "data/tools/scorecard.yml",
    "content": "name: scorecard\ncategories:\n  - linter\ntags:\n  - security\nlicense: Apache-2.0 License\ntypes:\n  - cli\nsource: 'https://github.com/ossf/scorecard'\nhomepage: 'https://github.com/ossf/scorecard'\ndescription: >-\n  Security Scorecards - Security health metrics for Open Source\n"
  },
  {
    "path": "data/tools/scrutinizer.yml",
    "content": "name: Scrutinizer\ncategories:\n  - linter\ntags:\n  - ci\n  - php\n  - python\n  - ruby\n  - java\n  - javascript\n  - go\n  - typescript\nlicense: proprietary\ntypes:\n  - service\ndeprecated: true\nhomepage: https://scrutinizer-ci.com\ndescription: >-\n  A proprietary code quality checker that can be integrated with GitHub.\npricing: https://scrutinizer-ci.com/pricing\nplans:\n  free: false\n  oss: true\n"
  },
  {
    "path": "data/tools/scsslint.yml",
    "content": "name: scsslint\ncategories:\n  - linter\ntags:\n  - css\ndeprecated: true\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/brigade/scss-lint'\nhomepage: 'https://github.com/brigade/scss-lint'\ndescription: Linter for SCSS files.\n"
  },
  {
    "path": "data/tools/security-code-scan.yml",
    "content": "name: Security Code Scan\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - csharp\n  - java\n  - php\n  - vbnet\nlicense: GNU Lesser General Public License v3.0\ntypes:\n  - ide-plugin\nsource: 'https://github.com/security-code-scan/security-code-scan'\nhomepage: 'https://security-code-scan.github.io'\ndescription: >-\n  Security code analyzer for C# and VB.NET. Detects various security\n  vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc. Integrates\n  into Visual Studio 2015 and newer. Detects various security vulnerability\n  patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc.\n"
  },
  {
    "path": "data/tools/semgrep-supply-chain.yml",
    "content": "name: Semgrep Supply Chain\ncategories:\n  - linter\ntags:\n  - go\n  - java\n  - javascript\n  - python\n  - ruby\n  - typescript\n  - security\nlicense: proprietary\ntypes:\n  - service\nhomepage: 'https://semgrep.dev/products/semgrep-supply-chain'\nresources:\n  - title: Reachability analysis in Semgrep Supply Chain\n    url: https://www.youtube.com/watch?v=dzmiQXhVMAw\n  - title: \"It's time to ignore 98% of dependency alerts\"\n    url: https://r2c.dev/blog/2022/introducing-semgrep-supply-chain/\ndescription: >-\n  Quickly find and remediate high-priority security issues. \n  Semgrep Supply Chain prioritizes the 2% of vulnerabilities that are reachable from your code.\n"
  },
  {
    "path": "data/tools/semgrep.yml",
    "content": "name: Semgrep\ncategories:\n  - linter\ntags:\n  - c\n  - ci\n  - configmanagement\n  - csharp\n  - dockerfile\n  - go\n  - java\n  - javascript\n  - json\n  - jsx\n  - kubernetes\n  - nodejs\n  - ocaml\n  - php\n  - python\n  - rails\n  - ruby\n  - security\n  - terraform\n  - typescript\n  - yaml\nlicense: GNU Lesser General Public License v2.1\ntypes:\n  - cli\n  - service\nsource: 'https://github.com/returntocorp/semgrep'\nhomepage: 'https://semgrep.dev'\nresources:\n  - title: Semgrep Quick Start Tutorial\n    url: https://www.youtube.com/watch?v=8jyp8DkhmYo\n  - title: Semgrep presentation by r2c at Bay Area OWASP Meetup\n    url: https://www.youtube.com/watch?v=pul1bRIOYc8\ndescription: >-\n  A fast, open-source, static analysis tool\n  for finding bugs and enforcing code standards\n  at editor, commit, and CI time.\n  Its rules look like the code you already write; \n  no abstract syntax trees or regex wrestling.\n  Supports 17+ languages.\nreviews:\n  - https://stackshare.io/semgrep\ndemos:\n  - https://semgrep.dev/playground"
  },
  {
    "path": "data/tools/seqra.yml",
    "content": "name: Seqra\ncategories:\n  - linter\ntags:\n  - security\n  - java\n  - spring\n  - kotlin\n  - ci\n  - yaml\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/seqra/seqra'\nhomepage: 'https://seqra.dev'\nresources:\n  - title: 'Static Analysis Showdown: How Semgrep, CodeQL, and Seqra Handle XSS Detection'\n    url: https://seqra.dev/blog/semgrep-vs-codeql-vs-seqra\ndescription: >-\n  Security-focused static analyzer for Java and Kotlin web applications.\n  Analyzes bytecode with Semgrep-style YAML rules and CodeQL-grade dataflow\n  (with first-class Spring support) to find vulnerabilities\n  that source-only scanners miss.\n"
  },
  {
    "path": "data/tools/sh.yml",
    "content": "name: sh\ncategories:\n  - linter\ntags:\n  - shell\nlicense: BSD-3-Clause License \ntypes:\n  - cli\nsource: 'https://github.com/mvdan/sh'\nhomepage: 'https://pkg.go.dev/mvdan.cc/sh/v3'\ndescription: 'A shell parser, formatter, and interpreter with bash support; includes shfmt'\n"
  },
  {
    "path": "data/tools/shellcheck.yml",
    "content": "name: shellcheck\ncategories:\n  - linter\ntags:\n  - shell\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/koalaman/shellcheck'\nhomepage: 'https://www.shellcheck.net'\ndescription: >-\n  ShellCheck, a static analysis tool that gives warnings and suggestions for\n  bash/sh shell scripts.\n"
  },
  {
    "path": "data/tools/shellharden.yml",
    "content": "name: shellharden\ncategories:\n  - linter\ntags:\n  - shell\nlicense: MPL-2.0 License \ntypes:\n  - cli\nsource: 'https://github.com/anordal/shellharden'\nhomepage: 'https://github.com/anordal/shellharden'\ndescription: 'A syntax highlighter and a tool to semi-automate the rewriting of scripts to ShellCheck conformance, mainly focused on quoting.'\n"
  },
  {
    "path": "data/tools/shiftleft-scan.yml",
    "content": "name: ShiftLeft Scan\ncategories:\n  - linter\ntags:\n  - apex\n  - configmanagement\n  - container\n  - go\n  - groovy\n  - java\n  - json\n  - jsp\n  - kotlin\n  - nodejs\n  - php\n  - plsql\n  - python\n  - ruby\n  - rust\n  - scala\n  - shell\n  - vbasic\n  - yaml\nlicense: Other\ndeprecated: true\ntypes:\n  - cli\n  - service\nsource: \"https://github.com/ShiftLeftSecurity/sast-scan\"\nhomepage: \"https://github.com/ShiftLeftSecurity/sast-scan\"\ndescription: >-\n  Scan is a free open-source DevSecOps platform for detecting security issues in\n  source code and dependencies. It supports a broad range of languages and CI/CD\n  pipelines.\n  Note: ShiftLeft rebranded to Qwiet AI in 2023, which was subsequently acquired\n  by Harness in September 2025. This open-source project is no longer maintained.\n"
  },
  {
    "path": "data/tools/shipshape.yml",
    "content": "name: shipshape\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - java\n  - php\ndeprecated: true\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: \"https://github.com/google/shipshape\"\nhomepage: \"https://github.com/google/shipshape\"\ndescription: >-\n  Static program analysis platform that allows custom analyzers to plug in\n  through a common interface.\n"
  },
  {
    "path": "data/tools/shisho.yml",
    "content": "name: shisho\ncategories:\n  - linter\ntags:\n  - go\n  - terraform\nlicense: AGPL-3.0 \ntypes:\n  - cli\n  - service\nsource: 'https://github.com/flatt-security/shisho'\nhomepage: 'https://github.com/flatt-security/shisho'\ndescription: >-\n  A lightweight static code analyzer designed for developers and security teams.\n  It allows you to analyze and transform source code with an intuitive DSL similar\n  to sed, but for code.\n"
  },
  {
    "path": "data/tools/sigrid.yml",
    "content": "name: Sigrid\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - csharp\n  - delphi\n  - go\n  - groovy\n  - java\n  - javascript\n  - kotlin\n  - lua\n  - nodejs\n  - objectivec\n  - perl\n  - php\n  - plsql\n  - powershell\n  - python\n  - r\n  - ruby\n  - rust\n  - scala\n  - shell\n  - sql\n  - swift\n  - typescript\n  - vbnet\n  - vue\nlicense: proprietary\ntypes:\n  - cli\n  - service\nhomepage: https://www.softwareimprovementgroup.com/solutions/sigrid-software-assurance-platform/\ndescription: >-\n  Sigrid helps you to improve your software by measuring your system's code quality, \n  and then compares the results against a benchmark of thousands of industry systems\n  to give you concrete advice on areas where you can improve.\nresources:\n  - title: \"Sigrid Security | Security without headache\"\n    url: https://www.youtube.com/watch?v=mpQxzdv4oc8\n  - title: Sigrid Open Source Health module\n    url: https://www.youtube.com/watch?v=UvhV9dyXWIU\npricing: https://www.softwareimprovementgroup.com/contact/\nplans:\n  free: false\n  oss: false\nreviews:\n  - https://www.capterra.com/p/219140/Sigrid/  \n"
  },
  {
    "path": "data/tools/similarity-tester.yml",
    "content": "name: Similarity Tester \ntags:\n  - asm\n  - c\n  - cpp\n  - java\n  - pascal\n  - lisp\ncategories:\n  - linter\nlicense: BSD 3-Clause Revised License\ntypes:\n  - service\nhomepage: 'https://dickgrune.com/Programs/similarity_tester/'\ndescription: A tool that finds similarities between or within files to support you encountering DRY principle violations.\n"
  },
  {
    "path": "data/tools/skunk.yml",
    "content": "name: Skunk\ncategories:\n  - linter\ntags:\n  - ruby\n  - rails\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/fastruby/skunk\"\nhomepage: \"https://github.com/fastruby/skunk\"\ndescription: >-\n  A SkunkScore Calculator for Ruby Code -- Find the most complicated code without test coverage!\n"
  },
  {
    "path": "data/tools/skylos.yml",
    "content": "name: Skylos                                                         \ncategories:                                                          \n  - linter                                                           \ntags:                                                                \n  - python                                                           \n  - typescript                                                       \n  - go                                                               \n  - security   \ntypes:                                                               \n  - cli  \nhomepage: https://github.com/duriantaco/skylos                       \nsource: https://github.com/duriantaco/skylos                         \nlicense: Apache 2.0                                                         \ndescription: 'Dead code detection, security scanning, secrets detection, and code quality analysis for Python, TypeScript, and Go. Framework-aware analysis with 98% recall. Includes CI/CD GitHub Action, VS Code extension, and MCP server for AI agent integration.'\n"
  },
  {
    "path": "data/tools/sleek.yml",
    "content": "name: sleek\ncategories:\n  - formatter\ntags:\n  - sql\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/nrempel/sleek\"\nhomepage: \"https://github.com/nrempel/sleek\"\ndescription: >-\n  Sleek is a CLI tool for formatting SQL. \n  It helps you maintain a consistent style across your SQL code, enhancing readability and productivity.\n  The heavy lifting is done by the sqlformat crate.\n"
  },
  {
    "path": "data/tools/slim-lint.yml",
    "content": "name: slim-lint\ncategories:\n  - linter\ntags:\n  - template\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/sds/slim-lint'\nhomepage: 'https://github.com/sds/slim-lint'\ndescription: Configurable tool for analyzing Slim templates.\n"
  },
  {
    "path": "data/tools/slither.yml",
    "content": "name: slither\ncategories:\n  - formatter\ntags:\n  - smart-contracts\nlicense: GNU Affero General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/trailofbits/slither'\nhomepage: 'https://github.com/trailofbits/slither'\ndescription: >-\n  Static analysis framework that runs a suite of vulnerability detectors, prints\n  visual information about contract details, and provides an API to easily write\n  custom analyses.\n"
  },
  {
    "path": "data/tools/snyk.yml",
    "content": "name: Snyk Code\ncategories:\n  - linter\ntags:\n  - ci\n  - container\n  - go\n  - java\n  - javascript\n  - php\n  - python\n  - ruby\n  - security\n  - typescript\n  - csharp\nlicense: proprietary\ntypes:\n  - service\nhomepage: 'https://snyk.io'\npricing: https://snyk.io/plans/\nplans:\n  free: true\n  oss: true\ndescription: >-\n  Snyk Code finds security vulnerabilities based on AI. Its speed of analysis allow us to\n  analyse your code in real time and deliver results when you hit the save button in your IDE.\n  Supported languages are Java, JavaScript, Python, PHP, C#, Go and TypeScript. Integrations with\n  GitHub, BitBucket and Gitlab. It is free to try and part of the Snyk platform also covering SCA,\n  containers and IaC.\nresources:\n  - title: Product homepage\n    url: https://snyk.io/product/snyk-code/\n  - title: Intro to Snyk Code Video\n    url: https://www.youtube.com/watch?v=fNYf0fgWOFQ\n"
  },
  {
    "path": "data/tools/sobelow.yml",
    "content": "name: sobelow\ncategories:\n  - linter\ntags:\n  - elixir\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/nccgroup/sobelow'\nhomepage: 'https://github.com/nccgroup/sobelow'\ndescription: Security-focused static analysis for the Phoenix Framework.\n"
  },
  {
    "path": "data/tools/solhint.yml",
    "content": "name: solhint\ncategories:\n  - linter\ntags:\n  - smart-contracts\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/protofire/solhint'\nhomepage: 'https://protofire.github.io/solhint'\ndescription: >-\n  Solhint is an open source project created by https://protofire.io. Its goal is\n  to provide a linting utility for Solidity code.\n"
  },
  {
    "path": "data/tools/solium.yml",
    "content": "name: solium\ncategories:\n  - linter\ntags:\n  - smart-contracts\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/duaraghav8/Solium'\nhomepage: 'https://ethlint.readthedocs.io/en/latest'\ndescription: >-\n  Solium is a linter to identify and fix style and security issues in Solidity\n  smart contracts.\n"
  },
  {
    "path": "data/tools/sonar-delphi.yml",
    "content": "name: SonarDelphi\ncategories:\n  - linter\ntags:\n  - delphi\nlicense: LGPL-3.0-only license\ntypes:\n  - cli\nsource: 'https://github.com/integrated-application-development/sonar-delphi'\nhomepage: 'https://github.com/integrated-application-development/sonar-delphi'\ndescription: Delphi static analyzer for the SonarQube code quality platform.\n"
  },
  {
    "path": "data/tools/sonarqube-cloud.yml",
    "content": "name: SonarQube Cloud\ncategories:\n  - linter\ntags:\n  - abap\n  - apex\n  - arm\n  - c\n  - cpp\n  - cloudformation\n  - cobol\n  - csharp\n  - css\n  - dockerfile\n  - go\n  - html\n  - java\n  - javascript\n  - kotlin\n  - kubernetes\n  - objectivec\n  - php\n  - plsql\n  - python\n  - ruby\n  - scala\n  - swift\n  - terraform\n  - typescript\n  - tsql\n  - vbnet\n  - xml\n  - ci\n  - security\nlicense: proprietary\ntypes:\n  - service\nhomepage: https://sonarcloud.io\ndescription: >-\n  SonarQube Cloud enables your team to deliver clean code consistently and efficiently with a code review \n  tool that easily integrates into the cloud DevOps platforms and extend your CI/CD workflow. \n  SonarQube Cloud provides a free plan.\npricing: https://sonarcloud.io/pricing\nplans:\n  free: false\n  oss: true\nreviews:\n  - https://www.gartner.com/reviews/market/application-security-testing/vendor/sonarsource/product/sonarcloud\n  - https://www.peerspot.com/products/sonarcloud-reviews\n  - https://www.g2.com/products/sonarcloud/reviews\n"
  },
  {
    "path": "data/tools/sonarqube-for-ide.yml",
    "content": "name: SonarQube for IDE\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - cloudformation\n  - cobol\n  - csharp\n  - css\n  - dockerfile\n  - go\n  - html\n  - java\n  - javascript\n  - kotlin\n  - kubernetes\n  - php\n  - plsql\n  - python\n  - ruby\n  - scala\n  - swift\n  - terraform\n  - typescript\n  - tsql\n  - vbnet\n  - xml\n  - security\nlicense: GNU Lesser General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/SonarSource/sonarlint-intellij'\nhomepage: 'https://sonarlint.org'\ndescription: >-\n  SonarQube for IDE (formerly SonarLint) is a free IDE extension available for IntelliJ, VS Code, Visual Studio, and Eclipse, \n  to find and fix coding issues in real-time, flagging issues as you code, just like a spell-checker. \n  More than a linter, it also delivers rich contextual guidance to help developers understand \n  why there is an issue, assess the risk, and educate them on how to fix it.\n"
  },
  {
    "path": "data/tools/sonarqube-server.yml",
    "content": "name: SonarQube Server\ncategories:\n  - linter\ntags:\n  - abap\n  - apex\n  - arm\n  - c\n  - cpp\n  - cloudformation\n  - cobol\n  - csharp\n  - css\n  - dockerfile\n  - go\n  - html\n  - java\n  - javascript\n  - kotlin\n  - kubernetes\n  - objectivec\n  - php\n  - plsql\n  - python\n  - ruby\n  - scala\n  - swift\n  - terraform\n  - typescript\n  - tsql\n  - vbnet\n  - xml\n  - ci\n  - security\nlicense: GNU Lesser General Public License v3.0\ntypes:\n  - service\nsource: \"https://github.com/SonarSource/sonarqube\"\nhomepage: \"https://sonarqube.org\"\ndescription: SonarQube empowers development teams with a code quality and security solution\n  that deeply integrates into your enterprise environment;\n  enabling you to deploy clean code consistently and reliably.\n  SonarQube provides a free and open source Community Build.\npricing: \"https://www.sonarsource.com/plans-and-pricing/\"\nresources:\n  - title: Write Cleaner, Safer, Modern C++ Code with SonarQube\n    url: https://www.youtube.com/watch?v=WPHVPbxCAwE\n  - title: Write cleaner, safer Python code with SonarQube\n    url: https://www.youtube.com/watch?v=ow-yuIlCuHk\ndemos:\n  - https://next.sonarqube.com/sonarqube/projects\nreviews:\n  - https://www.gartner.com/reviews/market/application-security-testing/vendor/sonarsource/product/sonarqube\n  - https://www.capterra.com/p/210481/SonarQube/\n  - https://www.peerspot.com/products/sonarqube-reviews\n"
  },
  {
    "path": "data/tools/sonatype.yml",
    "content": "name: Sonatype\ncategories:\n  - linter\ntags:\n  - ci\n  - security\n  - java\n  - kotlin\n  - go\n  - scala\n  - clojure\n  - groovy\n  - javascript\n  - coffeescript\n  - csharp\n  - vbasic\n  - fsharp\n  - python\n  - ruby\n  - swift\n  - php\n  - objectivec\n  - c\n  - cpp\n  - rust\n  - r\nlicense: proprietary\ntypes:\n  - service\nsource: https://www.sonatype.com\nhomepage: https://www.sonatype.com\ndescription: >-\n  Reports known vulnerabilities in common dependencies and recommends updated packages\n  to minimize breaking changes\npricing: https://www.sonatype.com/products/pricing\n"
  },
  {
    "path": "data/tools/soot.yml",
    "content": "name: Soot\ncategories:\n  - linter\ntags:\n  - java\nlicense: GNU Lesser General Public License v2.1\ntypes:\n  - cli\nsource: 'https://github.com/soot-oss/soot'\nhomepage: 'https://soot-oss.github.io/soot'\ndescription: A framework for analyzing and transforming Java and Android applications.\n"
  },
  {
    "path": "data/tools/sorbet.yml",
    "content": "name: Sorbet\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/sorbet/sorbet'\nhomepage: 'https://sorbet.org'\ndescription: 'A fast, powerful type checker designed for Ruby.'\n"
  },
  {
    "path": "data/tools/soto.yml",
    "content": "name: Soto Platform\ncategories:\n  - linter\ntags:\n  - abap\n  - c\n  - cpp\n  - csharp\n  - php\n  - typescript\n  - java\nlicense: proprietary\ntypes:\n  - cli\nhomepage: \"https://www.hello2morrow.com/products/sotograph\"\ndescription: >-\n    Suite of static analysis tools consisting of the three components\n    Sotoarc (Architecture Analysis), Sotograph (Quality Analysis), and Sotoreport (Quality report).\n    Helps find differences between architecture and implementation, interface violations (e.g. external access of private\n    parts of subsystems, detection of all classes, files, packages and subsystems which are strongly coupled by cyclical relationships\n    and more.\n    The Sotograph product family runs on Windows and Linux. \n"
  },
  {
    "path": "data/tools/sourcemeter.yml",
    "content": "name: SourceMeter\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - java\n  - csharp\n  - python\nlicense: proprietary\ntypes:\n  - cli\nhomepage: https://www.sourcemeter.com/\ndescription: >-\n  Static Code Analysis for C/C++, Java, C#, Python, and RPG III and RPG IV versions\n  (including free-form).\npricing: https://www.sourcemeter.com/download\nplans:\n  free: true\n  oss: false\n"
  },
  {
    "path": "data/tools/spark.yml",
    "content": "name: SPARK\ncategories:\n- linter\ntags:\n- ada\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://www.adacore.com/about-spark\ndescription: Static analysis and formal verification toolset for Ada.\npricing: https://www.adacore.com/pricing\n"
  },
  {
    "path": "data/tools/specificity-graph.yml",
    "content": "name: Specificity Graph\ncategories:\n  - linter\ntags:\n  - css\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/pocketjoso/specificity-graph\"\nhomepage: \"https://github.com/pocketjoso/specificity-graph\"\ndescription: CSS Specificity Graph Generator.\n"
  },
  {
    "path": "data/tools/spectral.yml",
    "content": "name: Spectral\ncategories:\n  - linter\ntags:\n  - json\n  - yaml\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/stoplightio/spectral'\nhomepage: 'https://stoplight.io/open-source/spectral'\ndescription: >-\n  A flexible JSON/YAML linter, with out-of-the-box support for OpenAPI v2/v3 and\n  AsyncAPI v2.\n"
  },
  {
    "path": "data/tools/splint.yml",
    "content": "name: splint\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/ravenexp/splint'\nhomepage: 'http://splint.org'\ndescription: Annotation-assisted static program checker.\n"
  },
  {
    "path": "data/tools/spoon.yml",
    "content": "name: Spoon\ncategories:\n  - formatter\ntags:\n  - java\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/INRIA/spoon'\nhomepage: 'https://spoon.gforge.inria.fr'\ndescription: >-\n  Spoon is a metaprogramming library to analyze and transform Java source code\n  (incl Java 9, 10, 11, 12, 13, 14). It parses source files to build a\n  well-designed AST with powerful analysis and transformation API. Can be\n  integrated in Maven and Gradle.\n"
  },
  {
    "path": "data/tools/spotbugs.yml",
    "content": "name: SpotBugs\ncategories:\n  - linter\ntags:\n  - java\nlicense: GNU Lesser General Public License v2.1\ntypes:\n  - cli\nsource: 'https://github.com/spotbugs/spotbugs'\nhomepage: 'https://spotbugs.github.io'\ndescription: >-\n  SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs\n  in Java code.\n"
  },
  {
    "path": "data/tools/sqlcheck.yml",
    "content": "name: sqlcheck\ncategories:\n  - linter\ntags:\n  - sql\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/jarulraj/sqlcheck'\nhomepage: 'https://github.com/jarulraj/sqlcheck'\nresources:\n  - title: \"SQLCheck: Automated Detection and Diagnosis of SQL Anti-Patterns\"\n    url: https://www.youtube.com/watch?v=5vHhuuPy3FI\ndescription: Automatically identify anti-patterns in SQL queries.\n"
  },
  {
    "path": "data/tools/sqlfluff.yml",
    "content": "name: SQLFluff\ncategories:\n  - linter\n  - formatter\ntags:\n  - sql\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/sqlfluff/sqlfluff'\nhomepage: 'https://www.sqlfluff.com/'\ndescription: Multiple dialect SQL linter and formatter.\nresources:\n  - title: Official SQLFluff documentation\n    url: https://docs.sqlfluff.com/en/stable/\n"
  },
  {
    "path": "data/tools/sqlint.yml",
    "content": "name: sqlint\ncategories:\n  - linter\ntags:\n  - sql\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/purcell/sqlint'\nhomepage: 'https://github.com/purcell/sqlint'\ndescription: Simple SQL linter.\n"
  },
  {
    "path": "data/tools/sqlvet.yml",
    "content": "name: sqlvet\ncategories:\n  - linter\ntags:\n  - go\n  - sql\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/houqp/sqlvet'\nhomepage: 'https://github.com/houqp/sqlvet'\ndescription: >-\n   Performs static analysis on raw SQL queries in your Go code base to surface potential runtime errors.\n   It checks for SQL syntax error, identifies unsafe queries that could potentially lead to SQL injections\n   makes sure column count matches value count in INSERT statements and validates table- and column names.\n"
  },
  {
    "path": "data/tools/squawk.yml",
    "content": "name: squawk\ncategories:\n  - linter\ntags:\n  - sql\nlicense: GPL-3.0 License \ntypes:\n  - cli\nsource: 'https://github.com/sbdchd/squawk'\nhomepage: 'https://squawkhq.com'\ndescription: >-\n  Linter for PostgreSQL, focused on migrations.\n  Prevents unexpected downtime caused by database migrations and encourages best practices around Postgres schemas and SQL.\n"
  },
  {
    "path": "data/tools/stan.yml",
    "content": "name: Stan\ncategories:\n  - linter\ntags:\n  - haskell\nlicense: Mozilla Public License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/kowainik/stan'\nhomepage: 'https://kowainik.github.io/projects/stan'\ndescription: >-\n  Stan is a command-line tool for analysing Haskell projects and outputting\n  discovered vulnerabilities in a helpful way with possible solutions for\n  detected problems.\n"
  },
  {
    "path": "data/tools/standard-ruby.yml",
    "content": "name: Standard Ruby\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/testdouble/standard'\nhomepage: 'https://github.com/testdouble/standard'\ndescription: >-\n  Ruby Style Guide, with linter & automatic code fixer\n"
  },
  {
    "path": "data/tools/standard.yml",
    "content": "name: standard\ncategories:\n  - linter\ntags:\n  - javascript\n  - nodejs\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/standard/standard'\nhomepage: 'http://standardjs.com'\ndescription: An npm module that checks for Javascript Styleguide issues.\n"
  },
  {
    "path": "data/tools/staticcheck.yml",
    "content": "name: staticcheck\ncategories:\n  - linter\ntags:\n  - go\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/dominikh/go-tools'\nhomepage: 'https://staticcheck.io'\nresources:\n  - title: \"GopherCon 2019: Denis Isaev - Go Linters: Myths and Best Practices\"\n    url: https://www.youtube.com/watch?v=1U-Gzz4TYP0\ndescription: >-\n  Go static analysis that specialises in finding bugs, simplifying code and\n  improving performance.\n"
  },
  {
    "path": "data/tools/staticlint.yml",
    "content": "name: StaticLint\ncategories:\n  - linter\ntags:\n  - julia\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/julia-vscode/StaticLint.jl'\nhomepage: 'https://github.com/julia-vscode/StaticLint.jl'\ndescription: Static Code Analysis for Julia\n"
  },
  {
    "path": "data/tools/staticreviewer.yml",
    "content": "name: StaticReviewer\ncategories:\n  - linter\ntags:\n  - csharp\n  - vbnet\n  - asp\n  - aspnet\n  - java\n  - javascript\n  - jsp\n  - json\n  - typescript\n  - apex\n  - python\n  - r\n  - go\n  - kotlin\n  - clojure\n  - groovy\n  - actionscript\n  - powershell\n  - rust\n  - lua\n  - xml\n  - c\n  - cpp\n  - php\n  - scala\n  - objectivec\n  - swift\n  - shell\n  - cobol\n  - plsql\n  - vba\n  - abap\n  - sql\n  - tsql\nlicense: proprietary\ntypes:\n  - cli\nhomepage: >-\n  https://securityreviewer.atlassian.net/wiki/spaces/KC/pages/196633/Static+Reviewer\ndescription: >-\n  Static Reviewer executes code checks according to the most relevant Secure Coding Standards, OWASP, CWE, CVE, CVSS, MISRA, CERT,\n  for 40+ programming languages, using 1000+ built-in validation rules for Security, Deadcode & Best Practices\n  Available a module for Software Composition Analysis (SCA) to find vulnerabilities in open source and third party libraries.\n"
  },
  {
    "path": "data/tools/statix.yml",
    "content": "name: statix\ncategories:\n  - linter\ntags:\n  - nix\nlicense: MIT\ntypes:\n  - cli\nsource: \"https://github.com/nerdypepper/statix\"\nhomepage: \"https://github.com/nerdypepper/statix\"\ndescription: >-\n  Lints and suggestions for the Nix programming language.\n  \"statix check\" highlights antipatterns in Nix code. \"statix fix\" can fix several such occurrences.\n"
  },
  {
    "path": "data/tools/stc.yml",
    "content": "name: stc\ncategories:\n  - linter\ntags:\n  - typescript\nlicense: Apache-2.0\ntypes:  \n  - cli\nsource: 'https://github.com/dudykr/stc'\nhomepage: 'https://stc.dudy.dev'\ndescription: >-\n    Speedy TypeScript type checker written in Rust"
  },
  {
    "path": "data/tools/steady.yml",
    "content": "name: steady\ncategories:\n  - linter\ntags:\n  - java\nlicense: Apache-2.0\ntypes:\n  - cli\ndeprecated: true\nsource: \"https://github.com/eclipse/steady\"\nhomepage: \"https://eclipse.github.io/steady/\"\ndescription: >-\n  Analyses your Java applications for open-source dependencies with known\n  vulnerabilities, using both static analysis and testing to determine code\n  context and usage for greater accuracy.\n"
  },
  {
    "path": "data/tools/steampunk-spotter.yml",
    "content": "name: Steampunk Spotter\ncategories:\n  - linter\n  - formatter\ntags:\n  - ansible\n  - configmanagement\n  - security\nlicense: proprietary\ntypes:\n  - cli\n  - gui\n  - service\n  - ide-plugin\nsource: 'https://gitlab.com/xlab-steampunk/steampunk-spotter-client/spotter-cli'\nhomepage: 'https://steampunk.si/spotter/'\npricing: 'https://steampunk.si/spotter/pricing'\nplans:\n  free: true\n  oss: false\nresources:\n  - title: 'Steampunk Spotter: Simplify and Speed up Ansible Upgrades'\n    url: https://www.youtube.com/watch?v=JIzph_gqf08\n  - title: 'Steampunk Spotter: Demo'\n    url: https://www.youtube.com/watch?v=yeggNPmtv04\ndescription: 'Ansible Playbook Scanning Tool that analyzes and offers recommendations for your playbooks.'\n"
  },
  {
    "path": "data/tools/steep.yml",
    "content": "name: Steep\ncategories:\n  - linter\ntags:\n  - ruby\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/soutaro/steep'\nhomepage: 'https://github.com/soutaro/steep'\ndescription: 'Gradual Typing for Ruby.'\n"
  },
  {
    "path": "data/tools/stoke.yml",
    "content": "name: STOKE\ncategories:\n  - formatter\ntags:\n  - asm\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/StanfordPL/stoke'\nhomepage: 'https://github.com/StanfordPL/stoke'\ndescription: >-\n  A programming-language agnostic stochastic optimizer for the x86_64\n  instruction set. It uses random search to explore the extremely\n  high-dimensional space of all possible program transformations.\n"
  },
  {
    "path": "data/tools/structcheck.yml",
    "content": "name: structcheck\ncategories:\n  - linter\ntags:\n  - go\nlicense: GPL-3.0-only (original text)\ntypes:\n  - cli\nsource: 'https://gitlab.com/opennota/check'\nhomepage: 'https://gitlab.com/opennota/check'\ndescription: Find unused struct fields.\n"
  },
  {
    "path": "data/tools/structslop.yml",
    "content": "name: structslop\ncategories:\n  - linter\n  - formatter\ntags:\n  - go\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/orijtech/structslop'\nhomepage: 'https://github.com/orijtech/structslop'\ndescription: Static analyzer for Go that recommends struct field rearrangements to provide for maximum space/allocation efficiency\n"
  },
  {
    "path": "data/tools/stylelint.yml",
    "content": "name: Stylelint\ncategories:\n  - linter\ntags:\n  - css\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/stylelint/stylelint'\nhomepage: 'http://stylelint.io'\ndescription: Linter for SCSS/CSS files.\n"
  },
  {
    "path": "data/tools/styler.yml",
    "content": "name: styler\ncategories:\n  - formatter\ntags:\n  - r\nlicense: GPL-3\ntypes:\n  - cli\nsource: 'https://github.com/r-lib/styler'\nhomepage: 'https://styler.r-lib.org'\ndescription: Formatting of R source code files and pretty-printing of R code.\n"
  },
  {
    "path": "data/tools/super-linter.yml",
    "content": "name: Super-Linter\ncategories:\n  - linter\ntags:\n  - coffeescript\n  - configmanagement\n  - container\n  - go\n  - javascript\n  - json\n  - markdown\n  - perl\n  - python\n  - ruby\n  - shell\n  - typescript\n  - xml\n  - yaml\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/github/super-linter'\nhomepage: 'https://github.com/github/super-linter'\nresources:\n  - title: \"The Easiest Way to Lint Your Code: GitHub Super Linter Deep Dive\"\n    url: https://www.youtube.com/watch?v=BCrtoZ04L1Y\ndescription: Combination of multiple linters to install as a GitHub Action.\n"
  },
  {
    "path": "data/tools/svace.yml",
    "content": "name: Svace\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - csharp\n  - java\n  - go\n  - security\nlicense: proprietary\ntypes:\n  - cli\nhomepage: https://www.ispras.ru/en/technologies/svace/\ndescription: >-\n  Static code analysis tool for Java,C,C++,C#,Go.\n"
  },
  {
    "path": "data/tools/svf.yml",
    "content": "name: SVF\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/SVF-tools/SVF'\nhomepage: 'https://svf-tools.github.io/SVF'\ndescription: >-\n  A static tool that enables scalable and precise interprocedural dependence\n  analysis for C and C++ programs.\n"
  },
  {
    "path": "data/tools/svls.yml",
    "content": "name: svls\ncategories:\n  - linter\ntags:\n  - verilog\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/dalance/svls'\nhomepage: 'https://github.com/dalance/svls'\ndescription: >-\n  A Language Server Protocol implementation for Verilog and\n  SystemVerilog, including lint capabilities.\n"
  },
  {
    "path": "data/tools/swiftformat.yml",
    "content": "name: SwiftFormat\ncategories:\n  - formatter\ntags:\n  - swift\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/nicklockwood/SwiftFormat'\nhomepage: 'https://github.com/nicklockwood/SwiftFormat'\ndescription: A library and command-line formatting tool for reformatting Swift code.\n"
  },
  {
    "path": "data/tools/swiftlint.yml",
    "content": "name: SwiftLint\ncategories:\n  - linter\ntags:\n  - swift\nlicense: MIT License\ntypes:\n  - cli\n  - ide-plugin\nsource: \"https://github.com/realm/SwiftLint\"\nhomepage: \"https://realm.github.io/SwiftLint\"\ndescription: A tool to enforce Swift style and conventions.\nresources:\n  - title: \"Mastering SwiftLint for Code Readability\"\n    url: \"https://www.youtube.com/watch?v=4YQ6DJ-xovY\"\n  - title: \"The Road to Cleaner Code w/ SwiftLint\"\n    url: https://academy.realm.io/posts/slug-jp-simard-swiftlint/\nreviews:\n  - https://plugins.jetbrains.com/plugin/9175-swiftlint\n"
  },
  {
    "path": "data/tools/symfony-insight.yml",
    "content": "name: Symfony Insight\ncategories:\n- linter\ntags:\n- php\n- ci\n- security\nlicense: proprietary\ntypes:\n- service\nhomepage: https://insight.symfony.com/\ndescription: >-\n  Detect security risks, find bugs and provide actionable metrics for PHP projects.\npricing: https://insight.symfony.com/pricing\n"
  },
  {
    "path": "data/tools/synopsys.yml",
    "content": "name: Synopsys\ncategories:\n  - linter\ntags:\n  - c\n  - ci\n  - cpp\n  - csharp\n  - fortran\n  - java\n  - javascript\n  - mobile\n  - nodejs\n  - php\n  - python\n  - ruby\n  - swift\nlicense: proprietary\ntypes:\n  - cli\nhomepage: >-\n  https://www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html\npricing: https://www.blackduck.com/static-analysis-tools-sast/coverity/get-pricing.html\nplans:\n  free: false\n  oss: true\ndescription: >-\n  A commercial static analysis platform that allows for scanning of multiple\n  languages (C/C++, Android, C#, Java, JS, PHP, Python, Node.JS, Ruby, Fortran,\n  and Swift).\n"
  },
  {
    "path": "data/tools/sys.yml",
    "content": "name: Sys\ncategories:\n  - linter\ntags:\n  - ocaml\nlicense: GPL-2.0 License\ntypes:\n  - cli\nsource: 'https://github.com/PLSysSec/sys'\nhomepage: 'https://github.com/PLSysSec/sys'\ndescription: >-\n  A static/symbolic Tool for finding bugs in (browser) code.\n  It uses the LLVM AST to find bugs like uninitialized memory access.\n"
  },
  {
    "path": "data/tools/sysdig.yml",
    "content": "name: sysdig\ncategories:\n  - linter\ntags:\n  - container\ntypes:\n  - service\nlicense: proprietary\nhomepage: 'https://sysdig.com/'\ndescription: >-\n  A secure DevOps platform for cloud and container forensics.\n  Built on an open source stack, Sysdig provides Docker image scanning and\n  created Falco, the open standard for runtime threat detection for containers, Kubernetes and cloud. \nresources:\n  - title: \"Run confidently with secure DevOps\"\n    url: \"https://www.youtube.com/watch?v=KXfZWprVr0w\"\n"
  },
  {
    "path": "data/tools/tailor.yml",
    "content": "name: Tailor\ncategories:\n  - linter\ntags:\n  - swift\ndeprecated: true\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/sleekbyte/tailor'\nhomepage: 'https://sleekbyte.github.io/tailor'\ndescription: >-\n  A static analysis and lint tool for source code written in Apple's Swift\n  programming language.\n"
  },
  {
    "path": "data/tools/tangleguard.yml",
    "content": "name: TangleGuard\ncategories:\n  - linter\n  - meta\ntags:\n  - rust\n  - ci\nlicense: proprietary\nplans:\n  free: false\n  oss: true\ntypes:\n  - cli\n  - service\nwrapper: false\nsource: \"https://github.com/TangleGuard\"\nhomepage: \"https://tangleguard.com/\"\nresources:\n  - title: TangleGuard Cloud\n    url: https://app.tangleguard.com/\n  - title: TangleGuard Preview\n    url: https://youtu.be/whzbP1Hnsqs\n  - title: TangleGuard Documentation\n    url: https://docs.tangleguard.com/\ndemo:\n  -  https://app.tangleguard.com/project/github.com/TangleGuard/TangleGuard\ndescription: >-\n  Helps you understand and maintain a scalable software architecture.\n  To do so, it generates a interactive, nested dependency graph out of the source code.\n  You can choose the level of details and get the portion of your codebase that matters to you.\n"
  },
  {
    "path": "data/tools/tca.yml",
    "content": "name: TencentCodeAnalysis\ncategories:\n  - linter\ntags:\n  - ci\n  - csharp\n  - css\n  - go\n  - html\n  - java\n  - javascript\n  - kotlin\n  - php\n  - python\n  - scala\n  - typescript\n  - xml\n  - c\n  - cpp\nlicense: MIT License\ntypes:\n  - service\n  - cli\nsource: 'https://github.com/Tencent/CodeAnalysis'\ndeprecated: true\nhomepage: 'https://tca.tencent.com/'\ndescription: >-\n  Tencent Cloud Code Analysis (TCA for short, code-named CodeDog inside the company early) is a comprehensive platform for code analysis and issue tracking. TCA consist of three components, server, web and client. It integrates of a number of self-developed tools, and also supports dynamic integration of code analysis tools in various programming languages.\n"
  },
  {
    "path": "data/tools/tclchecker.yml",
    "content": "name: tclchecker\ncategories:\n  - linter\ntags:\n  - tcl\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/ActiveState/tdk/blob/master/docs/3.0/TDK_3.0_Checker.txt'\nhomepage: 'https://github.com/ActiveState/tdk/blob/master/docs/3.0/TDK_3.0_Checker.txt'\ndescription: >-\n  A static syntax analysis module (as part of\n  [TDK](https://github.com/ActiveState/tdk)).\n"
  },
  {
    "path": "data/tools/teamscale.yml",
    "content": "name: Teamscale\ncategories:\n  - linter\ntags:\n  - abap\n  - c\n  - ci\n  - cpp\n  - csharp\n  - java\nlicense: proprietary\ntypes:\n  - service\n  - ide-plugin\nhomepage: https://teamscale.com\ndescription: >-\n  Static and dynamic analysis tool supporting more than 25 languages and direct IDE\n  integration. Free hosting for Open Source projects available on request. Free academic\n  licenses available.\nresources:\n  - title: \"CQSE Webinar: Architekturanalyse mit Teamscale (German)\"\n    url: https://www.youtube.com/watch?v=fJVjv0153-U\n  - title: Teamscale Integration for Visual Studio\n    url: https://marketplace.visualstudio.com/items?itemName=CQSEGmbH.Teamscale\npricing: https://teamscale.com/pricing\nplans:\n  free: false\n  oss: false\n"
  },
  {
    "path": "data/tools/tern.yml",
    "content": "name: tern\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/ternjs/tern'\nhomepage: 'https://ternjs.net'\ndescription: 'A JavaScript code analyzer for deep, cross-editor language support.'\n"
  },
  {
    "path": "data/tools/terraform-compliance.yml",
    "content": "name: terraform-compliance\ncategories:\n  - linter\ntags:\n  - configmanagement\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/eerkunt/terraform-compliance'\nhomepage: 'https://terraform-compliance.com'\ndescription: >-\n  A lightweight, compliance- and security focused, BDD test framework against\n  Terraform.\n"
  },
  {
    "path": "data/tools/terrascan.yml",
    "content": "name: terrascan\ncategories:\n  - linter\ntags:\n  - configmanagement\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/cesar-rodriguez/terrascan'\nhomepage: 'https://github.com/cesar-rodriguez/terrascan'\ndescription: >-\n  Collection of security and best practice tests for static code analysis of\n  Terraform templates.\n"
  },
  {
    "path": "data/tools/test.yml",
    "content": "name: test\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD-3-Clause (original text)\ntypes:\n  - cli\nsource: 'https://pkg.go.dev/testing'\nhomepage: 'https://pkg.go.dev/testing'\ndescription: Show location of test failures from the stdlib testing module.\n"
  },
  {
    "path": "data/tools/texlab.yml",
    "content": "name: TeXLab\ncategories:\n  - linter\ntags:\n  - latex\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/latex-lsp/texlab'\nhomepage: 'https://texlab.netlify.app'\ndescription: >-\n  A Language Server Protocol implementation for TeX/LaTeX, including lint\n  capabilities.\n"
  },
  {
    "path": "data/tools/textlint.yml",
    "content": "name: textlint\ncategories:\n    - linter\ntags:\n    - markdown\nlicense: MIT Licence\ntypes:\n    - cli\nsource: \"https://github.com/textlint/textlint\"\nhomepage: \"https://textlint.github.io/\"\ndescription: textlint is an open source text linting utility written in JavaScript.\n"
  },
  {
    "path": "data/tools/tflint.yml",
    "content": "name: tflint\ncategories:\n  - linter\ntags:\n  - configmanagement\nlicense: Mozilla Public License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/wata727/tflint'\nhomepage: 'https://github.com/wata727/tflint'\ndescription: >-\n  A Terraform linter for detecting errors that can not be detected by `terraform\n  plan`.\n"
  },
  {
    "path": "data/tools/tfsec.yml",
    "content": "name: tfsec\ncategories:\n  - linter\ntags:\n  - configmanagement\n  - security\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/tfsec/tfsec'\nhomepage: 'https://github.com/tfsec/tfsec'\ndescription: >-\n  Terraform static analysis tool that prevents potential security issues\n  by checking cloud misconfigurations at build time and directly integrates with the HCL parser for better results.\n  Checks for violations of AWS, Azure and GCP security best practice recommendations.\n"
  },
  {
    "path": "data/tools/threatmapper.yml",
    "content": "name: ThreatMapper\ncategories:\n  - linter\ntags:\n  - container\n  - ci\n  - security\n  - java\n  - go\n  - php\n  - nodejs\n  - javascript\n  - ruby\n  - dotnet\n  - rust\n  - python\nlicense: Apache-2.0 License\ntypes:\n  - service\nsource: \"https://github.com/deepfence/ThreatMapper\"\nhomepage: \"https://github.com/deepfence/ThreatMapper\"\ndescription: >-\n  Vulnerability Scanner and Risk Evaluation for containers, serverless and hosts at runtime. ThreatMapper generates runtime BOMs from\n  dependencies and operating system packages, matches against multiple threat feeds, scans for unprotected secrets, and scores issues\n  based on severity and risk-of-exploit.\n"
  },
  {
    "path": "data/tools/todocheck.yml",
    "content": "name: todocheck\ncategories:\n  - linter\ntags:\n  - javascript\n  - typescript\n  - python\n  - c\n  - cpp\n  - scala\n  - java\n  - rust\n  - swift\n  - go\n  - groovy\n  - csharp\n  - shell\n  - php\n  - r\nlicense: MIT\ntypes:\n  - cli\nsource: 'https://github.com/preslavmihaylov/todocheck'\nhomepage: 'https://github.com/preslavmihaylov/todocheck'\ndescription: Linter for integrating annotated TODOs with your issue trackers\n"
  },
  {
    "path": "data/tools/traceroute.yml",
    "content": "name: Traceroute\ncategories:\n  - linter\ntags:\n  - ruby\n  - rails\nlicense: MIT License\ntypes:\n  - cli\nsource: \"https://github.com/amatsuda/traceroute\"\nhomepage: \"https://github.com/amatsuda/traceroute\"\ndescription: >-\n  A Rake task gem that helps you find the unused routes and controller actions for your Rails 3+ app.\n"
  },
  {
    "path": "data/tools/trivy.yml",
    "content": "name: trivy\ncategories:\n  - linter\ntags:\n  - container\n  - ruby\n  - php\n  - nodejs\n  - javascript\n  - rust\nlicense: Apache-2.0 License \ntypes:\n  - cli\nsource: 'https://github.com/aquasecurity/trivy'\nhomepage: 'https://github.com/aquasecurity/trivy'\ndescription: >\n  A Simple and Comprehensive Vulnerability Scanner for Containers and other Artifacts, Suitable for CI.\n  Trivy detects vulnerabilities of OS packages (Alpine, RHEL, CentOS, etc.) and application dependencies (Bundler, Composer, npm, yarn, etc.).\n  Checks containers and filesystems.\n"
  },
  {
    "path": "data/tools/trufflehog.yml",
    "content": "name: trufflehog\ncategories:\n  - linter\ntags:\n  - security\nlicense: AGPL-3.0\ntypes:  \n  - cli\nsource: 'https://github.com/trufflesecurity/trufflehog'\nhomepage: 'https://trufflesecurity.com'\ndescription: >-\n  Find credentials all over the place\n\n  TruffleHog is an open source secret-scanning engine that resolves exposed secrets across your company’s entire tech stack. \n"
  },
  {
    "path": "data/tools/trunk.yml",
    "content": "name: trunk\ncategories:\n  - linter\n  - formatter\ntags:\n  - javascript\n  - typescript\n  - ansible\n  - c\n  - cpp\n  - cloudformation\n  - dockerfile\n  - go\n  - java\n  - markdown\n  - protobuf\n  - python\n  - ruby\n  - rust\n  - terraform\nlicense: proprietary\ntypes:\n  - cli\nsource: https://github.com/trunk-io/\nhomepage: https://trunk.io\ndescription: >-\n  Modern repositories include many technologies, each with its own set of linters.\n  With 30+ linters and counting, Trunk makes it dead-simple to identify, install,\n  configure, and run the right linters, static analyzers, and formatters for all your\n  repos.\nresources:\n  - title: Trunk GitHub Action\n    url: https://github.com/trunk-io/trunk-action\n  - title: Community Slack Channel\n    url: https://slack.trunk.io\npricing: https://trunk.io/pricing\nplans:\n  free: true\n  oss: true\n"
  },
  {
    "path": "data/tools/trustinsoft.yml",
    "content": "name: TrustInSoft Analyzer\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://trust-in-soft.com'\ndescription: >-\n  Exhaustive detection of coding errors and their associated security vulnerabilities.\n  This encompasses a sound undefined behavior detection (buffer overflows,\n  out-of-bounds array accesses, null-pointer dereferences, use-after-free, divide-by-zeros,\n  uninitialized memory accesses, signed overflows, invalid pointer arithmetic, etc.),\n  data flow and control flow verification as well as full functional verification of formal\n  specifications. All versions of C up to C18 and C++ up to C++20 are supported.\n  TrustInSoft Analyzer will acquire ISO 26262 qualification in Q2'2023 (TCL3).\n  A MISRA C checker is also bundled.\nresources:\n  - title: TrustInSoft blog\n    url: https://trust-in-soft.com/resources/news/\n  - title: TrustInSoft white papers\n    url: https://trust-in-soft.com/resources/news/?_types=white-papers\ndemos:\n  - https://github.com/TrustInSoft/demos\n  - https://github.com/TrustInSoft/jenkins-demos\nreviews:\n  - https://www.gartner.com/reviews/market/application-security-testing/vendor/trustinsoft/reviews"
  },
  {
    "path": "data/tools/tscancode.yml",
    "content": "name: TscanCode\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - csharp\n  - lua\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/Tencent/TscanCode'\nhomepage: 'https://github.com/Tencent/TscanCode'\ndescription: >-\n  A fast and accurate static analysis solution for C/C++, C#, Lua codes provided\n  by Tencent. Using GPLv3 license.\n"
  },
  {
    "path": "data/tools/tslint-clean-code.yml",
    "content": "name: tslint-clean-code\ncategories:\n  - linter\ntags:\n  - typescript\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/Glavin001/tslint-clean-code'\nhomepage: 'https://www.npmjs.com/package/tslint-clean-code'\ndescription: A set of TSLint rules inspired by the Clean Code handbook.\n"
  },
  {
    "path": "data/tools/tslint-microsoft-contrib.yml",
    "content": "name: tslint-microsoft-contrib\ncategories:\n  - linter\ntags:\n  - typescript\ndeprecated: true\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/Microsoft/tslint-microsoft-contrib'\nhomepage: 'https://github.com/Microsoft/tslint-microsoft-contrib'\ndescription: >-\n  A set of tslint rules for static code analysis of TypeScript projects\n  maintained by Microsoft.\n"
  },
  {
    "path": "data/tools/tslint.yml",
    "content": "name: tslint\ncategories:\n  - linter\ntags:\n  - typescript\nlicense: Apache-2.0 license\ndeprecated: true\ntypes:\n  - cli\nsource: 'https://github.com/palantir/tslint'\nhomepage: 'https://palantir.github.io/tslint/'\nresources:\n  - title: \"Nextjs: tslint to eslint\"\n    url: https://www.youtube.com/watch?v=qXzIW4CfpxA\ndescription: >-\n  TSLint has been deprecated as of 2019. Please see [this issue](https://github.com/palantir/tslint/issues/4534)\n  for more details. `typescript-eslint` is now your best option for linting TypeScript.\n\n  TSLint is an extensible static analysis tool that checks TypeScript code for readability, maintainability, \n  and functionality errors. It is widely supported across modern editors & build systems and can be customized \n  with your own lint rules, configurations, and formatters.\n"
  },
  {
    "path": "data/tools/tsqllint.yml",
    "content": "name: tsqllint\ncategories:\n  - linter\ntags:\n  - sql\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/tsqllint/tsqllint'\nhomepage: 'https://github.com/tsqllint/tsqllint'\ndescription: T-SQL-specific linter.\n"
  },
  {
    "path": "data/tools/tsqlrules.yml",
    "content": "name: TSqlRules\ncategories:\n  - linter\ntags:\n  - sql\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/ashleyglee/TSqlRules'\nhomepage: 'https://github.com/ashleyglee/TSqlRules'\ndescription: TSQL Static Code Analysis Rules for SQL Server.\n"
  },
  {
    "path": "data/tools/tsunami.yml",
    "content": "name: Tsunami Security Scanner\ncategories:\n  - linter\ntags:\n  - security\nlicense: Apache-2.0 License\ntypes:\n  - cli\nsource: 'https://github.com/google/tsunami-security-scanner'\nhomepage: 'https://github.com/google/tsunami-security-scanner'\ndescription: >-\n  A general purpose network security scanner with an extensible plugin system for \n  detecting high severity RCE-like vulnerabilities with high confidence.\n  Custom detectors for finding vulnerabilities (e.g. open APIs) can be added.\nresources:\n  - title: \"Tsunami Security Scanner from Google: Identify Critical vulnerabilities with high confidence - LAB\"\n    url: https://www.youtube.com/watch?v=SMlWes1XnWw\n"
  },
  {
    "path": "data/tools/tuli.yml",
    "content": "name: Tuli\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/ircmaxell/Tuli'\nhomepage: 'https://github.com/ircmaxell/Tuli'\ndescription: A static analysis engine.\n"
  },
  {
    "path": "data/tools/twig-lint.yml",
    "content": "name: twig-lint\ncategories:\n  - linter\ntags:\n  - php\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/asm89/twig-lint'\nhomepage: 'https://github.com/asm89/twig-lint'\ndescription: twig-lint is a lint tool for your twig files.\n"
  },
  {
    "path": "data/tools/twiggy.yml",
    "content": "name: Twiggy\ncategories:\n  - linter\ntags:\n  - binary\n  - wasm\nlicense: Other\ntypes:\n  - cli\nsource: \"https://github.com/rustwasm/twiggy\"\nhomepage: \"https://github.com/rustwasm/twiggy\"\ndescription: >-\n  Analyzes a binary's call graph to profile code size. The goal is to slim down\n  wasm binary size.\n"
  },
  {
    "path": "data/tools/ty.yml",
    "content": "name: ty\ncategories:\n  - linter\ntags:\n  - python\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/astral-sh/ty'\nhomepage: 'https://docs.astral.sh/ty/'\ndescription: >-\n  An extremely fast Python type checker written in Rust.\n"
  },
  {
    "path": "data/tools/typescript-call-graph.yml",
    "content": "name: TypeScript Call Graph\ncategories:\n  - linter\ntags:\n  - typescript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/whyboris/TypeScript-Call-Graph'\nhomepage: 'https://github.com/whyboris/TypeScript-Call-Graph'\ndescription: >-\n  CLI to generate an interactive graph of functions and calls from your\n  TypeScript files\n"
  },
  {
    "path": "data/tools/typescript-eslint.yml",
    "content": "name: TypeScript ESLint\ncategories:\n  - linter\ntags:\n  - typescript\nlicense: Other\ntypes:\n  - cli\nsource: \"https://github.com/typescript-eslint/typescript-eslint\"\nhomepage: \"https://github.com/typescript-eslint/typescript-eslint\"\ndescription: TypeScript language extension for eslint.\nresources:\n  - title: VSCode ESLint, Prettier & Airbnb Style Guide Setup\n    url: https://www.youtube.com/watch?v=SydnKbGc7W8\n"
  },
  {
    "path": "data/tools/typl.yml",
    "content": "name: TypL\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/getify/TypL'\nhomepage: 'https://typl.dev'\ndescription: >-\n  With TypL, you just write completely standard JS, and the tool figures\n  out your types via powerful inferencing.\n"
  },
  {
    "path": "data/tools/typos",
    "content": "name: typos\ncategories:\n  - linter\ntags:\n  - writing\nlicense: Apache License\ntypes:\n  - cli\nsource: 'https://github.com/crate-ci/typos'\nhomepage: 'https://github.com/crate-ci/typos'\ndescription: >-\n  Finds and corrects spelling mistakes in source code.\n  Fast enough to run on monorepos and low false positives so you can run on PRs.\n"
  },
  {
    "path": "data/tools/unconvert.yml",
    "content": "name: unconvert\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/mdempsky/unconvert'\nhomepage: 'https://github.com/mdempsky/unconvert'\ndescription: Detect redundant type conversions.\n"
  },
  {
    "path": "data/tools/undebt.yml",
    "content": "name: Undebt\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - java\n  - php\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/Yelp/undebt'\nhomepage: 'https://github.com/Yelp/undebt'\ndescription: >-\n  Language-independent tool for massive, automatic, programmable refactoring\n  based on simple pattern definitions.\n"
  },
  {
    "path": "data/tools/understand.yml",
    "content": "name: Understand\ncategories:\n- linter\ntags:\n- ada\n- asm\n- c\n- cpp\n- csharp\n- cobol\n- css\n- fortran\n- html\n- java\n- javascript\n- delphi\n- php\n- python\n- vbnet\n- xml\nlicense: proprietary\ntypes:\n- cli\nhomepage: https://www.scitools.com\nresources:\n  - title: What is Understand?\n    url: https://www.youtube.com/watch?v=QXxciTA1R4k\n  - title: Basic Navigation in Understand\n    url: https://www.youtube.com/watch?v=YDd9J2Fs5Ug\n  - title: Tell a story about your code in just one image using Graphs\n    url: https://www.youtube.com/watch?v=mZRWN6ukUig\ndescription: >-\n  Code visualization tool that provides code analysis, standards testing, metrics,\n  graphing, dependency analysis and more for Ada, VHDL, and others.\npricing: https://www.scitools.com/pricing\n"
  },
  {
    "path": "data/tools/unibeautify.yml",
    "content": "name: Unibeautify\ncategories:\n  - formatter\ntags:\n  - c\n  - cpp\n  - css\n  - go\n  - html\n  - java\n  - javascript\n  - jsx\n  - markdown\n  - objectivec\n  - php\n  - python\n  - typescript\n  - vue\nlicense: MIT License\ntypes:\n  - cli\n  - service\nsource: \"https://github.com/unibeautify/unibeautify\"\nhomepage: \"https://unibeautify.com\"\ndescription: >-\n  Universal code beautifier with a GitHub app. Supports HTML, CSS, JavaScript,\n  TypeScript, JSX, Vue, C++, Go, Objective-C, Java, Python, PHP, GraphQL,\n  Markdown, and more.\n"
  },
  {
    "path": "data/tools/unimport.yml",
    "content": "name: unimport\ncategories:\n  - formatter\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/hakancelikdev/unimport'\nhomepage: 'https://unimport.hakancelik.dev'\ndescription: 'A linter, formatter for finding and removing unused import statements.'\n"
  },
  {
    "path": "data/tools/unparam.yml",
    "content": "name: unparam\ncategories:\n  - linter\ntags:\n  - go\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/mvdan/unparam'\nhomepage: 'https://github.com/mvdan/unparam'\ndescription: Find unused function parameters.\n"
  },
  {
    "path": "data/tools/upsource.yml",
    "content": "name: Upsource\ncategories:\n- linter\ntags:\n- ci\n- java\n- javascript\n- kotlin\n- php\nlicense: proprietary\ntypes:\n- service\nhomepage: https://www.jetbrains.com/upsource\ndescription: >-\n  Code review tool with static code analysis and code-aware navigation for Java, PHP,\n  JavaScript and Kotlin.\nresources:\n- title: Upsource - Code Review Best Practices\n  url: https://www.youtube.com/watch?v=EjwD7Pi7J_0\npricing: https://www.jetbrains.com/buy\n"
  },
  {
    "path": "data/tools/vale.yml",
    "content": "name: vale\ncategories:\n  - linter\ntags:\n  - writing\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/errata-ai/vale'\nhomepage: 'https://vale.sh'\ndescription: 'A syntax-aware linter for prose built with speed and extensibility in mind.'\n"
  },
  {
    "path": "data/tools/varcheck.yml",
    "content": "name: varcheck\ncategories:\n  - linter\ntags:\n  - go\nlicense: GPL-3.0-only (original text)\ntypes:\n  - cli\nsource: 'https://gitlab.com/opennota/check'\nhomepage: 'https://gitlab.com/opennota/check'\ndescription: Find unused global variables and constants.\n"
  },
  {
    "path": "data/tools/vera.yml",
    "content": "name: vera++\ncategories:\n  - formatter\ntags:\n  - c\n  - cpp\ndeprecated: true\nlicense: BSL-1.0 (original text)\ntypes:\n  - cli\nsource: 'https://bitbucket.org/verateam/vera/src/master'\nhomepage: 'https://bitbucket.org/verateam/vera/wiki/Introduction'\ndescription: >-\n  Vera++ is a programmable tool for verification, analysis and transformation of\n  C++ source code.\n"
  },
  {
    "path": "data/tools/veracode.yml",
    "content": "name: Veracode\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - dotnet\n  - java\n  - javascript\n  - objectivec\n  - php\n  - security\n  - swift\nlicense: proprietary\ntypes:\n  - cli\nhomepage: \"https://www.veracode.com/security/static-code-analysis\"\npricing: https://info.veracode.com/request-quote.html\nplans:\n  free: false\n  oss: false\ndescription: >-\n  Find flaws in binaries and bytecode without requiring source. Support all\n  major programming languages: Java, .NET, JavaScript, Swift, Objective-C, C,\n  C++ and more.\nresources:\n  - title: Veracode Overview\n    url: https://www.youtube.com/watch?v=6Fq_UMgwX4I\n  - title: Veracode SCA Scan for VS Code Plugin\n    url: https://www.youtube.com/watch?v=hCl2H8Heqnw\nreviews:\n  - https://www.peerspot.com/products/veracode-reviews\n"
  },
  {
    "path": "data/tools/verible-linter-action.yml",
    "content": "name: verible-linter-action\ncategories:\n  - linter\ntags:\n  - verilog\nlicense: Apache-2.0 License \ntypes:\n  - service\nsource: 'https://github.com/chipsalliance/verible-linter-action'\nhomepage: 'https://github.com/chipsalliance/verible-linter-action'\ndescription: >-\n   Automatic SystemVerilog linting in github actions with the help of Verible\n   Used to lint Verilog and SystemVerilog source files and comment erroneous lines \n   of code in Pull Requests automatically.\n"
  },
  {
    "path": "data/tools/verifast.yml",
    "content": "name: VeriFast\ncategories:\n  - linter\ntags:\n  - ocaml\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/verifast/verifast'\nhomepage: 'https://github.com/verifast/verifast'\ndescription: >- \n  A tool for modular formal verification of correctness properties of single-threaded and multithreaded \n  C and Java programs annotated with preconditions and postconditions written in separation logic. \n  To express rich specifications, the programmer can define inductive datatypes, \n  primitive recursive pure functions over these datatypes, and abstract separation logic predicates.\n"
  },
  {
    "path": "data/tools/verilator.yml",
    "content": "name: Verilator\ncategories:\n  - linter\ntags:\n  - verilog\nlicense: GPL v3 or Perl Artistic License Version 2.0  \ntypes:\n  - cli\nsource: 'https://github.com/verilator/verilator'\nhomepage: 'https://www.veripool.org/verilator'\ndescription: >-\n  A tool which converts Verilog to a cycle-accurate behavioral model in\n  C++ or SystemC. Performs lint code-quality checks.\n"
  },
  {
    "path": "data/tools/vetur.yml",
    "content": "name: Vetur\ncategories:\n  - linter\n  - formatter\ntags:\n  - vue\nlicense: MIT License\ntypes:\n  - cli\n  - ide-plugin\nsource: 'https://github.com/vuejs/vetur'\nhomepage: 'https://marketplace.visualstudio.com/items?itemName=octref.vetur'\ndescription: >-\n  Vue tooling for VS Code, powered by vls (vue language server).\n  Vetur has support for formatting embedded HTML, CSS, SCSS, JS, TypeScript, and more.\n  Vetur only has a \"whole document formatter\" and cannot format arbitrary ranges.\nresources:\n  - title: Pine Wu - var vetur = vscode + vue; | VueConf 2017\n    url: https://www.youtube.com/watch?v=05tNXJ-Kric\n"
  },
  {
    "path": "data/tools/vint.yml",
    "content": "name: vint\ncategories:\n  - linter\ntags:\n  - vim-script\nlicense: MIT License\ntypes:\n  - ide-plugin\nsource: 'https://github.com/Kuniwak/vint'\nhomepage: 'https://github.com/Kuniwak/vint'\ndescription: Fast and Highly Extensible Vim script Language Lint implemented by Python.\n"
  },
  {
    "path": "data/tools/violations-lib.yml",
    "content": "name: Violations Lib\ncategories:\n  - linter\ntags:\n  - ci\n  - java\n  - support\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/tomasbjerre/violations-lib'\nhomepage: 'https://github.com/tomasbjerre/violations-lib'\ndescription: >-\n  Java library for parsing report files from static code analysis. Used by a\n  bunch of Jenkins, Maven and Gradle plugins.\n"
  },
  {
    "path": "data/tools/visual-expert.yml",
    "content": "name: Visual Expert\ncategories:\n- linter\ntags:\n- sql\nlicense: proprietary\ntypes:\n- service\nhomepage: https://www.visual-expert.com\ndescription: \"Code analysis for PowerBuilder, Oracle, and SQL Server Explores, analyzes,\\\n  \\ and documents Code \"\npricing: https://www.visual-expert.com/EN/visual-expert-price.html\n"
  },
  {
    "path": "data/tools/vscode-verilog-hdl-support.yml",
    "content": "name: vscode-verilog-hdl-support\ncategories:\n  - linter\ntags:\n  - verilog\nlicense: MIT License\ntypes:\n  - ide-plugin  \nsource: 'https://github.com/mshr-h/vscode-verilog-hdl-support'\nhomepage: 'https://github.com/mshr-h/vscode-verilog-hdl-support'\ndescription: >-\n  Verilog HDL/SystemVerilog/Bluespec SystemVerilog support for VS Code.\n  Provides syntax highlighting and Linting support from\n  Icarus Verilog, Vivado Logical Simulation, Modelsim and Verilator\n"
  },
  {
    "path": "data/tools/vsdiagnostics.yml",
    "content": "name: VSDiagnostics\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: GNU General Public License v2.0\ntypes:\n  - cli\nsource: 'https://github.com/Vannevelj/VSDiagnostics'\nhomepage: 'https://github.com/Vannevelj/VSDiagnostics'\ndescription: A collection of static analyzers based on Roslyn that integrates with VS.\n"
  },
  {
    "path": "data/tools/vuls.yml",
    "content": "name: Vuls\ncategories:\n  - linter\ntags:\n  - container\nlicense: AGPL-3.0 License \ntypes:\n  - cli\nsource: 'https://github.com/future-architect/vuls'\nhomepage: 'https://vuls.io/'\ndescription: >-\n  Agent-less Linux vulnerability scanner based on information from NVD, OVAL, etc. \n  It has some container image support, although is not a container specific tool.\n"
  },
  {
    "path": "data/tools/vulture.yml",
    "content": "name: vulture\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/jendrikseipp/vulture'\nhomepage: 'https://github.com/jendrikseipp/vulture'\ndescription: 'Find unused classes, functions and variables in Python code.'\n"
  },
  {
    "path": "data/tools/wala.yml",
    "content": "name: WALA\ncategories:\n  - linter\ntags:\n  - java\n  - javascript\nlicense: Eclipse Public License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/wala/WALA'\nhomepage: 'https://github.com/wala/WALA'\ndescription: >-\n  Static analysis capabilities for Java bytecode and related languages and for\n  JavaScript.\nresources:\n  - title: WALA Everywhere\n    url: https://www.youtube.com/watch?v=QtrJEopSSuw\n"
  },
  {
    "path": "data/tools/wap.yml",
    "content": "name: WAP\ncategories:\n  - linter\ntags:\n  - php\nlicense: GNU GPL\ntypes:\n  - cli\nsource: 'https://awap.sourceforge.io'\nhomepage: 'https://securityonline.info/owasp-wap-web-application-protection-project'\ndescription: >-\n  Tool to detect and correct input validation vulnerabilities in PHP (4.0 or\n  higher) web applications and predicts false positives by combining static\n  analysis and data mining.\n"
  },
  {
    "path": "data/tools/warnalyzer.yml",
    "content": "name: warnalyzer\ncategories:\n  - linter\ntags:\n  - rust\nlicense: MIT / Apache 2.0\ntypes:\n  - cli\nsource: 'https://github.com/est31/warnalyzer'\nhomepage: 'https://github.com/est31/warnalyzer'\ndescription: 'Show unused code from multi-crate Rust projects'\n"
  },
  {
    "path": "data/tools/wartremover.yml",
    "content": "name: WartRemover\ncategories:\n  - linter\ntags:\n  - scala\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/puffnfresh/wartremover'\nhomepage: 'https://www.wartremover.org'\ndescription: A flexible Scala code linting tool.\n"
  },
  {
    "path": "data/tools/wasm-language-tools.yml",
    "content": "name: wasm-language-tools\ncategories:\n  - formatter\n  - linter\ntags:\n  - wasm\nlicense: MIT License\ntypes:\n  - ide-plugin\nsource: \"https://github.com/g-plane/wasm-language-tools\"\nhomepage: \"https://github.com/g-plane/wasm-language-tools\"\ndescription: >-\n  WebAssembly Language Tools aims to provide and improve the editing experience of WebAssembly Text Format.\n  It also provides an out-of-the-box formatter (a.k.a. pretty printer) for WebAssembly Text Format.\n"
  },
  {
    "path": "data/tools/weeder.yml",
    "content": "name: Weeder\ncategories:\n  - linter\ntags:\n  - haskell\nlicense: BSD 3-Clause \"New\" or \"Revised\" License\ntypes:\n  - cli\nsource: 'https://github.com/ocharles/weeder'\nhomepage: 'https://github.com/ocharles/weeder'\ndescription: A tool for detecting dead exports or package imports in Haskell code.\n"
  },
  {
    "path": "data/tools/weggli.yml",
    "content": "name: weggli\ncategories:\n  - linter\ntags:\n  - security\n  - c\n  - cpp\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/googleprojectzero/weggli'\nhomepage: 'https://github.com/googleprojectzero/weggli'\ndescription: >-\n  A fast and robust semantic search tool for C and C++ codebases. It is\n  designed to help security researchers identify interesting functionality in\n  large codebases.\n"
  },
  {
    "path": "data/tools/wemake-python-styleguide.yml",
    "content": "name: wemake-python-styleguide\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/wemake-services/wemake-python-styleguide'\nhomepage: 'https://wemake-python-styleguide.rtfd.io/'\ndescription: The strictest and most opinionated python linter ever.\n"
  },
  {
    "path": "data/tools/whitehat-application-security-platform.yml",
    "content": "name: WhiteHat Application Security Platform\ncategories:\n  - linter\ntags:\n  - aspnet\n  - csharp\n  - html\n  - java\n  - javascript\n  - mobile\n  - nodejs\n  - objectivec\n  - php\n  - typescript\nlicense: proprietary\ntypes:\n  - cli\nhomepage: \"https://source.whitehatsec.com/help/sentinel/sast-service-detail.html\"\ndescription: >-\n  WhiteHat Scout (for Developers) combined with WhiteHat Sentinel Source (for\n  Operations) supporting WhiteHat Top 40 and OWASP Top 10.\n"
  },
  {
    "path": "data/tools/wily.yml",
    "content": "name: wily\ncategories:\n  - linter\ntags:\n  - python\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/tonybaloney/wily'\nhomepage: 'https://github.com/tonybaloney/wily'\ndescription: >-\n  A command-line tool for archiving, exploring and graphing the complexity of\n  Python source code.\n"
  },
  {
    "path": "data/tools/wintellectanalyzers.yml",
    "content": "name: Wintellect.Analyzers\ncategories:\n  - linter\ntags:\n  - csharp\nlicense: Other\ntypes:\n  - cli\nsource: 'https://github.com/Wintellect/Wintellect.Analyzers'\nhomepage: 'https://github.com/Wintellect/Wintellect.Analyzers'\ndescription: .NET Compiler Platform (\"Roslyn\") diagnostic analyzers and code fixes.\n"
  },
  {
    "path": "data/tools/wotan.yml",
    "content": "name: Wotan\ncategories:\n  - linter\ntags:\n  - javascript\n  - typescript\nlicense: Apache License 2.0\ntypes:\n  - cli\nsource: 'https://github.com/fimbullinter/wotan'\nhomepage: 'https://github.com/fimbullinter/wotan'\ndescription: Pluggable TypeScript and JavaScript linter.\n"
  },
  {
    "path": "data/tools/write-good.yml",
    "content": "name: write-good\ncategories:\n  - linter\ntags:\n  - writing\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/btford/write-good'\nhomepage: 'https://github.com/btford/write-good'\ndescription: A linter with a focus on eliminating \"weasel words\".\n"
  },
  {
    "path": "data/tools/wsl.yml",
    "content": "name: wsl\ncategories:\n  - linter\ntags:\n  - go\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/bombsimon/wsl'\nhomepage: 'https://github.com/bombsimon/wsl'\ndescription: Enforces empty lines at the right places.\n"
  },
  {
    "path": "data/tools/xcode.yml",
    "content": "name: XCode\ncategories:\n  - linter\ntags:\n  - c\n  - cpp\n  - objectivec\nlicense: proprietary\ntypes:\n  - cli\nhomepage: 'https://developer.apple.com/xcode'\ndescription: >-\n  XCode provides a pretty decent UI for\n  [Clang's](https://clang-analyzer.llvm.org/xcode.html) static code analyzer\n  (C/C++, Obj-C).\n"
  },
  {
    "path": "data/tools/xenon.yml",
    "content": "name: xenon\ncategories:\n  - linter\ntags:\n  - python\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/rubik/xenon'\nhomepage: 'https://xenon.readthedocs.io'\ndescription: 'Monitor code complexity using [`radon`](https://github.com/rubik/radon).'\n"
  },
  {
    "path": "data/tools/xo.yml",
    "content": "name: xo\ncategories:\n  - linter\ntags:\n  - javascript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/xojs/xo'\nhomepage: 'https://github.com/xojs/xo'\ndescription: >-\n  Opinionated but configurable ESLint wrapper with lots of goodies included.\n  Enforces strict and readable code.\n"
  },
  {
    "path": "data/tools/xygeni.yml",
    "content": "name: Xygeni\ncategories:\n  - linter\ndescription: >-\n  Xygeni is a comprehensive Software Supply Chain Security platform. It provides\n  Advanced SAST with AI-powered remediation, Software Composition Analysis (SCA)\n  with real-time malware detection, Infrastructure as Code (IaC) scanning,\n  and Secrets detection to ensure end-to-end code security.\nhomepage: https://xygeni.io/\nlicense: proprietary\ntags:\n  - csharp\n  - dockerfile\n  - go\n  - java\n  - javascript\n  - kubernetes\n  - python\n  - terraform\ntypes:\n  - service\n"
  },
  {
    "path": "data/tools/yamllint.yml",
    "content": "name: yamllint\ncategories:\n  - linter\ntags:\n  - template\n  - yaml\nlicense: GNU General Public License v3.0\ntypes:\n  - cli\nsource: 'https://github.com/adrienverge/yamllint'\nhomepage: 'https://yamllint.readthedocs.io'\ndescription: >-\n  Checks YAML files for syntax validity, key repetition and cosmetic problems\n  such as lines length, trailing spaces, and indentation.\n"
  },
  {
    "path": "data/tools/yapf.yml",
    "content": "name: yapf\ncategories:\n  - formatter\ntags:\n  - python\nlicense: Apache-2.0\ntypes:\n  - cli\nsource: \"https://github.com/google/yapf\"\nhomepage: \"https://github.com/google/yapf\"\ndescription: >-\n  A formatter for Python files created by Google\n\n  YAPF follows a distinctive methodology, originating from the 'clang-format' tool\n  created by Daniel Jasper. Essentially, the program reframes the code to the most\n  suitable formatting that abides by the style guide, even if the original code\n  already follows the style guide. This concept is similar to the Go programming\n  language's 'gofmt' tool, which aims to put an end to debates about formatting by\n  having the entire codebase of a project pass through YAPF whenever changes are\n  made, thereby maintaining a consistent style throughout the project and\n  eliminating the need to argue about style in every code review.\n"
  },
  {
    "path": "data/tools/yardstick.yml",
    "content": "name: yardstick\ncategories:\n  - linter\ntags:\n  - javascript\ndeprecated: true\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/calmh/yardstick'\nhomepage: 'https://github.com/calmh/yardstick'\ndescription: Javascript code metrics.\n"
  },
  {
    "path": "data/tools/zarn.yml",
    "content": "name: zarn\ncategories:\n  - linter\ntags:\n  - perl\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/htrgouvea/zarn'\nhomepage: 'https://github.com/htrgouvea/zarn'\ndescription: >-\n  A lightweight static security analysis tool for modern Perl Apps"
  },
  {
    "path": "data/tools/zod.yml",
    "content": "name: zod\ncategories:\n  - linter\ntags:\n  - typescript\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/colinhacks/zod'\nhomepage: 'https://zod.dev'\ndescription: >-\n  TypeScript-first schema validation with static type inference.\n  The goal is to eliminate duplicative type declarations.\n  With Zod, you declare a validator once and Zod will automatically infer the static TypeScript type.\n  It is easy to compose simpler types into complex data structures.\n"
  },
  {
    "path": "data/tools/zpa.yml",
    "content": "name: ZPA\ncategories:\n  - linter\ntags:\n  - plsql\nlicense: LGPL-3.0 License\ntypes:\n  - cli\nsource: 'https://github.com/felipebz/zpa'\nhomepage: 'https://zpa.felipebz.com'\ndescription: An open source parser and code analyzer for PL/SQL and Oracle SQL code.\n"
  },
  {
    "path": "data/tools/zydis.yml",
    "content": "name: zydis\ncategories:\n  - linter\ntags:\n  - binary\nlicense: MIT License\ntypes:\n  - cli\nsource: 'https://github.com/zyantific/zydis'\nhomepage: 'https://zydis.re'\ndescription: 'Fast and lightweight x86/x86-64 disassembler library'\n"
  }
]