Copy-paste React components styled with Tailwind CSS. Own your UI code.
- Copy-paste - Components live in your project, not
node_modules - Tailwind CSS 4 - Styled with
tailwind-variantsand CSS custom properties - TypeScript - Full type safety with polymorphic
asprop - Dark mode - Design tokens with
data-themeattribute - Animations - Built with
motion/react - Icon generation - Convert SVGs to React components via CLI
pnpm add -g mucu# Initialize in your project
mucu init
# Add a component
mucu add button
# Add multiple components
mucu add toast tooltip popoverComponents are copied to your project and ready to import:
import { Button } from "@/components/ui/Button";
export default function App() {
return (
<Button variant="primary" size="md">
Click me
</Button>
);
}| Category | Components |
|---|---|
| Layout | Box Image |
| Form | TextField TextArea Checkbox RadioGroup |
| Actions | Button ButtonBase |
| Feedback | Spinner Toast Tooltip Popover |
| Navigation | Tab Calendar Menu |
mucu init # Set up config + utilities
mucu add [components...] # Add components (interactive if no args)
mucu add -a # Add all components
mucu list # List available components
mucu icon generate <input> -o <output> # SVG to React icon componentsmucu.config.json
{
"componentsDir": "src/components/ui",
"libDir": "src/lib",
"stylesDir": "src/styles",
"iconsDir": "src/components/icons",
"typescript": true,
"aliases": {
"components": "@/components/ui",
"lib": "@/lib",
"icons": "@/components/icons"
}
}pnpm install # Install dependencies
pnpm dev # Development mode
pnpm build # Build all packages
pnpm test # Run tests
pnpm storybook # View components in Storybookpackages/
├── cli/ # CLI tool (mucu command)
└── registry/ # Component registry + Storybook
React 19 / TypeScript 5 / Tailwind CSS 4 / tailwind-variants / motion/react / Storybook 10 / Vitest / Playwright / pnpm
MIT