一键导入
atmos-schemas
JSON Schema for Atmos: stack-manifest and atmos.yaml config schemas, IDE auto-completion, validate stacks/schema/config, SchemaStore integration
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
JSON Schema for Atmos: stack-manifest and atmos.yaml config schemas, IDE auto-completion, validate stacks/schema/config, SchemaStore integration
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Component architecture: Terraform root modules, remote source provisioning, abstract components, component inheritance, versioning, mixins, catalog patterns
Atmos emulator components: local AWS/GCP/Azure/Kubernetes/Vault/OpenBao/registry emulators, components.emulator, !emulator, identities, persistence, health checks, and emulator commands
YAML functions: !terraform.state, !terraform.output, !store, !store.get, !secret, !emulator, !env, !exec, !include, !template, !append, !unset, !literal, !random, !aws.*, !git.*, !cwd, !repo-root
Validate Atmos projects, components, arbitrary JSON Schema inputs, EditorConfig, and GitHub Actions; use affected-file selection and native CI annotations
Run one full merge-readiness pass on the current branch's PR right now: sync with origin/main, check CI, address CodeRabbit threads, lint, and test coverage — fixing what's safely fixable. Mirrors `atmos fix --all` at the CLI, plus the agent-delegated fixing atmos itself can't do. This is exactly what pr-maintenance-loop runs every hour; invoke this directly for an on-demand check without starting a recurring loop. Invoke on explicit requests like "fix all" / "check this PR" / "is this PR merge-ready".
Run tests scoped to the current patch vs origin/main, fix any failures found in those packages (this patch's own regressions or genuinely pre-existing ones alike), then fix genuine coverage gaps on added lines — never coverage theater. Invoke on explicit requests like "check test coverage" / "are my tests passing", or from within the fix-all skill's cycle.
基于 SOC 职业分类
| name | atmos-schemas |
| description | JSON Schema for Atmos: stack-manifest and atmos.yaml config schemas, IDE auto-completion, validate stacks/schema/config, SchemaStore integration |
| metadata | {"copyright":"Copyright Cloud Posse, LLC 2026","version":"1.1.0"} |
Atmos uses JSON Schema (Draft 2020-12) to validate configuration files, provide IDE auto-completion, and catch configuration errors early. Two schemas cover the core file types:
Stack manifest schema -- Validates stack YAML manifests (stacks/**). Published at
https://atmos.tools/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json and registered
with SchemaStore as https://json.schemastore.org/atmos-manifest.json. Used by
atmos validate stacks and by IDEs for auto-completion.
CLI configuration schema -- Validates atmos.yaml itself (every configuration section
the CLI reads). Published at
https://atmos.tools/schemas/atmos/atmos-config/1.0/atmos-config.json. Used by
atmos validate schema config and by IDEs for auto-completion. This schema is generated
from the Atmos configuration code, so it always matches the options the installed release
actually supports -- including YAML function alternatives (like logs: !include shared.yaml)
and descriptions for hover text.
Users can also validate arbitrary YAML files against arbitrary schemas via schemas.<key>
entries in atmos.yaml (see "Custom Schema Validation" below), and vendor.yaml manifests
are validated against a built-in vendor schema.
Both schemas are published in two forms:
.../atmos-manifest/1.0/atmos-manifest.json and
.../atmos-config/1.0/atmos-config.json always reflect the latest Atmos release..../atmos-manifest/<atmos-version>/atmos-manifest.json and
.../atmos-config/<atmos-version>/atmos-config.json are immutable snapshots of the schema
exactly as it shipped with that release. Pin when a team upgrades the Atmos binary on its own
schedule and must not silently absorb schema changes. Pinned URLs only exist for versions
released after pinning shipped; earlier releases only have the floating 1.0 path.Out of the box -- no configuration required -- atmos validate schema validates atmos.yaml
(including hidden .atmos.yaml variants), atmos.d/** fragments, and project-local profile
files against the built-in configuration schema:
atmos validate schema # validates atmos.yaml, atmos.d/**, profiles/** (and everything in `schemas`)
atmos validate schema config # validates only the atmos.yaml schema entry
atmos config validate # alias for `atmos validate schema config`
Fragments and profiles are partial configurations; the schema requires no specific fields, so they validate standalone.
Print the schema itself (for inspection, or to commit a copy into a repository):
atmos config schema # print to stdout
atmos config schema schemas/atmos-config.json # write to a file
Define your own schemas.config entry to change the schema or the matched files:
schemas:
config:
# Pin to a specific Atmos release's schema instead of the embedded one.
schema: "https://atmos.tools/schemas/atmos/atmos-config/1.219.0/atmos-config.json"
matches:
- "atmos.yaml"
- "atmos.d/**/*.yaml"
Add a yaml-language-server modeline at the top of atmos.yaml for auto-completion and
inline validation:
# yaml-language-server: $schema=https://atmos.tools/schemas/atmos/atmos-config/1.0/atmos-config.json
base_path: "./"
atmos validate stacksValidates all stack manifests against the Atmos manifest JSON Schema:
# Use default embedded schema
atmos validate stacks
# Use local schema file
atmos validate stacks --schemas-atmos-manifest schemas/atmos/atmos-manifest/1.0/atmos-manifest.json
# Use remote schema
atmos validate stacks --schemas-atmos-manifest https://atmos.tools/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json
This command checks:
.yaml.tmpl, .yml.tmpl are excluded)schemas:
# JSON Schema for validating component configurations
jsonschema:
base_path: "stacks/schemas/jsonschema"
# OPA policies for component validation
opa:
base_path: "stacks/schemas/opa"
# JSON Schema for validating Atmos stack manifests themselves
atmos:
manifest: "stacks/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json"
# Also supports URLs:
# manifest: "https://atmos.tools/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json"
Configuration precedence for the manifest schema:
--schemas-atmos-manifest CLI flagATMOS_SCHEMAS_ATMOS_MANIFEST environment variableschemas.atmos.manifest in atmos.yamlatmos validate schema also validates arbitrary files against custom schema validators
configured in atmos.yaml:
schemas:
my_custom_key:
schema: !import https://example.com/schema.json
matches:
- folder/*.yaml
atmos validate schema
atmos validate schema my_custom_key
JetBrains IDEs (IntelliJ, WebStorm, GoLand) automatically download schemas from SchemaStore.
The Atmos manifest schema is registered with $id: https://json.schemastore.org/atmos-manifest.json.
To manually associate: Settings > Languages & Frameworks > Schemas and DTDs > JSON Schema Mappings,
add the schema URL and map it to your stack YAML files (and atmos.yaml for the config schema).
Enable SchemaStore in VS Code settings for YAML files:
{
"yaml.schemaStore.enable": true
}
For manual association, add to .vscode/settings.json:
{
"yaml.schemas": {
"https://atmos.tools/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json": [
"stacks/**/*.yaml",
"stacks/**/*.yml"
],
"https://atmos.tools/schemas/atmos/atmos-config/1.0/atmos-config.json": [
"atmos.yaml",
"atmos.yml"
]
}
}
Alternatively, use yaml-language-server modelines per file (works in any editor with a YAML
language server, no workspace settings required).
The manifest schema defines these top-level properties:
import -- Import section (array of strings or objects with path)terraform -- Global Terraform settings (vars, env, settings, backend, etc.)helmfile -- Global Helmfile settingspacker -- Global Packer settingsvars -- Global variableshooks -- Lifecycle hooksenv -- Environment variablessettings -- Settings including validation, atlantis, templates, and custom metadatalocals -- File-scoped local variables for templates (do not inherit across imports)components -- Component definitions (terraform, helmfile, packer)overrides -- Override sectionworkflows -- Workflow definitionsdependencies -- Tool dependencies (tools with versions)generate -- Declarative file generationEvery section also accepts an !include string, so configuration can be loaded from external
files (e.g. vars: !include shared/vars.yaml); the schema models this alternative everywhere.
The atmos.yaml config schema likewise models Atmos YAML function alternatives (!include,
!env, ...) for every section.
https://atmos.tools/schemas/atmos/atmos-manifest/1.0/atmos-manifest.jsonhttps://atmos.tools/schemas/atmos/atmos-config/1.0/atmos-config.json