Tools/dmmulroy/anti-slop

anti-slop

Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns

1.7kemergingTypeScriptMIT Licensenew this week

The Lens

By Erik Loyd, SaaS CEO and former COO/CFO of an AWS Premier Partner.

Updated Aug 2026

Anti-slop is 15 Oxlint rules that reject TypeScript which throws away type information. Chained as-assertions, functions returning unknown, object as a parameter type, ad hoc typeof narrowing where a parser belongs, Vitest and Jest module mocks. The name points at what coding agents write when they need something to compile. MIT, free.

It is built to be vendored, not depended on. There is no npm package. You copy the rules into your repo, register the plugin entry point in oxlint.config.ts, and from then on they are your files to edit. A bundled agent skill does the copy and wiring. Updates are a manual re-copy, by design.

Solo developers shipping agent-written TypeScript: worth an afternoon. Small and medium teams on oxlint: read all 15 rules first, because no-module-mocking and the required comment on every type assertion will reshape your tests and your boundaries. Large teams: this is an addition to eslint/eslint or SonarSource/sonarqube, never a replacement.

The catch is the age. This landed days ago with a dozen commits and no tagged release. The rules are one developer's strong opinions, and a few (banning Reflect.get outright, banning object parameters) will fight code that is perfectly fine. Vendoring means you own the fallout, which is the point and also the work.

Free vs Self-Hosted vs Paid

fully free

Free

All 15 rules under MIT, plus the bundled agent skill that installs and configures them. Oxlint and @oxlint/plugins, which the rules depend on, are free and open source too. There is no hosted dashboard, no account, and nothing to register.

Paid

Nothing exists. No pro tier, no cloud, no support plan.

Self-Hosted Costs

Time, not money. Budget an afternoon to read all 15 rules and decide which ones you accept, then the refactor bill on the two that change habits: no-module-mocking pushes tests toward real dependency seams instead of vi.mock, and require-safety-comment-for-type-assertion touches every non-const as already in the codebase. Ongoing cost is a manual re-copy whenever upstream changes, since it is vendored rather than versioned.

When to Pay

Never, there is no vendor. If you want a paid code-quality gate on top, that is sonarcloud or a type-aware ESLint setup, and neither one removes the need to read these rules yourself.

Free under MIT with nothing to buy; the real cost is the refactor two of the rules will trigger in an existing codebase.

What to do by team size

Solo
free; copy the rules in and turn them all on
Small team
free; read all 15 rules first and enable the ones you actually agree with
Medium team
free, but no-module-mocking will change how your test suite is written
Large team
free as an addition to eslint or oxlint, not as a replacement for a code-quality platform
Self-hosting ops:trivial

Get tools like this every Wednesday

One featured tool, three on the radar. No fluff.

Score
69/100 · B
Adoption12/30
Maintenance25/25
Community7/20
License15/15
Analysis10/10

A low score is not a verdict on quality. Young and niche tools start low by design. How we calculate scores

Trust Signals

Notable author: 2,327 followers

License: MIT License

Use freely, including commercial. Just keep the license.

Commercial use: ✓ Yes

About

Owner
Dillon Mulroy (User)
Stars
1,687
Forks
28

Explore Further

More tools in the directory