Plugins
For performance and security reasons, we cannot embed every linter in MegaLinter.
But our core architecture allows building and publishing MegaLinter plugins!
External Plugins Catalog
| Name | Description | Author | Raw URL |
|---|---|---|---|
| jupyfmt | The uncompromising Jupyter notebook formatter | Kim Philipp Jablonski | Descriptor |
| linkcheck | Plugin to check and validate markdown links exist and working | Shiran Rubin | Descriptor |
| nitpick | Command-line tool and flake8 plugin to enforce the same settings across multiple language-independent projects | W. Augusto Andreoli | Descriptor |
| mustache | Plugin to validate Logstash pipeline definition files using mustache | Yann Jouanique | Descriptor |
| salt-lint | Checks Salt State files (SLS) for best practices and behavior that could potentially be improved. | Joachim Grimm | Descriptor |
| docker-compose-linter | Plugin to lint docker-compose files | Wesley Dean | Descriptor |
| repolinter | Plugin to run TODO Group's repolinter to look for repository best practices | Wesley Dean | Descriptor |
| j2lint | Plugin to lint Jinja2 files | Wesley Dean | Descriptor |
| fmlint | Plugin to lint YAML frontmatter in Markdown documents | Wesley Dean | Descriptor |
Note: Using an external plugin means you trust its author.
Submit a Pull Request if you want your plugin to appear here :)
Use external plugins
Add plugin URLs in the PLUGINS property of .mega-linter.yml. URLs must either begin with "https://" or take the form of "file://\<path>", where \<path> points to a valid plugin descriptor file.
Note: Both \<path> and the default mount directory (/tmp/lint/\<path>) will be checked for a valid descriptor.
Example
PLUGINS:
- https://raw.githubusercontent.com/kpj/jupyfmt/master/mega-linter-plugin-jupyfmt/jupyfmt.megalinter-descriptor.yml
- file://.automation/test/mega-linter-plugin-test/test.megalinter-descriptor.yml
Create your own plugin
You can implement your own descriptors and load them as plugins during MegaLinter runtime.
- Descriptor format is exactly the same as MegaLinter embedded ones (see JSON schema documentation)
- Plugin descriptor files must be named **.megalinter-descriptor.yml and conform to the MegaLinter JSON Schema
- Plugins must be hosted in a URL containing **/mega-linter-plugin-**/
- File URLs must conform to the same directory and file naming criteria as defined above.
Limitations
- For now, the only
installattributes managed aredockerfileinstructions starting byRUN
Community Tools
Beyond plugins, the community has built additional tools that integrate with MegaLinter. These are independently maintained and not affiliated with the MegaLinter team.
| Name | Description | Author |
|---|---|---|
| megalinter-mcp-server | An MCP server for running MegaLinter via mega-linter-runner. Provides 15 MCP tools for execution, discovery, and analysis. Works with GitHub Copilot Chat in VS Code and other MCP-compatible clients. Available on npm. | DownAtTheBottomOfTheMoleHole |
| megalinter-ado | Azure DevOps extension providing a native pipeline task for running MegaLinter. Supports flavor selection, auto-fix PRs, and PR comments. Available on the Visual Studio Marketplace. | DownAtTheBottomOfTheMoleHole |