125k

レジストリディレクトリ

オープンソースレジストリのインデックス

オープンソースレジストリのインデックスは、すぐに利用できるすべてのオープンソースレジストリの一覧です。

shadcn add または shadcn search を実行すると、CLI はレジストリインデックスから対象のレジストリを自動的に探し、components.json に追加します。

完全な一覧は https://ui.shadcn.com/r/registries.json で確認できます。

公開 GitHub レジストリを owner/repo/item 形式で使うために、レジストリディレクトリへ登録する必要はありません。レジストリディレクトリは @acme のような名前空間用です。

レジストリを追加する

  1. apps/v4/registry/directory.json にレジストリを追加します
  2. pnpm validate:registries を実行してレジストリディレクトリを検証します
  3. https://github.com/shadcn-ui/ui へプルリクエストを作成します

リクエストを送信すると、チームによる検証とレビューが行われます。

プルリクエストがマージされると、レジストリはすぐに公開されます。 レジストリヘルス は公開後に監視を開始し、基準データの収集中も公開を遅延・制限しません。

要件

  1. レジストリはオープンソースであり、公開アクセス可能である必要があります。
  2. レジストリは レジストリスキーマ仕様 に準拠した有効な JSON ファイルである必要があります。
  3. レジストリはネストのないフラットな構成である必要があります。すなわち /registry.json と /component-name.json ファイルがレジストリのルートにあることが想定されています。
  4. files 配列が存在する場合、content プロパティを含めてはいけません。

有効なレジストリの例を示します。

registry.json
{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "acme",
  "homepage": "https://acme.com",
  "items": [
    {
      "name": "login-form",
      "type": "registry:component",
      "title": "Login Form",
      "description": "A login form component.",
      "files": [
        {
          "path": "registry/new-york/auth/login-form.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "example-login-form",
      "type": "registry:component",
      "title": "Example Login Form",
      "description": "An example showing how to use the login form component.",
      "files": [
        {
          "path": "registry/new-york/examples/example-login-form.tsx",
          "type": "registry:component"
        }
      ]
    }
  ]
}