-
Notifications
You must be signed in to change notification settings - Fork 28
Thanks
Slopless stands on prior work. This page names what we drew from, what we depend on, and where we sit alongside (not above) adjacent tools.
The phrase-rule dictionaries in slopless were ported or enriched from these projects:
-
proselint (Python, MIT). The canonical reference for the rules we share. Slopless ports the following dictionaries from
proselint==0.16.0:-
corporate-speak(fromproselint/checks/industrial_language/corporate_speak.py) -
skunked-terms(fromproselint/checks/skunked_terms.py) -
uncomparables(fromproselint/checks/uncomparables.py) -
cliches(enrichment source)
Each ported rule lives next to a
*.source.mdfile insrc/rules/phrases/data/that links back to the original. -
-
Vale's proselint port (Go YAML, MIT). Cross-check source for the ported dictionaries above (
proselint/CorporateSpeak.yml,proselint/Skunked.yml,proselint/Uncomparables.yml,proselint/Cliches.yml). -
no-cliches (npm, MIT). Primary list for the
clichesdictionary, merged with the proselint Vale port.
If you contribute prose-pattern rules sourced from another project, add a *.source.md next to the rule data file naming the upstream project, version, and license.
- textlint (MIT). Slopless ships as a textlint preset and emits textlint-format JSON. None of slopless would exist without it.
- textlint-rule-helper and textlint-util-to-string — text traversal and node-to-string helpers used across rule implementations.
- sentence-splitter — sentence-boundary detection for the metric rules.
- @lunarisapp/readability — Flesch-Kincaid, Gunning Fog, and Coleman-Liau index implementations.
- alex — inclusive-language linting. Different goal from slopless. Use both. They do not overlap.
- vale — configurable style-guide-as-code. Different goal. Slopless is opinionated and pattern-targeted; vale is configurable and style-guide-targeted. Both have a place in a serious prose pipeline.
- write-good — narrow heuristics (passive voice, weasel words, lexical illusions, "so" openers). Slopless covers some overlapping patterns but with different rule shapes. Use both if you want belt-and-suspenders coverage of weasel-style patterns.
Slopless covers families that proselint and the alternatives above do not target:
-
LLM artifacts (
llm-vocabulary,llm-openers,llm-disclaimer,response-wrapper) — patterns specific to language-model output. -
Narrative slop (
narrative-cliches,body-action-density,perception-verb-density) — stock generated-fiction gestures. -
Syntactic patterns (
summative-closer,demonstrative-emphasis,false-question,lesson-framing,triple-repeat, and others) — sentence-shape matches for rhetorical templates. -
Semantic thinness (
semantic-thinness) — low-information templates that gesture at depth without delivering. -
Tortured academic phrases (
tortured-phrases) — known machine-paraphrased academic terms.
These are net new contributions, not ports. Proselint and the rest remain the right tools for the patterns they were built for.