diff --git a/.changeset/first-release.md b/.changeset/first-release.md
new file mode 100644
index 00000000..434c1343
--- /dev/null
+++ b/.changeset/first-release.md
@@ -0,0 +1,7 @@
+---
+"@plane/propel": minor
+---
+
+First release of Plane's design system: styled `elements`, batteries-included `components` covering
+the full Base UI anatomy, and the design-token stylesheet. Built on Base UI and Tailwind CSS v4;
+every component ships with product-focused Storybook stories and behavior tests.
diff --git a/docs/integration.md b/docs/integration.md
index 4d45adbb..e00973a6 100644
--- a/docs/integration.md
+++ b/docs/integration.md
@@ -33,8 +33,8 @@ for us.
`propel-no-default-variants` convention.)
2. **Design for what we know now.** Model only the props and parts we can justify
today. Don't speculate.
-3. **Expose required changes through the `ui` layer as we learn.** When the refactor
- proves a component needs an axis it doesn't have, add it to the `ui` primitive
+3. **Expose required changes through the `elements` layer as we learn.** When the refactor
+ proves a component needs an axis it doesn't have, add it to the `elements` primitive
first, then let the `components` compositions follow.
4. **Use _required_ props to find every call site.** When a component grows a new
axis, make it **required** rather than defaulted, so TypeScript lights up every
@@ -140,7 +140,7 @@ component takes a `className` prop (see `propel-no-className-prop-internal`).
The remaining work is to formalize component anatomy from what the stories already
show, in three steps:
-1. **Define the `ui` component anatomy from the styles used in Storybook.** Where a
+1. **Define the `elements` component anatomy from the styles used in Storybook.** Where a
story lays out a component with raw `
`, that markup names
a missing part. We've already redrawn these layout boundaries in the overlay
stories (grouping `Title`+`Description` as an intro and the buttons as actions,
@@ -151,7 +151,7 @@ show, in three steps:
group). Decide these names (and the open ownership questions — where padding
lives, the corner-close treatment) with design. See
[`design.md` → Component anatomy](./design.md#component-anatomy).
-3. **Define the new compositions for each `ui` primitive's API.** With the parts
+3. **Define the new compositions for each `elements` primitive's API.** With the parts
named, give each primitive the parts as real surfaces, and update the
`components`-tier ready-mades to compose them — so consumers stop writing raw
layout and compose the anatomy instead.
diff --git a/packages/propel/AGENTS.md b/packages/propel/AGENTS.md
index e4c26934..8122d400 100644
--- a/packages/propel/AGENTS.md
+++ b/packages/propel/AGENTS.md
@@ -6,26 +6,30 @@ conflicts with an older habit, this wins.
## Tiers — what goes where
-Code flows in one direction only: **`base` → `ui` → `components` → `patterns`**. A tier may import
+Code flows in one direction only: **`base` → `elements` → `components` → `patterns`**. A tier may import
from tiers below it, never above. `internal/` is shared implementation usable by any tier.
-| Tier | Path | What it is | May contain |
-| -------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
-| **base** | `src/base//` | Extensions of Base UI — primitives we add where Base UI has a gap (e.g. `BaseTextArea` = `Field.Control` rendering `