コンテンツにスキップ
Blume
Esc
↑↓移動↵開く⌘Jプレビュー
このページの内容

Blume への移行

Mintlify、Docusaurus、GitBook、MkDocs、ReadMe などのドキュメントサイトを、Codex または Claude Code に移行作業を任せる 1 つのコマンドで Blume に移行します。

ドキュメントサイトを Blume らしい構成に移行するには、codemod では下せない判断が必要です。宣言されたナビゲーションのうちどれをフォルダーにするか、どのコンポーネントをディレクティブにするか、そして Blume に相当するものがないのはどれか、といった判断です。そのため blume migrate は、Blume の移行プレイブックに沿って作業するコーディングエージェントにこの作業を任せ、あなたは各編集をレビューします。

1 つのコマンドで移行する

移行するドキュメントプロジェクトのルートで実行します:

npx blume migrate fumadocs --codex
pnpm dlx blume migrate fumadocs --codex
yarn dlx blume migrate fumadocs --codex
bunx blume migrate fumadocs --codex
nubx blume migrate fumadocs --codex
aube dlx blume migrate fumadocs --codex

fumadocs はお使いのフレームワークに置き換えてください。Claude Code を使う場合は --codex を --claude に置き換えます。pnpm 12 は承認なしに esbuild のインストールスクリプトを実行しないため、pnpm 12 では pnpm dlx の後に --allow-build=esbuild を追加してください。エージェントはターミナル内で対話的に起動するため、すべての編集はエージェント自身の許可フローを通ります。エージェントはファイルを直接編集するため、クリーンなワーキングツリーから始め、移行全体を 1 つの diff としてレビューしてください。

移行元

移行元のフレームワークを指定してください。省略した場合は、Blume がプロジェクト内のファイルから自動的に検出します。指定したフレームワークとプロジェクトの内容が異なるように見える場合、Blume は警告を表示したうえで、指定されたフレームワークのまま処理を続行します:

移行元 検出の手がかり ガイド
mintlify docs.json または mint.json Mintlify からの移行
fumadocs source.config.ts、または package.json 内の fumadocs-core、fumadocs-ui、fumadocs-mdx Fumadocs からの移行
docusaurus docusaurus.config.* Docusaurus からの移行
starlight package.json 内の @astrojs/starlight Starlight からの移行
nextra package.json 内の nextra Nextra からの移行
vitepress ルートまたは docs/ 内の .vitepress/config.ts(または .mts、.js、.mjs)、または package.json 内の vitepress VitePress からの移行
vuepress ルートまたは docs/ 内の .vuepress/config.ts(または .js、.mjs、.yml、.toml)、vuepress.config.*、または package.json 内の vuepress(または vuepress-vite、vuepress-webpack) VuePress からの移行
docus package.json 内の docus(Docus 3 以降)または @nuxt-themes/docus(Docus 1)。ワークスペースではドキュメントパッケージ内で実行してください Docus からの移行
mkdocs mkdocs.yml、mkdocs.yaml、zensical.toml、properdocs.yml、または properdocs.yaml MkDocs Material からの移行
mdbook ルート、docs/、または book/ 内の book.toml mdBook からの移行
fern fern/docs.yml Fern からの移行
gitbook .gitbook.yaml、.gitbook.yml、または gitbook-docs.yaml、あるいは package.json 内の honkit または gitbook-cli。SUMMARY.md だけでは検出されません GitBook からの移行
redocly sidebars.yaml、または package.json 内の @redocly/realm やその他の Realm 系パッケージ。redocly.yaml だけでは検出されません Redocly からの移行
readme docs/、reference/、recipes/、または custom_pages/ 内の _order.yaml。rdme でアップロードしているリポジトリでは移行元の指定が必要です ReadMe からの移行
docsify package.json 内の docsify-cli または docsify。package.json のないサイトでは移行元の指定が必要です Docsify からの移行
jekyll ルートまたは docs/ 内の _config.yml。Blume が検出する他のすべての移行元の後に確認されます Just the Docs からの移行
github-wiki 検出されません。Wiki には設定ファイルがないため、移行元を指定してください GitHub Wiki からの移行

検出は、コマンドを実行したフォルダーを対象に行われます。各移行元には、プレイブック内に専用のマッピングリファレンスがあります。また、いくつかの移行元には、機械的な書き換えのためにエージェントが最初に実行する codemod も用意されているため、エージェント自身は判断が必要な作業に注力できます。これら以外で構築されたサイトも移行できます。移行元を指定せずにコマンドを実行すると、エージェントはまずリポジトリの内容を洗い出し、その後プレイブックの一般的なルールに沿って作業します。

エージェントが行うこと

エージェントは、移行元の設定の読み取りからビルドが成功するまで、プレイブックのワークフローに従って作業します:

  1. blume.config.ts を作成します。移行元で宣言されている項目のみをマッピングし、それ以外は Blume のデフォルトに任せます。
  2. コンテンツをファイルシステムナビゲーションに合わせて再構成し、フォルダーごとの並び順ファイル(Fumadocs の meta.json、Nextra の _meta)を meta.ts に変換します。
  3. ページを書き換えます。フロントマターを Blume のスキーマに、コールアウトコンポーネントをディレクティブに、アイコンを Lucide に変換し、スニペットはインライン化します。
  4. 移動するすべての URL にリダイレクトを追加し、リンク切れを防ぎます。Docsify の #/ URL はサーバーに届かないため、それらについては各 URL を新しいページへ転送する小さなスクリプトを追加します。GitHub Wiki の URL は github.com 上に残り、そこではリダイレクトを設定できないため、エージェントは各ページを新しいルートに対応付け、旧 Wiki にプッシュできるリンクスタブを用意します。
  5. package.json のスクリプトを blume dev と blume build に向け、旧フレームワークの依存関係を blume に置き換えます。
  6. blume build と blume validate の両方が成功するまで実行を繰り返します。

最後に、移行したもの、削除したもの、近似的に対応したもの(Blume に相当する機能がないフッターリンクやナビゲーションバーのボタンなど)の概要を示すので、それぞれをどう扱うかを判断できます。

その他のエージェント

--codex または --claude を指定しない場合、コマンドは検出した移行元を報告し、プレイブック(パッケージに同梱されている blume-migrate スキル)のパスを表示して、何も変更せずに終了します。他のエージェントにはその SKILL.md を参照させるか、表示されるコマンドを使って、エージェントがスキルを探す場所にスキルをインストールしてください:

npx skills add haydenbleasel/blume --skill blume-migrate

まずは比較する

比較ページでは、Blume を各フレームワークと並べて比較し、移行でそのまま引き継がれるものと書き換えられるものを一覧にしています。

最終更新

このページは役に立ちましたか?