Production-ready React component library for building AI applications
Extracted from Vex - A production AI platform with 6,813+ commits in 2025
License: AGPL-3.0. Use it, learn from it, but if you distribute it, share your changes.
Chrry is a comprehensive React component library built for AI applications. It includes everything you need to build ChatGPT-like interfaces, multi-tenant app stores, and real-time collaboration features.
Key Features:
- π¨ 50+ Components - Chat, modals, forms, layouts, and more
- π€ AI-First - Built specifically for AI chat interfaces
- π± Cross-Platform - Web, iOS, Android, Browser Extensions
- π― TypeScript - Full type safety throughout
- π Dark Mode - Built-in theme support
- π i18n - 10+ languages included
- β‘ Performance - Optimized for production
- π Customizable - SCSS modules for easy theming
Chrry pairs perfectly with Pepper Router - our universal router with view transitions:
npm install @chrryai/pepperFeatures:
- β‘ Zero-latency navigation
- π¨ Built-in View Transitions API
- π± Works in web, React Native, and browser extensions
- π SSR-friendly
npm install @chrryai/chrry
# or
pnpm add @chrryai/chrry
# or
yarn add @chrryai/chrryNote: Chrry is published as TypeScript source. Your bundler (Next.js, Vite, etc.) will compile it.
import { Chat, Button, Modal } from "@chrryai/chrry"
import { Star } from "@chrryai/chrry/icons"
function App() {
return (
<>
<Chat />
<Button>Click me</Button>
<Star size={24} />
</>
)
}import ChrryAI from "@chrryai/chrry/ChrryAI"
import { cookies, headers } from "next/headers"
export default async function RootLayout({ children }): Promise<JSX.Element> {
const headersList = await headers()
const cookieStore = await cookies()
return (
<ChrryAI
apiKey={process.env.API_KEY}
locale="en"
headersList={headersList}
cookieStore={cookieStore}
>
{children}
</ChrryAI>
)
}For non-Next.js apps or custom setups:
import Chrry from "@chrryai/chrry/Chrry"
export default function App({ children, session }) {
return (
<Chrry apiKey={process.env.API_KEY} locale="en">
{children}
</Chrry>
)
}Visit chrry.dev for full documentation, examples, and guides.
- Chat - Full-featured AI chat interface
- Message - Individual message component with streaming
- Messages - Message list with virtualization
- Thread - Complete thread view
- Threads - Thread list with search/filter
- Agent - AI agent selector
- TypingIndicator - Animated typing indicator
- ChrryAI - Complete app layout with session management
- Sidebar - Collapsible navigation sidebar
- Menu - Dropdown menu component
- Modal - Accessible modal dialogs
- Skeleton - Loading skeletons
- Button - Customizable button component
- Input - Text input with validation
- Select - Dropdown select
- Checkbox - Checkbox with label
- Search - Search input with autocomplete
- FileUpload - Drag & drop file upload
- Calendar - Full calendar with events
- Weather - Weather widget
- CharacterProfiles - AI personality profiles
- Store - App store interface
- App - Individual app card
- Loading - Loading spinners
- Toast - Toast notifications
- EmptyStateTips - Empty state with tips
- ConfirmButton - Confirmation dialogs
- Image - Optimized image component
- MarkdownContent - Markdown renderer
- ColorScheme - Theme switcher
- LanguageSwitcher - i18n language selector
And 20+ more components!
Chrry supports custom themes and dark mode out of the box:
import { ThemeProvider } from "@chrryai/chrry/context/providers"
function App() {
return <ThemeProvider theme="dark">{/* Your app */}</ThemeProvider>
}Built-in support for multiple languages:
import { locale } from "@chrryai/chrry/locales"
// Supports: en, es, fr, de, ja, ko, nl, pt, tr, zhChrry is built with:
- Next.js 15 - App Router with RSC
- TypeScript 5 - Full type safety
- SCSS Modules - Scoped styling
- Drizzle ORM - Type-safe database queries
- WebSockets - Real-time features
- next-intl - Internationalization
- English (en)
- Spanish (es)
- French (fr)
- German (de)
- Japanese (ja)
- Korean (ko)
- Dutch (nl)
- Portuguese (pt)
- Turkish (tr)
- Chinese (zh)
We welcome contributions! Chrry is extracted from Vex, a production AI platform.
# Clone the monorepo
git clone https://github.com/chrryai/chrry.git
cd chrry
# Install dependencies
pnpm install
# Start development
pnpm devSee LICENSE for details.
- Website: chrry.dev
- Documentation: chrry.dev/docs
- Component Documentation:
- GitHub: @chrryai/chrry
- npm: @chrryai/chrry
- Chrry: chrry.ai
- Vex: vex.chrry.ai
Most AI component libraries are basic. Chrry is different:
β Production-Ready - Extracted from a real AI platform β Complete - 50+ components, not just a chat box β Multi-Tenant - Build app stores, not just apps β Real-Time - WebSocket collaboration built-in β i18n - 10 languages out of the box β TypeScript - Full type safety throughout
Built with by @ibsukru