• Stars
    star
    4,468
  • Rank 9,565 (Top 0.2 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 8 years ago
  • Updated 23 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📝 A markup-aware linter for prose built with speed and extensibility in mind.

Vale: Your style, our editor Build status Go Report Card GitHub All Releases Docker Pulls Chocolatey Homebrew

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.

❤️ Sponsors

Hi there! I'm @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. Any donation—big, small, one-time, or recurring—is greatly appreciated!

Organizations

Hosting

Special thanks to DigitalOcean for providing hosting credits for Vale Studio.

Individuals

💥 Key Features

  • Support for markup: Vale has a rich understanding of many markup formats, allowing it to avoid syntax-related false positives and intelligently exclude code snippets from prose-related rules.

  • A highly customizable extension system: Vale is capable of enforcing your style—be it a standard editorial style guide or a custom in-house set of rules (such as those created by GitLab, Homebrew, Linode, CockroachDB, and Spotify).

  • 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 for more information.

🔍 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, Org) 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

This benchmark has all three tools configured to use their implementations of the write-good rule set and Unix-style output. This benchmark runs Vale's implementation of proselint's rule set against the original. Both tools are configured to use JSON output.
This benchmark runs Vale's implementation of Joblint's rule set against the original. Both tools are configured to use JSON output. This benchmark has all three tools configured to perform only English spell checking using their default output styles.

All benchmarking was performed using the open-source hyperfine tool on a MacBook Pro (2.9 GHz Intel Core i7):

hyperfine --warmup 3 '<command>'

The corpus IDs in the above plots—gitlab and ydkjs—correspond to the following files:

  • A snapshot of GitLab's open-source documentation (1,500 Markdown files).

  • A chapter from the open-source book You Don't Know JS.

📄 License

FOSSA Status

More Repositories

1

vale-action

:octocat: The official GitHub Action for Vale -- install, manage, and run Vale with ease.
TypeScript
198
star
2

packages

📦 A collection of pre-packaged, Vale-compatible style guides and configurations.
Go
101
star
3

Microsoft

A Vale-compatible implementation of the Microsoft Writing Style Guide.
Gherkin
84
star
4

Google

A Vale-compatible implementation of the Google Developer Documentation Style Guide.
Gherkin
68
star
5

vale-ls

⚡ An implementation of the Language Server Protocol (LSP) for the Vale command-line tool.
Rust
64
star
6

vale-vscode

A Visual Studio Code extension for the Vale CLI.
TypeScript
53
star
7

write-good

A Vale-compatible implementation of the write-good linter.
Gherkin
32
star
8

vale-boilerplate

An example repository showcasing how to use Vale.
28
star
9

IBM

A Vale-compatible implementation of IBM's Developer Editorial Style Guide.
Gherkin
23
star
10

proselint

A Vale-compatible implementation of Python's proselint linter.
Gherkin
20
star
11

vale.sh

💡 Website and documentation for the Vale CLI and related projects.
HTML
16
star
12

readability

Vale-compatible implementations of many popular "readability" metrics.
Go
15
star
13

alex

A Vale-compatible implementation of the guidelines enforced by the alex linter: catch insensitive, inconsiderate writing.
Gherkin
15
star
14

static-school

🏫 Discover, explore, and compare static site generators.
CSS
11
star
15

SubVale

A Sublime Text 3 client for Vale Server.
Python
10
star
16

Joblint

A Vale-compatible implementation of the Joblint linter
Gherkin
8
star
17

vale-atom

An Atom client for Vale Server.
CoffeeScript
5
star
18

Hugo

A Vale configuration for Hugo-generated static sites.
Go
5
star
19

vale-web

A browser extension for the Vale CLI.
Svelte
3
star
20

nlpapi

A language-agnostic API for basic NLP tasks.
Python
3
star
21

en_US-web

A modern, up-to-date Hunspell UTF-8 dictionary for American English.
Python
2
star
22

vale-snap

1
star
23

vale-native

🌐 A native messaging host for the Vale CLI: Use your local configurations in Chrome, Firefox, Opera, and Edge.
Go
1
star
24

LSP-vale-ls

A vale-ls client for Sublime Text.
Python
1
star
25

MediaWiki

A Vale-compatible implementation of the MediaWiki Documentation Style Guide.
Go
1
star
26

library

🔍 A unified (and indexed) library of Vale-related resources.
Go
1
star