OPUS/UI

Navigation

Getting started

CLI & registry

Two ways to pull OPUS into any project: an offline script that reads straight from this checkout, or the shadcn CLI pointed at this site’s registry.

Offline script

scripts/add.mjs has no dependencies. It finds the component by slug, follows every relative import (shared libs included), copies the files and tells you which npm packages are missing. Files you already have are left alone unless you pass --overwrite.

node ../tailwind_component/opus55/scripts/add.mjs --list
node ../tailwind_component/opus55/scripts/add.mjs fluid command dock --cwd ../my-app
output
OPUS → ../my-app/components/opus
  + backgrounds/fluid.tsx
  + lib/cn.ts
  + lib/color.ts
  + lib/gl-sim.ts
  + lib/use-reduced-motion.ts
  + opus.css

6 written, 0 skipped.
Install: npm i clsx tailwind-merge
node ../tailwind_component/opus55/scripts/add.mjs aurora --dir src/components/opus
flags
--cwd <dir>       target project (default: current directory)
--dir <path>      kit folder inside it (default: components/opus)
--overwrite       replace files that differ
--dry             print the plan, write nothing
--list            list every slug by folder

shadcn CLI

Every item is published in the shadcn registry-item format, file contents included — so the official CLI can install it, with its dependencies and the theme as a registry dependency.

npx shadcn@latest add https://opusui.131199999.xyz/r/fluid.json

Registry namespace

Add OPUS as a namespaced registry in components.json to use short names:

components.json
{
  "registries": {
    "@opus": "https://opusui.131199999.xyz/r/{name}.json"
  }
}
npx shadcn@latest add @opus/aurora @opus/command

Endpoints

Set NEXT_PUBLIC_SITE_URL when you deploy this platform so every URL in the docs, registry and llms.txt points at the right host.

GET https://opusui.131199999.xyz/r/registry.json      # index of every item
GET https://opusui.131199999.xyz/r/<slug>.json        # one item, with full file contents
GET https://opusui.131199999.xyz/r/theme.json         # opus.css

Command palette