Skip to content

adrienverge/yamllint

Repository files navigation

yamllint

A linter for YAML files.

yamllint does not only check for syntax validity, but for weirdnesses like key repetition and cosmetic problems such as lines length, trailing spaces, indentation, etc.

CI tests statusCode coverage statusDocumentation status

Written in Python.

Documentation

https://yamllint.readthedocs.io/

Overview

Screenshot

yamllint screenshot

Installation

Using pip, the Python package manager:

pip install --user yamllint

yamllint is also packaged for all major operating systems, see installation examples (dnf, apt-get...) in the documentation.

Usage

# Lint one or more files yamllint my_file.yml my_other_file.yaml ...
# Recursively lint all YAML files in a directory yamllint .
# Use a pre-defined lint configuration yamllint -d relaxed file.yaml # Use a custom lint configuration yamllint -c /path/to/myconfig file-to-lint.yaml
# Output a parsable format (for syntax checking in editors like Vim, emacs...) yamllint -f parsable file.yaml

Read more in the complete documentation!

Features

Here is a yamllint configuration file example:

extends: defaultrules: # 80 chars should be enough, but don't fail if a line is longerline-length: max: 80level: warning# don't bother me with this ruleindentation: disable

Within a YAML file, special comments can be used to disable checks for a single line:

This line is waaaaaaaaaay too long # yamllint disable-line

or for a whole block:

# yamllint disable rule:colons - Lorem : ipsumdolor : sit amet,consectetur : adipiscing elit# yamllint enable

Specific files can be ignored (totally or for some rules only) using a .gitignore-style pattern:

# For all rulesignore: | *.dont-lint-me.yaml /bin/ !/bin/*.lint-me-anyway.yamlrules: key-duplicates: ignore: | generated *.template.yamltrailing-spaces: ignore: | *.ignore-trailing-spaces.yaml /ascii-art/*

Read more in the complete documentation!

License

GPL version 3