@lowdep/yaml-lint
v1.0.0
Published
YAML structural validator with friendly error messages and GitHub Actions integration — zero dependencies
Maintainers
Readme
yaml-lint
YAML structural validator with friendly error messages. Catches the mistakes people actually make: tabs in indentation, missing space after colons, unbalanced quotes/brackets, duplicate keys, trailing whitespace. Zero dependencies.
Unlike yamllint (Python), this works wherever Node.js does. Unlike full YAML parsers, this is fast and needs no install.
Install
npm install -g yaml-lintOr without installing:
npx yaml-lintUsage
yaml-lint # Lint all .yaml/.yml in current dir
yaml-lint config.yaml # Lint a single file
yaml-lint .github/workflows/ # Lint a directory
yaml-lint --format github # GitHub Actions annotations
yaml-lint --strict # Exit 1 on warnings tooExample Output
yaml-lint 3 file(s) scanned
✗ config/app.yaml
4:5 error Tab character in indentation (use spaces) (indentation)
8:12 error Missing space after ':' in mapping (colon-space)
15:1 error Duplicate key 'name' at this indentation (duplicate-key)
22:1 warning Trailing whitespace (trailing-whitespace)
! .github/workflows/ci.yml
3:1 warning Missing '---' at start of document (document-start)
1 clean · 3 errors · 2 warningsRules
| Rule | Severity | Description |
|---|---|---|
| indentation | error | Tab character in indentation |
| colon-space | error | Missing space after : in mapping |
| duplicate-key | error | Same key appears twice at the same level |
| flow-brackets | error | Unbalanced [] or {} |
| unbalanced-quotes | error | Unbalanced quote characters |
| line-length | warning | Line exceeds 120 chars |
| trailing-whitespace | warning | Trailing spaces/tabs |
| final-newline | warning | Missing newline at end of file |
| document-start | warning | Missing --- (only with --doc-start) |
CI Integration
GitHub Actions:
- name: Lint YAML
run: npx yaml-lint --format github --strictExit code is 1 if any errors are found (or warnings, with --strict).
Options
| Flag | Default | Description |
|---|---|---|
| --max-line-length <N> | 120 | Warn for lines longer than N |
| --doc-start | off | Require --- at start |
| --allow-tabs | off | Allow tab characters |
| --no-final-newline | off | Don't require trailing newline |
| --format <fmt> | human | human, json, github |
| --strict | off | Exit 1 on warnings too |
| --quiet | off | Only show files with issues |
License
MIT
Keywords
yaml linter · yaml validator · yamllint alternative · validate yaml · lint yaml · yaml ci · github actions yaml · check yaml · zero dependencies · cli
Built to solve, shared to help — Rushabh Shah 🛠️✨
One of 40+ zero-dependency developer CLI tools — no node_modules, ever.
