Documents
AGENTS
AGENTS
Type
External
Status
Published
Created
Mar 17, 2026
Updated
Mar 17, 2026
Updated by
Dosu Bot

Architecture#

@assistant-ui/tap → Zero-dep reactive primitives (tapState, tapEffect, etc.)
@assistant-ui/store → Bridges tap with React (useAui, useAuiState, AuiProvider)
@assistant-ui/core → Shared primitives and types for React + React Native
@assistant-ui/react → Web distribution (re-exports core + adds Radix primitives)
@assistant-ui/react-native → RN distribution (re-exports core + adds RN primitives)
@assistant-ui/react-ink → Ink/terminal distribution

Changesets#

Every PR that changes a published package needs a changeset. Always use patch — minor/major require maintainer approval. Private packages (@assistant-ui/docs, @assistant-ui/shadcn-registry) are exempt.

---
"@assistant-ui/react": patch
---

feat: description of the change

Biome custom hooks#

useExhaustiveDependencies tracks: tapEffect, tapMemo, tapCallback, tapConst, tapResources. tapEffectEvent returns a stable value.

Package boundaries#

@assistant-ui/core contains shared code. It has a ./react sub-path that both @assistant-ui/react and @assistant-ui/react-native re-export from. Customers never install core directly — they use one of the three distribution packages (react, react-native, react-ink).

@assistant-ui/ui contains shadcn-style components that get copied into user projects. We use them directly in the monorepo to avoid duplication.

There is an ongoing migration from the legacy runtime architecture to a tap-only architecture.