explaingit

joshuakgoldberg/eslint-plugin-yml

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

TypeScriptAudience · developerComplexity · 2/5QuietSetup · easy

TLDR

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
Click or tap to explore — scroll the page freely

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

What do people build with it?

USE CASE 1

Lint GitHub Actions workflows for errors and formatting issues.

USE CASE 2

Keep Docker Compose configuration files consistent across a team.

USE CASE 3

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

USE CASE 4

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

What is it built with?

TypeScriptESLint

How does it compare?

joshuakgoldberg/eslint-plugin-ymlairirang/airirang-builderaisurfer/mcp_ui_app_example
Stars00
LanguageTypeScriptTypeScriptTypeScript
Last pushed2026-01-06
MaintenanceQuiet
Setup difficultyeasymoderatemoderate
Complexity2/53/53/5
Audiencedeveloperdeveloperdeveloper

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

How do you get it running?

Difficulty · easy Time to first run · 5min

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

In plain English

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.

Copy-paste 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

What 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.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.