Blume:MarkdownフォルダからAI対応ドキュメントを生成する、オープンソース・ゼロ設定のドキュメントフレームワーク
Hayden Bleasel氏が、MITライセンスのオープンソースドキュメントフレームワーク「Blume」をリリースしました。MarkdownまたはMDXフォルダを読み取り、隠れたAstroプロジェクトを生成し、ローカル検索、30以上のMDXコンポーネント、llms.txt、組み込みMCPサーバーを備えた静的でAI対応のドキュメントを提供します。
OpenAIのエキスパート開発者であるHayden Bleasel氏が、オープンソースのドキュメントフレームワーク「Blume」をリリースしました。Blumeは同日にバージョン1.0.3としてnpmに公開されました。そのコンセプトはシンプルです:Markdownをフォルダに入れれば、ドキュメントサイトが完成します。アプリのボイラープレートを書いたり保守したりする必要はありません。プロジェクトはMITライセンスでオープンソース化されています。
Blumeとは?
Blumeは、ドキュメント用のコンポーネントライブラリを備えたコマンドラインツールです。MarkdownまたはMDXファイルのフォルダを読み取り、そのフォルダからプロダクション品質のドキュメントサイトを生成します。出力には、ナビゲーション、検索、テーマ設定、Open Graph画像が含まれます。設定はオプションで、必要に応じてファイル単位で追加できます。コードはTypeScriptのモノレポで、公開パッケージはpackages/blumeにあります。Blume自身のドキュメント(apps/docs)はBlume自身で構築されています。Node.js 22.12以上が必要で、Bun、pnpm、npm、yarnのいずれでも実行できます。
Blumeの仕組み
内部では、Blumeは隠れたAstroプロジェクトを生成して駆動します。まず、CLIがblume.config.tsを読み込み、コンテンツをグラフにスキャンします。次に、.blume/ディレクトリにAstroプロジェクトを書き込みます。Astroは単一のキャッチオールルートを通じて各ページをレンダリングします。そのルートは、Blumeが提供するコンポーネント、生成されたデータ、ユーザーのオーバーライドをインポートします。実行のたびに.blume/が再生成され、変更されたファイルのみが書き換えられます。そのため、編集時のホットリロードは高速に保たれます。コアテーマはクライアントフレームワークのJavaScriptを送信しないため、ページはデフォルトでCore Web Vitalsで高いスコアを獲得します。完全な制御が必要な場合、blume ejectはランタイムをスタンドアロンのAstroアプリに昇格させます。それでも、ejectされたプロジェクトはblumeパッケージに依存します。
始め方
セットアップは1つのコマンドで完了するため、導入は短時間です。
npx blume init
その後、blume devでホットリロードサーバーを起動します。一方、blume buildは静的なHTMLとローカル検索インデックスをdist/に書き込みます。設定ファイルは実際のTypeScriptで、スキーマによって検証されます。
// blume.config.ts import { defineConfig } from "blume";
export default defineConfig({ content: { sources: [ { type: "filesystem", root: "docs" }, { type: "notion", database: process.env.NOTION_DB }, ], }, });
設定に型が付いているため、ビルド前にエディタが間違いをキャッチします。CLIは基本コマンド以上の完全なライフサイクルをカバーしています。
AI対応の設計
人間の読者だけでなく、Blumeはエージェントも対象としています。各ページはURLに.mdを追加すると生のMarkdownを返します。1つのフラグでllms.txtとllms-full.txtをエージェント用に生成します。各ページはMarkdownとしてコピーするか、ChatGPT、Claude、v0で開くことができます。オプションのページ内Ask AIアシスタントは、読者の質問に直接回答します。Vercel AI Gateway、OpenRouter、Inkeep、またはOpenAI互換のエンドポイントを介してAI SDK上で動作します。BlumeはModel Context Protocol (MCP)サーバーもホストでき、Claude Code、Cursor、VS Codeがドキュメントを直接読み取ることができます。
Claude MCP追加コマンド例: claude mcp add --transport http your-docs https://docs.example.com/mcp
このサーバーは、search_docs、get_page、list_pages、get_navigationの4つの読み取り専用ツールを公開します。
ユースケースの例
これらの機能は具体的なタスクに対応しています。API製品の場合は、OpenAPIまたはAsyncAPI仕様を配置します。Blumeはスキーマ、認証、Scalarによるリクエストプレイグラウンドを備えたインタラクティブなリファレンスをレンダリングします。ライブラリの場合は、BlumeをGitHub Releasesに向けます。各リリースはRSSフィード付きの生成された変更ログタイムラインにまとめられます。グローバルなオーディエンスには、ロケールごとに翻訳ファイルを追加します。Blumeは36のロケール、ロケール対応ルーティング、右から左へのレイアウトをサポートします。混合コンテンツの場合は、ローカルファイルとリモートのMDX、Notion、Sanityを組み合わせます。すべてのソースは同じコンポーネントでレンダリングされます。
世界クラスのドキュメントフレームワークの紹介
あなたが提供するすべてのものに対応する世界クラスのドキュメントフレームワーク。Markdownをフォルダに入れるだけで、アプリのボイラープレートなしで完全なドキュメントサイトを提供します。→ ゼロ設定セットアップ → 自動SEOとAEO → 30以上のコンポーネント → Astro + Viteによる駆動 → オープンソース、永久無料。
比較
参考までに、Blumeを3つの一般的なドキュメントアプローチと比較します。機能は急速に変化するため、採用する前に最新の詳細を確認してください。
(比較表は省略)
強みと弱み
強み:ゼロ設定で開始可能、静的な出力でコアクライアントJSなし、組み込みAIサーフェス、型安全な設定、スタンドアロンAstroアプリへのejectパスにより長期的なロックインを軽減。
弱み:バージョン1.0.3は新しいためエコシステムがまだ若い、Node.js 22.12以上が必要、リクエスト時機能にはサーバーアダプターが必要、セルフホストモデルでは分析とアシスタントの配線を自分で行う必要がある、成熟したホスト型プラットフォームに比べてサードパーティ統合が少ない。
主なポイント
BlumeはMarkdownフォルダをゼロ設定でプロダクションのドキュメントサイトに変えます。内部でAstroとViteプロジェクトを駆動し、スタンドアロンのAstroにeject可能です。AI機能はllms.txt、ページごとのMarkdownエクスポート、MCPサーバーなどが組み込まれています。MITライセンス、Node.js 22.12+が必要で、リリース日にnpm v1.0.3に達しました。初期採用者には、Mintlifyから移行したQuiverやNeonのadd-mcpドキュメントが含まれます。
GitHubリポジトリをチェックしてください。また、Twitterでフォローしたり、150k+ML SubRedditに参加したり、ニュースレターを購読したりしてください。Telegramにも参加できます。
GitHub RepoやHugging Faceページ、製品リリース、ウェビナーなどのプロモーションでパートナーシップをご希望の場合は、お問い合わせください。