Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
},
"metadata": {
"description": "Agent skills for building AI chat interfaces with assistant-ui",
"version": "0.0.1"
"version": "0.0.2"
},
"plugins": [
{
Expand All @@ -22,7 +22,11 @@
"./skills/streaming",
"./skills/cloud",
"./skills/thread-list",
"./skills/update"
"./skills/update",
"./skills/copilots",
"./skills/react-mcp",
"./skills/observability",
"./skills/markdown"
]
}
]
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ npx skills add assistant-ui/skills
| `/cloud` | Cloud persistence and authentication |
| `/thread-list` | Multi-thread management |
| `/update` | Update assistant-ui and AI SDK to latest versions |
| `/copilots` | Ground the assistant in your app (instructions, context, visible components, interactables) |
| `/markdown` | Markdown rendering (syntax highlighting, LaTeX, Mermaid, Streamdown) |
| `/react-mcp` | User-managed MCP server UIs (connect, OAuth, manage) |
| `/observability` | Backend tracing and telemetry (Langfuse, LangSmith, Helicone) |

## Usage

Expand All @@ -36,6 +40,10 @@ After installation, use skills in Claude Code by typing `/` followed by the skil
/cloud # Persistence and auth
/thread-list # Multi-thread management
/update # Update assistant-ui and AI SDK versions
/copilots # Ground the assistant in your app
/markdown # Markdown rendering and customization
/react-mcp # User-managed MCP servers
/observability # Backend tracing and telemetry
```

## Links
Expand Down
2 changes: 1 addition & 1 deletion assistant-ui/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "assistant-ui",
"description": "Skills for building AI chat interfaces with assistant-ui React library",
"version": "0.0.1",
"version": "0.0.2",
"author": {
"name": "assistant-ui"
},
Expand Down
5 changes: 2 additions & 3 deletions assistant-ui/skills/assistant-ui/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
---
name: assistant-ui
description: Guide for assistant-ui library - AI chat UI components. Use when asking about architecture, debugging, or understanding the codebase.
version: 0.0.1
description: "Overview and router for assistant-ui, the React library for building AI chat interfaces from composable primitives. Use for high-level, cross-cutting, or architecture-overview questions: choosing packages, picking a runtime, or understanding the layered model (RuntimeCore, Runtime, context hooks, primitives) and message model. Covers the `@assistant-ui/react` core plus `@assistant-ui/react-ai-sdk`, `@assistant-ui/react-langgraph`, `assistant-stream`, and `assistant-cloud`; `AssistantRuntimeProvider`; the primitives `ThreadPrimitive`, `MessagePrimitive`, `ComposerPrimitive`; the hooks `useAui`, `useAuiState`, `useAuiEvent`; and runtime selection across `useChatRuntime`, `useExternalStoreRuntime`, `useLangGraphRuntime`, `useLocalRuntime`. For a specific area route to a focused sibling instead: setup, runtime, primitives, tools, streaming, cloud, thread-list, or update. Not for hands-on tasks already owned by those siblings."
license: MIT
---

# assistant-ui

**Always consult [assistant-ui.com/llms.txt](https://assistant-ui.com/llms.txt) for latest API.**
**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms.txt) for the latest API.**

React library for building AI chat interfaces with composable primitives.

Expand Down
6 changes: 2 additions & 4 deletions assistant-ui/skills/assistant-ui/references/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,10 @@ React hooks for accessing runtime:
// Modern API (recommended)
import { useAui, useAuiState, useAuiEvent } from "@assistant-ui/react";

// Get API for imperative actions
const api = useAui();

// Subscribe to state changes
const messages = useAuiState(s => s.thread.messages);

// Listen to events
useAuiEvent("composer.send", (e) => console.log(e));
```

Expand Down Expand Up @@ -126,7 +123,8 @@ interface ThreadAssistantMessage {
id: string;
role: "assistant";
content: MessagePart[];
status: "running" | "complete" | "incomplete" | "requires-action";
// status is an object, not a string. Check status.type.
status: MessageStatus; // { type: "running" | "complete" | "incomplete" | "requires-action"; reason?: string }
createdAt: Date;
}

Expand Down
9 changes: 5 additions & 4 deletions assistant-ui/skills/assistant-ui/references/packages.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
| @assistant-ui/store | State management |
| @assistant-ui/react-devtools | Developer tools |
| @assistant-ui/react-hook-form | React Hook Form integration |
| @assistant-ui/react-mcp | User-managed MCP server tools |
| @assistant-ui/react-a2a | Agent-to-Agent protocol for multi-agent systems |
| @assistant-ui/react-ag-ui | AG-UI protocol adapter for agent backends |
| @assistant-ui/cloud-ai-sdk | AI SDK hooks for assistant-cloud persistence |
Expand All @@ -34,7 +35,6 @@
| safe-content-frame | Sandboxed iframe content |
| tw-shimmer | Tailwind shimmer effects |
| tw-glass | Tailwind CSS v4 glass refraction effects |
| mcp-app-studio | MCP app builder |

## Core Packages

Expand Down Expand Up @@ -95,6 +95,7 @@ npm install @assistant-ui/react-ai-sdk @ai-sdk/react
- `useChatRuntime` - Main hook (recommended)
- `useAISDKRuntime` - Lower-level hook
- `AssistantChatTransport` - Custom transport class
- `frontendTools` - Forward frontend-registered tools to the backend route

### @assistant-ui/react-langgraph

Expand Down Expand Up @@ -147,6 +148,6 @@ npm install @assistant-ui/react-syntax-highlighter

## Version Compatibility

- `@assistant-ui/react` requires React 18+ or 19
- `@assistant-ui/react-ai-sdk` requires AI SDK v6 (`ai@^6`)
- Node.js >=24 recommended (monorepo requirement)
- `@assistant-ui/react` requires React 18 or 19 (`react@^18 || ^19`)
- `@assistant-ui/react-ai-sdk` depends on AI SDK v6 (`ai@^6`), which requires `zod@^3.25.76 || ^4.1.8`
- Node.js >=24 is only required to build the assistant-ui monorepo itself; consuming apps follow their framework's Node requirement
10 changes: 4 additions & 6 deletions assistant-ui/skills/cloud/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
---
name: cloud
description: Guide for assistant-cloud persistence and authorization. Use when setting up thread persistence, file uploads, or authentication.
version: 0.0.1
description: "Sets up assistant-ui Cloud persistence and authorization with the assistant-cloud package and AssistantCloud client. Use when adding cross-session thread/message persistence, multi-device chat history, file uploads, or auth to an assistant-ui app: passing the cloud option to useChatRuntime (with AssistantChatTransport from @assistant-ui/react-ai-sdk), configuring AssistantCloud with authToken (JWT), apiKey plus userId/workspaceId (server-side), or anonymous mode, and wiring auth providers like NextAuth, Clerk, or Firebase. Covers cloud.threads.list/get/create/update/delete, cloud.threads.messages(threadId), cloud.files.generatePresignedUploadUrl, the aui/v0 message format, custom adapters (CloudMessagePersistence, createFormattedPersistence, ThreadHistoryAdapter, RemoteThreadListAdapter), auto title generation, external_id/metadata mapping, and env vars NEXT_PUBLIC_ASSISTANT_BASE_URL and ASSISTANT_API_KEY. For the thread-list sidebar UI itself use thread-list."
license: MIT
---

# assistant-ui Cloud

**Always consult [assistant-ui.com/llms.txt](https://assistant-ui.com/llms.txt) for latest API.**
**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms.txt) for the latest API.**

Cloud persistence for threads, messages, and files.

## References

- [./references/persistence.md](./references/persistence.md) -- Thread and message persistence
- [./references/authorization.md](./references/authorization.md) -- Authentication patterns
- [./references/custom-persistence.md](./references/custom-persistence.md) -- Self-hosted message persistence
- [./references/auth-integrations.md](./references/auth-integrations.md) -- better-auth and Clerk integrations

## Installation

Expand Down Expand Up @@ -78,16 +79,13 @@ const cloud = new AssistantCloud({
## Cloud API

```tsx
// Thread operations
const threads = await cloud.threads.list();
await cloud.threads.create({ title: "New Chat" });
await cloud.threads.update(threadId, { title: "Updated" });
await cloud.threads.delete(threadId);

// Message operations
const messages = await cloud.threads.messages(threadId).list();

// File uploads
const { signedUrl, publicUrl } = await cloud.files.generatePresignedUploadUrl({
filename: "document.pdf",
});
Expand Down
Loading
Loading