Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Terraform
  3. tfproviderlint

tfproviderlint

MPL-2.0Gov0.31.0

Static analysis tool for Terraform Provider code, offering linting checks for acceptance tests, resources, schemas, and validations.

GitHubGitHub
139 stars27 forks0 contributors

What is tfproviderlint?

tfproviderlint is a static analysis tool built for Terraform Provider developers. It performs linting on provider codebases to identify issues related to acceptance tests, resource definitions, schema configurations, and validation functions. The tool helps enforce best practices and prevent common errors in Terraform Plugin SDK implementations.

Target Audience

Terraform Provider developers and maintainers who write Go code using the Terraform Plugin SDK and want to ensure code quality and adherence to SDK conventions.

Value Proposition

Developers choose tfproviderlint because it provides provider-specific linting that generic Go linters don't offer, with checks tailored to Terraform Plugin SDK patterns and best practices. Its extensible architecture allows teams to add custom checks for their specific provider requirements.

Overview

Terraform Provider Lint Tool

Use Cases

Best For

  • Enforcing consistent coding standards across Terraform Provider codebases
  • Identifying deprecated Terraform Plugin SDK usage before upgrades
  • Catching schema configuration errors in provider resource definitions
  • Automating code review for Terraform acceptance test patterns
  • Maintaining large Terraform Provider projects with multiple contributors
  • Preventing common anti-patterns in Terraform Plugin SDK implementations

Not Ideal For

  • General Go applications without Terraform Provider code
  • Teams using Terraform with providers written in languages other than Go
  • Projects where basic Go linters like golangci-lint suffice for code quality
  • Developers who prefer integrated IDE linting over external command-line tools

Pros & Cons

Pros

Provider-Specific Checks

Offers over 50 standard checks tailored to Terraform Plugin SDK patterns, such as schema validation and acceptance test structure, which generic linters miss.

Automated Fix Support

Includes a -fix flag for automatic correction of certain issues, reducing manual refactoring effort, as shown in the usage examples.

Extensible Architecture

Built on go/analysis, allowing custom check implementations and tool extensions, detailed in the 'Implementing a Custom Lint Tool' section.

Comprehensive Tooling

Supports multiple installation methods including Docker, Homebrew, and a GitHub Action, making it easy to integrate into various workflows.

Cons

Dual Tool Confusion

Requires switching between tfproviderlint and tfproviderlintx for extra checks, adding complexity to the linting process and setup.

Breaking Changes Risk

Has removed checks in past versions (e.g., v0.30.0), which can break existing linting configurations and require updates, as noted in the README.

Go-Only Limitation

Exclusively supports Go-based Terraform Providers, making it unsuitable for providers implemented in other programming languages or custom frameworks.

Frequently Asked Questions

Quick Stats

Stars139
Forks27
Contributors0
Open Issues76
Last commit1 year ago
CreatedSince 2019

Tags

#developer-tools#terraform-provider#terraform#infrastructure-as-code#code-quality#linting#go#static-analysis

Built With

G
Go
D
Docker

Included in

Terraform6.3k
Auto-fetched 11 hours ago

Related Projects

terraformerterraformer

CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code

Stars14,557
Forks1,837
Last commit5 months ago
InfracostInfracost

Cloud cost intelligence for engineers, AI coding agents, and CI/CD 💰📉 Shift FinOps Left!

Stars12,509
Forks686
Last commit6 days ago
TerragruntTerragrunt

Terragrunt is a flexible orchestration tool that allows Infrastructure as Code written in OpenTofu/Terraform to scale.

Stars9,819
Forks1,222
Last commit15 hours ago
atlantisatlantis

Terraform Pull Request Automation

Stars9,281
Forks1,335
Last commit13 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub