Scaffolds new Terraform modules with standardized structure including main.tf, variables.tf, outputs.tf, versions.tf, and README.md...
This skill helps create well-structured Terraform modules following best practices and conventions.
Use this skill when:
Generate modules with this standard structure:
module-name/
āāā main.tf # Primary resource definitions
āāā variables.tf # Input variables
āāā outputs.tf # Output values
āāā versions.tf # Provider and Terraform version constraints
āāā README.md # Module documentation
āāā examples/ # Usage examples (optional)
āāā basic/
āāā main.tf
Ask the user:
main.tf - Include:
variables.tf - Include:
outputs.tf - Include:
versions.tf - Include:
README.md - Include:
resource_type-purpose (e.g., s3-logs, vpc-main)terraform fmt formattingdepends_on only when implicit dependencies don't workcount or for_each for conditional resourcesCreate examples/basic/main.tf showing minimal working example:
module "example" {
source = "../.."
# Required variables
name = "example"
# Optional variables with common values
tags = {
Environment = "dev"
ManagedBy = "terraform"
}
}
Before completing, verify:
terraform fmt)