Vale is a natural language linter that supports plain text, markup (Markdown, reStructuredText, AsciiDoc, and HTML), and source code comments. Vale doesn't attempt to offer a one-size-fits-all collection of rules—instead, it strives to make customization as easy as possible.
Check out project website to learn more!
- Supports Markdown, reStructuredText, AsciiDoc, HTML, and source code.
- Extensible through straightforward YAML files.
- Standalone binaries for Windows, macOS, and Linux.
- Expressive, EditorConfig-like configuration.
There are a few options to choose from:
-
Install through Homebrew on macOS:
$ brew tap ValeLint/vale $ brew install vale
-
Install via the Windows Installer package (
.msi) on the releases page. -
Manually install on Windows, macOS, or Linux by downloading an executable from the releases page.
Run Vale on a single file:
$ vale README.mdRun Vale on files matching a particular glob:
# Only lint Markdown and reStructuredText
$ vale --glob='*.{md,rst}' directoryOr exclude files matching a particular glob:
# Ignore all `.txt` files
$ vale --glob='!*.txt' directoryPipe input to Vale:
$ echo 'this is some text' | valeRun Vale on text with an assigned syntax:
$ vale --ext=.md 'this is some text'See vale --help and Configuration for more information.
- Atom—TimKam/atomic-vale
- Sublime Text—ValeLint/SubVale
| Style | Description | Development Status |
|---|---|---|
write-good |
Naive linter for English prose for developers who can't write good and wanna learn to do other stuff good too. | ✅ |
Joblint |
Test tech job posts for issues with sexism, culture, expectations, and recruiter fails. | ✅ |
jQuery |
A collection of rules based on jQuery's documentation formatting conventions and writing style. | 🚧 |
TheEconomist |
A collection of rules based on The Economist Style Guide. | 🚧 |
Homebrew |
A set of style and usage guidelines for Homebrew’s prose documentation aimed at users, contributors, and maintainers. | 🚧 |
Middlebury |
A collection of rules based on The Middlebury Editorial Style Guide. | 🚧 |
To use one of these styles, you'd copy its files onto your StylesPath and then specify it in your config file:
# This goes in a file named either `.vale` or `_vale`.
StylesPath = path/to/some/directory
MinAlertLevel = warning # suggestion, warning or error
[*.{md,txt}] # Only Markdown and .txt files
# List of styles to load
BasedOnStyles = vale, Joblint
# Style.Rule = {YES, NO, suggestion, warning, error} to
# enable/disable a rule or change its level.
vale.Editorializing = NOSee Configuration and Styles for more information.
