Formatting
The formatting engine enforces consistent code style using the best-in-class formatter for each language. Formatting findings are weighted at0.3 (the lowest engine weight) because style differences don’t indicate broken logic — but they still appear in your report so nothing stays hidden.
Linting
The linting engine catches bugs and bad practices using the fastest available linter for each language. For JS/TS projects, oxlint ships bundled so you don’t need to install anything separately.Code Quality
The code quality engine measures structural complexity, surfaces dead code, and identifies unused dependencies.knip/* rules apply to JS/TS projects only and require a package.json to be present.
AI Slop
These are the rules that make aislop unique. They specifically target the patterns that AI coding assistants tend to leave behind — from narrative comments that restate the code to swallowed exceptions that hide runtime failures.Each rule exposes a score-impact tier. Strict defects such as swallowed exceptions and hallucinated imports score at full impact, while style, mechanical, and advisory findings stay visible but score more softly. Run
aislop rules to see the tier and rationale for every rule.Security
The security engine finds secrets, risky constructs, and vulnerable dependencies. Security findings carry a default engine weight of1.5 in your score.
Architecture (opt-in)
The architecture engine enforces custom import and path rules you define in.aislop/rules.yml. It is disabled by default — enable it by adding engines.architecture: true to your config.
How to enable architecture rules
How to enable architecture rules
Add the following to Then create
.aislop/config.yml:.aislop/rules.yml with your custom rules. See the architecture rules guide for a complete sample file.