6.1k stars · MIT · v3.20.0 (2026-09-02)
A linter for your voice — the difference between a site that sounds like a company and one that sounds like nine separate afternoons.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A markup-aware command-line linter for prose. You point it at a style — Microsoft's, Google's, or a set of YAML rules you write yourself — and it flags passive voice, banned phrases, heading capitalisation and inconsistent product terms across Markdown, HTML and MDX, while ignoring the code and front-matter around them.
Why it matters
LanguageTool tells you a sentence is wrong. Vale tells you it is not yours. Writing docs, blog posts and video descriptions over months, the failure is not grammar, it is drift: "sub-topic" on Monday and "subtopic" on Friday, "map" in the hero and "graph" in the docs. Those wobbling terms are exactly the strings an AI answer engine would otherwise quote you by, so terminology consistency is an AI-search asset rather than a style hobby — the same argument geo-optimizer-skill (Ed.8 #3) makes about structure, applied to vocabulary. And since Claude Code writes a great deal of your copy, a checked-in rules file is the only way to make it write in your voice rather than a plausible average one.
- MIT, a single binary, no runtime to install — it will still work in three years.
- Understands Markdown and MDX, so it drops straight into Astro and Starlight (Ed.4 #4) without mangling components.
- Twenty lines of YAML gives you an enforceable house glossary — the cheapest brand consistency available.
- It ships almost no rules of its own: day one is installing or writing a style package, so the first session is configuration rather than results.
- Off-the-shelf styles produce false positives on technical writing until tuned, and an ignored linter is worse than none.
- The repository has moved —
errata-ai/valenow redirects tovale-cli/vale. Ownership changes are worth watching on a tool you build a workflow around.
A .vale.ini at the repo root, vale docs/ in the Astro build and in a git pre-commit hook.