Skip to main content

Welcome to SomaUI 🚀

SomaUI is a ShadCN-inspired version of RizzUI, built with modern web development in mind. It’s a fully TypeScript + React 19 UI library powered by TailwindCSS v4, designed to help you build beautiful and responsive interfaces quickly.

Installation

You can use SomaUI in two ways:

  1. Via CLI (recommended) – generate projects and components with ease.
  2. As a package – import components directly from @somaui/ui.

CLI Usage

SomaUI comes with a handy CLI to generate components and scaffold projects.

npx @somaui/cli init

This will setup a custom styles/global.css, lib,icons,components folder. The CLI ensures that your components follow the SomaUI standards and makes setup effortless.

Next proceed to add your components.

npx @somaui/cli add button

This will copy a ready to use button/index.tsx in your component folder . Sometimes, a component imports other components. In such cases, the dependent component will also be created. If a component or folder already exists, the component will be skipped unless the --overwrite flag is used.

npx @somaui/cli add button input select

This will copy a ready to use button/index.tsx, input/index.tsx, select/index.tsx in your component folder

Use the all flag to get all components

npx @somaui/cli add --all

See full list of components:


//Basic UI Components
npx @somaui/cli add button
npx @somaui/cli add input
npx @somaui/cli add select
npx @somaui/cli add checkbox
npx @somaui/cli add radio
npx @somaui/cli add textarea
npx @somaui/cli add switch
npx @somaui/cli add password
npx @somaui/cli add pin-code
npx @somaui/cli add multi-select

//Form Components
npx @somaui/cli add checkbox-group
npx @somaui/cli add radio-group
npx @somaui/cli add field-clear-button
npx @somaui/cli add field-error-text
npx @somaui/cli add field-helper-text

//Feedback & Overlay Components
npx @somaui/cli add alert
npx @somaui/cli add modal
npx @somaui/cli add drawer
npx @somaui/cli add tooltip
npx @somaui/cli add popover
npx @somaui/cli add progressbar
npx @somaui/cli add radial-progressbar
npx @somaui/cli add loader
npx @somaui/cli add announcement

//Layout Components
npx @somaui/cli add box
npx @somaui/cli add flex
npx @somaui/cli add grid
npx @somaui/cli add collapse
npx @somaui/cli add accordion
npx @somaui/cli add tabs
npx @somaui/cli add stepper
npx @somaui/cli add table

//Data Display Components
npx @somaui/cli add avatar
npx @somaui/cli add badge
npx @somaui/cli add empty
npx @somaui/cli add dropdown
npx @somaui/cli add upload
npx @somaui/cli add action-icon

//Advanced Components
npx @somaui/cli add advanced-checkbox
npx @somaui/cli add advanced-radio
npx @somaui/cli add highlight
npx @somaui/cli add file-input
npx @somaui/cli add upload-zone

//Typography Components
npx @somaui/cli add typography
npx @somaui/cli add title
npx @somaui/cli add text
npx @somaui/cli add code
npx @somaui/cli add blockquote
npx @somaui/cli add italic
npx @somaui/cli add bold

//Utility Components
npx @somaui/cli add cn
npx @somaui/cli add use-collapse

Install SomaUI & Core Dependencies

npm i @headlessui/react @floating-ui/react tailwind-variants tailwind-merge

Package Overview - @headlessui/react - Provides accessible, unstyled primitives for complex components (dropdowns, modals, tabs) - @floating-ui/react - Advanced positioning system for tooltips, popovers, and dropdowns - tailwind-variants - Type-safe variant management system for component styling - tailwind-merge - A utility for merging Tailwind CSS classes

Install Tailwind CSS & Forms Plugin

Install these development dependencies for styling:

npm i -D tailwindcss @tailwindcss/forms @tailwindcss/postcss

Development Dependencies - tailwindcss - The core Tailwind CSS v4 framework - @tailwindcss/forms - Enhanced form styling with consistent, accessible input designs - @tailwindcss/postcss - Tailwind CSS v4 PostCSS processing engine

Voila!!