
Installs all 62 components. Without our CLI, run instead.
Sora UI publishes a shadcn registry at ui.soralabs.io.vn, with 62 components installable through the shadcn CLI.
Copy a prompt for your agent, copy the install command, or open the docs that ship it.
An interactive button component built on Base UI with Motion hover/tap scaling and shadcn/ui variants.
An accessible, stylable checkbox built on Base UI with a Motion-friendly animated indicator.
An accessible modal dialog built on Base UI with smooth Motion spring entrance and exit animations.
Desktop cursor trail that reveals staggered image strips with clip-path wipes as the pointer moves.
A link with a hand-drawn SVG underline that animates on hover, powered by Motion.
A pill-shaped tab bar that expands into a floating panel, with Motion driving the shell, label, and content transitions.
Inline text that materializes through a soft, turbulent WebGL fog mask, inherits font and color from CSS, and cycles through an array of messages.
Crossfading hero image slideshow with a progress pill, play/pause, and prev/next controls.
A Motion-powered highlight effect that allows you to highlight elements on hover, click or with a controlled value.
Animated right arrow that nudges forward and redraws its stroke on hover using a pure CSS stroke-dash animation.
Notification bell that rattles from its hanger on trigger — a decaying rotation pivot, powered by the AnimateIcon engine.
Animated double up-chevron that cross-fades between the two carets on hover, powered by the AnimateIcon engine.
An infinite card stack that advances with wheel, touch, or keyboard input using spring-based Motion transitions.
A flowing quote stream where each avatar reveals its author on hover, with Motion fading and blurring the rest.
Staggered logo column swapper with fade, vertical shift, and motion blur powered by Motion.
A fanned stack of cards that fling away from the cursor on release, with GSAP InertiaPlugin easing each one back to rest.
A wrapper that emits glowing, pooled particles from the cursor while hovering any button or link.
A canvas-based image that resolves from a blocky, pixelated placeholder up to full sharpness as it loads.
A stacked-layer blur that ramps smoothly from sharp to fully blurred toward an edge, for fading content under a fixed header or above a scroll boundary.
An interactive button component built on Radix UI Slot with Motion hover/tap scaling and shadcn/ui variants.
An accessible, stylable checkbox built on Radix UI with a Motion-friendly animated indicator.
An accessible modal dialog built on Radix UI with smooth Motion spring entrance and exit animations.
Per-character slot-machine reveal that rolls each letter into place once it scrolls into view, powered by Motion.
A draggable, chaptered progress-bar nav — two-way cursor/scroll sync, ghost-cursor hover preview, snap-to-step seeking, and a per-chapter panel that can opt in or out of showing.
Skeleton loading placeholders with a shimmer effect that transitions to revealed content via a CSS view-transition wipe animation. Skeletons are sized using placeholder data to reduce layout shifts.
A chip-style call-to-action link with a Motion-powered sliding label and rotating icon chips on hover.
A button that staggers per character or slides the whole label on hover, with a scaling background layer.
Scroll-pinned hero where a front card flips to reveal a stack of back cards, dismissed one at a time as you keep scrolling.
Cycles through a list of words with a per-character collapse/reveal transition and a trailing cursor glyph that wipes across the text between words.
Preset-driven staggered text reveals with blur, fade, slide, and scale animations, powered by Motion.
Cycles through a list of items with an enter/exit animation, powered by Motion.
Per-character layout morphing for labels, counters, and live text swaps, powered by Motion.
Scroll-pinned word-by-word text reveal with a highlight flash, powered by GSAP ScrollTrigger.
3D tilt card that rotates toward the cursor on spring physics, with an optional glare reflection.
Dependency-free custom video player: modal overlay, chaptered timeline, hover-scrub preview, speed menu, picture-in-picture, fullscreen, keyboard shortcuts, and focus trapping.
The AI-ready animated component registry & motion system for React & Next.js.
Sora UI is supported by the open-source ecosystem. Special thanks to:
Sora UI
├── Motion (Animation building blocks: unstyled motion & effects at /motion)
├── Icons (Animated Lucide icons at /icons)
├── Catalog (Ready-to-use animated showcases & full layout pages at /catalog)
└── UI (Base UI + Radix UI foundation infused with Sora Motion & Tailwind CSS at /ui)
apps/xmcp) publishing structured intent, accessibility constraints, motion semantics, and composition rules.prefers-reduced-motion accessibility support.cn(...).Explore the interactive component catalog, animated showcases, and documentation at ui.soralabs.studio.
bun install
bun run dev:www # docs site only → http://localhost:3000
# or
bun dev # run all apps (Next.js docs + xmcp)
No .env file is required to browse docs, blog, or the catalog locally. Copy [apps/www/.env.example](./apps/www/.env.example) only when you need optional features:
| Feature | Variables |
|---|---|
| Sign-in & Bookmarks | NEXT_PUBLIC_ENABLE_AUTH="true", DATABASE_URL, BETTER_AUTH_SECRET, OAuth keys |
| Redis rate limits / cache | UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN |
| Better Auth Sentinel | BETTER_AUTH_API_KEY, NEXT_PUBLIC_BETTER_AUTH_IDENTIFY_URL |
| Ask AI (AI Search) | AI_SEARCH_CHAT_URL (Cloudflare AI Search chat endpoint; required for Ask AI, no public fallback) |
| Sentry | NEXT_PUBLIC_SENTRY_DSN |
Production deployments for documentation require zero environment variables (set NEXT_PUBLIC_ENABLE_AUTH="true", BETTER_AUTH_SECRET, DATABASE_URL, or AI_SEARCH_CHAT_URL only when enabling auth or Ask AI).
Sora UI includes an official Model Context Protocol (MCP) server built with xmcp under [apps/xmcp](./apps/xmcp). It enables AI assistants (Cursor, Claude Desktop, Claude Code, etc.) to search documentation, browse sections, and install components:
The UI registry also publishes agent-native metadata for active Base UI and Radix UI components: intent, accessibility constraints, motion behavior, and composition rules. MCP exposes this context through component information and provides composition validation; it is a foundation for agent-assisted UI construction, not yet an end-to-end planner or code generator.
# Run MCP server in development mode
cd apps/xmcp && bun run dev
# Build HTTP and STDIO bundles
cd apps/xmcp && bun run build
See the MCP Documentation or [apps/xmcp/README.md](./apps/xmcp/README.md) for full configuration details.
Visit our contributing guide to learn how to contribute.
bun run create (interactive wizard)bun run doctor This project follows a Code of Conduct to help create a welcoming community. Please read CODE_OF_CONDUCT.md before contributing.
Sora UI is a fork of Animate UI by Skyleen (@imskyleen). The architecture, registry system, component APIs, and motion primitives have been substantially redesigned. Some internal patterns and abstractions remain influenced by the original codebase.
Historical upstream material is attributed and licensed according to its original terms. See LICENSE.md for the full legal text.
Licensed under the MIT license.
The packages and primitives its components pull in, counted across the registry.
Every appearance and removal our crawl has seen in the registry index.
Sora UI is a component library on 21st.dev by soralabs with 9 public React components. Every component ships with a live interactive preview and full TSX source — copy the code, install it through the shadcn CLI, or pull it into Cursor or Claude Code over MCP.