Skip to content

sloplessAI-written code has a smell. This catches it.

152 deterministic rules · AST checkers · auto-fix · SARIF · zero telemetry

slopless on its own checkers · real output, run in CI on every push
$ npx @fabriziosalmi/slopless "src/checkers/*.ts"
 
🚫 Static Analysis found 7 issues:
 
⚠️ [VBC-084] src/checkers/semantic-checker.ts:128 - Line is too long (135 characters).
⚠️ [VBC-503] src/checkers/regex-checker.ts:158 - Array named 'stack' is missing a plural 's'.
⚠️ [VBC-096] src/checkers/ast-checker.ts:226 - Long regular expression literal with no explanation.
⚠️ [VBC-501] src/checkers/ast-checker.ts:15 - Boolean variable 'found' has no standard prefix.
  … 3 more
 
Summary: 0 errors, 7 warnings.
152 rules0 dependencies560 tests0 errors on itself0 telemetryv1.1.1

In ten seconds

bash
npx @fabriziosalmi/slopless --init          # writes slopless.config.json + .sloplessignore
npx @fabriziosalmi/slopless "src/**/*.ts"   # exit 1 on errors; wire it to your pre-commit

In CI, as a GitHub Action. No install step, the bundled CLI runs directly:

yaml
- uses: fabriziosalmi/slopless@v1
  with:
    patterns: "src/**/*.ts"   # optional: format: sarif · type-check: "true"

Why it exists

Generated code ships with a signature: swallowed promises, apologetic comments, dead branches nobody asked for, var in 2026. Slopless is the reviewer that never gets tired of pointing it out: deterministic rules, readable output, and an exit code your CI can act on.

It runs on itself, on every push. That is the standard it holds you to.

Released under the MIT License.