| name | generating-infrastructure-as-code |
| description | Execute use when generating infrastructure as code configurations. Trigger with phrases like "create Terraform config", "generate CloudFormation template", "write Pulumi code", or "IaC for AWS/GCP/Azure". Produces production-ready code for Terraform, CloudFormation, Pulumi, ARM templates, and CDK across multiple cloud providers.
|
| allowed-tools | Read, Write, Edit, Grep, Glob, Bash(terraform:*), Bash(aws:*), Bash(gcloud:*), Bash(az:*) |
| version | 1.24.0 |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| license | MIT |
| tags | ["devops","terraform","infrastructure-as"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Generating Infrastructure as Code
Overview
Generate production-ready infrastructure as code for Terraform, CloudFormation, Pulumi, ARM templates, and AWS CDK. Produce modular, well-structured configurations with proper variable definitions, outputs, remote state management, and deployment guidance for AWS, GCP, and Azure cloud stacks.
Prerequisites
- Target cloud provider CLI installed and authenticated (
aws, gcloud, az)
- IaC tool installed: Terraform 1.0+, Pulumi 3+, AWS CDK, or relevant SDK
- Cloud credentials configured with permissions to create the target resources
- Understanding of the desired infrastructure architecture (compute, networking, storage, database)
- Version control repository for storing IaC configurations
Instructions
- Identify the IaC tool and cloud provider based on the project requirements and existing codebase
- Scan the project for existing IaC files to understand current patterns and conventions
- Define the modular file structure: separate files for providers, networking, compute, storage, and databases
- Generate the provider configuration with version pinning and remote backend for state storage
- Define input variables with types, descriptions, defaults, and validation rules for all configurable values
- Write resource definitions following cloud provider best practices: encryption enabled, logging configured, least-privilege IAM
- Add outputs for resource identifiers, endpoints, and connection strings needed by other modules or applications
- Configure remote state backend: S3 + DynamoDB for Terraform, Pulumi Cloud, or CloudFormation stack exports
- Create environment-specific variable files (
terraform.tfvars, dev.tfvars, prod.tfvars) for multi-environment deployment
- Validate with
terraform validate, terraform plan, or equivalent tool-specific linting
Output
- IaC configuration files organized by resource type or module
- Variable definition files with documented inputs and sensible defaults
- Output definitions for cross-module references and application configuration
- Backend configuration for remote state storage
- Environment-specific variable files for dev, staging, and production
- Deployment instructions with prerequisite setup and apply commands
Error Handling