# Reference

> Exact contracts for the Pigsty-compatible Inventory and Barn command line.

---

LLMS index: [llms.txt](/llms.txt)

---

This reference describes the **Barn 0.9.0 release candidate**. Barn uses only
the new names and fresh Barn state; it has no compatibility or migration layer
for earlier development builds. Check `barn version` before scripting against
these contracts. See the [release status](../about/status/#documentation-baseline).

- [Configuration](configuration/) — discovery, accepted variables, defaults, disks, shares, naming, and drift.
- [CLI](cli/) — commands, important flags, output modes, and exit codes.
- [Mac Commands](mac/) — the unreleased `barn mac`: commands, JSON results, and failure reasons.
- [Images](images/) — signed catalogs, aliases, cache layout, pulls, imports, and pruning.
- [Image Pipeline](image-pipeline/) — candidate validation and offline normalization.

Barn exposes no supported Go library API. Packages under `internal/` are
implementation details.

---

Section pages:

- [Configuration](/docs/reference/configuration/): The Pigsty-compatible Inventory fields Barn reads, their defaults, and node-level drift behavior.
- [CLI](/docs/reference/cli/): Barn commands, important flags, structured output, and exit codes.
- [Mac Commands](/docs/reference/mac/): barn mac commands and flags, machine rules, JSON results, failure reasons, networks, and files.
- [Images](/docs/reference/images/): Signed catalogs, built-in aliases, repository selection, local cache verification, imports, and pruning.
- [Image Pipeline](/docs/reference/image-pipeline/): Validate or offline-normalize an explicit qcow2 candidate without downloading, uploading, or signing it.
