---
title: "Concepts overview"
description: "The simple-plm data model in 5 minutes."
---

import { Image } from 'astro:assets';
import dataModel from '../../../../assets/diagrams/data-model.svg';

Product lifecycle management (PLM) tracks the artifacts that describe how a physical product is built and changed over time. In simple-plm those artifacts are **parts** (the atomic unit you buy or build), **BOMs** (which parts go into which assembly, and how many), **ECOs** (a proposed change with a reviewed approval trail), and **releases** (an immutable snapshot you actually fabricated against).

<Image src={dataModel} alt="simple-plm data model: parts feed BOMs, ECOs propose changes, releases freeze a known-good state. Suppliers and manufacturers attach to parts." />

What makes simple-plm different from the enterprise tools is that **all of that data lives as YAML files in a Git repository** — one repo per organization, under `plm-data/`. Branches, merges, and history are Git's. The dashboard, the CLI, and AI agents all write commits to the same source of truth. Tenants run on per-org scale-to-zero pods so a one-engineer team and a fifty-engineer team pay for what they actually use.

:::note[Next]
Start with [Parts](/docs/concepts/parts/) — it's the foundation everything else builds on.
:::
