> For the complete documentation index, see [llms.txt](https://docs.vale.sh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vale.sh/topics/installation.md).

# Installation

Get started with Vale in just a few minutes.

## [Package Managers](#package-managers)

In general, the recommended approach on all platforms is to use a package manager such as [Chocolatey](https://chocolatey.org/packages/vale) (Windows), [Homebrew](https://formulae.brew.sh/formula/vale) (macOS), or [Snapcraft](https://snapcraft.io/vale) (Linux).

{% tabs %}
{% tab title="Windows" %}

```powershell
> choco install vale
```

{% endtab %}

{% tab title="macOS" %}

```bash
$ brew install vale
```

{% endtab %}

{% tab title="Linux" %}

```bash
$ snap install vale
```

{% endtab %}
{% endtabs %}

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

Vale can also be found at a number of [other package repositories](https://repology.org/project/vale/versions). These are community-maintained, so please read the package’s documentation before installing.

## [GitHub Releases](#github-releases)

[Archives of precompiled binaries](https://github.com/errata-ai/vale/releases) 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`.

## [Docker](#docker)

Vale is available on Docker Hub at [jdkato/vale](https://hub.docker.com/r/jdkato/vale):

```bash
$ 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):

```bash
$ docker run --rm \
             -v $(pwd)/styles:/styles \
             -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,

```dockerfile
# 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](#other-options)

| Source | Documentation                                                                    | Status       |
| ------ | -------------------------------------------------------------------------------- | ------------ |
| `PyPI` | [`project/vale`](https://pypi.org/project/vale/)                                 | active       |
| `NPM`  | [`package/@ocular-d/vale-bin`](https://www.npmjs.com/package/@ocular-d/vale-bin) | unmaintained |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.vale.sh/topics/installation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
