Plugins
For security reasons, we try to embed in MegaLinter only linters that are widely adopted by open-source community.
But any linter can be callable within MegaLinter thanks to the plugin mechanism !
Use plugins
Add plugin URLs in 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/oxsecurity/megalinter/main/.automation/test/mega-linter-plugin-test/test.megalinter-descriptor.yml
- https://raw.githubusercontent.com/cookiejar/mega-linter-plugin-cookietemple/main/cookietemple.megalinter-descriptor.yml
- file://.automation/test/mega-linter-plugin-test/test.megalinter-descriptor.yml
Plugins Catalog
- jupyfmt: The uncompromising Jupyter notebook formatter (usage)
- linkcheck: Plugin to check and validate markdown links exist and working.
- nitpick: Command-line tool and flake8 plugin to enforce the same settings across multiple language-independent projects. (usage)
- mustache: Plugin to validate Logstash pipeline definition files using mustache
- salt-lint: Checks Salt State files (SLS) for best practices and behavior that could potentially be improved.
Submit a PR if you want your plugin to appear here :)
Create plugins
You can implement your own descriptors and load them as plugins during MegaLinter runtime
- Descriptor format is exactly the same than MegaLinter embedded ones (see json schema documentation)
- Plugins descriptor files must be named **.megalinter-descriptor.yml and respect 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
install
attributes managed aredockerfile
instructions starting byRUN