Install and integrate React Bits Pro premium UI components and page blocks into React/Next.js apps using the shadcn registry CLI. Use this skill when the user wants to add animated components (WebGL shaders, GSAP animations, 3D effects, cursor trails, text animations, carousels, cards), full page sections (hero, pricing, navigation, footer, FAQ, CTA, auth, stats, blog, contact, features, social proof, 404, profile, about, waitlist, showcase, how-it-works, download), or landing page templates from React Bits Pro. Also use when the user mentions "react bits", "reactbits", or wants premium animated React components even if they don't name the library directly.
You are integrating components and blocks from React Bits Pro, a premium shadcn-compatible component registry with 88+ animated components and 120+ page section blocks for React/Next.js applications.
If the user's project already has a components.json with the @reactbits-starter registry configured, you can install this skill file directly:
npx shadcn@latest add @reactbits-starter/skill
This places a SKILL.md file in the project root. You can then read it for future reference without fetching it again.
Use this skill when:
React Bits Pro uses the shadcn registry protocol to distribute components. There are two authenticated registries:
| Registry | Content | Required tier | Install prefix |
|---|---|---|---|
@reactbits-starter | 88 animated UI components | Starter, Pro, or Ultimate | @reactbits-starter/ |
@reactbits-pro | 120+ page section blocks | Pro or Ultimate | @reactbits-pro/ |
Components are installed directly into the user's codebase (not as npm packages). They become local source files the user owns and can modify.
Every component (from @reactbits-starter) has TWO variants:
-tw (Tailwind) — uses Tailwind CSS utility classes via cn() helper. Preferred for Tailwind projects.-css (CSS) — uses a co-located .css file with vanilla CSS. Use when the project does not use Tailwind.Every block (from @reactbits-pro) has only ONE version — Tailwind-based, no suffix needed.
When installed, files land at:
components/react-bits/{component-name}.tsx (and .css for CSS variant)components/blocks/{block-name}.tsxBefore installing anything, confirm the user's project has:
A components.json file in the project root (shadcn config). If missing, run:
npx shadcn@latest init
The cn utility at lib/utils.ts:
import { clsx, type ClassValue } from "clsx"
import { twMerge } from "tailwind-merge"
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs))
}
If missing, install dependencies: npm install clsx tailwind-merge
A valid license key. The user must have purchased a React Bits Pro license. Ask the user for their license key if they haven't set it up yet.
The license key must be in a .env.local file in the project root:
REACTBITS_LICENSE_KEY=<the-users-license-key>
CRITICAL: Never commit .env.local to version control. Ensure .gitignore includes it.
components.jsonAdd the React Bits Pro registries to the registries field in components.json. If the registries key does not exist, create it.
{
"registries": {
"@reactbits-starter": {
"url": "https://pro.reactbits.dev/api/r/starter/{name}.json",
"headers": {
"Authorization": "Bearer ${REACTBITS_LICENSE_KEY}"
}
},
"@reactbits-pro": {
"url": "https://pro.reactbits.dev/api/r/pro/{name}.json",
"headers": {
"Authorization": "Bearer ${REACTBITS_LICENSE_KEY}"
}
}
}
}
Do NOT overwrite existing components.json fields ($schema, style, tailwind, aliases, etc.). Only add or merge the registries object.
# Tailwind variant (recommended for Tailwind projects)
npx shadcn@latest add @reactbits-starter/{component-slug}-tw
# CSS variant (for non-Tailwind projects)
npx shadcn@latest add @reactbits-starter/{component-slug}-css
npx shadcn@latest add @reactbits-pro/{block-slug}
npx shadcn@latest add @reactbits-starter/silk-waves-tw @reactbits-starter/animated-list-tw @reactbits-pro/hero-1
After installation, import and use the component:
// Component example
import SilkWaves from "@/components/react-bits/silk-waves";
export default function MyPage() {
return (
<div className="h-screen w-full">
<SilkWaves
speed={1}
scale={2}
colors={["#0d1326", "#162a52", "#1e407e", "#2657aa", "#2e6ed5", "#3785ff", "#5092ff", "#69a0ff"]}
/>
</div>
);
}
// Block example
import { Hero1 } from "@/components/blocks/hero-1";
export default function LandingPage() {
return (
<main>
<Hero1 />
</main>
);
}
default exports: import ComponentName from "@/components/react-bits/{slug}"named exports matching PascalCase of slug: import { Hero1 } from "@/components/blocks/hero-1"
hero-1 → Hero1, pricing-3 → Pricing3, navigation-2 → Navigation2"use client" directive — they are client componentsAll components are starter tier (accessible with any paid license).
| Component | Slug | Description | Key deps |
|---|---|---|---|
| Staggered Text | staggered-text | Flexible text animation with staggered reveals | motion |
| Glitch Text | glitch-text | Canvas-based sticky glitch effect responding to cursor | — |
| Text Path | text-path | Animated text following an SVG path | gsap, @gsap/react |
| 3D Text Reveal | 3d-text-reveal | Scroll-triggered 3D text animation | gsap, @gsap/react |
| Particle Text | particle-text | Interactive 3D particle text | three |
| Text Scatter | text-scatter | Interactive letter scatter effect | — |
| 3D Letter Swap | 3d-letter-swap | Staggered 3D letter swap animation | — |
| Blur Highlight | blur-highlight | Blur-in effect with automatic text highlighting | motion |
| Component | Slug | Description | Key deps |
|---|---|---|---|
| Smooth Cursor | smooth-cursor | Canvas-based smooth cursor trail with spring physics | — |
| Custom Cursor | custom-cursor | Interactive cursor with target morphing | motion |
| Dither Cursor | dither-cursor | Pixelated dithering trail effect | — |
| Ascii Cursor | ascii-cursor | ASCII character trail cursor | — |
| Glass Cursor | glass-cursor | Metaball glass cursor with refraction and blur | three |
| Component | Slug | Description | Key deps |
|---|---|---|---|
| Shader Card | shader-card | Card with animated WebGL shader background | three |
| Chroma Card | chroma-card | Card with chromatic color shifting | — |
| Credit Card | credit-card | Interactive 3D credit card with parallax tilt | motion |
| Depth Card | depth-card | Perspective depth effect responding to mouse | motion |
| Modal Cards | modal-cards | Expandable cards opening into full-screen modals | motion |
| Rotating Cards | rotating-cards | 3D circular carousel with draggable cards | motion |
| Parallax Cards | parallax-cards | 3D layered cards with mouse-driven parallax | motion |
| Click Stack | click-stack | Click-to-cycle animated card stack | gsap |
| Warped Card | warped-card | Image card with mouse-following bulge distortion shader | three |
| Component | Slug | Description | Key deps |
|---|---|---|---|
| Silk Waves | silk-waves | Smooth flowing silk-like wave animation | three |
| Shader Waves | shader-waves | Animated wave patterns with noise | three |
| Chroma Waves | chroma-waves | Animated wave shader with noise distortion | three |
| Aurora Blur | aurora-blur | Ethereal aurora borealis blur | — |
| Gradient Blob | gradient-blob | Morphing 3D blob with cursor interaction | three |
| AI Blob | ai-blob | Animated 3D blob with glow effects | three |
| Dither Wave | dither-wave | Wave effect with retro dithering pattern | — |
| Radial Liquid | radial-liquid | Radial shader waves with distortion | three |
| Grain Wave | grain-wave | Grainy wave texture animation | — |
| Glass Flow | glass-flow | Flowing glass-like blur animation | — |
| Falling Rays | falling-rays | Light rays falling like rain | — |
| Light Droplets | light-droplets | Falling light streaks with glow | — |
| Lightspeed | lightspeed | Hyperspace light streak effect | — |
| Rising Lines | rising-lines | Ascending lines and particles with laser beam | three |
| Liquid Bars | liquid-bars | Liquid bar effect with smooth wave motion | — |
| Liquid Lines | liquid-lines | Flowing liquid line animation | — |
| Shadow Bars | shadow-bars | Animated shadow bar effect with depth | — |
| Color Loops | color-loops | Animated colorful orbital loops | — |
| Mosaic | mosaic | Mosaic effect with animated wave or video background | — |
| Flicker | flicker | Flickering particle grid | — |
| Vortex | vortex | Spinning 3D tunnel with particles | three |
| Portal | portal | Circular portal shader with particles | three |
| Perspective Grid | perspective-grid | Infinite 3D perspective grid with WebGL | three |
| Glitter Warp | glitter-warp | Starfield warp tunnel with particles | three |
| Star Burst | star-burst | Star burst explosion with particles | — |
| Rotating Stars | rotating-stars | Spinning star particles with orbital animation | — |
| Dot Shift | dot-shift | Shifting grid of animated dots | — |
| Synaptic Shift | synaptic-shift | Neural network-like connection animations | — |
| Ascii Waves | ascii-waves | Wave effect made of ASCII characters | — |
| Squircle Shift | squircle-shift | Morphing squircle shape animation | — |
| Center Flow | center-flow | Radial flowing animation from center | — |
| Warp Twister | warp-twister | Twisting warp distortion effect | — |
| Neon Reveal | neon-reveal | Neon bar sweep effect | — |
| Agentic Ball | agentic-ball | 3D shader orb with hue, swirl, complexity | three |
| Black Hole | black-hole | Gravitational particle effect with color cycling | three |
| Blurred Rays | blurred-rays | Flickering vertical light beams with bloom | three |
| Flame Paths | flame-paths | Animated flame-like wave effect | three |
| Frame Border | frame-border | Animated noise-textured border effect | three |
| Gradient Bars | gradient-bars | Animated striped gradient bars | three |
| Halftone Vortex | halftone-vortex | Cursor-reactive halftone dot vortex | three |
| Halftone Wave | halftone-wave | Animated halftone dot grid with noise | three |
| Liquid Ascii | liquid-ascii | Fluid simulation rendered as ASCII characters | — |
| Metallic Swirl | metallic-swirl | Metallic swirl shader background | three |
| Retro Lines | retro-lines | Retro perspective grid with scrolling waves | three |
| Rubber Fluid | rubber-fluid | Rubbery fluid distortion shader | three |
| Simple Swirl | simple-swirl | Rotating concentric swirl with glow | three |
| Square Matrix | square-matrix | Animated dot grid with wave presets | three |
| Star Swipe | star-swipe | Conformal star warp shader with sweeping motion | three |
| Swirl Blend | swirl-blend | Colorful iterative swirl shader with palette controls | three |
| Text Cube | text-cube | Cursor-following 3D text cube with depth fade | — |
| Watercolor | watercolor | Animated watercolor noise shader with two-color blend | three |
| Component | Slug | Description | Key deps |
|---|---|---|---|
| Circle Gallery | circle-gallery | Draggable circular carousel with inertia | motion |
| Gradient Carousel | gradient-carousel | 3D card carousel with dynamic gradient extraction | motion |
| Circles | circles | Rotating orbital rings with images | motion |
| Draggable Grid | draggable-grid | Pannable grid with drag and momentum | motion |
| Animated List | animated-list | Animated list with multiple entrance styles | motion |
| Comparison Slider | comparison-slider | Before/after image comparison | — |
| Hover Preview | hover-preview | Image previews on hover over text | motion |
| Infinite Gallery | infinite-gallery | 3D infinite scrolling image gallery with drag and parallax | three |
| Component | Slug | Description | Key deps |
|---|---|---|---|
| Globe | globe | Interactive 3D globe with animated arcs | three |
| Device | device | CSS device mockup with custom content | — |
| Simple Graph | simple-graph | Animated line graph with interactions | — |
| Preloader | preloader | Animated loading screens with style variants | motion |
| Shader Reveal | shader-reveal | Interactive liquid image reveal | three |
| Liquid Swap | liquid-swap | Image transition with liquid glass ball effect | three |
| Pixelate Hover | pixelate-hover | Pixelation effect with cursor reveal | three |
All blocks are pro tier (requires Pro or Ultimate license). Blocks are Tailwind-only.
| Category | Slug pattern | Variants | Description |
|---|---|---|---|
| Hero Section | hero-1 through hero-13 | 13 | Landing page heroes with various layouts, animations, WebGL, video, carousels |
| Features | features-1 through features-5 | 5 | Feature grids, tabs, marquees, auto-cycling carousels |
| Social Proof | social-proof-1 through social-proof-9 | 9 | Logo grids, testimonials, marquees, video players |
| Contact | contact-1 through contact-5 | 5 | Contact forms, card layouts, image carousels |
| Footer | footer-1 through footer-6 | 6 | Various footer layouts with links, newsletter, branding |
| Comparison | comparison-1 through comparison-3 | 3 | Feature comparison tables, bar charts |
| Navigation | navigation-1 through navigation-8 | 8 | Top navs, side navs, bottom navs, mobile menus |
| Auth | auth-1 through auth-3 | 3 | Sign-in/sign-up forms with various layouts |
| Call To Action | cta-1 through cta-5 | 5 | CTAs with parallax, cursor trails, video masks |
| FAQ | faq-1 through faq-3 | 3 | Accordion, chat-style, tabbed FAQs |
| Pricing | pricing-1 through pricing-6 | 6 | Pricing tables with toggles, comparisons |
| Stats | stats-1 through stats-8 | 8 | Metrics displays with charts, maps, animations |
| 404 | 404-1, 404-2 | 2 | Creative error pages |
| Profile | profile-1 through profile-3 | 3 | User profile cards and sections |
| About | about-1 through about-5 | 5 | Company story, timeline, metrics sections |
| Waitlist | waitlist-1 through waitlist-3 | 3 | Pre-launch signup sections |
| Showcase | showcase-1 through showcase-3 | 3 | Portfolio and product display sections |
| How It Works | how-it-works-1 through how-it-works-3 | 3 | Step-by-step process sections |
| Download | download-1 through download-3 | 3 | App download sections |
| Blog | blog-1 through blog-5 | 5 | Blog listings, article pages |
Many components use specialized libraries. When you install via the shadcn CLI, dependencies are automatically resolved. However, be aware of these key dependencies so you can help the user troubleshoot:
| Dependency | Used by | Notes |
|---|---|---|
three | Shader, WebGL, 3D components (silk-waves, shader-card, globe, ai-blob, etc.) | Three.js for WebGL rendering |
@react-three/fiber | Some 3D components | React renderer for Three.js |
@react-three/drei | Some 3D components | Helper components for R3F |
motion (or framer-motion) | Most animated components and all blocks | Animation library. Import from motion/react |
gsap + @gsap/react | text-path, 3d-text-reveal, some blocks | GreenSock animation. Requires ScrollTrigger plugin for scroll animations |
lucide-react | Most blocks | Icon library |
next-themes | Some components | Theme provider for dark mode |
d3 | Some visualization components | Data visualization |
"use client" directiveALL React Bits Pro components and blocks include "use client" at the top. They are client components. If you are using them in a Server Component page in Next.js App Router, simply import them — Next.js handles the client boundary automatically. Do NOT try to remove the "use client" directive.
A common use case is composing a full landing page from blocks. Here is the recommended approach:
npx shadcn@latest add @reactbits-pro/navigation-1 @reactbits-pro/hero-1 @reactbits-pro/features-1 @reactbits-pro/social-proof-1 @reactbits-pro/pricing-1 @reactbits-pro/faq-1 @reactbits-pro/cta-1 @reactbits-pro/footer-1
import { Navigation1 } from "@/components/blocks/navigation-1";
import { Hero1 } from "@/components/blocks/hero-1";
import { Features1 } from "@/components/blocks/features-1";
import { SocialProof1 } from "@/components/blocks/social-proof-1";
import { Pricing1 } from "@/components/blocks/pricing-1";
import { Faq1 } from "@/components/blocks/faq-1";
import { Cta1 } from "@/components/blocks/cta-1";
import { Footer1 } from "@/components/blocks/footer-1";
export default function LandingPage() {
return (
<>
<Navigation1 />
<Hero1 />
<Features1 />
<SocialProof1 />
<Pricing1 />
<Faq1 />
<Cta1 />
<Footer1 />
</>
);
}
Blocks are installed as local source files. Edit them directly to:
You can use standalone components inside blocks or alongside them:
import SilkWaves from "@/components/react-bits/silk-waves";
import { Hero1 } from "@/components/blocks/hero-1";
export default function LandingPage() {
return (
<>
{/* Animated background behind the hero */}
<div className="relative">
<div className="absolute inset-0 -z-10">
<SilkWaves speed={0.5} opacity={0.3} />
</div>
<Hero1 />
</div>
</>
);
}
Since components are local source files, you can customize them freely:
Most components accept extensive props. For example, SilkWaves:
<SilkWaves
speed={1.5}
scale={3}
distortion={0.8}
curve={1.2}
contrast={1}
colors={["#1a0533", "#2d1b69", "#4a2c8a", "#6b3fa0", "#8b52b8", "#ab65d0", "#cb78e8", "#eb8bff"]}
rotation={45}
brightness={1.2}
opacity={0.9}
complexity={1.5}
frequency={1.2}
className="absolute inset-0"
/>
For deeper changes, edit the installed .tsx file directly. Common modifications:
All blocks and most components support dark mode via Tailwind's dark: variant. They use the standard dark class strategy. Ensure your app has a theme provider set up:
// layout.tsx
import { ThemeProvider } from "next-themes";
export default function RootLayout({ children }) {
return (
<html lang="en" suppressHydrationWarning>
<body>
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
{children}
</ThemeProvider>
</body>
</html>
);
}
The registries block is missing from components.json. Add it per Step 3 above.
The REACTBITS_LICENSE_KEY environment variable is not set. Add it to .env.local.
The user's license tier doesn't include access to the requested content. Starter licenses cannot access @reactbits-pro blocks — a Pro or Ultimate license is required.
-tw or -css suffix (e.g., silk-waves-tw, not silk-waves)hero-1, not hero-1-tw)cn functionInstall the utility: npm install clsx tailwind-merge, then create lib/utils.ts with the cn function shown in Step 1.
three is installed: npm install three"use client" directive handles client-only renderinggsap and @gsap/react are installedScrollTrigger is registered automatically in component codeglobals.css imports Tailwind: @import "tailwindcss"-tw or -css for all components in a project-tw) if the project uses Tailwind CSS — it integrates better and is smallernext/dynamic for Three.js-based components if not above the fold:
import dynamic from "next/dynamic";
const SilkWaves = dynamic(() => import("@/components/react-bits/silk-waves"), { ssr: false });
npx shadcn@latest view @reactbits-starter/silk-waves-tw to inspect a component before adding itnpx shadcn@latest add @reactbits-starter/skill to drop this SKILL.md into the project root so agents always have it available locally