ansible-static-lint
A standalone Go rewrite of ansible-lint that checks Ansible playbooks in milliseconds with no Python or Ansible runtime installed.
🔗 Visit ansible-static-lintDescription
Checking an Ansible playbook for mistakes usually means installing Python, Ansible itself, and waiting tens of seconds for ansible-lint to run — annoying enough that a lot of people skip it until CI catches the problem. ansible-static-lint is a from-scratch rewrite of that same linter in Go, as a single binary you can run with no setup, that gives you the same kind of feedback in milliseconds.
ansible-static-lint reimplements 38 of ansible-lint's 51 default rules (the ones that don't need a live Ansible runtime) as a static Go binary, using the same config files and rule IDs so it's a compatible drop-in for those checks. Benchmarked on a 478-file corpus, it runs in about 37ms versus ansible-lint's 46.8 seconds, with a 2.2ms cold start and 42MiB memory versus ansible-lint's 520ms and 123MiB. It outputs pep8 or SARIF 2.1.0, supports "# noqa" comments, and plugs into GitHub Actions or pre-commit. MIT licensed.
💬 Our review
The short version: ansible-static-lint is what you reach for when you want ansible-lint's rule coverage without ansible-lint's Python/runtime tax, at the cost of not checking the 13 rules that need a live Ansible install.
Against ansible-lint itself, the speed and dependency-free deployment are the whole pitch: no Python environment, roughly 37x faster, a tenth of the memory, which matters most for pre-commit hooks and editor-on-save checks where latency kills adoption. It deliberately can't do everything ansible-lint does: no syntax checking, no collection resolution, no Jinja2 template evaluation, no auto-fix, no custom rule plugins. Free and open source, worth adding as a fast first-pass check in pre-commit or CI; keep ansible-lint itself as your final gate since it covers the runtime-dependent rules this tool skips.
💰 Pricing
📊 Global score
🤖 AI-enriched data
Gratuit, licence MIT
Pros
Environ 37x plus rapide qu'ansible-lint sur un gros corpus de fichiers
Binaire statique unique, aucune installation Python/Ansible requise
Configs et IDs de règles compatibles avec ansible-lint
Cons
Ne couvre que 38 des 51 règles par défaut
Pas de vérification syntaxique ni de résolution de collections
Pas de correction automatique (--fix)