atmos-core-component-development
Installation
SKILL.md
Atmos Core: Component Type Development
Use this skill when developing Atmos itself — adding or modifying a component type (kind) in the
Go codebase. This is contributor/core guidance, distinct from the user-facing atmos-components skill
(which documents authoring terraform/helmfile/container components in stacks).
Start from docs/developing-component-plugins.md (the component-plugin development guide). The notes
below capture the non-obvious wiring learned while adding the container component type.
The component provider (pkg/component)
A component type is a ComponentProvider (pkg/component/provider.go) registered via init() with
component.Register(...) (pkg/component/registry.go). Reference impls:
pkg/component/ansible/— typed-config built-in style.pkg/component/mock/,pkg/component/custom/— thePlugins-map plugin style.pkg/component/container/— provider +cmd/lifecycle split.