{"adoption": {"forks": 406, "observed_at": "2026-08-28T04:09:29.689326+00:00", "stars": 5796}, "canonical_url": "https://ross.abutalabs.com/products/tflint", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A Pluggable Terraform Linter", "domain": ["infrastructure-as-code", "developer-tools", "cloud-computing"], "enriched": true, "function": ["linter", "developer-tools", "ci-cd", "infrastructure-as-code", "plugin-system"], "health_score": 100, "homepage": null, "language": "Go", "license": "MPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["terraform-linters/tflint"], "name": "terraform-linters/tflint", "platform": ["windows", "cli", "go"], "pushed_at": "2026-08-26T00:43:56+00:00", "repo": "terraform-linters/tflint", "stars": 5796, "tags": ["terraform", "static-analysis", "iac", "linting", "cloud-providers", "devops", "linux", "macos", "docker"], "topics": ["terraform", "tflint"], "urls": [], "use_cases": ["lint terraform code for errors before apply", "catch invalid aws instance types in terraform", "enforce naming conventions in terraform modules", "warn about deprecated terraform syntax", "find unused declarations in terraform files", "add terraform linting to ci pipeline"], "what_it_is": "TFLint is a pluggable linter for Terraform that finds possible errors, deprecated syntax, and unused declarations, and enforces best practices and naming conventions. It works as a framework where provider-specific rules (AWS, Azure, GCP) are supplied via plugins.", "when_to_avoid": ["you use non-Terraform IaC tools like Pulumi or CloudFormation", "you only need basic formatting (terraform fmt covers that)", "you need policy-as-code across multiple IaC tools (consider OPA/Sentinel)"], "when_to_choose": ["you write or review Terraform and want static analysis beyond terraform validate", "you need provider-aware checks for AWS, Azure, or GCP resources", "you want to enforce team conventions via custom rules or plugins"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tflint", "repo": "terraform-linters/tflint", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:52:47.695350+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e94ffe772066769a08f847fd13d7edcefcea827955f0567284011d04da4c954c", "fetched_at": "2026-08-28T04:09:29.689326+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terraform-linters/tflint"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:52:47.695350+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e94ffe772066769a08f847fd13d7edcefcea827955f0567284011d04da4c954c", "fetched_at": "2026-08-28T04:09:29.689326+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terraform-linters/tflint"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:52:47.695350+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e94ffe772066769a08f847fd13d7edcefcea827955f0567284011d04da4c954c", "fetched_at": "2026-08-28T04:09:29.689326+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terraform-linters/tflint"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:52:47.695350+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e94ffe772066769a08f847fd13d7edcefcea827955f0567284011d04da4c954c", "fetched_at": "2026-08-28T04:09:29.689326+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terraform-linters/tflint"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:52:47.695350+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e94ffe772066769a08f847fd13d7edcefcea827955f0567284011d04da4c954c", "fetched_at": "2026-08-28T04:09:29.689326+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terraform-linters/tflint"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:52:47.695350+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e94ffe772066769a08f847fd13d7edcefcea827955f0567284011d04da4c954c", "fetched_at": "2026-08-28T04:09:29.689326+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terraform-linters/tflint"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.689326+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:52:47.695350+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e94ffe772066769a08f847fd13d7edcefcea827955f0567284011d04da4c954c", "fetched_at": "2026-08-28T04:09:29.689326+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terraform-linters/tflint"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:52:47.695350+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e94ffe772066769a08f847fd13d7edcefcea827955f0567284011d04da4c954c", "fetched_at": "2026-08-28T04:09:29.689326+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terraform-linters/tflint"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:52:47.695350+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e94ffe772066769a08f847fd13d7edcefcea827955f0567284011d04da4c954c", "fetched_at": "2026-08-28T04:09:29.689326+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terraform-linters/tflint"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:52:47.695350+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e94ffe772066769a08f847fd13d7edcefcea827955f0567284011d04da4c954c", "fetched_at": "2026-08-28T04:09:29.689326+00:00", "kind": "readme", "missing": false, "url": "https://github.com/terraform-linters/tflint"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 81}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3604, "days_push": 8, "days_rel": 47, "gap_med": 45.5, "n_releases_24m": 15}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}