Setting Up Terraform
Set up Terraform infrastructure-as-code for cloud resources, including provider configuration, mo…
by spencerpauly · CC0-1.0
The skill
Set up Terraform infrastructure-as-code for cloud resources, including provider configuration, modules, state management, and CI integration.
Setup Terraform
Use this skill when the user asks to set up Terraform, infrastructure as code, cloud provisioning, or IaC.
Steps
-
Initialize the project structure
infra/ ├── main.tf ├── variables.tf ├── outputs.tf ├── terraform.tfvars # (gitignored) ├── providers.tf └── modules/ -
Configure the provider — in
providers.tf:terraform { required_version = ">= 1.5" required_providers { aws = { source = "hashicorp/aws" version = "~> 5.0" } } backend "s3" { bucket = "my-terraform-state" key = "prod/terraform.tfstate" region = "us-east-1" } } provider "aws" { region = var.aws_region }Adapt the provider for the user's cloud (AWS, GCP, Azure).
-
Define variables — in
variables.tf, define inputs with types, descriptions, and defaults:variable "aws_region" { type = string default = "us-east-1" description = "AWS region for resources" } variable "environment" { type = string description = "Deployment environment (dev, staging, prod)" } -
Create resources — in
main.tf, define the infrastructure the user needs (VPC, RDS, ECS, S3, Lambda, etc.). Extract reusable patterns into modules undermodules/. -
Configure remote state — use an S3 bucket (AWS), GCS bucket (GCP), or Azure Storage for state. Enable state locking with DynamoDB (AWS).
-
Add to
.gitignore*.tfstate *.tfstate.* .terraform/ terraform.tfvars *.tfvars -
Add CI pipeline — create a GitHub Actions workflow that runs
terraform fmt -check,terraform validate, andterraform planon PRs, withterraform applyon merge to main (with approval gate).
Notes
- Never commit state files or
.tfvarswith secrets. - Use workspaces or separate state files for dev/staging/prod.
- Pin provider versions to avoid breaking changes.
- Run
terraform fmtbefore committing.
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: spencerpauly/setting-up-terraform-74638415106.
Details
- Publisher
- spencerpauly
- Category
- Software Development › DevOps & cloud
- License
- CC0-1.0
- Updated
- 2026-08-01
References
More from spencerpauly
- Accessibility Auditing Use Cursor's browser aria snapshots to audit a page for accessibility issues — missing labels, br…
- Adding Analytics Add PostHog analytics to a web application, including event tracking, page views, feature flags,…
- Adding Api Docs Generate OpenAPI/Swagger documentation for an API, including endpoint schemas, request/response t…
- Adding Auth Add authentication to a web application using NextAuth.js (Auth.js), including OAuth providers, s…