> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firstresonance.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Design Engineering

> How design engineers use ION: releasing parts and BOMs, authoring procedures, and keeping the design intent connected to what actually gets built.

## What ION does for you

If you spend your time in CAD, drawings, and release packages, ION is where your design intent meets the factory. You release parts and BOMs into the part library, you author the procedures that build them, and version control means you always know which revision of which procedure is in production right now, without chasing engineers, operators, or supervisors.

You probably won't be in the manual every day. The point is that when you change a part, a BOM, or a procedure, ION makes the consequences visible: which runs are in flight against the old version, which need to migrate, what's already built that you can't change. No more silently shipping the wrong revision.

## Where to start

1. **[Parts](/build-hardware/parts)**: the part library. Understand part vs. part inventory and how revisions work.
2. **[Bills of Materials](/build-hardware/bills-of-materials)**: the planned structure. The mBOM is your design intent; the aBOM is what actually got built. Understanding both is the heart of traceability.
3. **[Procedures](/build-hardware/procedures)**: the work instructions. Steps, fields, attributes, version control, and how procedures attach to parts.
4. **[Runs and Execution](/build-hardware/runs-and-execution)**: see what your procedures look like in operation, even if you're not the one running them.

## The handful of pages that matter most

| Page                                                                                  | Why it matters to you                                                         |
| ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| [Parts](/build-hardware/parts)                                                        | How the part library is structured; the difference between part and inventory |
| [Manufacturing BOM (mBOM)](/build-hardware/bills-of-materials/manufacturing-bom)      | The shape of the planned structure you release                                |
| [BOM Versions and Change Management](/build-hardware/bills-of-materials/versions)     | What happens when you change a BOM mid-program                                |
| [Procedure Best Practices](/build-hardware/procedures/procedure-best-practices)       | Patterns for procedures that age well and don't fight the floor               |
| [Reference Designators](/build-hardware/bills-of-materials/reference-designators)     | Position-coded build requirements for assemblies, quality-relevant            |
| [Alternates and Substitutes](/build-hardware/bills-of-materials/substitutes)          | Letting the floor swap supplier-equivalent parts without filing a deviation   |
| [Redlines and Deviations](/build-hardware/runs-and-execution/redlines-and-deviations) | What floor changes to your design look like coming back at you                |

<Tip>
  * **Configure alternates upfront.** If you know two part numbers are interchangeable, encode it on the BOM. Otherwise every supplier swap is a deviation.
  * **Use reference designators when position matters.** A reference-designated build requirement makes "the wrong part went in slot R7" detectable; an unpositioned one makes it forensic-only.
  * **Don't make procedures too granular too early.** Each step adds floor friction. Author at the level the operator actually needs to confirm, and refine after watching real runs.
  * **Read aBOMs, not just mBOMs.** Spending an hour comparing what got built vs. what you specced is the fastest route to understanding where your design and the factory disagree.
</Tip>

## Related

* [Build Hardware](/build-hardware): the section you'll spend the most time in
* [API reference](/api-reference): if you need to push designs from PLM/PDM programmatically
* [What is ION?](/): for the broader product spine
