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
CDN path versioning

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.

Release flow

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
Paths under each base
/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).
Example — dev/CI
<link
  rel="stylesheet"
  href="https://design-system-ci.x1-nonprod.iheartmedia.com/cdn/design-system/v1/ihm-base.css"
/>