Quickstart
Install lawlint, lint a document, and understand what comes back.
Five minutes from nothing to a linted document. Linting itself needs no configuration and runs entirely offline.
Install the CLI
curl -fsSL https://lawlint.com/install.sh | shirm https://lawlint.com/install.ps1 | iexThe installer places the binary in a user-local bin directory. Installation has the per-platform archives, the build-from-source route, and how to stay up to date.
Lint a document
lawlint contract.docxPass a .txt, .md, or .docx file, or - to read stdin. With no argument
at all, lawlint reads stdin.
cat memo.txt | lawlintRead the output
Each finding names the rule that produced it, the severity, and the line and column, followed by the offending text and — where one is useful — a suggested replacement. The summary line carries the human-likeness score.
Findings are advice, not errors. A rule firing means look at this sentence, not this sentence is wrong.
Apply the safe fixes
lawlint --diff draft.md # preview what would change
lawlint --fix draft.md # apply it--fix only applies fixes marked machine-applicable. For .docx, fixes are
written back as native Word tracked changes with a review comment per fix,
so every one can be accepted or rejected in Word.
Optionally, set up AI features
lawlint initEverything above is deterministic and offline. The walkthrough configures a
model for the two features that need one — the soft-rule AI
judge and lawlint learn — and
writes .lawlint/config.json. Until a model is configured, those features exit
with guidance rather than downloading anything silently.
Everyday commands
lawlint brief.docx # lint; findings + human-likeness score
lawlint --fix brief.docx # apply fixes (tracked changes in Word)
lawlint --diff draft.md # preview what --fix would change
lawlint --judge draft.md # add soft-rule findings (needs init)
lawlint --format prompt draft.md # emit an AI revision brief
lawlint --format json draft.md # machine-readable findings
lawlint learn ~/my-writing/ # mine a personal rule package
lawlint rules --json # built-in rule metadata
Exit codes
lawlint is built to sit in a pipeline.
| Code | Meaning |
|---|---|
0 |
No error-severity findings, and warnings within --max-warnings. |
1 |
An error-severity finding, or warnings over --max-warnings. |
2 |
An I/O or configuration problem — the document was never linted. |