Pulse · Policies
Policies
How the design system is versioned and where to consume it. Apps pin a major version and load from their environment's CDN.
Versioning policy
Semantic versioning. The shipped version is on the sidebar chip and in /cdn/design-system/v1/version.json.
| Bump | When | Example |
|---|---|---|
| MAJOR | Breaking change — a token or component class is removed or renamed. | 1.4.2 → 2.0.0 |
| MINOR | Additive — new token, component, or variant; existing API unchanged. | 1.4.2 → 1.5.0 |
| PATCH | Fix — corrected value, no API change. | 1.4.2 → 1.4.3 |
The major version is pinned in the URL (/v1/). A breaking change ships under a new path
(/v2/); /v1/ keeps serving existing consumers until they migrate — so a major bump never breaks a live
app.
Bump version.txt → CI builds, deploys to the CDN, and writes version.json. Version shape:
X.Y.Z / -RELEASE / -SNAPSHOT (enforced by validate-version.js).
CDN environments
Each environment has its own CloudFront distribution. Consume from the one matching your app's environment.
| Environment | Base URL | Status |
|---|---|---|
| Dev / CI | https://design-system-ci.x1-nonprod.iheartmedia.com |
Live |
| Staging | https://design-system-stg.x1-nonprod.iheartmedia.com |
Provisioning |
| Production | https://design-system.x1.iheartmedia.com |
Provisioning |
/cdn/design-system/v1/ihm-base.css |
Full CSS bundle (default consumer entry). |
/cdn/design-system/v1/tokens/tokens.json |
DTCG token manifest (Claude Designer, Tokens Studio). |
/cdn/design-system/v1/components/<name>.css |
Per-component CSS. |
/cdn-demo/ |
This demo site (Pulse). |
<link rel="stylesheet" href="https://design-system-ci.x1-nonprod.iheartmedia.com/cdn/design-system/v1/ihm-base.css" />