pre-commit-hooks VS tflint

Compare pre-commit-hooks vs tflint and see what are their differences.

pre-commit-hooks

Some out-of-the-box hooks for pre-commit (by pre-commit)

tflint

A Pluggable Terraform Linter (by terraform-linters)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
pre-commit-hooks tflint
22 30
4,852 4,572
2.8% 1.9%
7.2 8.9
2 days ago 10 days ago
Python Go
MIT License Mozilla Public License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

pre-commit-hooks

Posts with mentions or reviews of pre-commit-hooks. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-13.
  • Implementing Quality Checks In Your Git Workflow With Hooks and pre-commit
    6 projects | dev.to | 13 Dec 2023
    # See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - id: check-toml - id: check-added-large-files - repo: local hooks: - id: tox lint name: tox-validation entry: pdm run tox -e test,lint language: system files: ^src\/.+py$|pyproject.toml|^tests\/.+py$ types_or: [python, toml] pass_filenames: false - id: tox docs name: tox-docs language: system entry: pdm run tox -e docs types_or: [python, rst, toml] files: ^src\/.+py$|pyproject.toml|^docs\/ pass_filenames: false - repo: https://github.com/pdm-project/pdm rev: 2.10.4 # a PDM release exposing the hook hooks: - id: pdm-lock-check - repo: https://github.com/jumanjihouse/pre-commit-hooks rev: 3.0.0 hooks: - id: markdownlint
  • How to Write Impeccably Clean Code That Will Save Your Sanity
    7 projects | dev.to | 27 Jul 2023
    repos: - repo: https://github.com/ambv/black rev: 23.3.0 hooks: - id: black args: [--config=./pyproject.toml] language_version: python3.11 - repo: https://github.com/pycqa/flake8 rev: 6.0.0 hooks: - id: flake8 args: [--config=./tox.ini] language_version: python3.11 - repo: https://github.com/pycqa/isort rev: 5.12.0 hooks: - id: isort args: ["--profile", "black", "--filter-files"] language_version: python3.11 - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.4.0 hooks: - id: requirements-txt-fixer language_version: python3.11 - id: debug-statements - id: detect-aws-credentials - id: detect-private-key
  • Setting Up Pre-Commit Hooks in GitHub: Ensuring Code Quality and Consistency
    4 projects | dev.to | 11 Jul 2023
    repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: hooks: - id: check-json
  • Level up your development in Git
    3 projects | dev.to | 3 Jun 2023
    $ pre-commit run --all-files [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Initializing environment for https://github.com/psf/black. [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://github.com/psf/black. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... Check Yaml...............................................................Passed Fix End of Files.........................................................Passed Trim Trailing Whitespace.................................................Failed - hook id: trailing-whitespace - exit code: 1 Files were modified by this hook. Additional output: Fixing sample.py black....................................................................Passed
  • What happens when you leak AWS credentials and how AWS minimizes the damage
    3 projects | news.ycombinator.com | 6 Apr 2023
    The excellent pre-commit framework (https://pre-commit.com/) has a hook for that in its official hook collection: https://github.com/pre-commit/pre-commit-hooks#detect-aws-cr...
  • Improve your Django Code with pre-commit
    13 projects | dev.to | 5 Apr 2023
    exclude: .*migrations\/.* repos: - repo: https://github.com/pre-commit/pre-commit-hooks ... - repo: https://github.com/psf/black rev: 22.12.0 hooks: - id: black language_version: python3.9
  • ChatGPT based PR Reviewer and Summarizer (GH Action)
    2 projects | /r/sre | 12 Mar 2023
    This is what we use — https://github.com/pre-commit/pre-commit-hooks/blob/main/pre_commit_hooks/detect_private_key.py
  • How I use pre-commit for Terraform
    1 project | /r/Terraform | 19 Oct 2022
    Personally I do also add "end-of-file-fixer" and "trailing-whitespace" from the "https://github.com/pre-commit/pre-commit-hooks" repo. That cleans up and normalizes some files as well.
  • Gitlab CI with docker compose
    2 projects | dev.to | 6 Aug 2022
    repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.3.0 hooks: - id: check-yaml args: ["--allow-multiple-documents"] - repo: local hooks: - id: forbidden-files name: forbidden files entry: found copier update rejection files; review them and remove them language: fail files: "\\.rej$" - id: black name: black entry: poetry run black language: system types: [python] - id: flake8 name: flake8 entry: poetry run flake8 language: system types: [python] - id: isort name: isort entry: poetry run isort --settings-path=. language: system types: [python] - id: pyupgrade name: pyupgrade entry: poetry run pyupgrade language: system types: [python] args: [--py310-plus] - id: mypy name: mypy description: Check python types. entry: poetry run mypy language: system types: [python]
  • Disable a direct push to GitHub main branch
    1 project | dev.to | 3 Aug 2022
    repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.1.0 hooks: - id: no-commit-to-branch

tflint

Posts with mentions or reviews of tflint. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-26.
  • Top Terraform Tools to Know in 2024
    19 projects | dev.to | 26 Mar 2024
    ‍TFLint is a Terraform linter focused on possible errors, best practices, and style conventions in your Terraform code.
  • 10 Ways for Kubernetes Declarative Configuration Management
    23 projects | dev.to | 1 Jan 2024
  • Top 10 terraform tools you should know about.
    10 projects | dev.to | 11 Dec 2023
    TFlint is a powerful linter for Terraform, designed to catch errors and issues that terraform plan may not detect. As Terraform grows in popularity for infrastructure as code, the need for robust tools to ensure code quality and reliability becomes paramount. TFlint fulfills this need by analyzing Terraform configurations to find problems that are not covered by syntax checks. It checks for things like unsuitable AWS instance types, incorrect IAM policy syntax, and the use of deprecated syntax or features. By integrating TFlint into the development process, users can proactively identify potential problems, improving the stability and efficiency of their infrastructure deployments. This additional layer of validation is crucial for maintaining high standards in complex, cloud-based infrastructures.
  • Saw a not-so-good thing in my pipeline. How do we fix it?
    4 projects | /r/Terraform | 2 Jun 2023
    Looking at the description, https://github.com/terraform-linters/tflint , I think it's not what I am looking for. The reason I used a different tcp port is to make the health check on load balancer fail. It's also the same as not changing the tcp port but developer making a code change in their javascript, nodejs, java, etc fail to start properly. If that happens, load balancer's health check will fail as well.
  • Top 4 Infrastructure as Code Open-Source Tools for 2023
    3 projects | /r/webdevelopment | 3 May 2023
    TFLint is an open-source infrastructure as code linter tool that helps developers and DevOps teams identify potential issues and errors in their Terraform code by checking the Terraform configuration files for best practices, coding standards, and policy compliance.
  • Sorting variables and outputs
    3 projects | /r/Terraform | 1 Mar 2023
    Indeed, that is the case, atm. Your comment got me searching a little bit more. It seems that they are planning to implement a flag for small fixes https://github.com/terraform-linters/tflint/issues/266
  • Looking for a tool to enforce policies on terraform files names/content
    4 projects | /r/Terraform | 23 Jan 2023
    Sounds like tflint to me!
  • New to gitlab-ci - Need help with a job in gitlab-ci.yml
    2 projects | /r/gitlab | 13 Jan 2023
    I created a .tflint.hcl with the following content: https://github.com/terraform-linters/tflint/blob/master/docs/user-guide/config.md (The example)
  • 5 tools to supercharge your Terraform Development
    3 projects | dev.to | 12 Jan 2023
    TFLint: This is a Terraform linter that checks for errors and best practices in your Terraform code. TFLint helps to catch common mistakes, such as variable name clashes, missing required variables, or invalid resource arguments. It also checks for compliance with best practices, such as naming conventions and resource ordering. By using TFLint, you can catch errors early on, which helps to improve the quality of your Terraform code.
  • Breve guia de sobrevivência com Terraform
    11 projects | dev.to | 22 Dec 2022
    tflint: Linter para Terraform, serve para avisar sobre problemas com sintaxe, erros nos principais provedores de nuvem, garantir boas práticas e outras coisas.

What are some alternatives?

When comparing pre-commit-hooks and tflint you can also consider the following projects:

bandit - Bandit is a tool designed to find common security issues in Python code.

checkov - Prevent cloud misconfigurations and find vulnerabilities during build-time in infrastructure as code, container images and open source packages with Checkov by Bridgecrew.

pyupgrade - A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language.

tfsec - Security scanner for your Terraform code [Moved to: https://github.com/aquasecurity/tfsec]

terraform-validator - A norms and conventions validator for Terraform

codespell - check code for common misspellings

terratest - Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.

terraform-docs - Generate documentation from Terraform modules in various output formats

terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.

black - The uncompromising Python code formatter [Moved to: https://github.com/psf/black]

pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.