Skip to content

Latest commit

 

History

History
30 lines (19 loc) · 2.29 KB

code-styling.md

File metadata and controls

30 lines (19 loc) · 2.29 KB

Code styling

{% hint style="info" %}

  • Examples and Terraform modules should contain documentation explaining features and how to use them.
  • All links in README.md files should be absolute to make Terraform Registry website show them correctly.
  • Documentation may include diagrams created with mermaid and blueprints created with cloudcraft.co.
  • Use Terraform pre-commit hooks to make sure that the code is valid, properly formatted, and automatically documented before it is pushed to git and reviewed by humans. {% endhint %}

Documentation

Automatically generated documentation

pre-commit is a framework for managing and maintaining multi-language pre-commit hooks. It is written in Python and is a powerful tool to do something automatically on a developer's machine before code is committed to a git repository. Normally, it is used to run linters and format code (see supported hooks).

With Terraform configurations pre-commit can be used to format and validate code, as well as to update documentation.

Check out the pre-commit-terraform repository to familiarize yourself with it, and existing repositories (eg, terraform-aws-vpc) where this is used already.

terraform-docs

terraform-docs is a tool that does the generation of documentation from Terraform modules in various output formats. You can run it manually (without pre-commit hooks), or use pre-commit-terraform hooks to get the documentation updated automatically.

@todo: Document module versions, release, GH actions

Resources

  1. pre-commit framework homepage
  2. Collection of git hooks for Terraform to be used with pre-commit framework
  3. Blog post by Dean Wilson: pre-commit hooks and terraform - a safety net for your repositories