| name | add-reporter |
| description | Add a new output reporter to MegaLinter. Use when adding support for a new CI system or output format. |
| allowed-tools | Read Grep Glob Edit Write |
| argument-hint | ["reporter-name"] |
| model | sonnet |
Guide through adding a new reporter named $ARGUMENTS to MegaLinter.
Steps:
- Create the class in
megalinter/reporters/<Name>Reporter.py extending megalinter.Reporter
- Implement required methods:
manage_activation() — check env var like <NAME>_REPORTER=true to enable/disable
produce_report() — generate the report output
- Optionally:
initialize(), add_report_item()
- Register the reporter — check how existing reporters are discovered and loaded in
megalinter/MegaLinter.py
- Reference patterns from existing reporters:
- Simple output:
ConsoleReporter.py, TapReporter.py
- CI integration:
GithubCommentReporter.py, GitlabCommentReporter.py
- File output:
JsonReporter.py, SarifReporter.py
- External service:
ApiReporter.py, EmailReporter.py
- Update documentation — add a docs page describing configuration
- Update
CHANGELOG.md in the repository root (not docs/) — add one line under Reporters in the beta section:
- Add <ReporterName>: <what CI system or output format it supports, one sentence>
- Branch naming: use
user/add-<reporter-name>-reporter