homectl
Operate the public materialization mechanism over a private Home Assistant definition. Axon owns the parser, validation, and vendoring behavior. The selected overlay owns the templates, variable map, component lockfile, helpers, and generated output.
Commands
scripts/homectl doctor
scripts/homectl materialize
scripts/homectl components [--only NAME] [--dry-run]
Defaults resolve from AXON_OVERLAY_ROOT, AXON_HOME_ROOT, or the overlay declared by
axon.local.toml:
- capability input:
<overlay>/capabilities/home-assistant - variables:
<overlay>/config/home-assistant.vars - generated output:
<overlay>/build/home-assistant - component destination:
<overlay>/config/home-assistant
Every path remains overridable for isolated tests.
Boundary
- Never point generated output into public Axon.
- Never place a real entity ID, hostname, component selection, or device name in this Pack.
- Treat the set of templates and components as a private inventory even when their contents use placeholders and public Git references.
- Review component diffs before replacement; runtime fetching is not allowed.
Read references/templating.md for the token contract and
references/automation-doctrine.md for reusable reliability rules.