gitwtfhub

wtf is eslint-plugin-yml?

joshuakgoldberg/eslint-plugin-yml — explained in plain English

Analysis updated 2026-07-08 · repo last pushed 2026-01-06

TypeScriptAudience · developerComplexity · 2/5QuietSetup · easy

TL;DR

An ESLint plugin that checks YAML files for errors and enforces consistent formatting, catching common mistakes like misplaced spaces or empty values before they cause problems.

Mindmap

mindmap
  root((repo))
    What it does
      Lints YAML files
      Auto-fixes problems
      Inline disable comments
    Use cases
      CI/CD pipelines
      Docker Compose files
      App configuration
    Tech stack
      TypeScript
      ESLint
    Audience
      Developers
      Teams using ESLint

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Lint GitHub Actions workflows for errors and formatting issues.

REASON 2

Keep Docker Compose configuration files consistent across a team.

REASON 3

Validate and auto-fix application config files written in YAML.

REASON 4

Lint YAML embedded in Vue single-file components for translations.

What's in the stack?

TypeScriptESLint

How it stacks up

joshuakgoldberg/eslint-plugin-yml0xradioac7iv/tempfs7vignesh/pgpulse
Stars00
LanguageTypeScriptTypeScriptTypeScript
Last pushed2026-01-06
MaintenanceQuiet
Setup difficultyeasymoderatemoderate
Complexity2/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

Requires ESLint already configured in your project, install the plugin and add it to your ESLint config.

Wtf does this do

YAML files show up everywhere in modern software, configuration files, CI/CD pipelines, translation catalogs, but they can be surprisingly easy to break. A misplaced space, a tab instead of spaces, or an empty value can silently cause problems. eslint-plugin-yml brings the same kind of automated quality checking that JavaScript developers rely on directly to YAML files, catching mistakes and enforcing consistent formatting before they cause issues. ESLint is a popular tool that checks code for errors and style problems. Normally it works on JavaScript, but this plugin extends it to understand YAML. Under the hood, it parses YAML into a structured representation that ESLint can inspect, then applies rules like "disallow tabs for indentation," "enforce consistent quote usage," or "disallow empty keys." Many of these rules can even auto-fix problems for you. It also supports special comment directives within YAML files, so you can selectively turn off rules on specific lines when needed. This is useful for any team that maintains a significant number of YAML files. If you have a project with GitHub Actions workflows, Docker Compose files, or application configuration written in YAML, this plugin helps keep everything consistent and error-free. It also supports Vue single-file components that embed YAML in custom blocks, which is handy for projects managing translations. Teams already using ESLint for their JavaScript can add YAML linting to the same workflow rather than introducing a separate tool. One notable design choice is how the plugin integrates with ESLint. Some YAML linting approaches run as external processors that just report errors independently. This plugin instead feeds the full structure and source text into ESLint's engine, which means standard ESLint features like inline disable comments and compatibility with formatting tools like Prettier work as expected. It also provides preset rule bundles ranging from basic error prevention to stricter style enforcement, so teams can pick the level of rigor that fits their project.

Yoink these prompts

Prompt 1
Help me install eslint-plugin-yml in my project and configure it with the recommended preset so my YAML files are automatically checked for common errors.
Prompt 2
Write an ESLint config that uses eslint-plugin-yml with the strict preset to enforce consistent quote usage and disallow tabs in my YAML files, and enable auto-fix on save.
Prompt 3
Show me how to add eslint-plugin-yml to lint my GitHub Actions workflow files and Docker Compose files alongside my existing JavaScript ESLint setup.
Prompt 4
I have YAML embedded in Vue single-file components for translations. Help me configure eslint-plugin-yml to lint those custom YAML blocks.

Frequently asked questions

wtf is eslint-plugin-yml?

An ESLint plugin that checks YAML files for errors and enforces consistent formatting, catching common mistakes like misplaced spaces or empty values before they cause problems.

What language is eslint-plugin-yml written in?

Mainly TypeScript. The stack also includes TypeScript, ESLint.

Is eslint-plugin-yml actively maintained?

Quiet — no commits in 6-12 months (last push 2026-01-06).

How hard is eslint-plugin-yml to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is eslint-plugin-yml for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.