atmos scaffold list
List all scaffold templates configured in your atmos.yaml file. This helps you discover available templates and their details before generating code.
Usage​
atmos scaffold list
This command reads the scaffold.templates section from your atmos.yaml and displays all configured templates in a formatted table.
Examples​
List All Templates​
$ atmos scaffold list
Available scaffold templates:
Name Source Version Description
──────────────── ────────────────────────────────────────────── ───────── ────────────────────────────────
vpc-component ./scaffolds/vpc 1.0.0 AWS VPC component template
eks-cluster ./scaffolds/eks 2.1.0 EKS cluster template
rds-instance github.com/acme/scaffolds/rds.git 1.5.0 RDS database template
microservice github.com/acme/scaffolds/microservice.git 2.0.0 Standard microservice template
Output Format​
The list command displays a table with the following columns:
- Name
- Template identifier used with
atmos scaffold generate - Source
Template location:
- Local path:
./scaffolds/vpc - Git repository:
github.com/org/repo.git
- Local path:
- Version
- Template version number
- Description
- Human-readable template description
Configuration​
Templates must be configured in atmos.yaml:
scaffold:
# Optional: base path for local templates
base_path: "./scaffolds"
# Template definitions
templates:
# Local template
vpc-component:
description: "AWS VPC component template"
source: "./scaffolds/vpc"
version: "1.0.0"
# Remote Git template
eks-cluster:
description: "EKS cluster template"
source: "github.com/cloudposse/atmos-scaffolds/eks.git"
version: "2.1.0"
ref: "tags/v2.1.0"
# Another local template
rds-instance:
description: "RDS database template"
source: "./scaffolds/rds"
version: "1.5.0"
Use Cases​
Discover Available Templates​
Before generating code, see what templates are available:
# List templates
atmos scaffold list
# Pick one and generate
atmos scaffold generate vpc-component ./components/terraform/vpc
Verify Template Configuration​
Check that your templates are properly configured:
$ atmos scaffold list
# If empty or missing templates, check atmos.yaml
Team Onboarding​
New team members can quickly see standard templates:
# Show what templates the team maintains
atmos scaffold list
# Generate using team standard
atmos scaffold generate team-vpc ./components/terraform/vpc
Documentation​
Generate documentation of available scaffolds:
# Redirect to file for documentation
atmos scaffold list > docs/available-scaffolds.txt
Troubleshooting​
No Templates Found​
No scaffold templates configured in atmos.yaml.
Add a 'scaffold.templates' section to your atmos.yaml to configure available templates.
Solution: Add templates to your atmos.yaml:
scaffold:
templates:
my-template:
description: "My template"
source: "./scaffolds/my-template"
version: "1.0.0"
Invalid Configuration​
Error: templates section is not a valid configuration
Solutions:
- Check YAML syntax in
atmos.yaml - Ensure
scaffold.templatesis a map/object - Validate each template has required fields
atmos.yaml Not Found​
Error: failed to read scaffold section from atmos.yaml
Solutions:
- Run command from your Atmos project root
- Verify
atmos.yamlexists - Check file permissions
Tips and Best Practices​
Organize Templates by Category​
Group related templates in configuration:
scaffold:
templates:
# Networking templates
vpc-component:
description: "AWS VPC component"
source: "./scaffolds/networking/vpc"
version: "1.0.0"
subnet-component:
description: "AWS Subnet component"
source: "./scaffolds/networking/subnet"
version: "1.0.0"
# Compute templates
eks-cluster:
description: "EKS cluster"
source: "./scaffolds/compute/eks"
version: "2.0.0"
ec2-instance:
description: "EC2 instance"
source: "./scaffolds/compute/ec2"
version: "1.5.0"
Use Descriptive Names​
Choose clear, searchable template names:
# Good - descriptive and clear
vpc-component:
description: "AWS VPC component with NAT gateway"
eks-cluster-private:
description: "EKS cluster in private subnets"
# Avoid - unclear and generic
template1:
description: "Template"
my-template:
description: "Something"
Document Template Requirements​
Add detailed descriptions:
vpc-component:
description: "AWS VPC component. Requires: vpc_name, cidr_block. Optional: enable_nat_gateway, enable_dns_hostnames"
source: "./scaffolds/vpc"
version: "1.0.0"
Version Your Templates​
Use semantic versioning:
vpc-component:
source: "./scaffolds/vpc"
version: "1.2.3" # major.minor.patch
Update version when making changes:
- Major: Breaking changes (incompatible API changes)
- Minor: New features (backward-compatible)
- Patch: Bug fixes (backward-compatible)
Example Workflow​
# 1. List available templates
$ atmos scaffold list
Name Description
──────────────── ────────────────────────
vpc-component AWS VPC component
eks-cluster EKS cluster template
# 2. Choose a template
$ atmos scaffold generate vpc-component ./components/terraform/vpc
# 3. Customize generated code
$ cd components/terraform/vpc
$ vim main.tf
# 4. Commit
$ git add .
$ git commit -m "Add VPC component from scaffold"
Related Commands​
atmos scaffold generate- Generate code from a templateatmos scaffold validate- Validate scaffold configurationatmos init- Initialize new Atmos projects