MegaLinter, by
MegaLinter is an Open-Source tool for CI/CD workflows that analyzes the consistency of your code, IAC, configuration, and scripts in your repository sources, to ensure all your projects sources are clean and formatted whatever IDE/toolbox is used by their developers, powered by OX Security.
Supporting 60 languages, 23 formats, 20 tooling formats and ready to use out of the box, as a GitHub action or any CI system, highly configurable and free for all uses.
MegaLinter has native integrations with many of the major CI/CD tools of the market.
Before going below, see Online Documentation Web Site which has a much easier user navigation than this README
Table of Contents
- Why MegaLinter
- Quick Start
- Supported Linters
- Installation
- Configuration
- Reporters
- Flavors
- Badge
- Plugins
- They talk about MegaLinter
- Frequently Asked Questions
- How to contribute
- Special thanks
- License
- MegaLinter vs Super-Linter
Why MegaLinter
Projects need to contain clean code, in order to avoid technical debt, that makes evolutive maintenance harder and time consuming.
By using code formatters and code linters, you ensure that your code base is easier to read and respects best practices, from the kick-off to each step of the project lifecycle
Not all developers have the good habit to use linters in their IDEs, making code reviews harder and longer to process
By using MegaLinter, you'll enjoy the following benefits for you and your team:
- At each pull request it will automatically analyze all updated code in all languages
- Reading error logs, developers learn best practices of the language they're using
- MegaLinter documentation provides the list of IDE plugins integrating each linter, so developers know which linter and plugins to install
- MegaLinter is ready out of the box after a quick setup
- Formatting and fixes can be automatically applied on the git branch or provided in reports
- This tool is 100% open-source and free for all uses (personal, professional, public and private repositories)
- MegaLinter can run on any CI tool and be run locally: no need to authorize an external application, and your code base never leaves your tooling ecosystem
Quick Start
- Run
npx mega-linter-runner --install
to generate configuration files (you need node.js to be installed) - Commit, push, and create a pull request
- Watch !
Notes:
- This repo is a hard-fork of GitHub Super-Linter, rewritten in python to add lots of additional features
- 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
byoxsecurity/megalinter@v8
in your GitHub Action YML file, like on this PR) - If you want to use MegaLinter extra features (recommended), please take 5 minutes to use MegaLinter assisted installation
- For a hand-holdy example of getting started with mega-linter check out this blog post by Alec Johnson
Supported Linters
All linters are integrated in the MegaLinter docker image, which is frequently upgraded with their latest versions
Languages
Language | Linter | Additional | |
---|---|---|---|
BASH | bash-exec BASH_EXEC | ||
BASH | shellcheck BASH_SHELLCHECK | ||
BASH |