Vale
vale.sh
What it is
Vale is an open-source command-line linter that checks prose against style-guide rules. It runs offline as a single binary, without an account, server, or model. Supported markup includes Markdown, AsciiDoc, reStructuredText, MDX, MyST, Quarto, Typst, HTML, XML, DITA, Org, and QDoc. It can extract and check comments in 19 programming languages, and Vale Views can target content in OpenAPI, Jupyter notebooks, commit messages, transcripts, docstrings, JSON, YAML, and TOML. Users can write custom rules in YAML and choose which rules and style packages apply. Ready-made packages include Google, Microsoft, Red Hat, readability, and Harper grammar styles. Integrations span editors including VS Code, Cursor, Neovim, JetBrains IDEs, and Obsidian, as well as GitHub Actions and pre-commit hooks. Its language server offers autocomplete, diagnostics, hover popups, and quick fixes. Only error-level alerts cause a non-zero exit code in CI; warnings and suggestions pass. The free plan is MIT-licensed; paid plans start at $19/user/mo.
Spec sheet
- Purpose
- Vale is an open-source command-line linter that checks prose against style-guide rules.Read 29 Sep 2026 · vale.sh
- Intended users
- Vale is aimed at people and teams who want style-guide checks in their editors and alongside their code, including documentation teams.Read 29 Sep 2026 · vale.sh
- Platforms
- Vale runs on macOS, Windows, and Linux.Read 29 Sep 2026 · vale.sh
- Support
- The project directs users to GitHub issues or Discord for questions and support.Read 29 Sep 2026 · vale.sh
- Founded
- 2017Read 23 Sep 2026 · vale.sh
- Alert behavior
- Only error-level alerts cause Vale to return a non-zero exit code; warnings and suggestions pass in CI.Read 29 Sep 2026 · docs.vale.sh
- Automation
- Vale can run in GitHub Actions, as a pre-commit hook, and through its language server in LSP-capable editors.Read 29 Sep 2026 · vale.sh
- Code comments
- Vale can extract and check comments in 19 programming languages, including Go, Rust, Python, JavaScript, TypeScript, and Java.Read 29 Sep 2026 · vale.sh
- Custom rules
- Users can write their own Vale rules in YAML and configure which rules and styles apply to files.Read 29 Sep 2026 · docs.vale.sh
- Documentation platforms
- Mintlify and Promptless are listed as hosted documentation platforms that run Vale.Read 29 Sep 2026 · vale.sh
- Editor integrations
- Listed editor integrations include VS Code, Cursor, Windsurf, Neovim, Sublime Text, Zed, Emacs, JetBrains IDEs, Obsidian, Oxygen XML, and Qt Creator.Read 29 Sep 2026 · vale.sh
- Language server
- Vale’s language server provides editor autocomplete, diagnostics, hover popups, and quick fixes.Read 29 Sep 2026 · docs.vale.sh
- Markup formats
- Vale supports markup including Markdown, AsciiDoc, reStructuredText, MDX, MyST, Quarto, Typst, HTML, XML, DITA, Org, and QDoc.Read 29 Sep 2026 · vale.sh
- Offline use
- Vale runs offline as a single binary, without an account, server, or model.Read 29 Sep 2026 · vale.sh
- Structured content
- Vale Views can select prose in OpenAPI, Jupyter notebooks, commit messages, transcripts, docstrings, JSON, YAML, and TOML.Read 29 Sep 2026 · vale.sh
- Style packages
- Vale offers ready-made packages including Google, Microsoft, Red Hat, readability, and Harper grammar styles.Read 29 Sep 2026 · vale.sh
Plans and prices
Strong points and limits
Strong points
- Works offline without an account, server, or model
- Supports many markup and structured content formats
- Custom YAML rules and ready-made style packages
- Integrates with editors and GitHub Actions
- Language server includes diagnostics and quick fixes
Limits
- Paid plans start at $19/user/mo
- Warnings and suggestions pass in CI
- Command-line workflow may not suit editor-only users
Who it suits
Vale suits writers and documentation teams that want style-guide checks in editors or alongside code. It also fits teams that want to run prose rules in CI or pre-commit hooks.
Verdict
Vale offers configurable prose checks across documents, code comments, and structured content, with editor and automation integrations. Its CI behavior is worth noting: only error-level alerts cause a non-zero exit code.
Where Specifiction places it
- Writing Style Checkers#21 of 297.7