heroui-migration について
heroui-migration は、HeroUI v2 のアプリを v3 へ移行するエージェント向けスキルです。全体移行と段階的な移行の手順に加え、コンポーネントやスタイルのガイド取得方法を示し、変更前の文書確認を重視します。
主な機能
- 01全体移行と段階的移行の手順
- 02コンポーネント別の移行ガイド
- 03コンポーネント API とイベントの変更
- 04依存関係とスタイルの移行案内
- 05スクリプトによる文書取得
活用シーン
- 01HeroUI v2 プロジェクトの v3 への更新
- 02大規模コードベースでの段階的な移行
- 03特定コンポーネントの移行手順の確認
MCP 対応
HeroUI Migration MCP サーバーを設定すると、Cursor などの MCP クライアントからツール経由で移行ガイドにアクセスできます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ heroui-inc/ heroui --skill heroui-migrationインストール後、Claude Code で/heroui-migrationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtscripts/get_component_migration_guides.mjsget_hooks_migration_guide.mjsget_migration_guide.mjsget_styling_migration_guide.mjslist_migration_guides.mjs詳細
HeroUI v2 から v3 への移行ガイド
このスキルは、エージェントが HeroUI v2 アプリケーションを v3 に移行するのを支援します。HeroUI v3 では、複合コンポーネント、Provider の廃止、Tailwind v4、フックの削除など、互換性を破る変更が導入されています。
インストール
curl -fsSL https://heroui.com/install | bash -s heroui-migration
重要:適用前に必ず移行ドキュメントを取得してください
**v2 のパターンが v3 でも使えると思い込まないでください。**変更を実装する前に、必ず移行ガイドを取得してください。
v2 → v3 の主な変更点
| 機能 | v2(移行元) | v3(移行先) |
|---|---|---|
| Provider | <HeroUIProvider> が必要 | Provider は不要です |
| コンポーネント API | フラットな props:<Card title="x"> | 複合コンポーネント:<Card><Card.Header> |
| イベントハンドラー | onClick | onPress |
| スタイリング | classNames prop | className prop |
| フック | useSwitch、useDisclosure など | 複合コンポーネント、useOverlayState |
| パッケージ | @heroui/system、@heroui/theme | @heroui/react、@heroui/styles |
移行ドキュメントへのアクセス
移行の詳細、例、手順ごとのガイドについては、必ずドキュメントを取得してください。
スクリプトを使用する
# List all available component migration guides
node scripts/list_migration_guides.mjs
# Get main migration workflow (full or incremental)
node scripts/get_migration_guide.mjs full
node scripts/get_migration_guide.mjs incremental
# Get component-specific migration guides
node scripts/get_component_migration_guides.mjs button
node scripts/get_component_migration_guides.mjs button card modal
# Get styling migration guide
node scripts/get_styling_migration_guide.mjs
# Get hooks migration guide
node scripts/get_hooks_migration_guide.mjs
直接 URL を指定する
移行ドキュメント(プレビュー):以下の例から具体的なガイドの URL を使用し、プレースホルダーが残っている URL は取得しないでください。
例:
- 全体移行:
.../agent-guide-full.mdx - 段階的移行:
.../agent-guide-incremental.mdx - Button:
.../button.mdx - スタイリング:
.../styling.mdx - フック:
.../hooks.mdx
ドキュメントが本番環境にマージされたら、HEROUI_MIGRATION_DOCS_BASE でベース URL を上書きしてください。
MCP の代替手段
Cursor などの MCP クライアントを使用する場合は、ツール経由でアクセスできるように Migration MCP サーバーを設定してください。
{
"mcpServers": {
"heroui-migration": {
"url": "https://migration-mcp.heroui.com"
}
}
}
移行戦略
全体移行
- 最適な対象:まとまった時間を確保でき、一時的にコードが壊れることを許容できるチーム
- まずすべてのコンポーネントコードを移行します(移行中はプロジェクトが動作しません)
- 依存関係を v3 に切り替えます
- スタイリングの移行を完了します
段階的移行
- 最適な対象:機能を維持する必要があるプロジェクト、段階的に移行する大規模なコードベース
- 共存環境を設定します(pnpm エイリアスまたはコンポーネントパッケージ)
- コンポーネントを 1 つずつ移行します
- 移行中は v2 と v3 を共存させます
開始前に必ずエージェントガイドを取得してください: node scripts/get_migration_guide.mjs full または incremental
基本原則
- まず取得する:変更を適用する前に、スクリプトを使って移行ガイドを取得します
- 複合コンポーネント:v3 では、フラットな props ではなく、
Card.Header、Card.Title、子要素を持つButtonを使用します - Provider は不要:移行時に
HeroUIProviderを削除します - onClick ではなく onPress:すべてのインタラクティブなコンポーネントで
onPressを使用します - ワークフロー:分析 → コンポーネントの移行 → 依存関係の切り替え → スタイリングの移行
移行ワークフローの概要
- 移行ブランチを作成します
- プロジェクトを分析します(HeroUI のインポート、コンポーネントの使用状況)
- メインガイドを取得します:
node scripts/get_migration_guide.mjs full - コンポーネントをまとめて移行します(バッチごとにコンポーネントガイドを取得します)
- 依存関係を v3 に切り替えます
- スタイリングガイドを取得します:
node scripts/get_styling_migration_guide.mjs - スタイリングを更新します
プレビューモード
このスキルは、docs/migration ブランチのステージング環境を対象としています。ドキュメントが main にマージされ、heroui.com で公開されたら、HEROUI_MIGRATION_DOCS_BASE=https://heroui.com/docs/react/migration を設定するか、スクリプトのデフォルト値を更新してください。