Skip to content

v1: move to shadcn registry distribution - #158

Closed
jptaylor wants to merge 1 commit into
mainfrom
v1
Closed

v1: move to shadcn registry distribution#158
jptaylor wants to merge 1 commit into
mainfrom
v1

Conversation

@jptaylor

Copy link
Copy Markdown
Contributor

v1 — move to shadcn distribution

Greenfield rebuild replacing the npm package with a shadcn registry (Base UI flavor).

  • packages/registry — 13 voice components as registry items (@pipecat namespace, installed to components/pipecat/*), composed from stock shadcn/ui primitives via plain-name registryDependencies. Minimal per-item theme tokens: --active-background/-foreground, --inactive-background/-foreground, --agent, --client.
  • apps/docs — Fumadocs 16 site that hosts the registry (/r/{name}.json) and documents every component: live previews with Storybook-style config panels, an opt-in connected mode running a real PipecatClient, and CLI/Manual install tabs generated from the built registry JSON.
  • apps/storybook — Storybook 10 dev host, set up as a real Base UI shadcn consumer.
  • Tooling: pnpm 11 + Turbo monorepo, TS 6, ESLint 10, CI (lint / typecheck / registry + docs builds).

Consumer flow: add "@pipecat": "https://voiceuikit.pipecat.ai/r/{name}.json" to components.json, then npx shadcn@latest add @pipecat/user-audio-control. Verified end-to-end against a scratch Next.js app (primitives auto-install, tokens merge, production build passes).

The npm package (≤0.13.x) remains on main for reference.

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
voice-ui-kit-console-example Error Error Aug 10, 2026 10:17am
voice-ui-kit-docs Error Error Aug 10, 2026 10:17am

Request Review

Replaces the npm package with a registry that ships source. Consumers
register the @pipecat namespace in components.json and run
`npx shadcn add @pipecat/<item>`: files land in components/pipecat/*, stock
shadcn/ui primitives (Base UI flavor) and npm deps install as registry
dependencies, theme tokens merge into global CSS. The kit ships zero
primitives of its own.

packages/registry — 20 items: 15 components (connect button, device select,
user audio/video/screen controls, bot audio, conversation, text input,
transcript overlay, client status, session info, DTMF keypad, bar and radial
visualizers, metric tile), 2 blocks (metrics, console), 3 hooks
(use-pipecat-app, use-pipecat-metrics, use-pipecat-event-stream) plus shared
lib modules for the visualizer core and dynamic transport loading. Each item
pairs a Pipecat-connected export with a props-driven *View, exposes state via
data-state/data-slot, and declares only the theme tokens it needs. Transports
stay optional installs — a missing one surfaces an install hint.

apps/docs — Fumadocs site documenting every item with live config-panel
previews and an opt-in connected mode; also the registry host, serving
/r/{name}.json. apps/storybook — dev host set up as a real Base UI consumer,
and the vitest host for the per-item suites. apps/example — a strict
consumer installed from the registry so CI builds the shipped source.

Tooling: pnpm + turbo monorepo, TS 6, ESLint 10, CI running lint, typecheck,
test and build.

BREAKING CHANGE: distribution moves from the npm package to the shadcn
registry — components are copied into the consumer's source tree rather than
imported from @pipecat-ai/voice-ui-kit. The 0.13.x package source remains on
main.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant