Quickstart
Installing yamllint
On Fedora / CentOS (note: EPEL is required on CentOS):
sudo dnf install yamllint
On Debian 8+ / Ubuntu 16.04+:
sudo apt-get install yamllint
On Mac OS 10.11+:
brew install yamllint
On FreeBSD:
pkg install py36-yamllint
On OpenBSD:
doas pkg_add py3-yamllint
Alternatively using pip, the Python package manager:
pip install --user yamllint
If you prefer installing from source, you can run, from the source directory:
python -m build
pip install --user dist/yamllint-*.tar.gz
Running yamllint
Basic usage:
yamllint file.yml other-file.yaml
You can also lint all YAML files in a whole directory:
yamllint .
Or lint a YAML stream from standard input:
echo -e 'this: is\nvalid: YAML' | yamllint -
The output will look like (colors are not displayed here):
file.yml
1:4 error trailing spaces (trailing-spaces)
4:4 error wrong indentation: expected 4 but found 3 (indentation)
5:4 error duplication of key "id-00042" in mapping (key-duplicates)
6:6 warning comment not indented like content (comments-indentation)
12:6 error too many spaces after hyphen (hyphens)
15:12 error too many spaces before comma (commas)
other-file.yaml
1:1 warning missing document start "---" (document-start)
6:81 error line too long (87 > 80 characters) (line-length)
10:1 error too many blank lines (4 > 2) (empty-lines)
11:4 error too many spaces inside braces (braces)
By default, the output of yamllint is colored when run from a terminal, and
pure text in other cases. Add the -f standard
arguments to force
non-colored output. Use the -f colored
arguments to force colored output.
Add the -f parsable
arguments if you need an output format parsable by a
machine (for instance for syntax highlighting in text editors). The output will then look like:
file.yml:6:2: [warning] missing starting space in comment (comments)
file.yml:57:1: [error] trailing spaces (trailing-spaces)
file.yml:60:3: [error] wrong indentation: expected 4 but found 2 (indentation)
If you have a custom linting configuration file (see how to configure
yamllint), it can be passed to yamllint using the -c
option:
yamllint -c ~/myconfig file.yaml
Note
If you have a .yamllint
file in your working directory, it will be
automatically loaded as configuration by yamllint.
Source code
The source code of yamllint is currently hosted on GitHub at https://github.com/adrienverge/yamllint/. Releases can be found on this page.