<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
cloudposse/atmos/atmos-config
──Details
PublishedOctober 24, 2026 at 02:54 AM
Content Hashsha256:fd94364988f2bf5f...
Git SHAf1c31395fb8e
──Files
Files (1 file, 3.9 KB)
SKILL.md3.9 KBactive
SKILL.md · 106 lines · 3.9 KB

version: "1.0.0" name: atmos-config description: "Atmos root configuration: atmos.yaml discovery, precedence, deep merging, base_path, imports, minimal bootstrap, and routing to narrower Atmos skills" metadata: copyright: Copyright Cloud Posse, LLC 2026 version: "1.0.0" category: core-config references:

  • references/sections-reference.md

Atmos Root Configuration

Use this skill for the root mechanics of atmos.yaml: how Atmos finds config files, merges them, resolves project-relative paths, imports modular config, and routes section-specific work to the right skill. Do not use this skill as a catchall for every atmos.yaml section.

Configuration Discovery

Atmos searches for atmos.yaml in this order:

  1. --config CLI flag or ATMOS_CLI_CONFIG_PATH.
  2. Active profile selected by --profile or ATMOS_PROFILE.
  3. Current working directory.
  4. Git repository root.
  5. Parent directory walk.
  6. Home directory.
  7. System directory.

When multiple configuration files apply, Atmos deep-merges them. More specific sources override broader defaults.

Root Layout

Use base_path for the project root that relative paths resolve from. Keep the root config small and point subsystem paths at their owning directories:

yaml
base_path: ""
stacks:
base_path: stacks
included_paths:
- "**/*"
excluded_paths:
- "**/_defaults.yaml"
- "catalog/**/*"
name_template: "{{ .vars.stage }}"
components:
terraform:
base_path: components/terraform
workflows:
base_path: stacks/workflows

For deeper path/layout guidance, load atmos-project-layout.

Modular Imports

Use import to split root config into focused files:

yaml
import:
- atmos.d/stacks.yaml
- atmos.d/components.yaml
- atmos.d/auth.yaml
- atmos.d/toolchain.yaml

Imported files are deep-merged into the active configuration. Keep imported files aligned with the subsystem they configure and load the subsystem skill before changing that section.

Routing

NeedLoad
Root discovery, merge order, imports, minimal bootstrapstay in atmos-config
Project paths, base_path, path conventions, relative path resolutionatmos-project-layout
Profiles, --profile, ATMOS_PROFILE, profile directory merge behavioratmos-profiles
Global CLI behavior, settings, logs, errors, env, docs, metadataatmos-settings
Stack manifests, inheritance, stack imports, vars, locals, stack namingatmos-stacks
Component structure, abstract components, metadata, component inheritanceatmos-components
Terraform/OpenTofu commands, backend defaults, Terraform component settingsatmos-terraform
Helmfile, Packer, or Ansible component behavioratmos-helmfile, atmos-packer, atmos-ansible
Workflows section and workflow syntaxatmos-workflows
Custom commands and aliasesatmos-custom-commands
Auth providers, identities, keyring, cloud auth conventionsatmos-auth
Stores and store-backed YAML functionsatmos-stores
Tool versions, dependencies.tools, registries, shell/PATH integrationatmos-toolchain
Native CI, GitHub Actions, Atlantis, matrices, CI outputsatmos-ci
Schemas and validation policy configurationatmos-schemas, atmos-validation
Templates and YAML functionsatmos-templates, atmos-yaml-functions
Vendoring external componentsatmos-vendoring
Introspection commands and querying resolved configatmos-introspection

For a compact map of top-level sections, read references/sections-reference.md.

Guardrails

  • Keep atmos-config examples minimal; detailed subsystem examples belong in their narrower skills.
  • Before editing a subsystem section, load the owning skill from the routing table.
  • Prefer atmos describe config or atmos describe component when verifying merge or path behavior.
All versions