Several pre-commit hooks to keep Terraform configurations (both *.tf and *.tfvars) in a good shape:
- terraform_fmt- Rewrites all Terraform configuration files to a canonical format.
- terraform_validate_no_variables- Validates all Terraform configuration files without checking whether all required variables were set.
- terraform_validate_with_variables- Validates all Terraform configuration files and checks whether all required variables were specified.
- terraform_docs- Inserts input and output documentation into- README.md.
- 
terraform_validate_no_variablesandterraform_validate_with_variableswill not work if variables are being set dynamically (eg, when using Terragrunt). Useterragrunt validatecommand instead.
- 
terraform_docswill insert/update documentation generated by terraform-docs between markers -<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->and<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->if they are present inREADME.md. Make sure thatterraform-docsis installed.
.pre-commit-config.yaml:
- repo: git://github.com/antonbabenko/pre-commit-terraform
  rev: v1.7.3
  hooks:
    - id: terraform_fmt
    - id: terraform_docsEnjoy the clean and documented code!