Build beautiful, accessible, and animated UIs faster with Curv-UI — a sleek, modern component library for React and Next.js
Curv-UI is a next-generation React component library designed for speed, elegance, and consistency.
It offers a growing collection of prebuilt, customizable, and animated components, built with TypeScript, Tailwind CSS, and Framer Motion, ensuring delightful user experiences with minimal effort.
Perfect for:
- 🚀 Frontend developers who want to ship fast and look great
- 🧑💻 Next.js users who value performance and accessibility
- 🎨 Designers & engineers building consistent UI systems
- 🧩 Teams & startups who want a shared component foundation
- 🎨 Beautiful Components – Ready-to-use UI blocks crafted for modern web apps
- ⚙️ Fully Customizable – Built with Tailwind, easily theme and extend
- 💫 Motion Ready – Framer Motion animations for smooth UX out of the box
- 📦 Tree-shakeable – Import only what you need for optimal performance
- 🧱 Accessible by Default – Follows WAI-ARIA best practices
- 🧠 Type Safe – Built entirely with TypeScript for developer confidence
- 🧩 Composable Architecture – Components designed for flexibility and reuse
- Framework: React 18 / Next.js 14
- Language: TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- Build Tool: Turborepo + Vite (for component builds)
- Documentation: Next.js MDX-based docs
my-ui-library/
├── packages/
│ ├── cli/ # CLI tool for copying components
│ │ ├── src/
│ │ │ ├── commands/
│ │ │ │ ├── init.ts # Initialize config
│ │ │ │ └── add.ts # Add components
│ │ │ ├── utils/
│ │ │ │ ├── get-config.ts
│ │ │ │ └── templates.ts
│ │ │ └── index.ts
│ │ └── package.json
│ │
│ └── components/ # Component source code
│ ├── ui/
│ │ ├── button.tsx
│ │ ├── card.tsx
│ │ └── ...
│ └── package.json
│
├── apps/
│ ├── docs/ # Documentation site
│ └── playground/ # Testing environment
│
├── registry/ # Component registry (metadata)
│ ├── registry.json # Component definitions
│ └── styles/ # Style variants
│
└── package.json # Root package.json (monorepo)
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript compiler
Make sure you have one of the following package managers installed:
-
Clone the repository
git clone https://github.com/rohankumarchaudhary67/curv-ui.git cd curv-ui -
Install dependencies
npm install # or yarn install # or pnpm install # or bun install
-
Set up environment variables
cp .env.example .env.local
Add your required API keys and configuration variables.
-
Run the development server
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Open your browser Navigate to http://localhost:3000 to see the application.
We welcome contributions from developers of all skill levels! Here's how you can contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow TypeScript best practices
- Write clean, readable code with proper comments
- Ensure responsive design compatibility
- Test your changes thoroughly before submitting
Check out the Next.js deployment documentation for other deployment options.
- Next.js Documentation - Learn about Next.js features and API
- Learn Next.js - Interactive Next.js tutorial
- 📧 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 🐦 Updates: Follow the latest updates and announcements
This project is licensed under the MIT License - see the LICENSE file for details.
Happy Contributing! 🎉
Made with ❤️ for the open source community