# Install yamllint with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman

Linter for YAML files. Version 1.38.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:yamllint
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install yamllint
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install yamllint
```

  Evidence: MacPorts ports tree: devel/yamllint/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add yamllint
```

  Evidence: Alpine Linux edge package indexes: yamllint from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install yamllint
```

  Evidence: Debian stable package indexes: yamllint from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install yamllint
```

  Evidence: Fedora Rawhide package metadata: yamllint from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#yamllint
```

  Evidence: nixpkgs package indexes: yamllint from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S yamllint
```

  Evidence: Arch Linux sync databases: yamllint from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:yamllint
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/yamllint>
- **Version:** 1.38.0
- **Source summary:** Linter for YAML files
- **Homepage:** <https://github.com/adrienverge/yamllint>
- **Repository:** <https://github.com/adrienverge/yamllint>
- **Upstream docs:** <https://yamllint.readthedocs.io/>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://files.pythonhosted.org/packages/28/a0/8fc2d68e132cf918f18273fdc8a1b8432b60d75ac12fdae4b0ef5c9d2e8d/yamllint-1.38.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- yamllint (cli)
- yamllint (alias)

## Dependencies

- libyaml
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.38.0
- Local data: ok
- Upstream repository: https://github.com/adrienverge/yamllint
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

yamllint is a Python linter for YAML files. It checks syntax validity, duplicate keys, and style problems such as line length, trailing spaces, indentation, comments, and document markers.

### Project history

The GitHub repository was created on 2016-01-11. From the beginning of its public documentation, yamllint occupied the linter niche rather than the formatter niche: it reports problems and lets users tune rules rather than rewriting files wholesale.

The official docs organize the project around a rule system. Each rule is independent and can be enabled, disabled, or configured, with bundled `default` and `relaxed` configurations and custom configuration through files, inline `-d` values, or comments that disable checks in selected places.

### Adoption history

yamllint became the default YAML linting package across many Unix-like environments. The official quickstart documents installation on Fedora/CentOS, Debian/Ubuntu, macOS through Homebrew, FreeBSD, OpenBSD, Alpine Linux, pip, and source builds.

Its adoption tracks YAML becoming infrastructure glue: CI definitions, Ansible playbooks, Kubernetes manifests, packaging metadata, and documentation configs all benefit from a linter that catches both invalid YAML and review-noise style drift.

### How it is used

Common usage is `yamllint file.yml other-file.yaml`, `yamllint .` for a directory, or `echo ... | yamllint -` for stdin. Output formats include standard terminal output and parsable output for editor integrations.

Configuration is normally kept in `.yamllint`, `.yamllint.yaml`, or `.yamllint.yml` in a project tree, a file referenced by `YAMLLINT_CONFIG_FILE`, or XDG config paths. Configurations can extend the default ruleset and adjust rule severity to warnings or errors.

### Why package nerds care

yamllint is one of the canonical examples of a small language-specific linter becoming packaging infrastructure. It is not tied to one YAML-using ecosystem, so it appears wherever maintainers need reproducible checks for human-edited YAML.

It also matters because YAML has edge cases that parsers may accept but humans do not want in shared repos, such as duplicate keys, truthy values, bad indentation, and noisy whitespace. yamllint gives package maintainers a standard policy layer for those files.

### Timeline

- 2016-01-11: GitHub repository created.
- 2010s: Documentation established the rule-based model, default and relaxed configurations, and project-local config files.
- 2020s: Quickstart documented packages across major Linux/BSD/macOS ecosystems plus pip and source installation.
- 2020s: Editor and software-integration docs positioned parsable output for automation and editor feedback.

### Related projects

- Related tools and contexts include YAML parsers, editor integrations, CI systems, Ansible, Kubernetes-oriented YAML workflows, formatters such as yamlfmt and yamlfix, and project-local lint configs.

### Sources

- <https://api.github.com/repos/adrienverge/yamllint>
- <https://github.com/adrienverge/yamllint>
- <https://raw.githubusercontent.com/adrienverge/yamllint/master/README.rst>
- <https://yamllint.readthedocs.io/en/stable/configuration.html>
- <https://yamllint.readthedocs.io/en/stable/quickstart.html>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: .yamllint, .yamllint.yaml, .yamllint.yml, $YAMLLINT_CONFIG_FILE, $XDG_CONFIG_HOME/yamllint/config, ~/.config/yamllint/config
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** yamllint
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - yamllint - 1.37.1-1: normalized package name match | Debian stable package indexes: yamllint from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Linter for YAML files | https://github.com/adrienverge/yamllint
- Nix - yamllint: normalized package name match | nixpkgs package indexes: yamllint from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - yamllint - 1.33.0-1: normalized package name match | Ubuntu 24.04 LTS package indexes: yamllint from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Linter for YAML files | https://github.com/adrienverge/yamllint
- apk - yamllint - 1.38.0-r0: normalized package name match | Alpine Linux edge package indexes: yamllint from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A linter for YAML files | https://github.com/adrienverge/yamllint
- apk - yamllint-pyc - 1.38.0-r0: normalized package name match | Alpine Linux edge package indexes: yamllint-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for yamllint | https://github.com/adrienverge/yamllint
- dnf - yamllint - 1.38.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: yamllint from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A linter for YAML files | https://github.com/adrienverge/yamllint
- pacman - yamllint - 1.38.0-1: normalized package name match | Arch Linux sync databases: yamllint from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Linter for YAML files | https://github.com/adrienverge/yamllint
- MacPorts - yamllint: normalized package name match | MacPorts ports tree: devel/yamllint/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [pycodestyle](https://www.automicvault.com/pkg/brew/pycodestyle/) - Shares av.db curated category or tags: cli, developer-tools, linters, python.
- [sql-lint](https://www.automicvault.com/pkg/brew/sql-lint/) - Shares av.db curated category or tags: cli, developer-tools, linter, linters.
- [sqruff](https://www.automicvault.com/pkg/brew/sqruff/) - Shares av.db curated category or tags: cli, developer-tools, linter, linters.
- [standard](https://www.automicvault.com/pkg/brew/standard/) - Shares av.db curated category or tags: cli, developer-tools, linter, linters.
- [stylelint](https://www.automicvault.com/pkg/brew/stylelint/) - Shares av.db curated category or tags: cli, developer-tools, linter, linters.
- [action-validator](https://www.automicvault.com/pkg/brew/action-validator/) - Shares av.db curated category or tags: cli, developer-tools, linter, yaml.
- [cmake-lint](https://www.automicvault.com/pkg/brew/cmake-lint/) - Shares av.db curated category or tags: cli, developer-tools, linters.
- [gitlab-ci-linter](https://www.automicvault.com/pkg/brew/gitlab-ci-linter/) - Shares av.db curated category or tags: cli, developer-tools, linter, yaml.
- [gdtoolkit](https://www.automicvault.com/pkg/brew/gdtoolkit/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, libyaml, linter.
- [vint](https://www.automicvault.com/pkg/brew/vint/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, libyaml, linter.

## Combined YAML source

View the package source record on GitHub. [combined/yamllint.yml](https://github.com/automic-vault/db/blob/main/combined/yamllint.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
