A modern, accessible, and customizable React component library built with TypeScript and Tailwind CSS. This monorepo contains the component library, documentation site, CLI tool, and development utilities.
- Modern React Components: Built with React 19 and TypeScript
- Tailwind CSS Integration: Fully customizable with Tailwind CSS
- Accessibility First: All components follow WCAG guidelines
- TypeScript Support: Full type safety and IntelliSense
- CLI Tool: Generate components and manage your UI library
- Comprehensive Documentation: Interactive docs with examples
- Monorepo Architecture: Efficient development with Turborepo
This Turborepo includes the following packages and applications:
docs: Documentation site built with Fumadocs and MDX
- Framework: Next.js 15 with React 19
- Styling: Tailwind CSS 4
- Language: TypeScript 5.8
- Build Tool: Turborepo
- Package Manager: pnpm
- Documentation: Fumadocs with MDX
- Linting: ESLint with Prettier
- Node.js 18 or higher
- pnpm (recommended) or npm/yarn
-
Clone the repository
git clone <repository-url> cd harukit-ui
-
Install dependencies
pnpm install
-
Start development
# Start all applications pnpm dev # Or start specific apps pnpm docs:dev # Documentation site pnpm web:dev # Main web app
# Development
pnpm dev # Start all apps in development mode
pnpm build # Build all packages and apps
pnpm lint # Lint all packages and apps
pnpm format # Format code with Prettier
pnpm check-types # Type check all packages
# Specific App Commands
pnpm docs:dev # Start documentation site
pnpm docs:build # Build documentation site
pnpm cli:build # Build CLI tool# Build specific packages
pnpm --filter=docs build
pnpm --filter=@repo/cli build
# Development for specific packages
pnpm --filter=web dev
pnpm --filter=docs devharukit-ui/
βββ apps/
β βββ docs/ # Documentation site
β βββ web/ # Main web application
βββ packages/
β βββ cli/ # CLI tool for component generation
β βββ eslint-config/ # Shared ESLint configuration
β βββ typescript-config/ # Shared TypeScript configuration
β βββ ui/ # Core component library
βββ turbo.json # Turborepo configuration
βββ package.json # Root package.json
βββ pnpm-workspace.yaml # pnpm workspace configuration
-
Using the CLI tool:
pnpm cli:build pnpm --filter=@repo/cli generate component Button
# Build all packages and apps
pnpm build
# Build specific packages
pnpm --filter=@repo/ui build
pnpm --filter=docs build- Component Library: Visit the docs site at
http://localhost:3001 - CLI Usage: See
packages/cli/README.mdfor CLI documentation
We welcome contributions! Please see our Contributing Guide for details on how to:
- Set up your development environment
- Submit bug reports and feature requests
- Contribute code and documentation
- Follow our coding standards
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: docs site
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Turborepo Documentation
- Next.js Documentation
- Tailwind CSS Documentation
- React Documentation
- TypeScript Documentation
Made with β€οΈ by the Harukit UI team