feat(lint): add vale-config skill

Covers Vale install and .vale.ini setup — StylesPath, built-in/
third-party/custom styles, BasedOnStyles activation. Setup half of
Vale support; vale-run (running/interpreting) is a separate skill.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FxG5T8EJDgkABXxuneuFfn
This commit is contained in:
2026-07-23 19:11:38 +00:00
parent 5e22672189
commit d1afdbeff7
11 changed files with 172 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
---
topic: overview
source_keys:
- context7-websites-vale-sh
---
## What Vale Is
Vale is a cross-platform command-line tool that brings code-like linting to prose. Rather than checking general grammar, it enforces project-specific writing style rules — consistency of terminology, phrasing, and formatting — the same way a linter enforces a code style guide.
## Styles, Rules, and Checks
Vale's configuration model has three layers:
- **Styles** — a named collection of rules (e.g. the built-in `Vale` style, or third-party styles like `Google` or `write-good`). A project can apply multiple styles at once via `BasedOnStyles`.
- **Rules** — individual YAML files that define one specific check (e.g. flag a term, enforce a heading capitalization pattern). Each rule `extends` a check and sets a `message`, `level`, and other header fields.
- **Checks** — the underlying functions a rule extends to perform analysis: `existence`, `substitution`, `occurrence`, `repetition`, `consistency`, `conditional`, `capitalization`, `metric`, `spelling`, `sequence`, `script`.
## Built-in Style
Vale ships with a default `Vale` style containing four rules:
- `Vale.Spelling` — spell-checks against Hunspell-compatible dictionaries in `<StylesPath>/config/dictionaries`.
- `Vale.Terms` — enforces the project's accepted vocabulary terms.
- `Vale.Avoid` — enforces the project's rejected vocabulary terms.
- `Vale.Repetition` — flags repeated words (e.g. "the the").
## Styles Directory Layout
Styles live under `StylesPath` in a nested folder structure, one subdirectory per style, each holding YAML rule files:
```
styles/
├── base/
│ ├── ComplexWords.yml
│ ├── SentenceLength.yml
├── blog/
│ ├── TechTerms.yml
└── docs/
├── Branding.yml
```
This lets a project mix a shared base style with format- or section-specific styles, all activated per-glob in `.vale.ini`.