The canonical registry distributes Frontfriend component source for an explicit framework and primitive. It is not a runtime component CDN. Downloaded code belongs in your application repository and participates in your normal review and build process.
Select a target
New React applications default to Base UI. Vue applications default to Reka. An existing Application target or a detected primitive takes precedence over the default. Each Application uses one target.
Use the Frontfriend CLI
pnpm exec frontfriend setup --ff-id YOUR_DESIGN_SYSTEM_ID
pnpm exec frontfriend download button --dry-run
pnpm exec frontfriend download button --yes
The CLI resolves components from the Application’s selected immutable Design System Release. It records the target and exact versions in frontfriend.lock.json. Use --release to select an exact Release, or --channel to select a Release tag.
For an explicit React Aria or Radix application, pass --framework react --primitive aria or --framework react --primitive radix during setup. Setup keeps a saved target and stops if fresh target evidence conflicts.
Composition and dependencies
Registry items declare dependency relationships and carry generated metadata where supported. Some components depend on Frontfriend Icon or Spinner. Do not remove those imports merely because the underlying primitive can render without them.
For private code, read Private components. For target semantics, read Choose your primitives.