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 +21 -11
- package/SOURCES.md +8 -3
- package/dist/cli.js +312 -38
- package/dist/index.cjs +280 -25
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +280 -25
- package/dist/node.cjs +286 -31
- package/dist/node.d.cts +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.js +288 -33
- package/dist/{types-BlvvRFG5.d.cts → types-B6cMXIul.d.cts} +7 -1
- package/dist/{types-BlvvRFG5.d.ts → types-B6cMXIul.d.ts} +7 -1
- package/package.json +4 -1
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
|
-
| **
|
|
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
|
|
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).
|