How sensory-ui is distributed as a shadcn/ui registry package.
sensory-ui is published as a GitHub registry: a registry.json at the repository root tells the shadcn CLI how to install items.
# Install everything
npx shadcn@latest add SatyamVyas04/sensory-ui/sensory-ui
# Core only (engine, provider, config, sounds)
npx shadcn@latest add SatyamVyas04/sensory-ui/sensory-ui-core
# Single component
npx shadcn@latest add SatyamVyas04/sensory-ui/sensory-ui-buttonNo registry server required. The CLI reads files directly from the public GitHub repository.
| Entry | CLI Address | Purpose |
|---|---|---|
sensory-ui | SatyamVyas04/sensory-ui/sensory-ui | Meta-block; lists all items |
sensory-ui-core | SatyamVyas04/sensory-ui/sensory-ui-core | Core engine, provider, config, sounds |
sensory-ui-<name> | SatyamVyas04/sensory-ui/sensory-ui-button etc. | Individual components (24 total) |
components/ui/sensory-ui/
config/
engine.ts ← Web Audio engine
provider.tsx ← SensoryUIProvider
config.ts ← Runtime config
sound-roles.ts ← TypeScript types
registry.ts ← Role → pack mapping
use-play-sound.ts ← Hook
sounds/
core/
index.ts
tunes.ts
instruments.ts
factory.ts
effects.ts
pack-generator.ts
index.ts
packs.ts
accordion.tsx
alert-dialog.tsx
button.tsx
... (24 components total)The root registry.json delegates to components/ui/sensory-ui/registry.json:
{
"$schema": "https://ui.shadcn.com/schema/registry.json",
"name": "sensory-ui",
"homepage": "https://github.com/SatyamVyas04/sensory-ui",
"include": ["components/ui/sensory-ui/registry.json"]
}| Path | Registry Type | Reasoning |
|---|---|---|
config/use-play-sound.ts | registry:hook | It's a React hook |
config/*.ts, config/*.tsx | registry:lib | Internal infrastructure |
sounds/**/*.ts | registry:lib | Sound synthesis modules |
*.tsx (root level) | registry:ui | UI components with sound prop |
# Validate GitHub registry
npx shadcn@latest registry validate SatyamVyas04/sensory-ui
# List all items
npx shadcn@latest list SatyamVyas04/sensory-ui
# Build locally for validation
npm run registry:buildnpx shadcn@latest add SatyamVyas04/sensory-ui/sensory-ui --overwriteThe --overwrite flag replaces engine, config, primitives, and sound modules. User-owned files (sensory.config.js) are never overwritten.
components/ui/sensory-ui/sensory.config.js<SensoryUIProvider> from root layoutThe registry format is defined by the shadcn/ui schema. sensory-ui uses GitHub as the hosting backend, so no custom server is needed.