Blume への移行
Mintlify、Fumadocs、Docusaurus、Starlight、Nextra のサイトを、Claude Code または Codex に移行作業を任せる 1 つのコマンドで Blume に移行します。
ドキュメントサイトを Blume らしい構成に移行するには、codemod では下せない判断が必要です。宣言されたナビゲーションのうちどれをフォルダーにするか、どのコンポーネントをディレクティブにするか、そして Blume に相当するものがないのはどれか、といった判断です。そのため blume migrate は、Blume の移行プレイブックに沿って作業するコーディングエージェントにこの作業を任せ、あなたは各編集をレビューします。
1 つのコマンドで移行する
移行するドキュメントプロジェクトのルートで実行します:
npx blume migrate fumadocs --claudepnpm dlx blume migrate fumadocs --claudeyarn dlx blume migrate fumadocs --claudebunx blume migrate fumadocs --claudenubx blume migrate fumadocs --claudeaube dlx blume migrate fumadocs --claudefumadocs はお使いのフレームワークに置き換えてください。Codex を使う場合は --claude を --codex に置き換えます。pnpm 12 は承認なしに esbuild のインストールスクリプトを実行しないため、pnpm 12 では pnpm dlx の後に --allow-build=esbuild を追加してください。エージェントはターミナル内で対話的に起動するため、すべての編集はエージェント自身の許可フローを通ります。エージェントはファイルを直接編集するため、クリーンなワーキングツリーから始め、移行全体を 1 つの diff としてレビューしてください。
移行元
移行元のフレームワークを指定してください。省略した場合は、Blume がプロジェクト内のファイルから自動的に検出します。指定したフレームワークとプロジェクトの内容が異なるように見える場合、Blume は警告を表示したうえで、指定されたフレームワークのまま処理を続行します:
| 移行元 | 検出の手がかり |
|---|---|
mintlify |
docs.json または mint.json |
fumadocs |
source.config.ts、または package.json 内の fumadocs-core、fumadocs-ui、fumadocs-mdx |
docusaurus |
docusaurus.config.* |
starlight |
package.json 内の @astrojs/starlight |
nextra |
package.json 内の nextra |
各移行元には、プレイブック内に専用のマッピングリファレンスがあります。これら以外で構築されたサイトも移行できます。移行元を指定せずにコマンドを実行すると、エージェントはまずリポジトリの内容を洗い出し、その後プレイブックの一般的なルールに沿って作業します。
エージェントが行うこと
エージェントは、移行元の設定の読み取りからビルドが成功するまで、プレイブックのワークフローに従って作業します:
blume.config.tsを作成します。移行元で宣言されている項目のみをマッピングし、それ以外は Blume のデフォルトに任せます。- コンテンツをファイルシステムナビゲーションに合わせて再構成し、フォルダーごとの並び順ファイル(Fumadocs の
meta.json、Nextra の_meta)をmeta.tsに変換します。 - ページを書き換えます。フロントマターを Blume のスキーマに、コールアウトコンポーネントをディレクティブに、アイコンを Lucide に変換し、スニペットはインライン化します。
- 移動するすべての URL にリダイレクトを追加し、リンク切れを防ぎます。
package.jsonのスクリプトをblume devとblume buildに向け、旧フレームワークの依存関係をblumeに置き換えます。blume buildとblume validateの両方が成功するまで実行を繰り返します。
最後に、移行したもの、削除したもの、近似的に対応したもの(Blume に相当する機能がないフッターリンクや動的リダイレクトなど)の概要を示すので、それぞれをどう扱うかを判断できます。
その他のエージェント
--claude または --codex を指定しない場合、コマンドは検出した移行元を報告し、プレイブック(パッケージに同梱されている blume-migrate スキル)のパスを表示して、何も変更せずに終了します。他のエージェントにはその SKILL.md を参照させるか、表示されるコマンドを使って、エージェントがスキルを探す場所にスキルをインストールしてください:
npx skills add haydenbleasel/blume --skill blume-migrate
まずは比較する
比較ページでは、Blume を各フレームワークと並べて比較し、移行でそのまま引き継がれるものと書き換えられるものを一覧にしています。