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