shadcn/ui入門:コピペで“所有する”Reactコンポーネント集(AIビルダーの土台)

shadcn/ui のアイキャッチ

「コンポーネントライブラリではなく、自分のコンポーネントライブラリの作り方」。shadcn/ui は、コピー&ペーストで“自分のコードとして所有する”UIコンポーネント集です。v0 や 21st.dev の土台にもなっており、AI時代のフロントエンドの事実上の標準になりつつあります。

shadcn/ui とは

shadcn/ui は、React 向けのオープンソースのUIコンポーネント集です。最大の特徴は、npmで入れて隠蔽する“依存ライブラリ”ではなく、コンポーネントのコードを自分のプロジェクトにコピーして所有すること。中身を自由に編集でき、ブラックボックスになりません。Radix UI(アクセシブルな土台)と Tailwind CSS で作られています。

仕組みと使い方

  1. 初期化:npx shadcn@latest init(components.json が作られ、テーマやパスを設定)。
  2. 追加:npx shadcn@latest add button dialog のように、必要な部品だけを取り込む。
  3. 取り込まれたコードは自分のリポジトリ内にあるので、自由に改変・拡張できる。

テーマは CSS変数で管理し、ダーク/ライトや配色を一元的に切り替えられます。「レジストリ」から自社用の部品を配布する運用も可能です。

なぜAIと相性が良いのか

v0 など多くのAIビルダーが、生成コードの土台に shadcn/ui を採用しています。コードが標準的で読みやすく、所有・編集できるため、AIが生成した後も人が手を入れやすいのが理由です。21st.dev のようなコンポーネント・マーケットも shadcn/ui を共通言語にしています。

使いどころ・注意点

  • 向く:自分でコンポーネントを所有・カスタムしたいモダンなReact/Next.jsプロジェクト。
  • 注意:コピー方式ゆえ、アップデートは自動では降ってこない(手動で取り込み直す)。Tailwind/Reactの前提知識があると活きる。

主な情報源

コマンド・仕様は公開時点のものです。最新は公式ドキュメントを確認してください。収集・要約はAI、公開判断は人。