メインコンテンツまでスキップ

CLI

docStatic には、ウェブサイトの生成、配信、デプロイを支援する一連のスクリプトが用意されています。これらは、サイトの package.json 内の scripts セクションで定義されており、これが正式な一覧となります。引数を指定せずに npm run を実行すると、サイトに実際に含まれているスクリプトが表示されます。

以下のコマンドは、その用途ごとにグループ分けされています。

docStatic CLI コマンド

コマンドを実行するには、npm または yarn を使用します。例えば、npm run devyarn dev などです。

主要な docStatic スクリプト:

  • `dev`: TinaCMSと連携した開発サーバーを起動します
  • `build`: 本番環境向けのビルドを行います(TinaCMSのビルドを実行した後、Docusaurusのビルドを実行します)
  • `build-local`: クラウド機能を使用せずにローカルでビルドします
  • `check-links`: トピック内のすべての外部リンクにリクエストを送信し、各サーバーが返したHTTPステータスを記録します。これにより、「Broken Links」ダッシュボードが実際の404や500エラーを報告できるようになります。--strict オプションを追加すると、リンク切れが見つかった場合にエラーで終了します。これは継続的インテグレーション(CI)ジョブで望ましい動作です。 ダッシュボードを参照してください。
  • `generate`: 以下のすべてのジェネレータを一括で実行します。prebuild および predev がこれを呼び出すため、直接使用する必要はほとんどありません。
  • `generate-media-index`: メディアファイルのインデックスを生成します
  • `generate-git-identity`: Git 識別情報を生成します
  • `generate-files`: アプリケーション用のファイルリストを生成します
  • `generate-docs-metadata`: ダッシュボードや検索で使用されるメタデータインデックスを生成します
  • `generate-link-report`: ネットワークリクエストを行わずにリンクインベントリを再構築します。前回の check-links 実行の結果は引き継がれるため、ビルド時にそれらの結果が破棄されることはありません。
  • `update-theme-css`: テーマの CSS ファイルを更新します
  • `lint` / `lint:fix`: フォーマットおよびコード品質をチェックし、必要に応じて修正します
  • `mcp:install`: Model Context Protocol サーバーの依存関係をインストールします
  • `mcp:build`: TypeScript から MCP サーバーをビルドします
  • `mcp:dev`: 自動再起動機能付きで、開発モードの MCP サーバーを起動します
  • `mcp:start`: AI アシスタント統合用のコンパイル済み MCP サーバーを起動します
  • `mcp:test`: MCP サーバーの接続性テストを実行します

MCPサーバーの詳細については、MCPサーバーの統合を参照してください。

これらのコマンドは、DocusaurusドキュメントのCLIに記載されている標準的なDocusaurusコマンドを基に構築されています:

  • docusaurus
  • start
  • build
  • swizzle
  • deploy
  • clear
  • serve
  • write-translations
  • write-heading-ids

自動実行コマンド

これらは自動的に実行されるため、通常は手動で呼び出す必要はありません:

  • prebuildpredevprebuild-local は、ビルドや開発サーバーの起動前にそれぞれ generate を実行し、メディアインデックス、ファイルリスト、ドキュメントのメタデータ、リンクインベントリ、テーマの CSS、および Git 識別情報を更新します。
  • prestartstart の前にリンクインベントリを更新するため、たとえ check-links を実行したことがなくても、「Broken Links」ダッシュボードにレポートが表示されます。
  • postinstall は MCP サーバーの依存関係をインストールします。

API コマンド

  • clean-api-docs
  • gen-api-docs
  • gen-graphql

OpenAPI コマンドの詳細については、Docusaurus OpenAPI プラグインのドキュメントにある CLI の使用方法 を参照してください。

GraphQL コマンドの詳細については、Docusaurus GraphQL プラグインのドキュメントにある 使用方法 を参照してください。

サイトの作成および更新コマンド

これらのコマンドは package.json ではなく create-docstatic パッケージに由来するため、どこでも実行可能です。実行するために docStatic サイトは必要ありません。

  • `npx create-docstatic@latest <プロジェクト名>`: 新しい docStatic サイトを作成します。詳細については、インストールを参照してください。
  • `npx create-docstatic@latest --update`: 既存のサイトを最新の docStatic リリースに更新します。create-docstatic で作成されたサイトのルートフォルダから実行してください。docStatic が管理するファイルと依存関係のバージョンを更新し、コンテンツ自体には手を加えません。

update コマンドでは、以下のオプションを使用できます:

  • `--dry-run`: 実際に変更を加えることなく、変更される内容を報告します。
  • `--force`: Gitのワーキングツリーがクリーンでない場合でも処理を実行します。このオプションを指定しない場合、コマンドはまず変更をコミットまたはスタッシュするよう求め、git diffで更新内容を確認できるようにします。
  • `--tag <dist-tag>`: latest ではなく、特定の docstatic パッケージバージョンまたは dist-tag に更新します。
  • `--no-install`: 更新後の依存関係のインストールをスキップします。

テンプレート同期コマンド

これらのコマンドは、docStatic リポジトリ自体(およびそのフォーク)にのみ存在し、create-docstatic で作成されたサイトには存在しません。これらは、template/ フォルダ内のスケルトンテンプレートをメインサイトと同期させます。

このテンプレートは、npx create-docstatic@latest が新しいサイトに展開するものであり、テンプレートとメインサイトが共有するコード(src/ 内の React コンポーネント、scripts/ 内のビルドスクリプト、tina/config.jsxdocusaurus.config.tssidebars.tsなど——テンプレート側でも同じ変更を行う必要があります。

  • `sync-template`: メインサイトから共有されているコード領域を template/ にコピーし、テンプレートの package.json の依存関係とスクリプトを整合させ、update-manifest.jsonnpx create-docstatic@latest --update が既存のサイトを更新するために使用するファイル)を再生成します。 スタータードキュメントや設定値などのテンプレートコンテンツは変更されません。
  • `sync-template:check`: 何も記述せずに、どのような変更が生じるかを報告し、テンプレートがずれている場合はエラーで終了します。 pre-commitフックがこのチェックを実行するため、yarn sync-templateを実行して結果をステージングするまで、コミットは template out of sync のエラーで失敗します。

共有ファイルを変更した後の典型的なフロー:

yarn sync-template
git add template/ update-manifest.json
git commit

リンティングコマンド

リンティングコマンドの詳細については、Biome ドキュメントの CLI を参照してください。