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,786 4,539
3.1% 2.5%
7.2 8.9
2 days ago 3 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
  • 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]
  • How to create a Python package in 2022
    10 projects | dev.to | 29 Jul 2022
    # 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: v4.0.1 hooks: - id: check-toml - id: check-yaml - id: end-of-file-fixer - id: mixed-line-ending - repo: https://github.com/psf/black rev: 22.3.0 hooks: - id: black args: ["--check"] - repo: https://github.com/PyCQA/isort rev: 5.10.1 hooks: - id: isort args: ["--check", "--profile", "black"] - repo: https://github.com/PyCQA/flake8 rev: 4.0.1 hooks: - id: flake8 additional_dependencies: [mccabe] args: ["--max-line-length", "88", "--max-complexity", "10"] - repo: https://github.com/PyCQA/pylint/ rev: v2.14.5 hooks: - id: pylint exclude: tests/ # Prevent files in tests/ to be passed in to pylint.
  • Does anyone here use pre-commit with golang?
    2 projects | /r/learngolang | 27 Jun 2022
    I usually use [pre-commit](https://pre-commit.com/) with my repos, but I don't know what common tools I should use for golang apart from the built in [pre-commit hooks](https://github.com/pre-commit/pre-commit-hooks). Has anyone got any suggestions? Perhaps a github link so I can see the various things. How do you run gofmt through it? Thank you. :)

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
    https://github.com/terraform-linters/tflint The output suggests the ordered way for variables and other issues/warnings
    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.

What are some alternatives?

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

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

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

terraform-validator - A norms and conventions validator for Terraform

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

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

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

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.

codespell - check code for common misspellings

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

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

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