Tools

  • tfenv

    • We don’t recommend installing Terraform globally rather, we are big fans of tfenv.
    • We also recommend you use a .terraform-version file in your project’s root.
    • This is useful when you’re testing TF upgrades. Though this is less of a problem today with HashiCorp’s v1.x Compatiability Promises if you’re lucky enough to be using Terraform 1.x.x
  • pre-commit-terraform

    • Your uses case may be different than ours, see here for available hooks.

    • For what it’s worth, most of our projects have terraform_fmt, terraform_lint and terraform_validate.

    • Some projects also require terraform_tfsec, terrascan and terraform_docs

      • I have a .terraform-docs.yml configuration like so:
      settings:
        html: false
        anchor: false
      formatter: "markdown table"
      
  • If you use Visual Studio Code, the Terraform Plugin is highly recommended.