Code Organization
This guide covers best practices for organizing Terraform code in a maintainable and scalable way.
Project Structure
Root Level Organization
βββ environments/
β βββ dev/
β βββ staging/
β βββ prod/
βββ modules/
β βββ networking/
β βββ compute/
β βββ database/
βββ templates/
βββ scripts/File Naming Conventions
Standard Files
βββ main.tf # Primary configuration file
βββ variables.tf # Input variables
βββ outputs.tf # Output definitions
βββ versions.tf # Required providers and versions
βββ locals.tf # Local variables
βββ terraform.tfvars # Variable values (git-ignored)Module Structure
Module Organization
Module Interface Design
Code Style Guidelines
Naming Conventions
Resource Blocks
Workspaces Organization
Environment Separation
Variables Management
Variable Definition Structure
Documentation Standards
Module Documentation
Version Control
.gitignore Template
Code Review Guidelines
Pull Request Template
Testing Structure
Test Organization
Best Practices Checklist
Last updated