Registry
Every component here is published as a shadcn registry item. The site you are reading and the JSON a CLI downloads are generated from the same registry.json, so the source in the code tab is the source you install — not a copy of it that can drift.
Endpoints
One file per item, plus a catalog listing all of them. These are static files — no API, no rate limit, no token.
https://ethankd.com/r/registry.json the catalog
https://ethankd.com/r/<name>.json one component
https://ethankd.com/r/ethankd-theme.json the full token setInstalling
Point the shadcn CLI at a URL. The component lands in your project as source you own, and the CSS variables it needs are appended to your stylesheet.
npx shadcn@latest add https://ethankd.com/r/tab-pill.jsonPulling several? Register the namespace once and refer to items by name afterwards.
npx shadcn@latest registry add @ethankd=https://ethankd.com/r/{name}.json
npx shadcn@latest add @ethankd/tab-pill @ethankd/digit-rollerStyling travels with the component
Each item carries the CSS variables and rules it actually uses, so installing one on its own is enough — nothing arrives unstyled because a token was left behind. Most of these components need none at all; two of them carry a handful.
If you want the whole look rather than the per-component minimum, install the theme instead. It holds the full token set and the shared rules in one item.
npx shadcn@latest add https://ethankd.com/r/ethankd-theme.jsonItems
16 components, plus the theme.
- Frosted nav CTA
pill-cta - Sliding tab pill
tab-pill - Character shimmer
shimmering-text - Phone-width view dock
mobile-dock - Crossfading testimonial
testimonial-spotlight - Auto-rotating quote
rotating-testimonials - Infinite logo marquee
company-marquee - Wooden quest board
quest-board - Slot-machine counter
digit-roller - Filterable integration index
integration-grid - Dynamic-Island header
island - Locality search palette
hk-command-palette - Metric panel
metric-panel - KPI tile
kpi-tile - Sortable bento board
sortable-board - CSS data marks
data-marks