A pluggable linter for Terraform that finds errors, enforces best practices, and supports custom rules.
TFLint is a pluggable linter for Terraform configurations that helps identify errors, enforce best practices, and maintain code quality in infrastructure as code. It provides a framework for validating Terraform files against cloud provider rules, deprecated syntax, and custom organizational policies. The tool is designed to catch issues early in the development cycle, reducing the risk of misconfigurations in production environments.
Terraform developers, DevOps engineers, and platform teams who write and maintain infrastructure as code and need to ensure its correctness, security, and adherence to standards.
Developers choose TFLint for its extensible plugin architecture, which allows integration with major cloud providers and custom rule creation, offering more tailored and comprehensive linting than basic Terraform validators. Its ability to automatically fix issues and support for multiple output formats streamlines CI/CD integration.
A Pluggable Terraform Linter
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Detects invalid resource configurations for AWS, Azure, and GCP by validating against provider APIs, as highlighted in the cloud provider features section.
Supports custom plugins and rulesets via a pluggable architecture, allowing organizations to tailor linting to specific compliance needs, as described in the plugin configuration docs.
Can automatically fix certain issues like syntax errors with the --fix flag, reducing manual correction effort in Terraform files.
Offers multiple output formats (JSON, checkstyle) and has a dedicated GitHub Actions setup, facilitating seamless integration into automated workflows.
Requires manual plugin installation and updates via `tflint --init`, adding setup complexity and maintenance compared to all-in-one linters.
The Chocolatey package is not maintained by the core team, as noted in the README, potentially leading to outdated or unreliable installations on Windows.
Some components are under BUSL 1.1 license, which may restrict certain commercial uses and require careful review, as mentioned in the license section.