Migrating from Native Terraform
You're already 90% there. Your Terraform code doesn't need to change. Atmos gives you a documented, conventional way to manage your infrastructure—whether you're using Makefiles, shell scripts, or just raw Terraform commands.
Install the atmos-migration skill so Claude Code, Cursor, GitHub Copilot, and other AI coding
assistants can apply this guide directly to your repository:
atmos ai skill install atmos-migration
See AI Agent Skills for details.
Why This Guide?
Most teams don't use Terraform in isolation. You're probably already using:
- Makefiles to wrap common commands
- Shell scripts to set variables or loop through environments
- GitHub Actions/Jenkins with custom bash scripting
- Directory structures to separate dev/staging/prod
.tfvarsfiles scattered everywhere
Tool fatigue is real. Instead of duct-taping 25 different tools together, Atmos gives you one documented approach.
Crawl, Walk, Run
- Crawl: Get running in 20 minutes (this guide)
- Walk: Explore DRY configs and remote state
- Run: Advanced features when you need them (workflows, validation, component libraries)
You don't need to learn everything on day one. Get value in 20 minutes, not 20 hours.
Crawl: Get Running in 20 Minutes
What You're Going To Do
- Install Atmos
- Create a minimal
atmos.yaml - Create one stack YAML file
- Run
atmos terraform plan
That's it. You'll be using Atmos.
Step 1: Install Atmos
There are many ways to install Atmos. See the full Installation Guide for all options.
Step 2: Create Minimal atmos.yaml
Point Atmos to where your Terraform root modules live. Atmos only cares about root modules—where you put child modules (reusable modules called via source) is entirely up to you and has no bearing on Atmos configuration.
The base_path setting is flexible. If your root modules are already in a terraform/ directory, set base_path: "terraform". If you only use Terraform (no Helmfile or other toolchains), you could use base_path: "components" or even just base_path: ".". The components/terraform convention exists because Atmos supports multiple toolchains (Terraform, Helmfile, etc.), but organize however makes sense for your project.