A linter for YAML files.
Go to file
Adrien Vergé 41733fc7a5 Use '.yaml' extension as default, not '.yml'
As someone said [1] on the internet:

    Say ".yaml" not ".yml".
    This is not MS-DOS, and YML is a Yahoo XML dialect.

Similarly, we use '.json', not '.jsn'.

[1]: https://github.com/ceph/s3-tests/commit/e17c56a
2016-03-07 11:15:04 +01:00
docs Use '.yaml' extension as default, not '.yml' 2016-03-07 11:15:04 +01:00
tests Rules: indentation: Add 'consistent' option for 'indent-sequences' 2016-03-06 15:42:16 +01:00
yamllint Use '.yaml' extension as default, not '.yml' 2016-03-07 11:15:04 +01:00
.gitignore Doc: Generate documentation with Sphinx 2016-01-22 18:20:28 +01:00
.travis.yml Tests: Remove Python 2.6 from CI tests 2016-01-24 17:39:36 +01:00
LICENSE Initial commit 2016-01-14 10:46:14 +01:00
MANIFEST.in Distribution: Restore spec examples in package_data 2016-03-04 12:33:56 +01:00
README.rst Use '.yaml' extension as default, not '.yml' 2016-03-07 11:15:04 +01:00
setup.py Use '.yaml' extension as default, not '.yml' 2016-03-07 11:15:04 +01:00

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.

.. image::
   https://travis-ci.org/adrienverge/yamllint.svg?branch=master
   :target: https://travis-ci.org/adrienverge/yamllint
   :alt: CI tests status
.. image::
   https://coveralls.io/repos/github/adrienverge/yamllint/badge.svg?branch=master
   :target: https://coveralls.io/github/adrienverge/yamllint?branch=master
   :alt: Code coverage status
.. image:: https://readthedocs.org/projects/yamllint/badge/?version=latest
   :target: http://yamllint.readthedocs.org/en/latest/?badge=latest
   :alt: Documentation status

Written in Python (compatible with Python 2 & 3).

Documentation
-------------

http://yamllint.readthedocs.org/

Short overview
--------------

Screenshot
^^^^^^^^^^

.. image:: docs/screenshot.png
   :alt: yamllint screenshot

Installation
^^^^^^^^^^^^

On Fedora / CentOS :

.. code:: bash

 sudo dnf install yamllint

On Ubuntu:

.. code:: bash

 sudo add-apt-repository -y ppa:adrienverge/ppa && sudo apt-get update
 sudo apt-get install yamllint

On Debian: an official package is coming, it should be available soon.

Alternatively using pip, the Python package manager:

.. code:: bash

 sudo pip install yamllint

Usage
^^^^^

.. code:: bash

 # Lint one or more files
 yamllint my_file.yml my_other_file.yaml ...

.. code:: bash

 # Lint all YAML files in a directory
 yamllint .

.. code:: bash

 # Use a pre-defined lint configuration
 yamllint -d relaxed file.yaml

 # Use a custom lint configuration
 yamllint -c ~/myconfig file.yml

.. code:: bash

 # Output a parsable format (for syntax checking in editors like Vim, emacs...)
 yamllint -f parsable file.yaml

Configuration example
^^^^^^^^^^^^^^^^^^^^^

.. code:: yaml

 extends: default

 rules:
   # 80 chars should be enough, but don't fail if a line is longer
   line-length:
     max: 80
     level: warning

   # don't bother me with this rule
   indentation: disable