# Manual


metaBuilder is a library for writing builders as typed descriptions. A builder
names the structure of a build. That structure includes inputs, tools,
operations, outputs, runtime shape, and evidence, so the same build can be
validated, inspected, explained, and materialized.

Use this manual when you want to design or consume a metaBuilder builder. It
keeps the focus on the public model. You will see which values you write, which
views you ask for, and how those views make a builder easier to understand.

## Path Through The Manual

Start with [Introduction](/metaBuilder/manual/introduction) for the overall
model. Then read [Getting Started](/metaBuilder/manual/getting-started) for the
smallest complete flow.

The middle chapters explain the reusable pieces.

- [Builder Specs](/metaBuilder/manual/builder-specs)
- [Operations](/metaBuilder/manual/operations)
- [Programs And Views](/metaBuilder/manual/programs-and-views)
- [Designing Builder Surfaces](/metaBuilder/manual/designing-builder-surfaces)

The final chapters explain how to return useful artifacts and grow a small
builder into a production builder.

- [Outputs, Evidence, And Runtime Artifacts](/metaBuilder/manual/outputs-evidence-runtime)
- [Materialization Model](/metaBuilder/manual/materialization-model)
- [Authoring Production Builders](/metaBuilder/manual/authoring-production-builders)

For complete guided examples, read the examples section after the manual.
