{"id":13491501,"url":"https://github.com/oxsecurity/megalinter","last_synced_at":"2026-02-28T12:16:14.719Z","repository":{"id":36992769,"uuid":"304830226","full_name":"oxsecurity/megalinter","owner":"oxsecurity","description":"🦙 MegaLinter analyzes 50 languages, 22 formats, 21 tooling formats, excessive copy-pastes, spelling mistakes and security issues in your repository sources with a GitHub Action, other CI tools or locally.","archived":false,"fork":false,"pushed_at":"2025-05-07T21:49:55.000Z","size":811344,"stargazers_count":2134,"open_issues_count":60,"forks_count":255,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-05-08T19:56:59.664Z","etag":null,"topics":["apex","autofix","azure-pipelines","best-practices","code-quality","formatter","gitlab-ci","golang","groovy","java","jenkins","kotlin","linter","linters","markdown","megalinter","python","sarif-report","security","terraform"],"latest_commit_sha":null,"homepage":"http://megalinter.io/","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oxsecurity.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"docs/supported-linters.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["nvuillam","echoix","bdovaz"]}},"created_at":"2020-10-17T08:16:25.000Z","updated_at":"2025-05-06T12:05:45.000Z","dependencies_parsed_at":"2023-09-23T09:15:46.045Z","dependency_job_id":"61421bdb-05c8-4bd1-9182-ce02139fbe59","html_url":"https://github.com/oxsecurity/megalinter","commit_stats":{"total_commits":3040,"total_committers":125,"mean_commits":24.32,"dds":"0.22072368421052635","last_synced_commit":"0167c76337239a55e9e438272b447b709f396551"},"previous_names":["megalinter/megalinter","nvuillam/mega-linter"],"tags_count":170,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxsecurity%2Fmegalinter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxsecurity%2Fmegalinter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxsecurity%2Fmegalinter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxsecurity%2Fmegalinter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oxsecurity","download_url":"https://codeload.github.com/oxsecurity/megalinter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253505642,"owners_count":21918940,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apex","autofix","azure-pipelines","best-practices","code-quality","formatter","gitlab-ci","golang","groovy","java","jenkins","kotlin","linter","linters","markdown","megalinter","python","sarif-report","security","terraform"],"created_at":"2024-07-31T19:00:57.583Z","updated_at":"2026-02-28T12:16:14.679Z","avatar_url":"https://github.com/oxsecurity.png","language":"Dockerfile","funding_links":["https://github.com/sponsors/nvuillam","https://github.com/sponsors/echoix","https://github.com/sponsors/bdovaz"],"categories":["Dockerfile","best-practices","terraform","developer Tools","Linting and Formatting"],"sub_categories":["Flaky Test Detection"],"readme":"\u003c!-- markdownlint-disable MD013 MD033 MD041 --\u003e\n\n\u003c!-- header-intro-start --\u003e\n\u003c!-- header-intro-end --\u003e\n\n\u003c!-- header-logo-start --\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://megalinter.io\" target=\"blank\" title=\"Visit MegaLinter Web Site\"\u003e\n    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/images/megalinter-banner.png\" alt=\"MegaLinter\" min-height=\"200px\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003c!-- header-logo-end --\u003e\n\u003c!-- mega-linter-title-start --\u003e\n\n# MegaLinter, by [![OX Security](https://www.ox.security/wp-content/uploads/2022/06/logo.svg?ref=megalinter_readme)](https://www.ox.security/?ref=megalinter)\n\n\u003c!-- mega-linter-title-end --\u003e\n\u003c!-- mega-linter-badges-start --\u003e\n![GitHub release](https://img.shields.io/github/v/release/oxsecurity/megalinter?sort=semver)\n[![Docker Pulls](https://img.shields.io/badge/docker%20pulls-5.5M-blue)](https://megalinter.io/flavors/)\n[![Downloads/week](https://img.shields.io/npm/dw/mega-linter-runner.svg)](https://npmjs.org/package/mega-linter-runner)\n[![GitHub stars](https://img.shields.io/github/stars/oxsecurity/megalinter?cacheSeconds=3600)](https://github.com/oxsecurity/megalinter/stargazers/)\n[![MegaLinter](https://github.com/oxsecurity/megalinter/workflows/MegaLinter/badge.svg?branch=main)](https://github.com/oxsecurity/megalinter/actions?query=workflow%3AMegaLinter+branch%3Amain)\n[![codecov](https://codecov.io/gh/oxsecurity/megalinter/branch/main/graph/badge.svg)](https://codecov.io/gh/oxsecurity/megalinter)\n\u003c!-- gh-dependents-info-used-by-start --\u003e\n[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by\u0026message=5461\u0026color=informational\u0026logo=slickpic)](https://github.com/oxsecurity/megalinter/blob/main/./docs/used-by-stats.md)\u003c!-- gh-dependents-info-used-by-end --\u003e\n[![Secured with Trivy](https://img.shields.io/badge/Trivy-secured-green?logo=docker)](https://github.com/aquasecurity/trivy)\n[![GitHub contributors](https://img.shields.io/github/contributors/oxsecurity/megalinter.svg)](https://github.com/oxsecurity/megalinter/graphs/contributors/)\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/nvuillam)](https://github.com/sponsors/nvuillam)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/oxsecurity/megalinter/blob/main/.github/CONTRIBUTING.md)\n[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Check+MegaLinter+to+say+goodbye+to+dirty+code+in+your+projects+%3A%29+100%25+free+and+open+source+for+all+uses\u0026url=https://megalinter.io/\u0026via=NicolasVuillamy\u0026hashtags=linters,code,quality,ci,python,java,golang,c,dotnet,kotlin,rust,scala,salesforce,terraform)\n\u003c!-- mega-linter-badges-end --\u003e\n\n\u003c!-- welcome-phrase-start --\u003e\nMegaLinter is an **open-source** tool for **CI/CD workflows** that analyzes the **consistency of your code**, **IaC**, **configuration**, and **scripts** in your repository to **ensure all your project sources are clean and formatted**, no matter which IDE or toolbox is used by your developers. Powered by [**OX Security**](https://www.ox.security/?ref=megalinter).\n\nSupports [**69** languages](#languages), [**23** formats](#formats), [**21** tooling formats](#tooling-formats), and is **ready to use out of the box** as a GitHub Action or with any CI system. It is **highly configurable** and **free for all uses**.\n\nMegaLinter has **native integrations** with many major CI/CD tools.\n\n[![GitHub](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/icons/integrations/github.png?raw=true\u003e)](https://github.com/oxsecurity/megalinter/tree/main/docs/reporters/GitHubCommentReporter.md)\n[![GitLab](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/icons/integrations/gitlab.png?raw=true\u003e)](https://github.com/oxsecurity/megalinter/tree/main/docs/reporters/GitlabCommentReporter.md)\n[![Azure](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/icons/integrations/azure.png?raw=true\u003e)](https://github.com/oxsecurity/megalinter/tree/main/docs/reporters/AzureCommentReporter.md)\n[![Bitbucket](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/icons/integrations/bitbucket.png?raw=true\u003e)](https://github.com/oxsecurity/megalinter/tree/main/docs/reporters/BitbucketCommentReporter.md)\n[![Jenkins](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/icons/integrations/jenkins.png?raw=true\u003e)](https://github.com/oxsecurity/megalinter/tree/main/docs/install-jenkins.md)\n[![Drone](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/icons/integrations/drone.png?raw=true\u003e)](https://github.com/oxsecurity/megalinter/tree/main/docs/install-drone.md)\n[![Concourse](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/icons/integrations/concourse.png?raw=true\u003e)](https://github.com/oxsecurity/megalinter/tree/main/docs/install-concourse.md)\n[![Docker](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/icons/integrations/docker.png?raw=true\u003e)](https://github.com/oxsecurity/megalinter/tree/main/docs/install-docker.md)\n[![SARIF](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/icons/integrations/sarif.png?raw=true\u003e)](https://github.com/oxsecurity/megalinter/tree/main/docs/reporters/SarifReporter.md)\n[![Grafana](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/icons/integrations/grafana.png?raw=true\u003e)](https://github.com/oxsecurity/megalinter/tree/main/docs/reporters/ApiReporter.md)\n\n\n\u003c!-- welcome-phrase-end --\u003e\n\n![MegaLinter Presentation GIF](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/images/MegaLinter-banner-Medium.gif?raw=true)\n\n[**Upgrade to MegaLinter v9 :)**](https://github.com/oxsecurity/megalinter/issues/6192):\n\n- Use the new [LLM Advisor](https://megalinter.io/latest/llm-advisor/) that will tell you how to fix linters issues\n- Create your own [MegaLinter Custom Flavors](https://megalinter.io/latest/custom-flavors/) to improve performance\n\n\u003c!-- online-doc-start --\u003e\nBefore you go further, see the [**online documentation website, which offers much easier navigation than this README**](https://megalinter.io/)\n\u003c!-- online-doc-end --\u003e\n\n\u003c!-- table-of-contents-start --\u003e\n## Table of Contents\n\n- [Why MegaLinter](#why-megalinter)\n- [Quick Start](#quick-start)\n- [Supported Linters](#supported-linters)\n  - [Languages](#languages)\n  - [Formats](#formats)\n  - [Tooling formats](#tooling-formats)\n  - [Other](#other)\n- [Installation](#installation)\n  - [Assisted installation](#assisted-installation)\n  - [Which version to use ?](#which-version-to-use-)\n  - [GitHub Action](#github-action)\n  - [GitLab CI](#gitlab-ci)\n  - [Azure Pipelines](#azure-pipelines)\n    - [Single Repository](#single-repository)\n    - [Central Repository](#central-repository)\n    - [Pull Request Comments](#pull-request-comments)\n    - [Detailed Tutorial](#detailed-tutorial)\n  - [Bitbucket Pipelines](#bitbucket-pipelines)\n  - [Jenkins](#jenkins)\n  - [Concourse](#concourse)\n    - [Pipeline step](#pipeline-step)\n    - [Use it as a reusable task](#use-it-as-a-reusable-task)\n  - [Drone CI](#drone-ci)\n    - [(Optional) Adjusting trigger rules](#optional-adjusting-trigger-rules)\n  - [Docker container](#docker-container)\n  - [Run MegaLinter locally](#run-megalinter-locally)\n- [Configuration](#configuration)\n  - [.mega-linter.yml file](#mega-linteryml-file)\n  - [Common variables](#common-variables)\n  - [Activation and deactivation](#activation-and-deactivation)\n  - [Filter linted files](#filter-linted-files)\n  - [Apply fixes](#apply-fixes)\n    - [Apply fixes issues](#apply-fixes-issues)\n    - [Notes](#notes)\n  - [Linter specific variables](#linter-specific-variables)\n  - [Pre-commands](#pre-commands)\n  - [Post-commands](#post-commands)\n  - [Environment variables security](#environment-variables-security)\n    - [Secured env variables](#secured-env-variables)\n    - [Secured configuration examples](#secured-configuration-examples)\n    - [Default secured variables](#default-secured-variables)\n    - [Unhide variables for linters](#unhide-variables-for-linters)\n  - [CLI lint mode](#cli-lint-mode)\n- [Reporters](#reporters)\n- [Flavors](#flavors)\n- [Badge](#badge)\n  - [Markdown](#markdown)\n  - [reStructuredText](#restructuredtext)\n- [Plugins](#plugins)\n  - [External Plugins Catalog](#external-plugins-catalog)\n  - [Use external plugins](#use-external-plugins)\n    - [Example](#example)\n  - [Create your own plugin](#create-your-own-plugin)\n    - [Limitations](#limitations)\n- [They talk about MegaLinter](#they-talk-about-megalinter)\n  - [English articles](#english-articles)\n  - [French articles](#french-articles)\n  - [Videos](#videos)\n  - [Web Sites](#web-sites)\n  - [Linters](#linters)\n- [Frequently Asked Questions](#frequently-asked-questions)\n- [How to contribute](#how-to-contribute)\n- [Special thanks](#special-thanks)\n  - [Maintainers](#maintainers)\n  - [Contributors](#contributors)\n  - [Open-source teams](#open-source-teams)\n  - [Super-Linter team](#super-linter-team)\n- [License](#license)\n- [MegaLinter vs Super-Linter](#megalinter-vs-super-linter)\n  - [Security](#security)\n  - [Performance](#performance)\n  - [More languages and formats linted](#more-languages-and-formats-linted)\n  - [Automatically apply formatting and fixes](#automatically-apply-formatting-and-fixes)\n  - [Run locally](#run-locally)\n  - [Reports](#reports)\n    - [Capabilities](#capabilities)\n    - [Additional Reporters](#additional-reporters)\n  - [Enhanced configuration](#enhanced-configuration)\n  - [Enhanced documentation](#enhanced-documentation)\n  - [Plugin management](#plugin-management)\n  - [Simplify architecture and evolutionary maintenance](#simplify-architecture-and-evolutionary-maintenance)\n  - [Improve robustness \\\u0026 stability](#improve-robustness--stability)\n\u003c!-- table-of-contents-end --\u003e\n\n## Why MegaLinter\n\nProjects need to contain clean code in order to **avoid technical debt**, which makes **ongoing maintenance harder and more time-consuming**.\n\nBy using [**code formatters and code linters**](#supported-linters), you ensure that your **codebase is easier to read** and **follows best practices**, from kickoff through each step of the project lifecycle.\n\nNot all developers use linters in their IDEs, which makes code reviews harder and longer to process.\n\nBy using **MegaLinter**, you'll enjoy the following benefits for your team:\n\n- At **each pull request**, it **automatically analyzes all updated code across all languages**.\n- By reading error logs, **developers learn best practices** for the languages they use.\n- The [**MegaLinter documentation**](https://megalinter.io/) provides a **list of IDE plugins for each linter**, so developers know which linter and plugins to install.\n- MegaLinter **works out of the box** after a [**quick setup**](#quick-start).\n- **Formatting and fixes** can be automatically [**applied directly to the Git branch**](https://github.com/oxsecurity/megalinter/tree/main/docs/config-apply-fixes.md) or [**provided in reports**](https://github.com/oxsecurity/megalinter/tree/main/docs/reporters/UpdatedSourcesReporter.md).\n- This tool is **100% open source** and **free for all uses** (personal, professional, public, and private repositories).\n- MegaLinter can run on [**any CI tool**](https://github.com/oxsecurity/megalinter/tree/main/docs/install-assisted.md) and be [**run locally**](https://megalinter.io/mega-linter-runner/): **no need to authorize an external application**, and **your codebase never leaves your tooling ecosystem**.\n\n\u003c!-- quick-start-section-start --\u003e\n\u003c!-- markdown-headers\n---\ntitle: Quick Start with MegaLinter\ndescription: Setup MegaLinter in 5 minutes thanks to its assisted installation tool\n---\n--\u003e\n## Quick Start\n\n- Run `npx mega-linter-runner --install` to generate configuration files (you need [Node.js](https://nodejs.org/en/) installed).\n- Commit, push, and create a pull request.\n- Watch!\n\n![Runner Install](https://github.com/oxsecurity/megalinter/blob/main/docs/assets/images/mega-linter-runner-generator.gif?raw=true)\n\n**Notes**:\n\n\u003c!-- # MAJOR-RELEASE-IMPACTED --\u003e\n\n- This repo is a hard fork of [GitHub Super-Linter](https://github.com/super-linter/super-linter), rewritten in Python to add [many additional features](#mega-linter-vs-super-linter).\n- If you are a Super-Linter user, you can transparently **switch to MegaLinter and keep the same configuration** (just replace `super-linter/super-linter@v3` with `oxsecurity/megalinter@v9` in your GitHub Action YAML file, [like on this PR](https://github.com/nvuillam/npm-groovy-lint/pull/109)).\n- If you want to use MegaLinter's extra features (recommended), please take 5 minutes to use the [assisted installation](https://github.com/oxsecurity/megalinter/tree/main/docs/install-assisted.md).\n- For a beginner-friendly example of getting started with MegaLinter, check out [this blog post](https://ayyjohn.com/posts/linting-a-jekyll-blog-with-mega-linter) by Alec Johnson.\n\u003c!-- quick-start-section-end --\u003e\n\n\u003c!-- supported-linters-section-start --\u003e\n\u003c!-- markdown-headers\n---\ntitle: List of the 100+ supported linters embedded in MegaLinter\ndescription: Full list of all linters for all languages and formats that are available in MegaLinter\n---\n--\u003e\n## Supported Linters\n\nAll linters are integrated into the [MegaLinter Docker image](https://hub.docker.com/r/oxsecurity/megalinter), which is frequently updated with their latest versions.\n\n\u003c!-- languages-section-start--\u003e\n\u003c!-- linters-table-start --\u003e\n### Languages\n\n|                                                                               \u003c!-- --\u003e                                                                               | Language                                                                                                            | Linter                                                                                                                                                                                                                                                                                     |                                                                                                                                Additional                                                                                                                                 |\n|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------:|---------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/bash.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**BASH**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash.md)                             | [**bash-exec**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_bash_exec.md)\u003cbr/\u003e[_BASH_EXEC_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_bash_exec.md)                                                                            |                                                                                                                                                                                                                                                                           |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/bash.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**BASH**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash.md)                             | [**shellcheck**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_shellcheck.md)\u003cbr/\u003e[_BASH_SHELLCHECK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_shellcheck.md)                                                                   |                                           [![GitHub stars](https://img.shields.io/github/stars/koalaman/shellcheck?cacheSeconds=3600)](https://github.com/koalaman/shellcheck) ![sarif](https://shields.io/badge/-SARIF-orange)                                           |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/bash.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**BASH**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash.md)                             | [**shfmt**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_shfmt.md)\u003cbr/\u003e[_BASH_SHFMT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_shfmt.md)                                                                                       |                                                   [![GitHub stars](https://img.shields.io/github/stars/mvdan/sh?cacheSeconds=3600)](https://github.com/mvdan/sh) ![formatter](https://shields.io/badge/-format-yellow)                                                    |\n|     \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/c.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e      | [**C**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c.md)                                   | [**cppcheck**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_cppcheck.md)\u003cbr/\u003e[_C_CPPCHECK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_cppcheck.md)                                                                                    |                                                                                                                                                                                                                                                                           |\n|     \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/c.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e      | [**C**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c.md)                                   | [**cpplint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_cpplint.md)\u003cbr/\u003e[_C_CPPLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_cpplint.md)                                                                                        |                                                                       [![GitHub stars](https://img.shields.io/github/stars/cpplint/cpplint?cacheSeconds=3600)](https://github.com/cpplint/cpplint)                                                                        |\n|     \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/c.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e      | [**C**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c.md)                                   | [**clang-format**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_clang_format.md)\u003cbr/\u003e[_C_CLANG_FORMAT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_clang_format.md)                                                                    |                                           [![GitHub stars](https://img.shields.io/github/stars/llvm/llvm-project?cacheSeconds=3600)](https://github.com/llvm/llvm-project) ![autofix](https://shields.io/badge/-autofix-green)                                            |\n|  \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/clojure.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**CLOJURE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure.md)                       | [**clj-kondo**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure_clj_kondo.md)\u003cbr/\u003e[_CLOJURE_CLJ_KONDO_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure_clj_kondo.md)                                                              |                                                                    [![GitHub stars](https://img.shields.io/github/stars/borkdude/clj-kondo?cacheSeconds=3600)](https://github.com/borkdude/clj-kondo)                                                                     |\n|  \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/clojure.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**CLOJURE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure.md)                       | [**cljstyle**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure_cljstyle.md)\u003cbr/\u003e[_CLOJURE_CLJSTYLE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure_cljstyle.md)                                                                  |                                           [![GitHub stars](https://img.shields.io/github/stars/greglook/cljstyle?cacheSeconds=3600)](https://github.com/greglook/cljstyle) ![autofix](https://shields.io/badge/-autofix-green)                                            |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/coffee.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**COFFEE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/coffee.md)                         | [**coffeelint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/coffee_coffeelint.md)\u003cbr/\u003e[_COFFEE_COFFEELINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/coffee_coffeelint.md)                                                             |                                                                  [![GitHub stars](https://img.shields.io/github/stars/clutchski/coffeelint?cacheSeconds=3600)](https://github.com/clutchski/coffeelint)                                                                   |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/cpp.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**C++** (CPP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp.md)                         | [**cppcheck**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_cppcheck.md)\u003cbr/\u003e[_CPP_CPPCHECK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_cppcheck.md)                                                                              |                                                                                                                                                                                                                                                                           |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/cpp.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**C++** (CPP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp.md)                         | [**cpplint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_cpplint.md)\u003cbr/\u003e[_CPP_CPPLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_cpplint.md)                                                                                  |                                                                       [![GitHub stars](https://img.shields.io/github/stars/cpplint/cpplint?cacheSeconds=3600)](https://github.com/cpplint/cpplint)                                                                        |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/cpp.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**C++** (CPP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp.md)                         | [**clang-format**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_clang_format.md)\u003cbr/\u003e[_CPP_CLANG_FORMAT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_clang_format.md)                                                              |                                           [![GitHub stars](https://img.shields.io/github/stars/llvm/llvm-project?cacheSeconds=3600)](https://github.com/llvm/llvm-project) ![autofix](https://shields.io/badge/-autofix-green)                                            |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/csharp.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**C#** (CSHARP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp.md)                    | [**dotnet-format**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_dotnet_format.md)\u003cbr/\u003e[_CSHARP_DOTNET_FORMAT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_dotnet_format.md)                                                 |                                                 [![GitHub stars](https://img.shields.io/github/stars/dotnet/sdk?cacheSeconds=3600)](https://github.com/dotnet/sdk) ![formatter](https://shields.io/badge/-format-yellow)                                                  |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/csharp.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**C#** (CSHARP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp.md)                    | [**csharpier**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_csharpier.md)\u003cbr/\u003e[_CSHARP_CSHARPIER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_csharpier.md)                                                                 |                                            [![GitHub stars](https://img.shields.io/github/stars/belav/csharpier?cacheSeconds=3600)](https://github.com/belav/csharpier) ![formatter](https://shields.io/badge/-format-yellow)                                             |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/csharp.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**C#** (CSHARP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp.md)                    | [**roslynator**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_roslynator.md)\u003cbr/\u003e[_CSHARP_ROSLYNATOR_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_roslynator.md)                                                             |                                          [![GitHub stars](https://img.shields.io/github/stars/dotnet/Roslynator?cacheSeconds=3600)](https://github.com/dotnet/Roslynator) ![formatter](https://shields.io/badge/-format-yellow)                                           |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/dart.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**DART**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/dart.md)                             | [**dartanalyzer**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/dart_dartanalyzer.md)\u003cbr/\u003e[_DART_DARTANALYZER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/dart_dartanalyzer.md)                                                           |                                                                         [![GitHub stars](https://img.shields.io/github/stars/dart-lang/sdk?cacheSeconds=3600)](https://github.com/dart-lang/sdk)                                                                          |\n|     \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/go.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**GO**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go.md)                                 | [**golangci-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go_golangci_lint.md)\u003cbr/\u003e[_GO_GOLANGCI_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go_golangci_lint.md)                                                             |              [![GitHub stars](https://img.shields.io/github/stars/golangci/golangci-lint?cacheSeconds=3600)](https://github.com/golangci/golangci-lint) ![autofix](https://shields.io/badge/-autofix-green) ![sarif](https://shields.io/badge/-SARIF-orange)              |\n|     \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/go.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**GO**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go.md)                                 | [**revive**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go_revive.md)\u003cbr/\u003e[_GO_REVIVE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go_revive.md)                                                                                         |                                                [![GitHub stars](https://img.shields.io/github/stars/mgechev/revive?cacheSeconds=3600)](https://github.com/mgechev/revive) ![sarif](https://shields.io/badge/-SARIF-orange)                                                |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/groovy.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**GROOVY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/groovy.md)                         | [**npm-groovy-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/groovy_npm_groovy_lint.md)\u003cbr/\u003e[_GROOVY_NPM_GROOVY_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/groovy_npm_groovy_lint.md)                                         |            [![GitHub stars](https://img.shields.io/github/stars/nvuillam/npm-groovy-lint?cacheSeconds=3600)](https://github.com/nvuillam/npm-groovy-lint) ![autofix](https://shields.io/badge/-autofix-green) ![sarif](https://shields.io/badge/-SARIF-orange)            |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/java.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**JAVA**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java.md)                             | [**checkstyle**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java_checkstyle.md)\u003cbr/\u003e[_JAVA_CHECKSTYLE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java_checkstyle.md)                                                                   |                                         [![GitHub stars](https://img.shields.io/github/stars/checkstyle/checkstyle?cacheSeconds=3600)](https://github.com/checkstyle/checkstyle) ![sarif](https://shields.io/badge/-SARIF-orange)                                         |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/java.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**JAVA**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java.md)                             | [**pmd**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java_pmd.md)\u003cbr/\u003e[_JAVA_PMD_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java_pmd.md)                                                                                               |                                                       [![GitHub stars](https://img.shields.io/github/stars/pmd/pmd?cacheSeconds=3600)](https://github.com/pmd/pmd) ![sarif](https://shields.io/badge/-SARIF-orange)                                                       |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/javascript.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**JAVASCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript.md)                 | [**eslint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_eslint.md)\u003cbr/\u003e[_JAVASCRIPT_ES_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_eslint.md)                                                                     |                       [![GitHub stars](https://img.shields.io/github/stars/eslint/eslint?cacheSeconds=3600)](https://github.com/eslint/eslint) ![autofix](https://shields.io/badge/-autofix-green) ![sarif](https://shields.io/badge/-SARIF-orange)                       |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/javascript.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**JAVASCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript.md)                 | [**standard**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_standard.md)\u003cbr/\u003e[_JAVASCRIPT_STANDARD_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_standard.md)                                                         |                                           [![GitHub stars](https://img.shields.io/github/stars/standard/standard?cacheSeconds=3600)](https://github.com/standard/standard) ![autofix](https://shields.io/badge/-autofix-green)                                            |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/javascript.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**JAVASCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript.md)                 | [**prettier**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_prettier.md)\u003cbr/\u003e[_JAVASCRIPT_PRETTIER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_prettier.md)                                                         |                                          [![GitHub stars](https://img.shields.io/github/stars/prettier/prettier?cacheSeconds=3600)](https://github.com/prettier/prettier) ![formatter](https://shields.io/badge/-format-yellow)                                           |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/jsx.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**JSX**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/jsx.md)                               | [**eslint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/jsx_eslint.md)\u003cbr/\u003e[_JSX_ESLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/jsx_eslint.md)                                                                                      |       [![GitHub stars](https://img.shields.io/github/stars/yannickcr/eslint-plugin-react?cacheSeconds=3600)](https://github.com/yannickcr/eslint-plugin-react) ![autofix](https://shields.io/badge/-autofix-green) ![sarif](https://shields.io/badge/-SARIF-orange)       |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/kotlin.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**KOTLIN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin.md)                         | [**ktlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin_ktlint.md)\u003cbr/\u003e[_KOTLIN_KTLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin_ktlint.md)                                                                             |                    [![GitHub stars](https://img.shields.io/github/stars/pinterest/ktlint?cacheSeconds=3600)](https://github.com/pinterest/ktlint) ![autofix](https://shields.io/badge/-autofix-green) ![sarif](https://shields.io/badge/-SARIF-orange)                    |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/kotlin.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**KOTLIN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin.md)                         | [**detekt**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin_detekt.md)\u003cbr/\u003e[_KOTLIN_DETEKT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin_detekt.md)                                                                             |                                                 [![GitHub stars](https://img.shields.io/github/stars/detekt/detekt?cacheSeconds=3600)](https://github.com/detekt/detekt) ![sarif](https://shields.io/badge/-SARIF-orange)                                                 |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/lua.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**LUA**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua.md)                               | [**luacheck**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua_luacheck.md)\u003cbr/\u003e[_LUA_LUACHECK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua_luacheck.md)                                                                              |                                                                 [![GitHub stars](https://img.shields.io/github/stars/lunarmodules/luacheck?cacheSeconds=3600)](https://github.com/lunarmodules/luacheck)                                                                  |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/lua.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**LUA**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua.md)                               | [**selene**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua_selene.md)\u003cbr/\u003e[_LUA_SELENE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua_selene.md)                                                                                      |                                         ![disabled](https://shields.io/badge/-disabled-orange) [![GitHub stars](https://img.shields.io/github/stars/Kampfkarren/selene?cacheSeconds=3600)](https://github.com/Kampfkarren/selene)                                         |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/lua.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**LUA**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua.md)                               | [**stylua**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua_stylua.md)\u003cbr/\u003e[_LUA_STYLUA_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua_stylua.md)                                                                                      |                                                                  [![GitHub stars](https://img.shields.io/github/stars/JohnnyMorganz/StyLua?cacheSeconds=3600)](https://github.com/JohnnyMorganz/StyLua)                                                                   |\n|  \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**MAKEFILE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/makefile.md)                     | [**checkmake**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/makefile_checkmake.md)\u003cbr/\u003e[_MAKEFILE_CHECKMAKE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/makefile_checkmake.md)                                                           |                                        ![disabled](https://shields.io/badge/-disabled-orange) [![GitHub stars](https://img.shields.io/github/stars/checkmake/checkmake?cacheSeconds=3600)](https://github.com/checkmake/checkmake)                                        |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/perl.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**PERL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/perl.md)                             | [**perlcritic**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/perl_perlcritic.md)\u003cbr/\u003e[_PERL_PERLCRITIC_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/perl_perlcritic.md)                                                                   |                                                               [![GitHub stars](https://img.shields.io/github/stars/Perl-Critic/Perl-Critic?cacheSeconds=3600)](https://github.com/Perl-Critic/Perl-Critic)                                                                |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/php.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**PHP**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php.md)                               | [**phpcs**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phpcs.md)\u003cbr/\u003e[_PHP_PHPCS_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phpcs.md)                                                                                          |                                [![GitHub stars](https://img.shields.io/github/stars/PHPCSStandards/PHP_CodeSniffer?cacheSeconds=3600)](https://github.com/PHPCSStandards/PHP_CodeSniffer) ![sarif](https://shields.io/badge/-SARIF-orange)                                |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/php.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**PHP**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php.md)                               | [**phpstan**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phpstan.md)\u003cbr/\u003e[_PHP_PHPSTAN_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phpstan.md)                                                                                  |                                               [![GitHub stars](https://img.shields.io/github/stars/phpstan/phpstan?cacheSeconds=3600)](https://github.com/phpstan/phpstan) ![sarif](https://shields.io/badge/-SARIF-orange)                                               |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/php.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**PHP**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php.md)                               | [**psalm**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_psalm.md)\u003cbr/\u003e[_PHP_PSALM_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_psalm.md)                                                                                          |                                                   [![GitHub stars](https://img.shields.io/github/stars/vimeo/psalm?cacheSeconds=3600)](https://github.com/vimeo/psalm) ![sarif](https://shields.io/badge/-SARIF-orange)                                                   |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/php.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**PHP**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php.md)                               | [**phplint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phplint.md)\u003cbr/\u003e[_PHP_PHPLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phplint.md)                                                                                  |                                              [![GitHub stars](https://img.shields.io/github/stars/overtrue/phplint?cacheSeconds=3600)](https://github.com/overtrue/phplint) ![sarif](https://shields.io/badge/-SARIF-orange)                                              |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/php.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**PHP**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php.md)                               | [**php-cs-fixer**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_php_cs_fixer.md)\u003cbr/\u003e[_PHP_PHPCSFIXER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_php_cs_fixer.md)                                                                |                                                             [![GitHub stars](https://img.shields.io/github/stars/PHP-CS-Fixer/PHP-CS-Fixer?cacheSeconds=3600)](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)                                                              |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/powershell.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**POWERSHELL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell.md)                 | [**powershell**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell_powershell.md)\u003cbr/\u003e[_POWERSHELL_POWERSHELL_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell_powershell.md)                                                 |                                 [![GitHub stars](https://img.shields.io/github/stars/PowerShell/PSScriptAnalyzer?cacheSeconds=3600)](https://github.com/PowerShell/PSScriptAnalyzer) ![autofix](https://shields.io/badge/-autofix-green)                                  |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/powershell.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**POWERSHELL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell.md)                 | [**powershell_formatter**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell_powershell_formatter.md)\u003cbr/\u003e[_POWERSHELL_POWERSHELL_FORMATTER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell_powershell_formatter.md)         |                                [![GitHub stars](https://img.shields.io/github/stars/PowerShell/PSScriptAnalyzer?cacheSeconds=3600)](https://github.com/PowerShell/PSScriptAnalyzer) ![formatter](https://shields.io/badge/-format-yellow)                                 |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md)                         | [**pylint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_pylint.md)\u003cbr/\u003e[_PYTHON_PYLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_pylint.md)                                                                             |                                                                     [![GitHub stars](https://img.shields.io/github/stars/pylint-dev/pylint?cacheSeconds=3600)](https://github.com/pylint-dev/pylint)                                                                      |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md)                         | [**black**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_black.md)\u003cbr/\u003e[_PYTHON_BLACK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_black.md)                                                                                 |                                                  [![GitHub stars](https://img.shields.io/github/stars/psf/black?cacheSeconds=3600)](https://github.com/psf/black) ![formatter](https://shields.io/badge/-format-yellow)                                                   |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md)                         | [**flake8**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_flake8.md)\u003cbr/\u003e[_PYTHON_FLAKE8_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_flake8.md)                                                                             |                                                                          [![GitHub stars](https://img.shields.io/github/stars/PyCQA/flake8?cacheSeconds=3600)](https://github.com/PyCQA/flake8)                                                                           |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md)                         | [**isort**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_isort.md)\u003cbr/\u003e[_PYTHON_ISORT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_isort.md)                                                                                 |                                                [![GitHub stars](https://img.shields.io/github/stars/PyCQA/isort?cacheSeconds=3600)](https://github.com/PyCQA/isort) ![formatter](https://shields.io/badge/-format-yellow)                                                 |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md)                         | [**bandit**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_bandit.md)\u003cbr/\u003e[_PYTHON_BANDIT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_bandit.md)                                                                             |                                                  [![GitHub stars](https://img.shields.io/github/stars/PyCQA/bandit?cacheSeconds=3600)](https://github.com/PyCQA/bandit) ![sarif](https://shields.io/badge/-SARIF-orange)                                                  |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md)                         | [**mypy**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_mypy.md)\u003cbr/\u003e[_PYTHON_MYPY_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_mypy.md)                                                                                     |                                                                           [![GitHub stars](https://img.shields.io/github/stars/python/mypy?cacheSeconds=3600)](https://github.com/python/mypy)                                                                            |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md)                         | [**nbqa**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_nbqa.md)\u003cbr/\u003e[_PYTHON_NBQA_MYPY_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_nbqa.md)                                                                                |                                                                         [![GitHub stars](https://img.shields.io/github/stars/nbQA-dev/nbQA?cacheSeconds=3600)](https://github.com/nbQA-dev/nbQA)                                                                          |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md)                         | [**pyright**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_pyright.md)\u003cbr/\u003e[_PYTHON_PYRIGHT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_pyright.md)                                                                         |                                                                     [![GitHub stars](https://img.shields.io/github/stars/microsoft/pyright?cacheSeconds=3600)](https://github.com/microsoft/pyright)                                                                      |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md)                         | [**ruff**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_ruff.md)\u003cbr/\u003e[_PYTHON_RUFF_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_ruff.md)                                                                                     |                      [![GitHub stars](https://img.shields.io/github/stars/astral-sh/ruff?cacheSeconds=3600)](https://github.com/astral-sh/ruff) ![autofix](https://shields.io/badge/-autofix-green) ![sarif](https://shields.io/badge/-SARIF-orange)                      |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md)                         | [**ruff-format**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_ruff_format.md)\u003cbr/\u003e[_PYTHON_RUFF_FORMAT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_ruff_format.md)                                                         |                                             [![GitHub stars](https://img.shields.io/github/stars/astral-sh/ruff?cacheSeconds=3600)](https://github.com/astral-sh/ruff) ![formatter](https://shields.io/badge/-format-yellow)                                              |\n|     \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/r.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e      | [**R**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/r.md)                                   | [**lintr**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/r_lintr.md)\u003cbr/\u003e[_R_LINTR_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/r_lintr.md)                                                                                                |                                                                           [![GitHub stars](https://img.shields.io/github/stars/r-lib/lintr?cacheSeconds=3600)](https://github.com/r-lib/lintr)                                                                            |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/raku.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**RAKU**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/raku.md)                             | [**raku**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/raku_raku.md)\u003cbr/\u003e[_RAKU_RAKU_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/raku_raku.md)                                                                                           |                                                                         [![GitHub stars](https://img.shields.io/github/stars/rakudo/rakudo?cacheSeconds=3600)](https://github.com/rakudo/rakudo)                                                                          |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/ruby.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**RUBY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ruby.md)                             | [**rubocop**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ruby_rubocop.md)\u003cbr/\u003e[_RUBY_RUBOCOP_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ruby_rubocop.md)                                                                               |                                          [![GitHub stars](https://img.shields.io/github/stars/rubocop-hq/rubocop?cacheSeconds=3600)](https://github.com/rubocop-hq/rubocop) ![autofix](https://shields.io/badge/-autofix-green)                                           |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/rust.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**RUST**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rust.md)                             | [**clippy**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rust_clippy.md)\u003cbr/\u003e[_RUST_CLIPPY_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rust_clippy.md)                                                                                   |                                                                 [![GitHub stars](https://img.shields.io/github/stars/rust-lang/rust-clippy?cacheSeconds=3600)](https://github.com/rust-lang/rust-clippy)                                                                  |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md)                 | [**code-analyzer-apex**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_apex.md)\u003cbr/\u003e[_SALESFORCE_CODE_ANALYZER_APEX_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_apex.md)                 |                                                             [![GitHub stars](https://img.shields.io/github/stars/forcedotcom/code-analyzer?cacheSeconds=3600)](https://github.com/forcedotcom/code-analyzer)                                                              |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md)                 | [**code-analyzer-aura**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_aura.md)\u003cbr/\u003e[_SALESFORCE_CODE_ANALYZER_AURA_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_aura.md)                 |                                                             [![GitHub stars](https://img.shields.io/github/stars/forcedotcom/code-analyzer?cacheSeconds=3600)](https://github.com/forcedotcom/code-analyzer)                                                              |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md)                 | [**code-analyzer-lwc**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_lwc.md)\u003cbr/\u003e[_SALESFORCE_CODE_ANALYZER_LWC_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_lwc.md)                     |                                                             [![GitHub stars](https://img.shields.io/github/stars/forcedotcom/code-analyzer?cacheSeconds=3600)](https://github.com/forcedotcom/code-analyzer)                                                              |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md)                 | [**sfdx-scanner-apex**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_sfdx_scanner_apex.md)\u003cbr/\u003e[_SALESFORCE_SFDX_SCANNER_APEX_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_sfdx_scanner_apex.md)                     |                                 ![deprecated](https://shields.io/badge/-deprecated-red) [![GitHub stars](https://img.shields.io/github/stars/forcedotcom/code-analyzer?cacheSeconds=3600)](https://github.com/forcedotcom/code-analyzer)                                  |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md)                 | [**sfdx-scanner-aura**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_sfdx_scanner_aura.md)\u003cbr/\u003e[_SALESFORCE_SFDX_SCANNER_AURA_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_sfdx_scanner_aura.md)                     |                                 ![deprecated](https://shields.io/badge/-deprecated-red) [![GitHub stars](https://img.shields.io/github/stars/forcedotcom/code-analyzer?cacheSeconds=3600)](https://github.com/forcedotcom/code-analyzer)                                  |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md)                 | [**sfdx-scanner-lwc**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_sfdx_scanner_lwc.md)\u003cbr/\u003e[_SALESFORCE_SFDX_SCANNER_LWC_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_sfdx_scanner_lwc.md)                         |                                 ![deprecated](https://shields.io/badge/-deprecated-red) [![GitHub stars](https://img.shields.io/github/stars/forcedotcom/code-analyzer?cacheSeconds=3600)](https://github.com/forcedotcom/code-analyzer)                                  |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md)                 | [**lightning-flow-scanner**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_lightning_flow_scanner.md)\u003cbr/\u003e[_SALESFORCE_LIGHTNING_FLOW_SCANNER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_lightning_flow_scanner.md) |                    ![disabled](https://shields.io/badge/-disabled-orange) [![GitHub stars](https://img.shields.io/github/stars/Flow-Scanner/lightning-flow-scanner-cli?cacheSeconds=3600)](https://github.com/Flow-Scanner/lightning-flow-scanner-cli)                    |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/scala.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**SCALA**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/scala.md)                           | [**scalafix**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/scala_scalafix.md)\u003cbr/\u003e[_SCALA_SCALAFIX_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/scala_scalafix.md)                                                                        |                                                                  [![GitHub stars](https://img.shields.io/github/stars/scalacenter/scalafix?cacheSeconds=3600)](https://github.com/scalacenter/scalafix)                                                                   |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/sql.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**SQL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/sql.md)                               | [**sqlfluff**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/sql_sqlfluff.md)\u003cbr/\u003e[_SQL_SQLFLUFF_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/sql_sqlfluff.md)                                                                              |                                           [![GitHub stars](https://img.shields.io/github/stars/sqlfluff/sqlfluff?cacheSeconds=3600)](https://github.com/sqlfluff/sqlfluff) ![autofix](https://shields.io/badge/-autofix-green)                                            |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/sql.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**SQL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/sql.md)                               | [**tsqllint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/sql_tsqllint.md)\u003cbr/\u003e[_SQL_TSQLLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/sql_tsqllint.md)                                                                              |                                                                     [![GitHub stars](https://img.shields.io/github/stars/tsqllint/tsqllint?cacheSeconds=3600)](https://github.com/tsqllint/tsqllint)                                                                      |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/swift.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**SWIFT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/swift.md)                           | [**swiftlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/swift_swiftlint.md)\u003cbr/\u003e[_SWIFT_SWIFTLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/swift_swiftlint.md)                                                                    |                                             [![GitHub stars](https://img.shields.io/github/stars/realm/SwiftLint?cacheSeconds=3600)](https://github.com/realm/SwiftLint) ![autofix](https://shields.io/badge/-autofix-green)                                              |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/tsx.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**TSX**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tsx.md)                               | [**eslint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tsx_eslint.md)\u003cbr/\u003e[_TSX_ESLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tsx_eslint.md)                                                                                      |      [![GitHub stars](https://img.shields.io/github/stars/jsx-eslint/eslint-plugin-react?cacheSeconds=3600)](https://github.com/jsx-eslint/eslint-plugin-react) ![autofix](https://shields.io/badge/-autofix-green) ![sarif](https://shields.io/badge/-SARIF-orange)      |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/typescript.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**TYPESCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript.md)                 | [**eslint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_eslint.md)\u003cbr/\u003e[_TYPESCRIPT_ES_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_eslint.md)                                                                     | [![GitHub stars](https://img.shields.io/github/stars/typescript-eslint/typescript-eslint?cacheSeconds=3600)](https://github.com/typescript-eslint/typescript-eslint) ![autofix](https://shields.io/badge/-autofix-green) ![sarif](https://shields.io/badge/-SARIF-orange) |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/typescript.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**TYPESCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript.md)                 | [**ts-standard**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_ts_standard.md)\u003cbr/\u003e[_TYPESCRIPT_STANDARD_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_ts_standard.md)                                                |                                        [![GitHub stars](https://img.shields.io/github/stars/standard/ts-standard?cacheSeconds=3600)](https://github.com/standard/ts-standard) ![autofix](https://shields.io/badge/-autofix-green)                                         |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/typescript.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**TYPESCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript.md)                 | [**prettier**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_prettier.md)\u003cbr/\u003e[_TYPESCRIPT_PRETTIER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_prettier.md)                                                         |                                          [![GitHub stars](https://img.shields.io/github/stars/prettier/prettier?cacheSeconds=3600)](https://github.com/prettier/prettier) ![formatter](https://shields.io/badge/-format-yellow)                                           |\n|  \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/vbdotnet.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e  | [**Visual Basic .NET** (VBDOTNET)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/vbdotnet.md) | [**dotnet-format**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/vbdotnet_dotnet_format.md)\u003cbr/\u003e[_VBDOTNET_DOTNET_FORMAT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/vbdotnet_dotnet_format.md)                                           |                                                 [![GitHub stars](https://img.shields.io/github/stars/dotnet/sdk?cacheSeconds=3600)](https://github.com/dotnet/sdk) ![formatter](https://shields.io/badge/-format-yellow)                                                  |\n\n### Formats\n\n|                                                                              \u003c!-- --\u003e                                                                              | Format                                                                                          | Linter                                                                                                                                                                                                                                                                                       |                                                                                                                                                      Additional                                                                                                                                                      |\n|:------------------------------------------------------------------------------------------------------------------------------------------------------------------:|-------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/css.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**CSS**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css.md)           | [**stylelint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css_stylelint.md)\u003cbr/\u003e[_CSS_STYLELINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css_stylelint.md)                                                                            |                                                               [![GitHub stars](https://img.shields.io/github/stars/stylelint/stylelint?cacheSeconds=3600)](https://github.com/stylelint/stylelint) ![autofix](https://shields.io/badge/-autofix-green)                                                               |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/env.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**ENV**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/env.md)           | [**dotenv-linter**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/env_dotenv_linter.md)\u003cbr/\u003e[_ENV_DOTENV_LINTER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/env_dotenv_linter.md)                                                            |                                                       [![GitHub stars](https://img.shields.io/github/stars/dotenv-linter/dotenv-linter?cacheSeconds=3600)](https://github.com/dotenv-linter/dotenv-linter) ![autofix](https://shields.io/badge/-autofix-green)                                                       |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/graphql.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e  | [**GRAPHQL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/graphql.md)   | [**graphql-schema-linter**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/graphql_graphql_schema_linter.md)\u003cbr/\u003e[_GRAPHQL_GRAPHQL_SCHEMA_LINTER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/graphql_graphql_schema_linter.md)                |                                                                              [![GitHub stars](https://img.shields.io/github/stars/cjoudrey/graphql-schema-linter?cacheSeconds=3600)](https://github.com/cjoudrey/graphql-schema-linter)                                                                              |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/html.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**HTML**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html.md)         | [**djlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html_djlint.md)\u003cbr/\u003e[_HTML_DJLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html_djlint.md)                                                                                     |                                                                                 [![GitHub stars](https://img.shields.io/github/stars/Riverside-Healthcare/djlint?cacheSeconds=3600)](https://github.com/Riverside-Healthcare/djlint)                                                                                 |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/html.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**HTML**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html.md)         | [**htmlhint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html_htmlhint.md)\u003cbr/\u003e[_HTML_HTMLHINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html_htmlhint.md)                                                                             |                                                                                           [![GitHub stars](https://img.shields.io/github/stars/htmlhint/HTMLHint?cacheSeconds=3600)](https://github.com/htmlhint/HTMLHint)                                                                                           |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/json.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**JSON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json.md)         | [**jsonlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_jsonlint.md)\u003cbr/\u003e[_JSON_JSONLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_jsonlint.md)                                                                             |                                                                                            [![GitHub stars](https://img.shields.io/github/stars/prantlf/jsonlint?cacheSeconds=3600)](https://github.com/prantlf/jsonlint)                                                                                            |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/json.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**JSON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json.md)         | [**eslint-plugin-jsonc**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_eslint_plugin_jsonc.md)\u003cbr/\u003e[_JSON_ESLINT_PLUGIN_JSONC_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_eslint_plugin_jsonc.md)                                 | ![disabled](https://shields.io/badge/-disabled-orange) [![GitHub stars](https://img.shields.io/github/stars/ota-meshi/eslint-plugin-jsonc?cacheSeconds=3600)](https://github.com/ota-meshi/eslint-plugin-jsonc) ![autofix](https://shields.io/badge/-autofix-green) ![sarif](https://shields.io/badge/-SARIF-orange) |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/json.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**JSON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json.md)         | [**v8r**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_v8r.md)\u003cbr/\u003e[_JSON_V8R_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_v8r.md)                                                                                                 |                                                                                                [![GitHub stars](https://img.shields.io/github/stars/chris48s/v8r?cacheSeconds=3600)](https://github.com/chris48s/v8r)                                                                                                |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/json.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**JSON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json.md)         | [**prettier**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_prettier.md)\u003cbr/\u003e[_JSON_PRETTIER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_prettier.md)                                                                             |                                                                [![GitHub stars](https://img.shields.io/github/stars/prettier/prettier?cacheSeconds=3600)](https://github.com/prettier/prettier) ![formatter](https://shields.io/badge/-format-yellow)                                                                |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/json.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**JSON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json.md)         | [**npm-package-json-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_npm_package_json_lint.md)\u003cbr/\u003e[_JSON_NPM_PACKAGE_JSON_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_npm_package_json_lint.md)                         |                                                                             [![GitHub stars](https://img.shields.io/github/stars/tclindner/npm-package-json-lint?cacheSeconds=3600)](https://github.com/tclindner/npm-package-json-lint)                                                                             |\n|  \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/latex.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**LATEX**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/latex.md)       | [**chktex**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/latex_chktex.md)\u003cbr/\u003e[_LATEX_CHKTEX_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/latex_chktex.md)                                                                                  |                                                                                                                                                                                                                                                                                                                      |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/markdown.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**MARKDOWN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown.md) | [**markdownlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_markdownlint.md)\u003cbr/\u003e[_MARKDOWN_MARKDOWNLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_markdownlint.md)                                                 |                                                          [![GitHub stars](https://img.shields.io/github/stars/DavidAnson/markdownlint?cacheSeconds=3600)](https://github.com/DavidAnson/markdownlint) ![formatter](https://shields.io/badge/-format-yellow)                                                          |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/markdown.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**MARKDOWN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown.md) | [**remark-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_remark_lint.md)\u003cbr/\u003e[_MARKDOWN_REMARK_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_remark_lint.md)                                                     |                                 ![disabled](https://shields.io/badge/-disabled-orange) [![GitHub stars](https://img.shields.io/github/stars/remarkjs/remark-lint?cacheSeconds=3600)](https://github.com/remarkjs/remark-lint) ![formatter](https://shields.io/badge/-format-yellow)                                  |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/markdown.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**MARKDOWN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown.md) | [**markdown-table-formatter**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_markdown_table_formatter.md)\u003cbr/\u003e[_MARKDOWN_MARKDOWN_TABLE_FORMATTER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_markdown_table_formatter.md) |                                                [![GitHub stars](https://img.shields.io/github/stars/nvuillam/markdown-table-formatter?cacheSeconds=3600)](https://github.com/nvuillam/markdown-table-formatter) ![formatter](https://shields.io/badge/-format-yellow)                                                |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/markdown.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**MARKDOWN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown.md) | [**rumdl**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_rumdl.md)\u003cbr/\u003e[_MARKDOWN_RUMDL_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_rumdl.md)                                                                             |                                             [![GitHub stars](https://img.shields.io/github/stars/rvben/rumdl?cacheSeconds=3600)](https://github.com/rvben/rumdl) ![formatter](https://shields.io/badge/-format-yellow) ![sarif](https://shields.io/badge/-SARIF-orange)                                              |\n| \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/protobuf.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e | [**PROTOBUF**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/protobuf.md) | [**protolint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/protobuf_protolint.md)\u003cbr/\u003e[_PROTOBUF_PROTOLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/protobuf_protolint.md)                                                             |                                                               [![GitHub stars](https://img.shields.io/github/stars/yoheimuta/protolint?cacheSeconds=3600)](https://github.com/yoheimuta/protolint) ![autofix](https://shields.io/badge/-autofix-green)                                                               |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/rst.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**RST**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst.md)           | [**rst-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rst_lint.md)\u003cbr/\u003e[_RST_RST_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rst_lint.md)                                                                                |                                                                              [![GitHub stars](https://img.shields.io/github/stars/twolfson/restructuredtext-lint?cacheSeconds=3600)](https://github.com/twolfson/restructuredtext-lint)                                                                              |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/rst.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**RST**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst.md)           | [**rstcheck**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rstcheck.md)\u003cbr/\u003e[_RST_RSTCHECK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rstcheck.md)                                                                                |                                                                                              [![GitHub stars](https://img.shields.io/github/stars/myint/rstcheck?cacheSeconds=3600)](https://github.com/myint/rstcheck)                                                                                              |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/rst.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**RST**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst.md)           | [**rstfmt**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rstfmt.md)\u003cbr/\u003e[_RST_RSTFMT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rstfmt.md)                                                                                        |                                                                                                                                ![formatter](https://shields.io/badge/-format-yellow)                                                                                                                                 |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/xml.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e    | [**XML**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/xml.md)           | [**xmllint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/xml_xmllint.md)\u003cbr/\u003e[_XML_XMLLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/xml_xmllint.md)                                                                                    |                                                                                                                                 ![autofix](https://shields.io/badge/-autofix-green)                                                                                                                                  |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/yaml.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**YAML**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/yaml.md)         | [**prettier**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/yaml_prettier.md)\u003cbr/\u003e[_YAML_PRETTIER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/yaml_prettier.md)                                                                             |                                                                [![GitHub stars](https://img.shields.io/github/stars/prettier/prettier?cacheSeconds=3600)](https://github.com/prettier/prettier) ![formatter](https://shields.io/badge/-format-yellow)                                                                |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/yaml.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**YAML**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/yaml.md)         | [**yamllint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/yaml_yamllint.md)\u003cbr/\u003e[_YAML_YAMLLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/yaml_yamllint.md)                                                                             |                                                                                        [![GitHub stars](https://img.shields.io/github/stars/adrienverge/yamllint?cacheSeconds=3600)](https://github.com/adrienverge/yamllint)                                                                                        |\n|   \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/yaml.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e   | [**YAML**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/yaml.md)         | [**v8r**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/yaml_v8r.md)\u003cbr/\u003e[_YAML_V8R_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/yaml_v8r.md)                                                                                                 |                                                                                                [![GitHub stars](https://img.shields.io/github/stars/chris48s/v8r?cacheSeconds=3600)](https://github.com/chris48s/v8r)                                                                                                |\n\n### Tooling formats\n\n|                                                                                 \u003c!-- --\u003e                                                                                 | Tooling format                                                                                              | Linter                                                                                                                                                                                                                                                                                   |                                                                                                                                                       Additional                                                                                                                                                       |\n|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|-------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**ACTION**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/action.md)                 | [**actionlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/action_actionlint.md)\u003cbr/\u003e[_ACTION_ACTIONLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/action_actionlint.md)                                                           |                                                                                             [![GitHub stars](https://img.shields.io/github/stars/rhysd/actionlint?cacheSeconds=3600)](https://github.com/rhysd/actionlint)                                                                                             |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/ansible.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**ANSIBLE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ansible.md)               | [**ansible-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ansible_ansible_lint.md)\u003cbr/\u003e[_ANSIBLE_ANSIBLE_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ansible_ansible_lint.md)                                                |                                                                [![GitHub stars](https://img.shields.io/github/stars/ansible/ansible-lint?cacheSeconds=3600)](https://github.com/ansible/ansible-lint) ![sarif](https://shields.io/badge/-SARIF-orange)                                                                 |\n|    \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e     | [**API**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/api.md)                       | [**spectral**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/api_spectral.md)\u003cbr/\u003e[_API_SPECTRAL_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/api_spectral.md)                                                                            |                                                                [![GitHub stars](https://img.shields.io/github/stars/stoplightio/spectral?cacheSeconds=3600)](https://github.com/stoplightio/spectral) ![sarif](https://shields.io/badge/-SARIF-orange)                                                                 |\n|      \u003cimg src=\"https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/arm.ico\" alt=\"\" height=\"32px\" class=\"megalinter-icon\"\u003e\u003c/a\u003e \u003c!-- linter-icon --\u003e       | [**ARM**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/arm.md)                       | [**arm-ttk**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/arm_arm_ttk.md)\u003cbr/\u003e[_ARM_ARM_TTK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/arm_arm_ttk.md)                                                                                |                                                                                                [![GitHub stars](https://img.shields.io/github/stars/Azure/arm-ttk?cacheSeconds=3600)](https://github.com/Azure/arm-ttk)                                                                                                |\n|    \u003cimg src=\"https:","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxsecurity%2Fmegalinter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foxsecurity%2Fmegalinter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxsecurity%2Fmegalinter/lists"}