module-patterns

Terraform Module Design Patterns Reference

Content Preview
# Terraform Module Design Patterns Reference

## Pattern 1: Flat Module (Single Directory)

Best for: Small projects, < 20 resources, single team ownership.

```
project/
├── main.tf
├── variables.tf
├── outputs.tf
├── versions.tf
├── locals.tf
├── backend.tf
└── terraform.tfvars
```

### Example: Simple VPC + EC2

```hcl
# versions.tf
terraform {
  required_version = ">= 1.5.0"

  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

# locals.tf
How to Use

Recommended: Install to project (local)

mkdir -p .claude/skills
curl -o .claude/skills/module-patterns.md \
  https://raw.githubusercontent.com/alirezarezvani/claude-skills/main/engineering/terraform-patterns/references/module-patterns.md

Skill is scoped to this project only. Add .claude/skills/ to your .gitignoreif you don't want to commit it.

Alternative: Clone full repo

git clone https://github.com/alirezarezvani/claude-skills

Then reference at engineering/terraform-patterns/references/module-patterns.md

Related Skills