Author UI Components
Use this skill when building or revising packages/ui component APIs. In current
Remix UI, the public remix/ui/* and @remix-run/ui/*
entries are sourced from packages/ui/src/*.
Source Layout
Component modules live in packages/ui/src/<name>/.
Common files:
index.tsorindex.tsx: the primary public component entry.primitives.tsorprimitives.tsx: lower-level headless behavior when the component also has styled wrappers.README.md: usage docs for both styled components and primitives.*.demo.tsx: demo cases for the UI demo app.index.test.tsxandprimitives.test.tsx: wrapper and primitive tests.shared/*: component-only visual tokens, icons, and reusable style mixins.
Current examples:
- style-only helpers:
button,input - low-level behavior modules:
anchor,popover,listbox - primitives plus styled wrappers:
accordion,checkbox,combobox,menu,select - rendered styled components without a primitive layer:
breadcrumbs
When adding or moving public entries, update both exports and
publishConfig.exports in packages/ui/package.json. Prefer the
./<name> path for component docs and s…