Quickstart
Get Vale running on your project in about five minutes.
This walks through a first working setup. Each step links to the page that covers it properly, so read on where you want the detail.
1. Install Vale
Use your package manager—brew install vale, choco install vale, or one of the others on the Installation page—then check it worked:
$ vale --version2. Create a .vale.ini
Vale doesn't ship with opinions of its own. It needs a configuration file saying where to keep styles and which to apply, so create one in the root of your project:
StylesPath = styles
MinAlertLevel = suggestion
Packages = Microsoft
[*.md]
BasedOnStyles = Vale, MicrosoftFour things are happening:
StylesPathis the folder Vale will keep downloaded styles in. Add it to your.gitignore.MinAlertLevelis the lowest severity worth reporting.Packagesnames what to download—here, Microsoft's writing style guide.[*.md]applies the styles that follow it to Markdown files.Valeis built in;Microsoftis the package.
See .vale.ini for everything the file accepts.
3. Download the styles
Run this again whenever you change Packages. See Packages for other ways to name one, including a URL or a local path.
4. Lint something
You can pass a directory instead of a file, or a glob:
5. Read the output
Each line is one alert:
The rule name is the useful part: it's <style>.<rule>, and it's how you turn one off. To silence that rule for Markdown, name it in your config:
Severity matters for automation. Only error sets a non-zero exit code, so a CI job fails on errors and passes with warnings and suggestions:
See MinAlertLevel for changing what gets reported, and BasedOnStyles for enabling and disabling rules.
Setting up with a coding agent
If an AI assistant is doing the setup, give it AGENTS.md rather than this page. It covers the same four steps, plus the things that are easy to get wrong without reading further: only error sets a non-zero exit code, --output=JSON is the format to parse, and a term that trips spell check belongs in a vocabulary rather than in a disabled rule.
Save it in the root of your repository, where most assistants read it automatically.
For task-shaped work — fixing alerts, triaging a first run, adding a vocabulary — there are agent skills to copy in alongside it. In Claude Code, the skills, an edit-time linting hook, and the Vale CMS MCP server install together as one plugin:
The skills and the hook run the CLI you just installed and need no account. The hook lints each prose file as your assistant writes it and hands back only error-level alerts, so a mistake is fixed in the same turn it was made. The MCP server is the one paid piece — it belongs to Vale CMS and gives an assistant the engine itself to check a rule against, rather than the docs about it.
Where to go next
Browse the Package Explorer for styles beyond Microsoft.
Narrow what Vale reads using Scopes.
Last updated
