Skip to content

rasengan-dev/rasengan-ui

Rasengan UI

A modern, comprehensive UI component library built on top of Shadcn UI with React, TypeScript, and Tailwind CSS.

License: MIT TypeScript React Tailwind CSS

✨ Features

  • 🎨 Beautiful Components: Pre-built, customizable UI components
  • πŸ“± Responsive Design: Mobile-first approach with responsive utilities
  • 🎯 TypeScript Support: Full type safety and IntelliSense
  • 🎭 Dark Mode: Built-in dark mode support
  • β™Ώ Accessible: WCAG compliant components
  • πŸŽͺ Marketing & Application UI: Comprehensive component sets for both marketing pages and applications
  • πŸ”§ Customizable: Easy theming and customization
  • πŸ“š Documentation: Comprehensive documentation with live examples
  • πŸ”„ Shadcn UI Compatible: Built on top of Shadcn UI with the same installation and usage patterns

πŸš€ Quick Start

Prerequisites

Before using Rasengan UI, you must have:

  • A React application
  • Tailwind CSS configured
  • Shadcn UI installed and working

Supported setups include:

If you can run shadcn add, you're good to go.

Setting up Shadcn UI

If shadcn/ui is not yet installed, follow the official setup guide first:

πŸ‘‰ https://ui.shadcn.com/docs/installation

This will configure:

  • Tailwind CSS
  • CSS variables
  • the cn utility
  • component aliases
  • the shadcn CLI

Configure the Registry

For the best experience, add the Rasengan UI registry to your components.json file:

{
  "registries": {
    "@rasengan-ui": "https://registry.rasengan.dev/r/{name}.json"
  }
}

Installation

Rasengan UI components are distributed through a shadcn-compatible registry. You install them the same way you install shadcn components.

Using the CLI

npx shadcn@latest add <component-id>

Example:

npx shadcn@latest add https://registry.rasengan.dev/r/hero-10.json

Or with the registry shortcut:

npx shadcn@latest add @rasengan-ui/hero-10

This will:

  • Copy the component source code into your project
  • Place it alongside your existing shadcn components
  • Preserve full ownership of the code

Manual Installation

If you prefer full control, you can also:

  1. Copy the component code from the documentation
  2. Paste it into your project
  3. Adjust paths, styles, or behavior as needed

Usage

Once installed, use components just like regular shadcn components:

import { Hero10 } from "@/components/hero-10";

export default function App() {
  return (
    <div>
      <Hero10 />
    </div>
  );
}

πŸ“¦ Components

Application UI

  • Cards: Booking cards, pricing cards, profile cards
  • Forms: Login forms, contact forms, search forms
  • Lists: Animated lists, task lists, user lists
  • Navigation: Headers, footers, sidebars
  • Feedback: Alerts, modals, tooltips
  • Data Display: Tables, badges, avatars

Marketing

  • Heroes: Landing page hero sections
  • Features: Feature showcases and comparisons
  • Testimonials: Customer testimonials and reviews
  • Pricing: Pricing tables and plans
  • Teams: Team member showcases
  • CTA: Call-to-action sections
  • FAQ: Frequently asked questions

🎨 Theming

Rasengan UI uses CSS custom properties for theming. You can easily customize the theme by modifying the CSS variables:

:root {
  --primary: 220 90% 56%; /* Custom primary color */
  --secondary: 210 40% 96%; /* Custom secondary color */
  /* ... other theme variables */
}

πŸ”§ Development

Prerequisites

  • Node.js 20.18 or higher
  • pnpm (recommended)

Getting Started

  1. Clone the repository:
git clone https://github.com/rasengan-dev/rasengan-ui.git
cd rasengan-ui
  1. Install dependencies:
pnpm install
  1. Start development:
pnpm dev

This will start:

  • Port 5320: The UI kit - where all components are built
  • Port 3000: The documentation website

Project Structure

rasengan-ui/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ ui/                 # Main UI library
β”‚   β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”‚   β”œβ”€β”€ registry/   # Component registry
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ application-ui/  # Application UI components
β”‚   β”‚   β”‚   β”‚   └── marketing/        # Marketing components
β”‚   β”‚   β”‚   └── lib/        # Utilities and helpers
β”‚   β”‚   └── package.json
β”‚   └── docs/               # Documentation site
β”œβ”€β”€ packages/               # Shared packages
└── tools/                  # Build and development tools

Building

# Build all packages
pnpm build

# Build UI library only
pnpm build:ui

# Build documentation
pnpm build:docs

Testing

# Run tests
pnpm test

# Run tests in watch mode
pnpm test:watch

# Run tests with coverage
pnpm test:coverage

🀝 Contributing

We welcome contributions! Please read our Contributing Guide for details on:

  • How to set up the development environment
  • Our code style and conventions
  • How to submit pull requests
  • Component development guidelines

πŸ“š Documentation

Visit our documentation website for:

  • Complete component API reference
  • Live examples and playground
  • Design system guidelines
  • Best practices and patterns

πŸ› Bug Reports & Feature Requests

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

🌟 Show Your Support

If you find Rasengan UI helpful, please consider:

  • ⭐ Starring this repository
  • 🐦 Following us on Twitter
  • πŸ“’ Sharing with your network
  • πŸ’ Sponsoring the project

Built with ❀️ by the Rasengan Team

About

Collection of well crafted ui components to boost productivity

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors