ai-text-check 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,19 +14,24 @@ Node.js 20+ is required. The package ships dual **ESM and CommonJS** builds with
14
14
 
15
15
  ## What it checks
16
16
 
17
- | Engine | What it catches |
18
- | ------------------- | ---------------------------------------------------------------------------------------------------------- |
19
- | **polish** | Custom AI tells (`delve`, `in today's world`, antithesis), readability, markdown structure/SEO, typography |
20
- | **slop-gate** | Vocabulary pack (`nestled`, `treasure trove`, `leverage`, …) |
21
- | **write-good** | Weasel words, clichés, wordy phrases, passive voice |
22
- | **retext** | Passive voice, readability grade, simplify, repeated words |
23
- | **is-this-ai-slop** | Clichés, buzzwords, em-dash spam, antithesis, sycophancy |
24
- | **veldica** | Stock LLM transitions and AI-style markers |
25
- | **clean-writing** | Banned constructions, marketing adjectives, filler, intensifiers |
26
- | **vale** | Vendored styles: write-good, Google, AiTextCheck, ai-tells, signs-of-ai-writing |
17
+ | Engine | What it catches |
18
+ | ------------------- | ------------------------------------------------------------------------------------------------------------------ |
19
+ | **polish** | Custom AI tells (`delve`, emojis, `in today's world`, antithesis), readability, markdown structure/SEO, typography |
20
+ | **slop-gate** | Vocabulary pack (`nestled`, `treasure trove`, `leverage`, …) |
21
+ | **write-good** | Weasel words, clichés, wordy phrases, passive voice |
22
+ | **retext** | Passive voice, readability grade, simplify, repeated words |
23
+ | **is-this-ai-slop** | Clichés, buzzwords, em-dash spam, antithesis, sycophancy |
24
+ | **veldica** | Stock LLM transitions and AI-style markers |
25
+ | **clean-writing** | Banned constructions, marketing adjectives, filler, intensifiers |
26
+ | **ai-slop-linter** | Wikipedia _Signs of AI writing_ rules with line/column findings |
27
+ | **slop-detector** | EQBench SLOP score (vocabulary, contrast patterns, trigrams, tropes) |
28
+ | **prose-slop** | Vocabulary, punctuation, and document-cadence tells (English) |
29
+ | **vale** | Vendored styles: write-good, Google, AiTextCheck, ai-tells, signs-of-ai-writing |
27
30
 
28
31
  Safe auto-fixes can strip filler openers and collapse extra whitespace without rewriting code fences.
29
32
 
33
+ Emoji in prose is treated as an AI tell (`ai-emojis`). Set `ignoreEmojis: true` or pass `--ignore-emojis` to allow them; the ignore flag is off by default.
34
+
30
35
  ## TypeScript
31
36
 
32
37
  ```ts
@@ -111,6 +116,7 @@ npx ai-text-check init
111
116
  | `--no-slop` | Skip slop-gate and is-this-ai-slop |
112
117
  | `--no-write-good` | Skip write-good |
113
118
  | `--no-retext` | Skip retext |
119
+ | `--ignore-emojis` | Allow emojis (skip `ai-emojis`) |
114
120
  | `--ignore-rule ID` | Skip a rule (repeatable) |
115
121
 
116
122
  Exit code `1` when issues meet the fail threshold.
@@ -126,6 +132,7 @@ Exit code `1` when issues meet the fail threshold.
126
132
  "minScore": 0,
127
133
  "extensions": [".md", ".mdx", ".markdown", ".txt"],
128
134
  "ignoreRules": [],
135
+ "ignoreEmojis": false,
129
136
  "checks": {
130
137
  "ai": true,
131
138
  "grammar": true,
@@ -142,6 +149,9 @@ Exit code `1` when issues meet the fail threshold.
142
149
  "isThisAiSlop": true,
143
150
  "veldica": true,
144
151
  "cleanWriting": true,
152
+ "aiSlopLinter": true,
153
+ "slopDetector": true,
154
+ "proseSlop": true,
145
155
  "vale": true
146
156
  }
147
157
  }
@@ -151,7 +161,7 @@ Presets:
151
161
 
152
162
  - `default`: every check and every engine
153
163
  - `strict`: default plus extra slop-gate punctuation
154
- - `ai`: AI tells + typography (polish, slop-gate, is-this-ai-slop, Veldica, clean-writing, Vale)
164
+ - `ai`: AI tells + typography (polish, slop-gate, is-this-ai-slop, Veldica, clean-writing, ai-slop-linter, slop-detector, prose-slop, Vale)
155
165
  - `grammar`: grammar + readability (write-good, retext, clean-writing, Vale)
156
166
 
157
167
  ## Scripts
package/SOURCES.md CHANGED
@@ -18,17 +18,22 @@ API key. Vale (`@vvago/vale`) is the prose engine the user referred to as Vale
18
18
  | is-this-ai-slop | `is-this-ai-slop` (`analyze()`) |
19
19
  | Veldica AI markers | `@veldica/prose-linter` (`inventoryMarkers()`) |
20
20
  | Clean Writing / STE subset | `clean-writing-lint` (`lint()`), with contraction and 20-word sentence rules off |
21
+ | ai-slop-linter | `ai-slop-linter` (`lintText()`) — Wikipedia Signs of AI writing |
22
+ | slop-detector (EQBench) | `slop-detector` scoring assets + sync adapter (`runSlopDetector`) |
23
+ | prose-slop | `prose-slop` (`check()`) — EN vocabulary / cadence |
21
24
 
22
25
  Skipped after research (not a fit for Node 20 in-process checks):
23
26
 
24
27
  - `slopsift` / WritingLint — requires Node 24+
25
- - `slopless` — textlint-only, async
28
+ - `slopless` — textlint-only, async, Node ≥22.13
26
29
  - `wsc-lint` / `tacheles` — CLI-only, no stable in-process API
30
+ - `smellcheck` (npm) — agent skill / Markdown rules only; does not scan text
31
+ - `llm-slop-detector` — VS Code–centric, awkward as a library dependency
27
32
  - Hosted classifiers (GPTZero, Originality, etc.) — need secrets / upload text
28
33
 
29
34
  Default `checkFiles` order: polish + slop-gate JSON + write-good + retext +
30
- is-this-ai-slop + Veldica + clean-writing, then Vale JSON merged onto the same
31
- report.
35
+ is-this-ai-slop + Veldica + clean-writing + ai-slop-linter + slop-detector +
36
+ prose-slop, then Vale JSON merged onto the same report.
32
37
 
33
38
  Licenses for this package and the vendored Vale styles are in [LICENSE](./LICENSE)
34
39
  and [NOTICE](./NOTICE).