<div align="center">
  <img width="650" src=".storybook/logo.svg">
  <br />
  Building Blocks for LLM UI
  <br /><br />
  <a href="https://github.com/reaviz/reachat/actions/workflows/build.yml">
    <img src="https://github.com/reaviz/reachat/actions/workflows/build.yml/badge.svg" />
  </a>
  &nbsp;
  <a href="https://npm.im/reachat" target="_blank">
    <img src="https://img.shields.io/npm/v/reachat.svg" />
  </a>&nbsp;
  <a href="https://npm.im/reachat" target="_blank">
    <img src="https://badgen.net/npm/dw/reachat" />
  </a>&nbsp;
  <a href="https://github.com/reaviz/reachat/blob/master/LICENSE">
    <img src="https://badgen.now.sh/badge/license/apache2" />
  </a>&nbsp;
  <a href="https://github.com/reaviz/reachat">
    <img alt="GitHub stars" src="https://img.shields.io/github/stars/reaviz/reachat?style=social" />
  </a>&nbsp;
  <a href="https://discord.gg/tt8wGExq35" target="_blank">
    <img src="https://img.shields.io/discord/773948315037073409?label=discord" />
  </a>
</div>

---

reachat is a UI library for building chat experiences. No more manually coding
all the components required to build LLM uis manually. Customize each component and
theme via Tailwind.

## 🚀 Quick Links
- Checkout the [docs and demos](https://reachat.dev)
- Checkout the [storybook demos](https://storybook.reachat.dev)
- Learn about updates from the [changelog](CHANGELOG.md)
- Download [Figma template](https://www.figma.com/community/file/1401162540082414292/reachat-landing-page-public)
- Try the [sample repo](https://github.com/reaviz/reachat-example)

## 💎 Other Projects

- [Reaflow](https://reaflow.dev?utm=reagraph) - Open-source library for workflow and diagram graphs.
- [Reablocks](https://reablocks.dev?utm=reagraph) - Open-source component library for React based on Tailwind.
- [Reaviz](https://reaviz.dev?utm=reagraph) - Open-source library for data visualizations for React. 
- [Reagraph](https://reagraph.dev?utm=reaviz) - Open-source library for large webgl based network graphs.

## 🪄 Features
- Console and Companion Modes
- Markdown Rendering
  - GFM Styling
  - Code Highlighting
  - Tables
  - JSON
  - Lists
  - Math
  - Embeds ( Youtube )
  - remark/rhype plugin support
- File Uploads
- Image Preview
- Message Sources
- Animations
- Agentic message model ( `user` / `assistant` / `system` / `tool` roles )
- Message Pagination
- Smart/Dynamic Grouping of Sessions
- Keyboard shortcuts
- Animations via Motion.dev
- Responsive
- Tailwind for Themeing
- Customizable via Slots
- Conversation Charting via Reaviz.dev
- Mentions and Commands via Tiptap

## 📦 Install

To use reachat in your project, install it via npm/yarn:

```
npm i reachat --save
```

## 🔭 Development

If you want to run reachat locally, its super easy!

- Clone the repository
- `npm i`
- `npm start`
- Browser opens to Storybook page

## ❤️ Contributors & Credits

Thanks to all our contributors!

<a href="https://github.com/reaviz/reachat/graphs/contributors"><img src="https://opencollective.com/reaviz/contributors.svg?width=890" /></a>

