Installation

Get started with Vale, a syntax-aware linter for prose built with speed and extensibility in mind.

Package Managers

In general, the recommended approach on all platforms is to use a package manager such as Homebrew (macOS) or Chocolatey (Windows):

choco install vale

See Chocolatey for more information.

brew install vale

See Homebrew for more information.

sudo snap install vale

See Snapcraft for more information.

This will ensure that Vale is available on your $PATH and allow you to stay up to date with new releases.

Packaging status
Click on the widget to learn more.

Vale can also be found at a number of other package repositories. Many of these are community-maintained, so please read the package’s documentation before installing.

GitHub Releases

Archives of precompiled binaries are available for Windows, macOS, and Linux. To use one of these, you’ll need to download the archive for your platform, extract it to a local directory, and (optionally) add the extracted directory to your $PATH.

An example of this process for Linux is given below:

wget https://github.com/errata-ai/vale/releases/download/v2.28.0/vale_2.28.0_Linux_64-bit.tar.gz
mkdir bin && tar -xvzf vale_2.28.0_Linux_64-bit.tar.gz -C bin
export PATH=./bin:"$PATH"

Docker

Vale is available on Docker Hub at jdkato/vale:

docker pull jdkato/vale

Vale requires three components: a .vale.ini config file, a StylesPath directory (specified in the config file), and a document or directory to lint.

Here’s an example of calling Vale with locally-defined components (assuming $(pwd)/fixtures/styles/demo contains a config file):

docker run --rm -v $(pwd)/styles:/styles \
           --rm -v $(pwd)/fixtures/styles/demo:/docs \
           -w /docs \
           jdkato/vale .

By default, the image supports HTML, Markdown, AsciiDoc, and reStructuredText content. If you need support for DITA as well, you’ll need to add the relevant dependencies—for example,

# Choose a version to pin:
FROM jdkato/vale:v2.15.2

# Copy a local installation of the DITA Open Toolkit:
COPY bin/dita-ot-3.6 /
ENV PATH="/dita-ot-3.6/bin:$PATH"

ENTRYPOINT ["/bin/vale"]

Other options