# Vale: Your style, our editor [![Build Status](https://img.shields.io/travis/errata-ai/vale/v2.svg?logo=travis)](https://travis-ci.com/errata-ai/vale) [![Go Report Card](https://img.shields.io/badge/%F0%9F%93%9D%20%20go%20report-A%2B-75C46B?color=00ACD7)](https://goreportcard.com/report/github.com/errata-ai/vale) ![GitHub All Releases](https://img.shields.io/github/downloads/errata-ai/vale/total?logo=GitHub&color=ff69b4) ![Docker Pulls](https://img.shields.io/docker/pulls/jdkato/vale?color=orange&logo=docker&logoColor=white) > :sparkles: Want support for **PCRE regex** (lookarounds)? State-of-the-art **NLP in 60+ languages**? [Check out our 3x10 funding campaign](https://opencollective.com/vale/contribute/3x10-funding-campaign-22663)!
Vale is a command-line tool that brings code-like linting to prose. It's fast, cross-platform (Windows, macOS, and Linux), and highly customizable.
Documentation • Officially-maintained styles • Vale Server (desktop app) • Vale Studio (rule editor)
## :heart: Sponsors > Hi there! I'm [@jdkato](https://github.com/jdkato), the sole developer of Vale. If you'd like to help me dedicate more time to *developing*, *documenting*, and *supporting* Vale, feel free to donate through the [Open Collective](https://opencollective.com/vale). Any donation—big, small, one-time, or recurring—is greatly appreciated! ### Organizations ### Individuals ## :boom: Key Features - [x] **Support for markup**: Vale has a rich understanding of many [markup formats](https://docs.errata.ai/vale/scoping#formats), allowing it to avoid syntax-related false positives and intelligently exclude code snippets from prose-related rules. - [x] A **highly customizable** [extension system](https://docs.errata.ai/vale/styles): Vale is capable of enforcing *your style*—be it a standard [editorial style guide](https://github.com/errata-ai/styles#available-styles) or a custom in-house set of rules (such as those created by [GitLab](https://docs.gitlab.com/ee/development/documentation/#vale), [Homebrew](https://github.com/Homebrew/brew/tree/master/docs/vale-styles/Homebrew), [Linode](https://www.linode.com/blog/linode/docs-as-code-at-linode/), [CockroachDB](https://github.com/cockroachdb/docs/tree/master/ci/vale), and [Spotify](https://github.com/spotify/backstage)). - [x] **Easy-to-install**, stand-alone binaries: Unlike other tools, Vale doesn't require you to install and configure a particular programming language and its related tooling (such as Python/pip or Node.js/npm). See the [documentation](https://docs.errata.ai/vale/about) for more information. ## :mag: At a Glance: Vale vs. `<...>` > **NOTE**: While all of the options listed below are open-source (CLI-based) linters for prose, their implementations and features vary significantly. And so, the "best" option will depends on your specific needs and preferences. ### Functionality | Tool | Extensible | Checks | Supports Markup | Built With | License | |------------|----------------------|-----------------|-------------------------------------------------------------------------|------------|--------------| | Vale | Yes (via YAML) | spelling, style | Yes (Markdown, AsciiDoc, reStructuredText, HTML, XML) | Go | MIT | | textlint | Yes (via JavaScript) | spelling, style | Yes (Markdown, AsciiDoc, reStructuredText, HTML, Re:VIEW) | JavaScript | MIT | | RedPen | Yes (via Java) | spelling, style | Yes (Markdown, AsciiDoc, reStructuredText, Textile, Re:VIEW, and LaTeX) | Java | Apache-2.0 | | write-good | Yes (via JavaScript) | style | No | JavaScript | MIT | | proselint | No | style | No | Python | BSD 3-Clause | | Joblint | No | style | No | JavaScript | MIT | | alex | No | style | Yes (Markdown) | JavaScript | MIT | The exact definition of "Supports Markup" varies by tool but, in general, it means that the format is understood at a higher level than a regular plain-text file (for example, features like excluding code blocks from spell check). Extensibility means that there's a built-in means of creating your own rules without modifying the original source code. ### Benchmarks