Skip to content

Latest commit

History

131 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

intentface-chat

Monorepo for @intentface/chat — headless chat UI primitives for React — and the documentation site and playground at intentface.dev.

The package ships behavior, state, and wire formats with no styling of its own: a contenteditable composer with commands and chips, a thread with scroll auto-follow, message part segmentation, tool-call timelines. This is the Base UI model applied to chat — the package owns behavior, you own every class.

Layout

PathWhat it is
packages/chatThe published package. Namespace exports per primitive, built per-module by tsc.
content/docsDocumentation pages (MDX, via fumadocs).
components/docsDocs-site chrome: previews, code blocks, tables.
components/ai, components/uiThe playground's own styled layer. App-private — it uses design tokens, Motion, and local icons, and is not published or supported for copying.
app/(chat)The playground chat.
app/docsThe documentation site.

Development

bun install # also generates .source via fumadocs-mdx (postinstall)
bun dev # http://localhost:3000
bun run lint # biome check
bunx tsc --noEmit # typecheck
bun run build # production build

The playground chat needs .env.local with OPENAI_API_KEY. The docs site renders without it.

Package tests and build:

cd packages/chat
bun test
bun run build

Contributing

Conventions, architecture, and patterns live in AGENTS.md — read it before opening a PR. Changesets gate releases: run bunx changeset for any user-facing change to packages/chat.

License

MIT

Releases

Packages

Used by

Contributors

Languages