A Vale style package for technical writing. Targets common patterns in AI-generated and over-formal prose: banned vocabulary, vague phrasing, inconsistent technology names, and structural anti-patterns.
Primarily designed for technical blog posts, but usable in any developer writing context.
Add to your .vale.ini:
StylesPath = .vale/styles
MinAlertLevel = suggestion
Packages = https://github.com/yldio/vale-yld/releases/latest/download/YLD.zip
[*.md]
BasedOnStyles = YLDThen run:
vale syncVerify the package signature before use:
minisign -Vm .vale/styles/YLD.zip -p https://raw.githubusercontent.com/yldio/vale-yld/main/minisign.pub| Rule | Level | What it catches |
|---|---|---|
YLD.BannedWords |
error | Overused words: delve, leverage, robust, seamless, and 16 others |
YLD.BannedPhrases |
error | Clichéd constructions: "At its core", "In the realm of", "Plays a vital role", and others |
YLD.SummaryPhrases |
error | Section-ending restaters: "In conclusion", "To summarize", "All in all", and others |
YLD.ForbiddenPhrases |
error | Sycophancy, hedging, meta-commentary, and inanimate attribution |
YLD.VagueTrailing |
warning | Trailing significance clauses: "…, highlighting its importance" |
YLD.Transitions |
warning | Overused connectors: Moreover, Furthermore, Additionally |
YLD.Terminology |
warning | Official technology names: Javascript → JavaScript, NodeJS → Node.js, etc. |
Disable a specific rule in your .vale.ini:
[*.md]
BasedOnStyles = YLD
YLD.Transitions = NODisable inline with a Vale comment:
<!-- vale YLD.BannedWords = NO -->
This is a deliberate exception.
<!-- vale YLD.BannedWords = YES -->Create a local style alongside YLD:
StylesPath = .vale/styles
Packages = GitHub/yldio/vale-yld
[*.md]
BasedOnStyles = YLD, LocalThen add .vale/styles/Local/Terminology.yml:
extends: substitution
message: "Use the official name '%s' instead of '%s'."
level: warning
ignorecase: false
action:
name: replace
swap:
MyFramework: MyFramework # your project-specific terms herename: Prose lint
on: [pull_request]
jobs:
vale:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: errata-ai/vale-action@v2
with:
files: '**/*.md'repos:
- repo: https://github.com/errata-ai/vale
rev: v3.7.1
hooks:
- id: valeVale v2.28 or later.