LinuxCommandLibrary

vale

Syntax-aware prose linter

TLDR

Lint files in current directory

$ vale [path/to/files]
copy
Lint markdown files recursively
$ vale [docs/**/*.md]
copy
Use a specific configuration file
$ vale --config [.vale.ini] [file.md]
copy
Show only errors (ignore warnings and suggestions)
$ vale --minAlertLevel error [file.md]
copy
Output in JSON format
$ vale --output JSON [file.md]
copy
Lint content from stdin
$ echo "[text]" | vale --ext .md
copy
List configured directories
$ vale ls-dirs
copy
Sync styles from configuration
$ vale sync
copy

SYNOPSIS

vale [options] [files ...]

DESCRIPTION

Vale is a syntax-aware prose linter that brings code-like linting to documentation and prose. It checks writing against customizable style rules for consistency, grammar, and corporate style guides.
Vale supports Markdown, AsciiDoc, reStructuredText, HTML, and other markup formats. It can use community style packages (Microsoft, Google, write-good) or custom rules defined in YAML.
Configuration is managed through .vale.ini files that specify which styles to use, file patterns to check, and vocabulary exceptions.

PARAMETERS

--config file

Use specified configuration file (.vale.ini).
--ext extension
Limit linting to files with specific extension.
--glob pattern
Include files matching glob pattern.
--minAlertLevel level
Minimum alert level: suggestion, warning, error.
--output format
Output format: text, JSON, line, SARIF.
--no-exit
Always exit with status 0 regardless of errors.
--no-wrap
Don't wrap output lines.
--relative
Report paths relative to current directory.
--sort
Sort output by file path and line number.
--ignore-syntax
Lint without syntax-aware parsing.
ls-dirs
Show configured directories (StylesPath, etc.).
ls-config
Show active configuration.
sync
Download and install configured styles.
-v, --version
Display version information.
-h, --help
Display help message.

CAVEATS

Vale requires style packages to be installed via vale sync before they can be used. Custom vocabulary (acceptable terms, spelling exceptions) must be configured in the vale configuration. Complex regex-based rules may have performance impact on large documents.

HISTORY

Vale was created by Joseph Kato at Errata AI and first released in 2017. It was designed to provide maintainable, extensible prose linting similar to how code linters work. Written in Go for performance and cross-platform support, Vale has been adopted by many technical documentation teams including GitLab, Grafana, and Linode.

SEE ALSO

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard

> TERMINAL_GEAR

Curated for the Linux community