# Params & Catalog
This chapter takes a deeper look at the two data-holding structs that every pipeline uses: the **params** struct for read-only configuration and the **catalog** struct for datasets.
For the basics of how these are used in a pipeline, see [A minimal pipeline](../concepts/README.md). For YAML file loading and CLI overrides, see [YAML Configuration](../app/yaml.md).
- **[Parameters](./parameters.md)** — `Param<T>`, nested parameter structs, and struct parameters
- **[Catalog](./catalog.md)** — organizing datasets, nested catalogs, and naming conventions