High issue count signals maintenance debt. Vale has a proselint-compatible package. Use Vale instead.
proselint
staleProse linter based on advice from world-class writers and editors. 4,519 GitHub stars but 247 open issues signals maintenance debt. Vale has a proselint-compatible package.
Where it wins
Based on advice from world-class writers and editors
4,519 GitHub stars — established
Where to be skeptical
247 open issues — signals significant maintenance debt
Vale has a proselint-compatible style package — effectively archived
No recent meaningful updates
Editorial verdict
Stale — high issue count (247 open), Vale covers its functionality with better maintenance. 4,519 stars. Use Vale with the proselint style package instead.
Related

Harper
85Open-source, privacy-first grammar checker built in Rust + WebAssembly. Sub-10ms on-device processing. Browser extensions (Chrome, Firefox), editor plugins (VS Code, Neovim, Obsidian, WordPress). Backed by Automattic. Apache 2.0.

LanguageTool
84Open-source multilingual grammar and style checker supporting 30+ languages. Self-hostable, SOC 2 compliant, GDPR-friendly. Free tier + Premium from $4.99/mo. Written in Java. 14,184 GitHub stars — highest in content-writing category.

Vale
80Open-source prose linter for docs-as-code pipelines. Markup-aware (Markdown, reStructuredText, AsciiDoc, HTML), CI/CD-native, extensible style packages (Microsoft, Google, write-good). Written in Go.

Copy.ai
45AI-powered marketing workflow automation platform. Moves beyond single-shot copy generation into multi-step automated pipelines — chain AI actions, web scraping, CRM updates, and third-party integrations.
Public evidence
Raw GitHub source
GitHub README peek
Constrained peek so you can sanity-check the source material without leaving the site.
Writing is notoriously hard, even for the best writers, and it's not for lack of good advice — a tremendous amount of knowledge about the craft is strewn across usage guides, dictionaries, technical manuals, essays, pamphlets, websites, and the hearts and minds of great authors and editors. But poring over Strunk & White hardly makes one a better writer — it turns you into neither Strunk nor White. And nobody has the capacity to apply all the advice from Garner’s Modern English Usage, an 1100-page usage guide, to everything they write. In fact, the whole notion that one becomes a better writer by reading advice on writing rests on untenable assumptions about learning and memory. The traditional formats of knowledge about writing are thus essentially inert, waiting to be transformed.
We devised a simple solution: proselint, a linter for English prose. A linter
is a computer program that, akin to a spell checker, scans through a file and
detects issues — like how a real lint roller helps you get unwanted lint off of
your shirt.
proselint places the world's greatest writers and editors by your side, where
they whisper suggestions on how to improve your prose. You’ll be guided by
advice inspired by Bryan Garner, David Foster Wallace, Chuck Palahniuk, Steve
Pinker, Mary Norris, Mark Twain, Elmore Leonard, George Orwell, Matthew
Butterick, William Strunk, Elwyn White, Philip Corbett, Ernest Gowers, and the
editorial staff of the world’s finest literary magazines and newspapers, among
others. Our goal is to aggregate knowledge about best practices in writing and
to make that knowledge immediately accessible to all authors in the form of a
linter for prose; all in a neat command-line utility that you can integrate into
other tools, scripts, and workflows.
Installation
To get this up and running, install it using pip.
pip install proselint
Fedora
sudo dnf install proselint
Debian
sudo apt install python3-proselint
Ubuntu
sudo add-apt-repository universe
sudo apt install python3-proselint
Nix
proselint is packaged by nixpkgs.
pre-commit
To use proselint with pre-commit (by Andy Airey), point its config at this repository:
repos:
- repo: https://github.com/amperser/proselint
rev: v0.16.0
hooks:
- id: proselint
Be sure to change rev to use the desired proselint git tag or revision.
Declarative
environment.systemPackages = [pkgs.proselint];
Imperative
nix profile install nixpkgs#proselint
Plugins for other software
proselint is available on:
- A demo editor
- Emacs via Flycheck or via Flymake
- Vim via ALE or Syntastic (thanks to @lcd047, @Carreau, and Daniel M. Capella)
- Neovim via none-ls.nvim (none-ls has diagnostics and code actions for proselint)
- MegaLinter
The following plugins are also available, but they are archived or unmaintained:
- Atom Editor (thanks to Clay Miller).
- coala (thanks to the coala Development Group)
- Danger (thanks to David Grandinetti and Orta Therox)
- IntelliJ (by Victor Kropp)
- Neovim via null-ls (null-ls has diagnostics and code actions for proselint)
- Phabricator's
arcCLI (thanks to Jeff Verkoeyen) - Sublime Text
- Visual Studio Code (thanks to Patryk Peszko)
Usage
Suppose you have a document text.md with the following text:
John is very unique.
You can run proselint over the document using the command line:
proselint check text.md
This prints a list of suggestions to stdout, one per line. Each suggestion is of the form:
file:<line>:<column>: <check_name>: <message>
For example,
text.md:1:9: uncomparables: Comparison of an uncomparable: 'very unique' is not comparable.