- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Attachment
- Avatar
- Badge
- Breadcrumb
- Bubble
- Button
- Button Group
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Direction
- Drawer
- Dropdown Menu
- Empty
- Field
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kbd
- Label
- Marker
- Menubar
- Message
- Message Scroller
- Native Select
- Navigation Menu
- Pagination
- Popover
- Progress
- Questionnaire
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toast
- Toggle
- Toggle Group
- Tooltip
- Typography
2025 年 8 月 - shadcn CLI 3.0 と MCP サーバー
名前空間レジストリ、高度な認証、新しいコマンド、および完全に書き直されたレジストリ エンジン。
名前空間レジストリ、高度な認証、新しいコマンド、および完全に書き直されたレジストリ エンジンのサポートを備えた shadcn CLI 3.0 を出荷しました。
新着情報#
- 名前空間レジストリ -
@registry/name形式を使用してコンポーネントをインストールします。 - プライベートレジストリ - 高度な認証を使用してレジストリを保護します。
- 検索と発見 - インストール前にコードを検索して表示するための新しいコマンド。
- MCP サーバー - すべてのレジストリの MCP サーバー。
- すべてをより速く - レジストリ解決エンジンを完全に書き直しました。
- エラー処理の改善 - ユーザーと LLM に対するエラー メッセージが改善されました。
- アップグレードガイド - ユーザー以外の移行向けメモ。
名前空間レジストリ#
3.0 の最大の変更点は、名前空間レジストリです。 @registry/name 形式を使用して、レジストリ (コミュニティレジストリ、会社のプライベートレジストリ、または内部レジストリ) からコンポーネントをインストールできるようになりました。
これにより、チームやプロジェクト間でコードを配布することが容易になります。
components.jsonでレジストリを構成します。
{
"registries": {
"@acme": "https://acme.com/r/{name}.json",
"@internal": {
"url": "https://registry.company.com/{name}",
"headers": {
"Authorization": "Bearer ${REGISTRY_TOKEN}"
}
}
}
}次に、@registry/name 形式を使用してコンポーネントをインストールします。
pnpm dlx shadcn add @acme/button @internal/auth-system
完全に分散化されています。中央の登録機関はありません。チームにとって意味のある名前空間を自由に作成し、コンポーネントを整理できます。
{
"registries": {
"@design": "https://registry.company.com/create/{name}.json",
"@engineering": "https://registry.company.com/eng/{name}.json",
"@marketing": "https://registry.company.com/marketing/{name}.json"
}
}コンポーネントは、異なるレジストリのリソースに依存することもあります。すべてが適切なソースから自動的に解決され、インストールされます。
{
"name": "dashboard",
"type": "registry:block",
"registryDependencies": [
"@shadcn/card", // From default registry
"@v0/chart", // From v0 registry
"@acme/data-table", // From acme registry
"@lib/data-fetcher", // Utility library
"@ai/analytics-prompt" // AI prompt resource
]
}プライベートレジストリ#
コンポーネントを非公開にしておく必要がありますか?もちろん対応できます。API キーやカスタムヘッダーを使用して認証を構成するだけです。
{
"registries": {
"@private": {
"url": "https://registry.company.com/{name}.json",
"headers": {
"Authorization": "Bearer ${REGISTRY_TOKEN}"
}
}
}
}プライベートコンポーネントは非公開のままです。独自の UI ライブラリを備えたエンタープライズ チームに最適です。
ベーシック認証、ベアラートークン、API キーのクエリパラメータ、カスタムヘッダーなど、主要な認証方法をすべてサポートしています。
詳細については、認証ドキュメント を参照してください。
検索と発見#
3 つの新しいコマンドにより、必要なものを簡単に見つけることができます。
- インストールする前にレジストリの項目を表示する
pnpm dlx shadcn view @acme/auth-system
- レジストリから項目を検索する
pnpm dlx shadcn search @tweakcn -q "dark"
- レジストリのすべての項目を一覧表示する
pnpm dlx shadcn list @acme
コンポーネントをインストールする前にプレビューします。複数のレジストリを横断して検索します。事前にコードとすべての依存関係を確認してください。
MCP サーバー#
4 月に遡って、MCP サーバーの最初のバージョンを導入しました。それ以来、学んだことをすべて活かして、より優れた MCP サーバーを構築してきました。
新機能は次のとおりです。
- すべてのレジストリでゼロ構成で動作します
- お気に入りの MCP クライアントに追加する 1 つのコマンド
- 基盤となるツールを改善しました
- CLI およびレジストリとの統合の向上
- 同じプロジェクト内の複数のレジストリのサポート
MCP サーバーをプロジェクトに追加します。
pnpm dlx shadcn@latest mcp init
詳細については、ドキュメント を参照してください。
すべてをより速く#
レジストリ解決エンジンを最初から完全に書き直しました。より高速かつスマートで、最も扱いにくい依存関係ツリーも処理します。
- 最大 3 倍高速な依存関係の解決
- よりスマートなファイルの重複排除とマージ
- すぐに使用できるモノレポのサポートの向上
- レジストリ作成者向けの
buildコマンドを更新しました
エラー処理の改善#
レジストリ開発者は、問題が発生したときにユーザー (および LLM) をガイドするためにカスタム エラー メッセージを提供できるようになりました。 CLI には、一般的な問題に対して、対処可能なエラーが表示されます。
Unknown registry "@acme". Make sure it is defined in components.json as follows:
{
"registries": {
"@acme": "[URL_TO_REGISTRY]"
}
}環境変数はありませんか? CLI は必要なものを正確に示します。
Registry "@private" requires the following environment variables:
• REGISTRY_TOKEN
Set the required environment variables in your .env or .env.local file.レジストリ作成者は、ユーザーや AI エージェントが問題を迅速に理解して修正できるように、応答にカスタム エラー メッセージを提供できます。
Error:
You are not authorized to access the item at http://example.com/r/component.
Message:
[Unauthorized] Your API key has expired. Renew it at https://example.com/api/renew-key.アップグレードガイド#
ここが最も良い点です。ユーザーにとって重要な変更はありません。既存の components.json はまったく同じように機能します。インストールされているすべての要素はまったく同じように動作します。
開発者向けに、プログラム API を直接使用している場合、より良い関数を優先していくつかの関数を非推奨にしました。
fetchRegistry→getRegistryresolveRegistryTree→resolveRegistryItems- スキーマが
shadcn/registryからshadcn/schemaパッケージに移動しました
- import { registryItemSchema } from "shadcn/registry"
+ import { registryItemSchema } from "shadcn/schema"それでおしまい。本当に。それ以外はすべて正常に機能します。