# vale-cli/vale

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/vale-cli-vale).**

5,477 stars · 196 forks · Go · MIT

## Links

- GitHub: https://github.com/vale-cli/vale
- Homepage: https://vale.sh
- awesome-repositories: https://awesome-repositories.com/repository/vale-cli-vale.md

## Topics

`linter` `linting` `vale`

## Description

Vale is a markup-aware prose linter and command-line interface tool designed to enforce editorial style guides and grammar rules across various document formats. It functions as a YAML-based style guide engine that analyzes text for consistency in tone, spelling, and terminology while ignoring non-prose elements like code blocks.

The project distinguishes itself through a flexible extensibility model that allows users to define custom linting rules using YAML configurations, regular expressions, and external scripts for complex validation logic. It supports a wide array of documentation formats, including Markdown, AsciiDoc, HTML, and Org-mode, often normalizing these inputs via XSLT to apply a unified set of rules.

The tool covers broad capability areas including linguistic evaluation for readability metrics and grammar, dictionary-based spell checking, and terminology management to prevent inconsistent phrasing. It provides integration via the Language Server Protocol for real-time diagnostics in editors, as well as support for CI/CD pipelines and Git hooks to automate prose validation.

Vale can be deployed within a containerized environment using Docker to ensure consistent execution across different platforms.

## Tags

### Content Management & Publishing

- [Automated Prose Linting](https://awesome-repositories.com/f/content-management-publishing/automated-prose-linting.md) — Checks text files against editorial style guides to ensure consistency in tone, grammar, and spelling.
- [Markdown Prose Analysis](https://awesome-repositories.com/f/content-management-publishing/markdown-prose-analysis.md) — Analyzes text in Markdown files while ignoring code spans and fenced blocks to enforce editorial standards. ([source](https://docs.vale.sh/formats/markdown.md))
- [AsciiDoc Support](https://awesome-repositories.com/f/content-management-publishing/asciidoc-support.md) — Analyzes prose within AsciiDoc files while ignoring source code blocks and literals. ([source](https://docs.vale.sh/formats/asciidoc.md))
- [Grammar Rule Enforcement](https://awesome-repositories.com/f/content-management-publishing/content-processing-rules/content-quality-rule-enforcers/grammar-rule-enforcement.md) — Analyzes sequences of tokens and metadata to identify and flag grammatical errors. ([source](https://docs.vale.sh/checks/sequence.md))
- [Markup and Structure Parsers](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/document-processing-conversion/document-processing-tools/markup-and-structure-parsers.md) — Analyzes structured markup like Markdown and HTML to exclude code snippets and avoid false positives. ([source](https://cdn.jsdelivr.net/gh/vale-cli/vale@v3/README.md))
- [Custom Editorial Tooling](https://awesome-repositories.com/f/content-management-publishing/custom-editorial-tooling.md) — Enables creation of tailored linguistic rules and vocabulary lists using YAML and regex.
- [Document Quality Validations](https://awesome-repositories.com/f/content-management-publishing/document-quality-validations.md) — Verifies linguistic integrity by checking spelling, repeated words, and readability metrics. ([source](https://docs.vale.sh/topics/styles.md))
- [Markup To HTML Converters](https://awesome-repositories.com/f/content-management-publishing/markup-to-html-converters.md) — Normalizes various markup formats into a common HTML representation using XSLT to apply unified linting rules.
- [Prohibited Phrase Detection](https://awesome-repositories.com/f/content-management-publishing/prohibited-phrase-detection.md) — Identifies specific words, phrases, or regular expression patterns in text to flag them for editorial review. ([source](https://docs.vale.sh/checks/existence.md))
- [Prose Linters](https://awesome-repositories.com/f/content-management-publishing/prose-linters.md) — Analyzes text files against editorial style guides and returns exit codes based on style violations. ([source](https://docs.vale.sh/topics/cli.md))
- [Spelling and Language Tools](https://awesome-repositories.com/f/content-management-publishing/spelling-and-language-tools.md) — Checks prose against compatible dictionaries and custom word lists to identify typos. ([source](https://docs.vale.sh/checks/spelling.md))
- [Terminology Mapping](https://awesome-repositories.com/f/content-management-publishing/terminology-mapping.md) — Maps specific words or regular expressions to preferred alternatives to correct inconsistent terminology. ([source](https://docs.vale.sh/checks/substitution.md))
- [Comment Markup Support](https://awesome-repositories.com/f/content-management-publishing/comment-markup-support.md) — Treats markup embedded within source code comments as a standalone format for linting. ([source](https://docs.vale.sh/formats/code.md))
- [Prose Replacement Suggestions](https://awesome-repositories.com/f/content-management-publishing/prose-replacement-suggestions.md) — Provides a list of alternative phrases or words to replace detected style violations. ([source](https://docs.vale.sh/fixes/replace.md))
- [Readability Metric Enforcement](https://awesome-repositories.com/f/content-management-publishing/readability-metric-enforcement.md) — Evaluates prose using readability formulas and triggers alerts when thresholds are met. ([source](https://docs.vale.sh/checks/metric.md))
- [Scope-Based Content Filtering](https://awesome-repositories.com/f/content-management-publishing/scope-based-content-filtering.md) — Assigns identifiers to document sections to selectively apply or ignore rules based on context. ([source](https://docs.vale.sh/topics/views.md))
- [Terminology Consistency Enforcements](https://awesome-repositories.com/f/content-management-publishing/terminology-consistency-enforcements.md) — Prevents multiple variations of the same word or phrase from appearing in the same scope. ([source](https://docs.vale.sh/checks/consistency.md))

### Development Tools & Productivity

- [Prose Linters](https://awesome-repositories.com/f/development-tools-productivity/code-linters/prose-linters.md) — Acts as a markup-aware prose linter that enforces editorial style guides while ignoring non-prose elements.
- [Custom Lint Rule Definitions](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/static-analysis-rules/framework-linting-rules/core-rule-extensions/custom-lint-rule-plugins/custom-lint-rule-definitions.md) — Provides an interface for defining prohibited prose patterns and exclusion rules to enforce in-house editorial guidelines. ([source](https://cdn.jsdelivr.net/gh/vale-cli/vale@v3/README.md))
- [File-Type Style Mappings](https://awesome-repositories.com/f/development-tools-productivity/file-extension-language-mappings/file-type-style-mappings.md) — Enforces specific editorial rules on files based on their extension or filename patterns. ([source](https://docs.vale.sh/keys/basedonstyles.md))
- [Markup Element Scoping](https://awesome-repositories.com/f/development-tools-productivity/markup-element-scoping.md) — Applies linting rules to specific document elements like headings and paragraphs based on format. ([source](https://docs.vale.sh/topics/scopes.md))
- [Prose Polishing Tools](https://awesome-repositories.com/f/development-tools-productivity/technical-documentation/prose-polishing-tools.md) — Offers a command-line tool for automating prose polishing, style checks, and spelling verification.
- [Git Hook Automations](https://awesome-repositories.com/f/development-tools-productivity/automated-formatting-frameworks/git-hook-automations.md) — Integrates with Git hook frameworks to automate prose style checks before code is committed. ([source](https://docs.vale.sh/integrations/pre-commit.md))
- [Glob-Based Rule Overrides](https://awesome-repositories.com/f/development-tools-productivity/file-pattern-matching/name-pattern-filters/glob-based-file-location/glob-based-rule-overrides.md) — Applies specific style guides and ignore patterns to files using glob-based path matching. ([source](https://docs.vale.sh/topics/.vale.ini.md))
- [Inline Linting Controls](https://awesome-repositories.com/f/development-tools-productivity/inline-linting-controls.md) — Controls the execution of style checks within files using inline comment directives. ([source](https://docs.vale.sh/formats/html.md))
- [Inline Text Ignoring](https://awesome-repositories.com/f/development-tools-productivity/inline-text-ignoring.md) — Uses regular expressions to exclude specific inline-level text segments from linting. ([source](https://docs.vale.sh/keys/tokenignores.md))
- [Language Server Protocol Integrations](https://awesome-repositories.com/f/development-tools-productivity/language-server-protocol-integrations.md) — Provides real-time writing diagnostics and style suggestions directly within a text editor or IDE.
- [LSP Editor Integrations](https://awesome-repositories.com/f/development-tools-productivity/lsp-editor-integrations.md) — Implements the Language Server Protocol to provide real-time diagnostics and style suggestions directly in the editor. ([source](https://docs.vale.sh/guides/lsp.md))
- [Configuration Merging Strategies](https://awesome-repositories.com/f/development-tools-productivity/task-automation-tools/task-inference-engines/task-configuration-overrides/configuration-merging-strategies.md) — Combines project-specific settings with global configuration files using specific override and append rules. ([source](https://docs.vale.sh/topics/.vale.ini.md))
- [Technical Writing Workflows](https://awesome-repositories.com/f/development-tools-productivity/technical-writing-workflows.md) — Provides automated enforcement of standardized writing rules within technical documentation workflows.

### Networking & Communication

- [YAML Rule Engines](https://awesome-repositories.com/f/networking-communication/filtering-rule-repositories/rule-based-detection-engines/yaml-rule-engines.md) — Functions as a YAML-based style guide engine where editorial standards and trigger patterns are defined in external files.
- [Editorial Style Engines](https://awesome-repositories.com/f/networking-communication/filtering-rule-repositories/rule-based-detection-engines/yaml-rule-engines/editorial-style-engines.md) — Provides a YAML-based engine for defining custom linting rules and terminology constraints.
- [LSP Server Implementations](https://awesome-repositories.com/f/networking-communication/json-rpc-implementations/editor-lsp-json-rpc-clients/lsp-server-implementations.md) — Implements the Language Server Protocol to provide real-time diagnostics and style suggestions within text editors.

### Artificial Intelligence & ML

- [Syntactic Prose Analysis](https://awesome-repositories.com/f/artificial-intelligence-ml/linguistic-pattern-analysis/syntactic-prose-analysis.md) — Analyzes text at syntactic levels to apply rules to specific document sections or patterns. ([source](https://docs.vale.sh/topics/introduction.md))
- [Vocabulary Management](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/language-tools/dictionary-management-utilities/vocabulary-management.md) — Maintains lists of accepted and rejected terms to enforce consistent terminology and casing. ([source](https://docs.vale.sh/keys/vocabularies.md))

### Part of an Awesome List

- [Regex Pattern Matching](https://awesome-repositories.com/f/awesome-lists/devtools/regex-and-pattern-matching/regex-pattern-matching.md) — Uses a regular expression engine with lookaround support to identify stylistic violations in normalized text.
- [Prose Block Detection](https://awesome-repositories.com/f/awesome-lists/devtools/code-analysis-and-linting/prose-block-detection.md) — Identifies and excludes specific sections of prose from linting to prevent false positives in non-prose regions. ([source](https://docs.vale.sh/keys/blockignores.md))

### Business & Productivity Software

- [Spell and Grammar Checkers](https://awesome-repositories.com/f/business-productivity-software/spell-and-grammar-checkers.md) — Analyzes written text to correct spelling and stylistic errors using dictionary files. ([source](https://docs.vale.sh/guides/hunspell.md))
- [Dictionary-Based Validation](https://awesome-repositories.com/f/business-productivity-software/spell-and-grammar-checkers/spell-checking-rules/dictionary-based-validation.md) — Implements dictionary-based spell checking to enforce language-specific morphological rules and identify typos.

### Data & Databases

- [Text Pattern Matching](https://awesome-repositories.com/f/data-databases/text-pattern-matching.md) — Uses a regular expression engine with lookaround support to identify complex prose patterns. ([source](https://docs.vale.sh/topics/styles.md))

### Software Engineering & Architecture

- [Prose Style Guide Enforcers](https://awesome-repositories.com/f/software-engineering-architecture/prose-style-guide-enforcers.md) — Applies organization-wide terminology and branding rules to prose across multiple projects.
- [Style Guide Enforcers](https://awesome-repositories.com/f/software-engineering-architecture/style-guide-enforcers.md) — Automatically enforces editorial style guides and spelling consistency across various markup formats. ([source](https://cdn.jsdelivr.net/gh/vale-cli/vale@v3/README.md))
- [YAML Style Guides](https://awesome-repositories.com/f/software-engineering-architecture/style-guide-enforcers/yaml-style-guides.md) — Provides a YAML-based engine for defining and enforcing editorial style rules across documents. ([source](https://docs.vale.sh/topics/introduction.md))
- [Prose Fix Generation](https://awesome-repositories.com/f/software-engineering-architecture/code-patching-engines/patch-generators/static-fix-generation/prose-fix-generation.md) — Generates suggested corrections for style violations using static replacements or regex transformations. ([source](https://docs.vale.sh/topics/actions.md))
- [Content Validation Scripts](https://awesome-repositories.com/f/software-engineering-architecture/custom-scripting-engines/custom-scripting-functions/content-validation-scripts.md) — Executes user-defined scripts for complex content validations that exceed the capabilities of static pattern matching.
- [Document Front-Matter Configurations](https://awesome-repositories.com/f/software-engineering-architecture/environment-driven-feature-configurations/metadata-configurations/document-front-matter-configurations.md) — Enforces style rules on metadata fields defined in document front-matter blocks using YAML, TOML, or JSON. ([source](https://docs.vale.sh/formats/front-matter.md))
- [Editor Text Suggestions](https://awesome-repositories.com/f/software-engineering-architecture/naming-conventions/rule-based-pattern-matching/command-line-contextual-suggestions/editor-text-suggestions.md) — Provides replacement candidates for matched text via dictionary lookups or custom logic scripts. ([source](https://docs.vale.sh/fixes/suggest.md))
- [LSP Prose Analyzers](https://awesome-repositories.com/f/software-engineering-architecture/naming-conventions/rule-based-pattern-matching/command-line-contextual-suggestions/lsp-prose-analyzers.md) — Functions as a language server that provides real-time prose diagnostics and style suggestions.
- [Priority-Based Configuration Merging](https://awesome-repositories.com/f/software-engineering-architecture/runtime-configuration-overrides/layer-based-configuration-overrides/configuration-sets/priority-based-configuration-merging.md) — Combines global, project, and in-file settings using a predefined priority order to resolve active style rules.

### DevOps & Infrastructure

- [CI/CD Pipeline Integrations](https://awesome-repositories.com/f/devops-infrastructure/ci-cd-pipeline-integrations.md) — Integrates automated prose checks into build pipelines to prevent style violations in version control.
- [Configuration Distribution and Sharing](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-distribution-and-sharing.md) — Shares editorial rules across projects via hosted packages, external URLs, or local directories. ([source](https://docs.vale.sh/keys/packages.md))
- [Style Package Installation](https://awesome-repositories.com/f/devops-infrastructure/package-installations/style-package-installation.md) — Downloads and installs external packages to extend available editorial style guides. ([source](https://docs.vale.sh/topics/cli.md))

### Programming Languages & Runtimes

- [Comment Prose Analysis](https://awesome-repositories.com/f/programming-languages-runtimes/code-commenting/comment-prose-analysis.md) — Analyzes text within code comments across multiple programming languages to ensure prose consistency. ([source](https://docs.vale.sh/formats/code.md))
- [Detection Rule Scripting Extensions](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/dynamic-scripting-languages/lua/embedded-scripting-extensions/detection-rule-scripting-extensions.md) — Uses embedded scripting to identify complex prose patterns that cannot be captured by standard regular expressions. ([source](https://docs.vale.sh/checks/script.md))

### User Interface & Experience

- [HTML Prose Analysis](https://awesome-repositories.com/f/user-interface-experience/html-content-processing/html-prose-analysis.md) — Analyzes text within HTML files while ignoring non-prose elements like scripts, styles, and code blocks. ([source](https://docs.vale.sh/formats/html.md))

### Web Development

- [Prose Validation Logic](https://awesome-repositories.com/f/web-development/graphql-input-validations/custom-logic-validators/prose-validation-logic.md) — Runs user-defined scripts to perform complex content validations that exceed standard pattern matching. ([source](https://docs.vale.sh/topics/styles.md))
