ユーザーガイド
セットアップの自動化やコンポーネントのインストールを行うCLIツールです。
インストール
CLI の設定ファイルを初期化します。
npx @fumadocs/cliコンポーネントの出力パスは、設定ファイルで変更できます。
初期化
既存のアプリに Fumadocs をセットアップします。Next.js、React Router、TanStack Start、Waku、Astro に対応しています。
npx @fumadocs/cli initアプリとの競合を避けるため、ドキュメントページは独自のプロバイダーとレイアウトを持つ専用のルートグループ(Next.js の場合は app/(docs) など)に追加されます。検索 API などのルートハンドラーはサンプルに準拠します。既存のファイルへの変更はわずかです。
- フレームワーク設定への Fumadocs MDX プラグインの追加。
- グローバル CSS への Fumadocs UI スタイルの追加。
- テーマ切り替えのため、ルートレイアウトの
<html>要素へのsuppressHydrationWarningの追加。 .gitignoreへの.sourceの追加。
--i18n を指定すると、国際化もセットアップされます。ドキュメントのルートにロケールセグメントが追加され(ルーターが対応していれば、デフォルトロケールでは省略可能)、lib/i18n.ts 設定ファイルが作成されます。Next.js の場合は、ドキュメントのルートに限定したプロキシも作成されます。その他の機能は、プロジェクトの i18n 設定に従います。
ファイルを上書きする前には確認が求められます。プロンプトをスキップするには --yes を、依存関係を package.json に書き込むだけでインストールを行わない場合は --no-install を指定してください。
機能
プロジェクトで機能を設定すると、必要なコンポーネントとルートがインストールされ、アプリに組み込まれます。
npx @fumadocs/cli feature ai --provider openrouter| 機能 | 説明 |
|---|---|
docs | Fumadocs をセットアップします。init と同じです。 |
ai | AIに質問ダイアログ。--provider を指定できます。 |
llms | LLM ルート:llms.txt、llms-full.txt、ページごとの Markdown。 |
mcp | ドキュメントを検索・閲覧するための MCP サーバー。 |
webmcp | ブラウザー上の AIエージェント向けの WebMCP ツール(実験的)。 |
og | Takumi または next/og(Next.js のみ)による Open Graph 画像の生成。--engine を指定できます。 |
search | サードパーティの検索ソリューション。--provider を指定できます。 |
feedback | ドキュメントページに表示するフィードバックコンポーネント。 |
epub | EPUB をエクスポートするためのルート。 |
lint | ESLint(Next.js のみ)、Biome、Oxlint のいずれかを設定します。--linter を指定できます。 |
各機能はお使いの構成に合わせて調整されます。
- Macro API または
source.config.tsを使用した Fumadocs MDX。その他のコンテンツソースではllms、mcp、epubを使用できません。 - ドキュメントの
baseUrl、src/ディレクトリ、next.config.ts、i18n、静的エクスポート、SPA モード。 - ファイルベースのルートを使用する React Router、登録が必要なルートが出力されます。
@fumadocs/astroコレクションを使用する Astro:aiは利用できず、mcpとepubにはアダプターが必要です。
ルートのパスは lib/shared.ts の定数として定義されます。
利用可能なオプションはヘルプで確認できます。
npx @fumadocs/cli feature -hコンポーネント
コンポーネントを選択してインストールします。
npx @fumadocs/cli addコンポーネント名を直接渡すこともできます。
npx @fumadocs/cli add banner files仕組み
CLI は Fumadocs レジストリ (https://fumadocs.dev/registry) からコンポーネントの最新バージョンを取得します。
そのため、インストールしたコンポーネントは常に最新の状態です。
また、import パスの変換も行います。 CLI は必ず最新バージョンを使用してください。
この仕組みは Shadcn UI から大きな影響を受けています。
カスタマイズ
Fumadocs のレイアウトを手軽にカスタマイズする方法です。
npx @fumadocs/cli customizeこのコマンドはレイアウトを layouts にインストールし、ルートファイルのインポート先をそのレイアウトに書き換えます。
Shadcn UI
components.json があるプロジェクトでは、CLI は Shadcn UI のエイリアスに従って次の処理を行います。
shadcnプリセットをインストールし、Fumadocs UI でプロジェクトのテーマカラーが使われるようにします。uiディレクトリ内のbutton、popover、collapsibleを再利用します。これらは Shadcn UI と共通の API を持っています。cnをutilsエイリアスからインポートします。
Fumadocs 版のコンポーネントは、プロジェクトにまだ存在しない場合にのみインストールされます。
Tree
ターミナルの tree コマンドを使って、Fumadocs UI の Files コンポーネント用のファイルツリーを生成します。
npx @fumadocs/cli tree ./my-dir ./output.tsxMDX ファイルとして出力することもできます。
npx @fumadocs/cli tree ./my-dir ./output.mdx詳しくは、ヘルプを参照してください。
npx @fumadocs/cli tree -h出力例
import { File, Folder, Files } from 'fumadocs-ui/components/files';
export default (
<Files>
<Folder name="app">
<File name="layout.tsx" />
<File name="page.tsx" />
<File name="global.css" />
</Folder>
<Folder name="components">
<File name="button.tsx" />
<File name="tabs.tsx" />
<File name="dialog.tsx" />
</Folder>
<File name="package.json" />
</Files>
);How is this guide?
最終更新日
