Skip to content

yldio/vale-yld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vale-yld

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.

Installation

Add to your .vale.ini:

StylesPath = .vale/styles
MinAlertLevel = suggestion
Packages = https://github.com/yldio/vale-yld/releases/latest/download/YLD.zip

[*.md]
BasedOnStyles = YLD

Then run:

vale sync

Verify the package signature before use:

minisign -Vm .vale/styles/YLD.zip -p https://raw.githubusercontent.com/yldio/vale-yld/main/minisign.pub

Rules

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: JavascriptJavaScript, NodeJSNode.js, etc.

Disabling rules

Disable a specific rule in your .vale.ini:

[*.md]
BasedOnStyles = YLD
YLD.Transitions = NO

Disable inline with a Vale comment:

<!-- vale YLD.BannedWords = NO -->
This is a deliberate exception.
<!-- vale YLD.BannedWords = YES -->

Adding project-specific terminology

Create a local style alongside YLD:

StylesPath = .vale/styles
Packages = GitHub/yldio/vale-yld

[*.md]
BasedOnStyles = YLD, Local

Then 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 here

CI integration

GitHub Actions

name: 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'

Pre-commit hook

repos:
  - repo: https://github.com/errata-ai/vale
    rev: v3.7.1
    hooks:
      - id: vale

Requirements

Vale v2.28 or later.

About

Vale package with prose linting rules for YLD articles and documentation

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages