Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns
★ 6,021⑂ 169👁 12⑃ 32● 42▤ 0◈ 0
6,021
stars
+10+162+834
169
forks
12
watchers
32
prs
42
issues
0
releases
0
discussions
README
anti-slop
Opinionated Oxlint rules that reject low-evidence and low-signal TypeScript and JavaScript patterns.
Anti-slop is first and foremost the ruleset I use with my work, projects, and team. It reflects my preferences and taste rather than attempting to be a universal coding standard.
This project is meant to be vendored, not treated as a fixed npm dependency. There is no official npm package. Copy the rules into your repository, read them, and change them to match your team's standards. The bundled agent skill handles the initial copy and configuration; after that, the vendored files are yours to maintain and make your own. Community-maintained forks and packages are welcome, but their compatibility and release lifecycle belong to their maintainers.
Install with an agent skill
bash
npx skills add dmmulroy/anti-slop --skill install-anti-slop
Then ask your coding agent to install or configure anti-slop in the current repository. The skill copies the plugin, installs compatible Oxlint dependencies—matching an existing Oxlint version when present—merges the plugin into the existing lint configuration, enables every generic rule, and validates the result. In repositories that depend directly on Effect, it also enables the opt-in Effect rule group.
Update an existing installation
Ask your agent to update anti-slop while preserving local customizations, optionally naming an upstream revision or selected fixes. The same skill stages incoming source separately, uses a three-way merge when the original upstream snapshot is recoverable, and otherwise ports reviewed changes conservatively. It preserves local rules and configuration, asks about conflicting policy and enabling new rules, and records provenance for future updates. It does not force-replace the vendored directory.
For latest upstream, ask the agent to retrieve and identify that revision; an already-installed skill bundle may be older. The copy script itself does not fetch or merge updates.
To inspect available skills first:
bash
npx skills add dmmulroy/anti-slop --list
Manual local installation
Copy src/ into the target repository, for example at tools/oxlint/anti-slop/. If the repository already uses oxlint, install @oxlint/plugins at exactly the resolved Oxlint version. Otherwise, install the same current version of both packages. Keep both versions exact so upgrades move them together.
Register the copied entry point in oxlint.config.ts:
ts
import { defineConfig } from "oxlint";
export default defineConfig({
ignorePatterns: [
".agent/",
".agents/",
".claude/",
".codex/",
".continue/",
".cursor/",
".gemini/",
".opencode/",
".pi/",
".roo/",
".windsurf/",
"tools/oxlint/anti-slop/",
],
jsPlugins: [
{ name: "anti-slop", specifier: "./tools/oxlint/anti-slop/index.ts" },
],
rules: {
"oxc/no-accumulating-spread": "error",
"anti-slop/no-array-filter-map": "error",
"anti-slop/no-reduce-accumulator-copyTop issues
#60no-unsafe-dictionary-type: a nested generic alias overwrites the caller's type arguments1 comments · 2026-10-22#71no-unknown-returns reports function types in generic constraints and defaults0 comments · 2026-11-06#70Please make it an npm package for the ease of installtion0 comments · 2026-11-04#66no-unknown-returns reports the implementation signature of an overloaded function0 comments · 2026-10-29#65no-known-value-widening reports a type guard call on a union-typed argument0 comments · 2026-10-29#54require-readable-spacing is un-usable due to CPU spikes0 comments · 2026-10-11#50no-reduce-accumulator-copy flags one-call custom reduce methods0 comments · 2026-10-03#48Effect tag rules give the wrong advice inside nested function declarations0 comments · 2026-09-24
News & coverage (6)
Hacker Newsanti-slop: Opinionated Oxlint rules▲ 2 · 0 comments · 2026-08-12GamingOnLinuxHarbour Masters release 'PaperBoat' their Paper Mario 64 PC port2026-09-17Pasquale PillitteriClaude Watermark Remover on GitHub: What Works and What Doesn't (I Tested Them)2026-08-12Pasquale PillitteriThe 20 Best Claude Code Skills for UI/UX Design: Complete Guide2026-03-31The New Stack96% of codebases rely on open source, and AI slop is putting them at risk2026-03-29DevClassGodot maintainers struggle with 'draining and demoralizing' AI slop submissions2026-02-19