Home
Mega-Linter is an 100% Open-Source tool for CI/CD workflows that analyzes consistency and quality of 48 languages, 22 formats, 19 tooling formats , abusive copy-pastes and spelling mistakes in your repository sources, generates various reports, and can even apply formatting and auto-fixes, to ensure all your projects sources are clean, whatever IDE/toolbox are used by their developers.
Ready to use out of the box as a GitHub Action or any CI system, highly configurable and free for all uses
Why Mega-Linter
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 Mega-Linter, 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 are using
- Mega-Linter documentation provides the list of IDE plugins integrating each linter, so developers know which linter and plugins to install
- Mega-Linter 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)
- Mega-Linter 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
Supported Linters
All linters are integrated in the Mega-Linter docker image, which is frequently upgraded with their latest versions
Languages
Formats
Tooling formats
Other
Code quality checker | Linter | Configuration key | Format/Fix | |
---|---|---|---|---|
COPYPASTE | jscpd | COPYPASTE_JSCPD | ||
CREDENTIALS | secretlint | CREDENTIALS_SECRETLINT | ||
GIT | git_diff | GIT_GIT_DIFF | ||
SPELL | misspell | SPELL_MISSPELL | ||
cspell | SPELL_CSPELL |
V4 versus V5
- Tool to upgrade user repos configuration files using
npx mega-linter-runner --upgrade
(will upgrade references to nvuillam/mega-linter into megalinter/megalinter)
- Migration from github individual repo nvuillam/mega-linter to github organization repo megalinter/megalinter
- Migration from docker hub space nvuillam to space megalinter
- Docker images are now megalinter/megalinter or megalinter/megalinter-FLAVOR
- Documentation is now hosted at https://megalinter.github.io/
- Version management: Now mega-linter docker images, github action and mega-linter-runner versions are aligned
- latest for latest official release
- beta for current content of main branch
- alpha for current content of alpha branch
- docker image, github action and mega-linter-runner can still be called with exact version number
- Being more inclusive: rename
master
branch intomain
- IGNORE_GITIGNORED_FILES parameter default to
true