Skip to content

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

Limitations

  • For now, the only install attributes managed are dockerfile instructions starting by RUN