Skip to main content
aislop ships with default severities for every rule, but not every rule fits every project. You have two complementary ways to customise how rules behave: project-wide severity overrides in .aislop/config.yml, and inline suppression comments placed directly in source code. Both mechanisms are resolved before scoring — the final score reflects only findings that survive your overrides.

Per-rule severity overrides

Add a rules: section to .aislop/config.yml to change the severity of any rule by its ID. Each entry maps a rule ID to one of three values:
Rule IDs follow the pattern <engine>/<rule-name>. Run aislop rules to see the full list of IDs available in your project, or use aislop rules --search for an interactive explorer.

Setting a rule to error

Escalate a rule to error when you want violations to carry the maximum base penalty (3.0 × engine weight) and appear prominently in reports:

Setting a rule to warning

Downgrade a rule to warning when you want visibility without the full score impact of an error:

Setting a rule to off

Use off to silence a rule completely. This is the right choice for rules that genuinely do not apply to your codebase — for example, a no-console rule in a CLI tool that intentionally writes to stdout:
Prefer warning over off when a rule fires correctly but you’re not ready to fix the findings yet. Warnings keep the issue visible and still affect the score, giving your team a clear upgrade path.

Inline suppressions

Use inline suppression comments when you know a specific finding is a false positive or has been handled in a way aislop cannot detect. Suppressions are scoped to a line, the line below, or an entire file.

Directive forms

Syntax

Suppression directives work in any comment syntax — //, #, and <!-- --> are all recognised:
Scope to specific rules by listing one or more rule IDs after the directive. Omit rule IDs to silence every rule on that line:
Add an optional reason after -- to document why the suppression is justified:
Reasons are stored in the run report so reviewers can audit suppressions without reading the source.

Suppression reporting

Suppressed findings are removed before scoring. The run output reports how many findings were silenced, so you have a clear picture of what you’re opting out of:

TypeScript examples

Python examples

HTML / template examples

aislop-ignore-file silences every rule in the file, not just the rule you specify. Use it sparingly and always include a -- reason so reviewers understand the intent.