Command line
The writinglint package installs a writinglint
command. It lints prose against the ai-style rulepack (by default) and, separately, scores how
AI-shaped a document reads.
Install
Section titled “Install”The owned ONNX parser runs locally without Python:
npm installnpm run cli -- lint README.mdwritinglint essay.txt # lint one doc (+ score)writinglint lint posts/*.md # lint many docswritinglint score posts/*.md # just the AI-style score per doccat essay.txt | writinglint # read from stdinwritinglint --json essay.txt # machine-readable outputwritinglint --quiet posts/*.md # one summary line per docwritinglint --config writinglint.config.ts essay.txtwritinglint --model /path/to/onnx/model essay.txtslopsift --json essay.txt # exits 1 while findings remainIn the workspace, the ONNX bundle is discovered automatically. Override it with
--model <dir> or WRITINGLINT_ONNX_MODEL.
Each lint prints its location, rule id, category, and message, followed by an inline colour reproduction of the text with the flagged spans highlighted — and, at the end, the document’s AI-style score.
Configuration
Section titled “Configuration”Drop a writinglint.config.ts in your working directory and the CLI picks it up automatically (or point at one
with --config). It’s the same defineConfig you’d use as a library:
import { defineConfig } from 'writinglint-core';import { recommended } from 'writinglint-rulepack-ai-style';
export default defineConfig({ extends: [recommended], rules: { // Writing casual prose? Silence the emoji rule: 'ai-style/emoji': 'off', // Promote the construction that started this project to an error: 'ai-style/corrective-antithesis': 'error', },});With no config file, the CLI falls back to the AI-style recommended config. Findings derive their
level from confidence: high is an error, medium is a warning, and low is informational.
Exit code & CI
Section titled “Exit code & CI”--json emits a structured record per document (score, verdict, and every lint with offsets), which
is what you want in CI or an editor integration. Pipe it to jq, gate a commit on it, or feed it to
your own reporter.