Prose Lint
Public Made by Adomby adom
Deterministic house-style linter for Adom copy. Flags em-dashes and the tics that make AI-written text read as AI-written (tell-words, boilerplate cadence, filler), with line:col, plain-language suggestions, --fix for safe swaps, and a --json envelope. Markdown/code-aware: never flags a --flag in a code span, a number range, or a URL.
Install?
Deterministic house-style linter for Adom copy. Flags em-dashes and the tics that make AI-written text read as AI-written (tell-words, boilerplate cadence, filler), with line:col, plain-language suggestions, --fix for safe swaps, and a --json envelope. Markdown/code-aware: never flags a --flag in a code span, a number range, or a URL.
adom-wiki pkg install adom/prose-lint
Latest: v0.1.3, published
README
markdownProse Lint
The deterministic house-style linter for Adom copy. It flags em-dashes and the tics that make AI-written text read as AI-written, so anything we ship (READMEs, wiki pages, release notes, chat announcements, UI strings) sounds like a person wrote it.
prose-lint is the mechanical half of the house style. The judgment half lives in
the prose-style skill; read that for how to rewrite what this flags.
Install
adom-wiki install adom/prose-lint
Ships as part of adom/core, so a normal Adom workstation already has it. Needs
Node 16+ (already present on Adom containers).
Usage
prose-lint README.md # lint one or more files
prose-lint docs/*.md # globs
cat page.md | prose-lint # or stdin
prose-lint --fix README.md # apply safe 1:1 word swaps in place
prose-lint --strict page.md # fail on ANY finding, not just em-dashes
prose-lint --json page.md # { status, data, hints[] } for machines
Exit codes: 0 clean or soft-only, 1 hard findings (em-dashes / spaced --),
2 usage error. --strict makes any finding fail (useful in CI / publish gates).
What it flags
| Severity | Rule | Example |
|---|---|---|
| hard | em-dash, en-dash-in-prose, spaced -- |
a game-changer — really |
| warn | tell-words | delve, seamless, robust, leverage, utilize, showcase, in-depth, myriad |
| warn | boilerplate cadence | "it's not just X, it's Y", "in today's world", "when it comes to", "plays a pivotal role" |
| info | filler | "in order to", "a variety of", empty intensifiers |
It is markdown- and code-aware. It will not flag a --flag in a code span, a
number range like 2-5 V, a URL, or YAML front matter, so it is safe over mixed
prose + code files.
Wiring it into a publish flow
Run it non-blocking before publishing and show the findings:
prose-lint page.md || true # advisory: print findings, never abort the publish
Or gate hard in CI with --strict when you want zero tolerance.