今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
今日の優良食堂 · ギット飯が代わりに導入・分析

magicuidesign/magicui

デザインエンジニア向けのモダンUIコンポーネントライブラリです。

SaaSダッシュボードのホバーや遷移で「もう少し洗練されていれば」と感じた瞬間、magicuidesignのコンポーネントをコピー&ペーストすれば、その場でFramer Motionの滑らかな動きが動き出します。shadcn-ui互換のTailwind CSSコードなので外部依存を追加せず、既存のデザインシステムにそのまま組み込める点も試す価値があります。Radix UIやTypeScript型チェックまで実際に構築されているレジストリなので、動くコードを手元で確認しながら今日のUIに反映できます。

01 / 概要
何をするものか一文で言うと
ひとことでデザインエンジニア向けのモダンUIコンポーネントライブラリです。

Magic UIは、Framer Motion(motion)とTailwind CSSで作られたアニメーション付きUIコンポーネント集です。shadcn/uiと同じ「コピー&ペースト」方式で、npx shadcnコマンド経由でNext.jsプロジェクトに直接コンポーネントを追加できます。ランディングページやマーケティング用UIに使うBento Grid、Globe、Terminalなどの見た目重視の部品が中心です。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

配布の仕組みはnpmパッケージではなくregistry.jsonベースです。apps/www/scripts/build-registry.mtsでregistryを構築し、shadcn CLIの`npx shadcn add @magicui/globe`コマンドがpublic/r配下に生成されたJSONを取得して、ソースコード自体をユーザーのcomponents/ui/にコピーします。README通りshadcn/uiの`init`コマンドでプロジェクトをセットアップした後、必要なコンポーネントだけをその都度追加する流れです。apps/wwwはNext.js 15とfumadocs-mdxで作られたドキュメントサイト兼デモ環境で、実際のコンポーネントプレビューはcomponent-preview.tsx・component-preview-tabs.tsxが担っています。依存関係にはmotion、radix-ui各種、canvas-confetti、cobe(Globe用)、rough-notationなど視覚効果系ライブラリが並び、これらがコンポーネントの内部実装で使われる想定です。CI側はcode-check.ymlでlint・typecheck・format・registry-deps:checkを走らせ、registryとコード内の依存記述がずれていないかをスクリプトで機械的に検証しています。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    `npx shadcn@latest init`を実行すると、既存のshadcn/ui設定と同じ質問(スタイル・ベースカラー・エイリアスなど)に答える画面が表示されます。

  2. STEP 02

    `npx shadcn@latest add @magicui/globe`のようにコンポーネント名を指定すると、対応するregistryのJSONが取得され、components/ui/globe.tsxとしてファイルが生成されます。

  3. STEP 03

    生成されたコードをそのまま`import { Globe } from "@/components/ui/globe"`でページに読み込むと、cobeライブラリを使った3D地球儀アニメーションがそのまま動きます。

  4. STEP 04

    コンポーネントによってはmotion(旧framer-motion)やcanvas-confetti、rough-notationなど個別のnpmパッケージが追加で必要になるため、依存関係が入っていないとimportエラーになる場合があります。

  5. STEP 05

    公式ドキュメントサイト(magicui.design/docs)のComponentsListページを見ると、各コンポーネントの実際の動作プレビューとソースコードタブが並んでおり、コピー前に挙動を確認できます。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

手元には「動くコンポーネントのソースコード一式」が残ります。npmパッケージとして依存追加するのではなく、TailwindクラスとReactコードが自分のプロジェクトファイルとして直接入るため、あとから自由に改造・拡張できる状態になります。ランディングページ向けの装飾的なUI(グリッド、テキストアニメーション、地球儀、ターミナル風表示など)を、ゼロから実装せずに組み込める点が実利です。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

配布形態がnpmパッケージではなくregistry経由のコード生成なので、shadcn CLIのバージョンやNext.js・Tailwind v4など前提環境が揃っていないと、`shadcn add`のセットアップ段階でつまずく可能性があります。

02

コンポーネントごとにmotion、cobe、canvas-confettiなど個別ライブラリへの依存があり、追加したコンポーネントの数だけpackage.jsonの依存が増えていく点は把握しておく必要があります。

03

本リポジトリのapps/www自体はドキュメント・ブログ・マーケティングサイトのコードが大部分を占めており、コンポーネント本体のソースはregistry配下(今回のファイルツリーには含まれていない部分)にある前提で判断しています。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

Next.js+Tailwind+shadcn/uiをすでに使っていて、ランディングページに視覚的なアクセントを素早く追加したいチームには向いています。コピー&ペースト方式なのでコードの中身を読んで調整する前提の人向けで、ブラックボックスなパッケージ導入を好む人には合わないかもしれません。この判断はREADME・package.json・installationドキュメント・CIワークフローという一次資料に基づいており、配布方式や依存構成は実際に一致していますが、個々のコンポーネントの見た目や品質そのものは今回参照したファイル群には含まれていないため、そこは実際にpreviewページを見て確認するのが安全です。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する