diff --git a/apps/docs/app/components/navbar.tsx b/apps/docs/app/components/navbar.tsx
index b8ec688..251aa6d 100644
--- a/apps/docs/app/components/navbar.tsx
+++ b/apps/docs/app/components/navbar.tsx
@@ -43,7 +43,7 @@ export function Navbar() {
Docs
GitHub
diff --git a/apps/docs/components/demo/attachment-demo.tsx b/apps/docs/components/demo/attachment-demo.tsx
index 0f33c13..33e3aee 100644
--- a/apps/docs/components/demo/attachment-demo.tsx
+++ b/apps/docs/components/demo/attachment-demo.tsx
@@ -13,7 +13,7 @@ import {
MessageActionBar,
MessageAttachments,
MessageStatus,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
import { FC } from "react";
import { ArrowRightIcon, PaperPlaneIcon } from "@radix-ui/react-icons";
diff --git a/apps/docs/components/demo/branch-navigation-demo.tsx b/apps/docs/components/demo/branch-navigation-demo.tsx
index a291550..c1d0003 100644
--- a/apps/docs/components/demo/branch-navigation-demo.tsx
+++ b/apps/docs/components/demo/branch-navigation-demo.tsx
@@ -10,7 +10,7 @@ import {
ComposerActionStatus,
MessageActionBar,
MessageStatus,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
import { FC } from "react";
import { ArrowRightIcon, PaperPlaneIcon } from "@radix-ui/react-icons";
diff --git a/apps/docs/components/demo/composer-action-status-demo.tsx b/apps/docs/components/demo/composer-action-status-demo.tsx
index ea3a80c..ff71ddb 100644
--- a/apps/docs/components/demo/composer-action-status-demo.tsx
+++ b/apps/docs/components/demo/composer-action-status-demo.tsx
@@ -10,7 +10,7 @@ import {
ComposerActionStatus,
MessageActionBar,
MessageStatus,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
import { FC } from "react";
import { ArrowRightIcon, PaperPlaneIcon } from "@radix-ui/react-icons";
diff --git a/apps/docs/components/demo/copy-button-demo.tsx b/apps/docs/components/demo/copy-button-demo.tsx
index c7f1963..9d33412 100644
--- a/apps/docs/components/demo/copy-button-demo.tsx
+++ b/apps/docs/components/demo/copy-button-demo.tsx
@@ -10,7 +10,7 @@ import {
ComposerActionStatus,
MessageActionBar,
MessageStatus,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
import { FC } from "react";
import { ArrowRightIcon, PaperPlaneIcon } from "@radix-ui/react-icons";
diff --git a/apps/docs/components/demo/edit-composer-demo.tsx b/apps/docs/components/demo/edit-composer-demo.tsx
index 996c107..28eb5cc 100644
--- a/apps/docs/components/demo/edit-composer-demo.tsx
+++ b/apps/docs/components/demo/edit-composer-demo.tsx
@@ -11,7 +11,7 @@ import {
EditComposer,
MessageActionBar,
MessageStatus,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
import { FC } from "react";
import { ArrowRightIcon, PaperPlaneIcon } from "@radix-ui/react-icons";
diff --git a/apps/docs/components/demo/follow-up-suggestions-demo.tsx b/apps/docs/components/demo/follow-up-suggestions-demo.tsx
index 03a73e8..ccbabe4 100644
--- a/apps/docs/components/demo/follow-up-suggestions-demo.tsx
+++ b/apps/docs/components/demo/follow-up-suggestions-demo.tsx
@@ -11,7 +11,7 @@ import {
FollowUpSuggestions,
MessageActionBar,
MessageStatus,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
import { FC } from "react";
import { ArrowRightIcon, PaperPlaneIcon } from "@radix-ui/react-icons";
diff --git a/apps/docs/components/demo/message-action-bar-demo.tsx b/apps/docs/components/demo/message-action-bar-demo.tsx
index 16fa36e..8e79116 100644
--- a/apps/docs/components/demo/message-action-bar-demo.tsx
+++ b/apps/docs/components/demo/message-action-bar-demo.tsx
@@ -8,7 +8,7 @@ import {
import {
ComposerActionStatus,
MessageActionBar,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
import { FC } from "react";
diff --git a/apps/docs/components/demo/message-status-demo.tsx b/apps/docs/components/demo/message-status-demo.tsx
index 83c44d4..c0260be 100644
--- a/apps/docs/components/demo/message-status-demo.tsx
+++ b/apps/docs/components/demo/message-status-demo.tsx
@@ -10,7 +10,7 @@ import {
ComposerActionStatus,
MessageActionBar,
MessageStatus,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
import { FC } from "react";
import { ArrowRightIcon, PaperPlaneIcon } from "@radix-ui/react-icons";
diff --git a/apps/docs/components/demo/scroll-to-bottom-demo.tsx b/apps/docs/components/demo/scroll-to-bottom-demo.tsx
index edcf3f5..4cda60a 100644
--- a/apps/docs/components/demo/scroll-to-bottom-demo.tsx
+++ b/apps/docs/components/demo/scroll-to-bottom-demo.tsx
@@ -11,7 +11,7 @@ import {
MessageActionBar,
MessageStatus,
ScrollToBottom,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
import { FC } from "react";
import { ArrowRightIcon, PaperPlaneIcon } from "@radix-ui/react-icons";
diff --git a/apps/docs/components/demo/suggestion-chips-demo.tsx b/apps/docs/components/demo/suggestion-chips-demo.tsx
index 3cc88fc..37cedea 100644
--- a/apps/docs/components/demo/suggestion-chips-demo.tsx
+++ b/apps/docs/components/demo/suggestion-chips-demo.tsx
@@ -1,7 +1,7 @@
"use client";
import { ThreadPrimitive } from "@assistant-ui/react";
-import { SuggestionChips } from "@assistant-ui/ux-primitives";
+import { SuggestionChips } from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
export function SuggestionChipsDemo() {
diff --git a/apps/docs/components/demo/thread-empty-demo.tsx b/apps/docs/components/demo/thread-empty-demo.tsx
index a731a2c..9d54233 100644
--- a/apps/docs/components/demo/thread-empty-demo.tsx
+++ b/apps/docs/components/demo/thread-empty-demo.tsx
@@ -1,7 +1,7 @@
"use client";
import { ThreadPrimitive } from "@assistant-ui/react";
-import { ThreadEmpty } from "@assistant-ui/ux-primitives";
+import { ThreadEmpty } from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
export function ThreadEmptyDemo() {
diff --git a/apps/docs/components/demo/tool-call-renderer-demo.tsx b/apps/docs/components/demo/tool-call-renderer-demo.tsx
index 008f3e5..db08284 100644
--- a/apps/docs/components/demo/tool-call-renderer-demo.tsx
+++ b/apps/docs/components/demo/tool-call-renderer-demo.tsx
@@ -6,7 +6,7 @@ import {
ThreadPrimitive,
useLocalRuntime,
} from "@assistant-ui/react";
-import { ToolCallRenderer } from "@assistant-ui/ux-primitives";
+import { ToolCallRenderer } from "@assistant-ui/chords";
import { DemoWrapper } from "./demo-wrapper";
import type { ChatModelAdapter } from "@assistant-ui/react";
import { FC } from "react";
diff --git a/apps/docs/content/docs/index.mdx b/apps/docs/content/docs/index.mdx
index a7a73e3..c56b963 100644
--- a/apps/docs/content/docs/index.mdx
+++ b/apps/docs/content/docs/index.mdx
@@ -29,7 +29,7 @@ Chords handle all of this for you, while keeping the same composability you're u
```tsx
- import { MessageActionBar } from "@assistant-ui/ux-primitives";
+ import { MessageActionBar } from "@assistant-ui/chords";
const AssistantMessage = () => (
diff --git a/apps/docs/content/docs/installation.mdx b/apps/docs/content/docs/installation.mdx
index b4dc49d..c64ccd2 100644
--- a/apps/docs/content/docs/installation.mdx
+++ b/apps/docs/content/docs/installation.mdx
@@ -13,7 +13,7 @@ Chords requires:
## Install
```bash
-npm install @assistant-ui/ux-primitives
+npm install @assistant-ui/chords
```
## Tailwind Setup
@@ -22,7 +22,7 @@ Chords ships with default Tailwind classes. For Tailwind to detect these classes
```css title="app/globals.css"
@import "tailwindcss";
-@source "../node_modules/@assistant-ui/ux-primitives/dist";
+@source "../node_modules/@assistant-ui/chords/dist";
```
> The `@source` path is relative to the CSS file. Adjust based on your project structure.
@@ -37,7 +37,7 @@ import {
SuggestionChips,
ThreadEmpty,
ScrollToBottom,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
```
## Styling
diff --git a/apps/docs/content/docs/major-chords/attachment.mdx b/apps/docs/content/docs/major-chords/attachment.mdx
index aca3237..e7b03c4 100644
--- a/apps/docs/content/docs/major-chords/attachment.mdx
+++ b/apps/docs/content/docs/major-chords/attachment.mdx
@@ -52,7 +52,7 @@ import {
ComposerAttachments,
ComposerAddAttachment,
MessageAttachments,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
// In your composer
diff --git a/apps/docs/content/docs/major-chords/branch-navigation.mdx b/apps/docs/content/docs/major-chords/branch-navigation.mdx
index 4455ee2..b2a6aa1 100644
--- a/apps/docs/content/docs/major-chords/branch-navigation.mdx
+++ b/apps/docs/content/docs/major-chords/branch-navigation.mdx
@@ -39,7 +39,7 @@ description: Navigate between message branches with prev/next controls and count
## Basic Usage
```tsx
-import { BranchNavigation } from "@assistant-ui/ux-primitives";
+import { BranchNavigation } from "@assistant-ui/chords";
export function MyMessage() {
return (
diff --git a/apps/docs/content/docs/major-chords/edit-composer.mdx b/apps/docs/content/docs/major-chords/edit-composer.mdx
index 73e2e54..5681eb3 100644
--- a/apps/docs/content/docs/major-chords/edit-composer.mdx
+++ b/apps/docs/content/docs/major-chords/edit-composer.mdx
@@ -41,7 +41,7 @@ description: Inline message editor with cancel and save actions.
## Basic Usage
```tsx
-import { EditComposer } from "@assistant-ui/ux-primitives";
+import { EditComposer } from "@assistant-ui/chords";
export function MyThread() {
return (
diff --git a/apps/docs/content/docs/major-chords/follow-up-suggestions.mdx b/apps/docs/content/docs/major-chords/follow-up-suggestions.mdx
index 79eca7b..e94753a 100644
--- a/apps/docs/content/docs/major-chords/follow-up-suggestions.mdx
+++ b/apps/docs/content/docs/major-chords/follow-up-suggestions.mdx
@@ -37,7 +37,7 @@ description: Dynamic suggestion chips that appear after assistant messages.
## Basic Usage
```tsx
-import { FollowUpSuggestions } from "@assistant-ui/ux-primitives";
+import { FollowUpSuggestions } from "@assistant-ui/chords";
export function MyThread() {
return (
diff --git a/apps/docs/content/docs/major-chords/message-status.mdx b/apps/docs/content/docs/major-chords/message-status.mdx
index fb14591..77711f6 100644
--- a/apps/docs/content/docs/major-chords/message-status.mdx
+++ b/apps/docs/content/docs/major-chords/message-status.mdx
@@ -39,7 +39,7 @@ description: Show loading spinner during streaming and error messages on failure
## Basic Usage
```tsx
-import { MessageStatus } from "@assistant-ui/ux-primitives";
+import { MessageStatus } from "@assistant-ui/chords";
export function MyAssistantMessage() {
return (
diff --git a/apps/docs/content/docs/major-chords/tool-call-renderer.mdx b/apps/docs/content/docs/major-chords/tool-call-renderer.mdx
index 48829d4..73b573e 100644
--- a/apps/docs/content/docs/major-chords/tool-call-renderer.mdx
+++ b/apps/docs/content/docs/major-chords/tool-call-renderer.mdx
@@ -41,7 +41,7 @@ description: Display tool calls with automatic status-aware UI — spinner, resu
## Basic Usage
```tsx
-import { ToolCallRenderer } from "@assistant-ui/ux-primitives";
+import { ToolCallRenderer } from "@assistant-ui/chords";
export function AssistantMessage() {
return (
diff --git a/apps/docs/package.json b/apps/docs/package.json
index 28b6d15..a6da800 100644
--- a/apps/docs/package.json
+++ b/apps/docs/package.json
@@ -10,7 +10,7 @@
},
"dependencies": {
"@assistant-ui/react": "0.12.3",
- "@assistant-ui/ux-primitives": "workspace:*",
+ "@assistant-ui/chords": "workspace:*",
"@radix-ui/react-icons": "^1.3.2",
"fumadocs-core": "^16.5.0",
"fumadocs-mdx": "^14.2.6",
diff --git a/apps/example/app/components/Assistant.tsx b/apps/example/app/components/Assistant.tsx
index c22aa3c..1f4ad89 100644
--- a/apps/example/app/components/Assistant.tsx
+++ b/apps/example/app/components/Assistant.tsx
@@ -22,7 +22,7 @@ import {
ScrollToBottom,
ThreadEmpty,
ToolCallRenderer,
-} from "@assistant-ui/ux-primitives";
+} from "@assistant-ui/chords";
import { mockModelAdapter } from "../lib/mock-model-adapter";
import type { FC } from "react";
diff --git a/apps/example/app/globals.css b/apps/example/app/globals.css
index 2a5767e..2abde2f 100644
--- a/apps/example/app/globals.css
+++ b/apps/example/app/globals.css
@@ -1,5 +1,5 @@
@import "tailwindcss";
-@source "../node_modules/@assistant-ui/ux-primitives/dist";
+@source "../node_modules/@assistant-ui/chords/dist";
@custom-variant dark (&:where(.dark, .dark *));
diff --git a/apps/example/package.json b/apps/example/package.json
index b811d3b..132d90b 100644
--- a/apps/example/package.json
+++ b/apps/example/package.json
@@ -12,7 +12,7 @@
"react": "19.2.3",
"react-dom": "19.2.3",
"@assistant-ui/react": "0.12.3",
- "@assistant-ui/ux-primitives": "workspace:*",
+ "@assistant-ui/chords": "workspace:*",
"@assistant-ui/styles": "^0.1.4",
"clsx": "^2.1.1",
"tailwind-merge": "^3.4.0"
diff --git a/package.json b/package.json
index 581d3bd..a467987 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "assistant-ui-ux-primitives",
+ "name": "assistant-ui-chords",
"private": true,
"packageManager": "pnpm@10.19.0",
"scripts": {
diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json
index 0f1939b..55c8115 100644
--- a/packages/core/package-lock.json
+++ b/packages/core/package-lock.json
@@ -1,11 +1,11 @@
{
- "name": "@assistant-ui/ux-primitives",
+ "name": "@assistant-ui/chords",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "@assistant-ui/ux-primitives",
+ "name": "@assistant-ui/chords",
"version": "1.0.0",
"dependencies": {
"@assistant-ui/react": "0.12.3",
diff --git a/packages/core/package.json b/packages/core/package.json
index 4a72e39..a7e73c3 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,5 +1,5 @@
{
- "name": "@assistant-ui/ux-primitives",
+ "name": "@assistant-ui/chords",
"version": "1.0.0",
"private": false,
"type": "module",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 75a001a..1d3a235 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -17,12 +17,12 @@ importers:
apps/docs:
dependencies:
+ '@assistant-ui/chords':
+ specifier: workspace:*
+ version: link:../../packages/core
'@assistant-ui/react':
specifier: 0.12.3
version: 0.12.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- '@assistant-ui/ux-primitives':
- specifier: workspace:*
- version: link:../../packages/core
'@radix-ui/react-icons':
specifier: ^1.3.2
version: 1.3.2(react@19.2.3)
@@ -72,15 +72,15 @@ importers:
apps/example:
dependencies:
+ '@assistant-ui/chords':
+ specifier: workspace:*
+ version: link:../../packages/core
'@assistant-ui/react':
specifier: 0.12.3
version: 0.12.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
'@assistant-ui/styles':
specifier: ^0.1.4
version: 0.1.18
- '@assistant-ui/ux-primitives':
- specifier: workspace:*
- version: link:../../packages/core
clsx:
specifier: ^2.1.1
version: 2.1.1