Vale
A markup-aware, open-source command-line linter for prose that enforces editorial style guides across docs in any format, entirely offline.
At a Glance
About Vale
Vale is an open-source, MIT-licensed command-line tool that brings code-like linting to written prose. Built in Go by @jdkato and maintained under the vale-cli GitHub organization, it runs entirely offline with no account or data upload required. The project has accumulated over 6,000 GitHub stars and ships across GitHub Releases, Docker Hub, PyPI, Homebrew, Chocolatey, WinGet, and Snap Store.
What It Is
Vale is a prose linter — a tool that statically analyzes written text the same way a code linter analyzes source code. Unlike generic grammar checkers, Vale understands document structure: it parses markup formats rather than treating everything as plain text, so it can apply rules selectively to headings, paragraphs, or list items while automatically skipping code blocks, URLs, and footnotes. Rules are defined in YAML and organized into shareable packages called "styles," making it easy to enforce a consistent editorial voice across an entire documentation set.
Markup and Code Awareness
Vale's core differentiator is its parser-level understanding of content. It supports twelve markup formats — Markdown, AsciiDoc, reStructuredText, MDX, MyST, Quarto, Typst, HTML, XML, DITA, Org, and QDoc — each processed through a real parser rather than a regex pattern. For source code, Vale uses tree-sitter grammars to extract comments from nineteen languages (Go, Rust, Python, Ruby, C++, JavaScript, TypeScript, Java, and more), linting doc comments as if they were standalone Markdown files while leaving string literals and identifiers untouched.
Extension Points
Vale's rule system goes well beyond simple word lists. It offers twelve extension types:
- existence — flag unwanted words or phrases
- substitution — suggest replacements
- sequence — match part-of-speech patterns (noun, verb, etc.) rather than literal strings
- conditional — require one pattern only when another is present (e.g., acronym expansions)
- consistency — flag when two acceptable variants appear in the same file
- metric — apply arithmetic formulas like Flesch-Kincaid grade level across the whole document
- script — drop into Tengo (a Go-like scripting language) for arbitrary logic
Rules are a few lines of YAML and can be bundled into packages distributed via the Vale Package Explorer.
Integrations and Ecosystem
Vale runs wherever prose gets written. Editor integrations include VS Code (and Cursor/Windsurf), Neovim via nvim-lspconfig, JetBrains IDEs, Sublime Text, Zed, Emacs, Obsidian, Vim/ALE, Oxygen XML, and Qt Creator. For CI/CD, it ships a GitHub Actions workflow (vale-cli/vale-action), pre-commit hooks, and a Language Server Protocol (LSP) server compatible with any LSP-capable editor. Documentation platforms Mintlify and Promptless ship Vale as a built-in check. Pre-packaged style guides for Microsoft, Google, Red Hat, and thirteen more are installable with a single command.
Adoption Signal
The vale.sh homepage lists public configurations and writeups from organizations including Amazon Web Services (EKS User Guide), Microsoft (Documentarian toolkit), Discord (API docs), GitLab (required CI check), Grafana Labs (Writers' Toolkit), NVIDIA (NeMo Agent Toolkit), Docker, Red Hat, and Datadog — all sourced directly from the vendor's adopters page. The project reports over 9.8 million lifetime GitHub Release downloads and 2.2 million Docker Hub pulls, per the vale.sh distribution stats page.
Update: v3.19.0
The latest release is v3.19.0, published on 2026-08-26, on the v3 default branch. The project shows active maintenance with recent pushes and 59 contributors listed on the homepage. Vale CMS — a hosted authoring layer for building and maintaining style guides in the browser with the real Vale engine linting live — is available as a companion product at cms.vale.sh.
Community Discussions
Be the first to start a conversation about Vale
Share your experience with Vale, ask questions, or help others learn from your insights.
Pricing
Open Source
Fully free and open-source under the MIT license. Download and use Vale CLI with no restrictions.
- Full Vale CLI with all extension points
- Support for 12 markup formats
- Code comment linting for 19 languages
- Pre-packaged style guides (Microsoft, Google, Red Hat, and more)
- GitHub Actions integration
Capabilities
Key Features
- Markup-aware parsing for 12 formats (Markdown, AsciiDoc, RST, MDX, HTML, XML, DITA, etc.)
- Code comment linting via tree-sitter grammars for 19 languages
- 12 rule extension types including sequence, conditional, consistency, metric, and script
- Offline operation — no account, no upload, no data leaves the machine
- Pre-packaged style guides for Microsoft, Google, Red Hat, and 13+ more
- Single binary with no runtime dependencies
- Language Server Protocol (LSP) server for editor integration
- GitHub Actions workflow for CI/CD integration
- Pre-commit hook support
- Tengo scripting for custom rule logic
- Part-of-speech pattern matching
- Readability formula rules (e.g., Flesch-Kincaid)
- Cross-file consistency checks
- Vocabulary and dictionary management
- Vale Studio for browser-based rule authoring
- Vale CMS for hosted style guide management
