vendure-cli について
Vendure CLIは、Vendureプロジェクトのライフサイクルを管理するコマンドラインスキルです。Vendureを使う開発者やエージェント向けに、開発、ビルド、生成、マイグレーション、診断を案内し、ロックファイルに応じた実行方法も示します。
主な機能
- 01開発・ビルド・起動コマンドの実行
- 02プラグインやプロジェクト要素の生成
- 03データベースマイグレーションの生成と管理
- 04AdminおよびShop APIのGraphQLスキーマ生成
- 05プロジェクト・設定・データベースの診断
- 06ロックファイルに応じたCLIランナーの選択
活用シーン
- 01Vendureプロジェクトの起動やビルド
- 02プラグイン、エンティティ、サービスの追加
- 03データベースマイグレーションの生成や取り消し
- 04プロジェクトやデータベースの問題調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vendurehq/ vendure --skill vendure-cliインストール後、Claude Code で/vendure-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/add.mdbuild.mdcodemod.mddev.mddoctor.mdmigrate.mdplugins.mdschema.mdstart.md詳細
Vendure CLI
Vendure CLI(@vendure/cli、バイナリ名はvendure)は、Vendure プロジェクトのライフサイクル全体を管理します。ボイラープレートを手書きしたり、ビルドやマイグレーションのコマンドを推測したりする代わりに使用してください。
Vendure プロジェクトの検出
Vendure サーバーパッケージのルート、またはpackages/、apps/、libs/、services/、modules/の下に Vendure パッケージを含むモノレポのルートから、CLI コマンドを実行してください。
dev、build、startは、現在の作業ディレクトリに@vendure/coreが含まれている場合はそのディレクトリからプロジェクトディレクトリを解決し、含まれていない場合はモノレポのパッケージディレクトリをスキャンします。add、migrate、schema、および設定に依存するdoctorチェックは、process.cwd()からTypeScriptプロジェクトを解析し、その場所にtsconfig*.jsonがあることを必要とします。そのため、任意のネストされたサブディレクトリから実行できるとは限りません。
CLI の実行
通常、@vendure/cliはプロジェクトの依存関係としてインストールされているため、プロジェクトのパッケージマネージャー経由で実行してください。npxを使用できるとは限りません。プロジェクトルートまたはワークスペースルートにあるロックファイルからパッケージマネージャーを判定し、対応するランナーを使用してください。
| プロジェクトルートにあるロックファイル | パッケージマネージャー | CLI の実行方法 |
|---|---|---|
bun.lock / bun.lockb | bun | bunx vendure <command> |
pnpm-lock.yaml | pnpm | pnpm exec vendure <command> |
yarn.lock | yarn | yarn vendure <command> |
package-lock.json | npm | npx vendure <command> |
| 見つからない | npm(フォールバック) | npx vendure <command> |
@vendure/cliがグローバルにインストールされている場合は、vendure <command>を直接呼び出してください。すべてのコマンドを表示するには、vendure --helpを実行します。
commands/*.mdのリファレンスファイルでは、vendure …をそのまま使用した例が記載されています。検出されたパッケージマネージャーに対応するランナーを、それぞれの例の先頭に付けてください。
注:パッケージをインストールするCLIのスキャフォールディング機能は、現在、内部でyarn.lock、package-lock.json、pnpm-lock.yamlを検出し、その後は npm にフォールバックします。生成された依存関係のインストールに Bun は使用しません。
コマンド
| コマンド | 用途 | リファレンス |
|---|---|---|
dev | 開発モードでサーバー、ワーカー、ダッシュボードを実行する | commands/dev.md |
build | プロジェクトを本番環境向けにコンパイルする | commands/build.md |
start | ビルド済みのプロジェクトを実行する | commands/start.md |
add | プラグイン、エンティティ、サービス、API 拡張などを生成する | commands/add.md |
migrate | データベースマイグレーションを生成、実行、または取り消す | commands/migrate.md |
schema | Admin/Shop API から GraphQL スキーマファイルを生成する | commands/schema.md |
doctor | プロジェクト、依存関係、設定、スキーマ、DB の状態を診断する | commands/doctor.md |
codemod | 自動コード変換(UI マイグレーションなど)を実行する | commands/codemod.md |
plugins | プロジェクトの CLI プラグインを一覧表示、有効化、無効化する | commands/plugins.md |
プロジェクトの問題を診断するには、vendure-troubleshootingスキル(skills/vendure-troubleshooting/)を使用してください。
インストール済みのCLI プラグイン(vendure.cliPluginを宣言するパッケージ)は、コマンドを追加したり、devなどの組み込みコマンドを置き換えたりする場合があります。実際に有効なコマンド一覧を確認するには、プロジェクト内でvendure --helpを実行してください。開発者向け CLI ガイドの「CLI の拡張」セクションを参照してください。
エージェント向けの重要なルール
npxをハードコードしないでください。 プロジェクトのロックファイルから実行コマンドを判断してください — 上記の「CLI の実行」を参照してください(bunx、pnpm exec、yarn、npx)。- プロンプトを表示するコマンド(
add、migrate、schema、codemod、plugins)では、エージェントが明示的なフラグや引数を指定する必要があります。 明示的な入力を指定して実行し、非対話型の経路を使用してください。そうしないと、非対話型環境ではプロンプトのみの呼び出しが拒否されます。エージェントから CLI を呼び出す際はVENDURE_CLI_NON_INTERACTIVE=trueを設定してください。プロンプトのみの呼び出しが端末のプロンプトで待機せず、例を表示してすぐに失敗します。正確な非対話型フラグは、各コマンドのリファレンスファイルに記載されています。CLI プラグインにはvendure plugins --json/vendure plugins add <pkg>/vendure plugins remove <pkg>を使用してください — 一括承認フラグはありません。 dev、start、build --watchは長時間実行されるプロセスです。 何かを「確認」するだけのために実行しないでください。ユーザーから依頼された場合にのみ実行し、バックグラウンドでの実行を優先してください。- 本番環境用のインストールには
@vendure/cliが含まれていない場合があります。 生成されたアプリでは CLI は開発依存関係として保持されるため、開発依存関係を削除した後は、コンパイル済みのサーバー/ワーカーのエントリーポイントをnode ./dist/...で起動するか、CLI を明示的に本番依存関係にしてください。 - コマンドを組み立てる前に、該当する
commands/*.mdファイルを読んでください。 有効なターゲットとフラグはコマンドごとに異なります(例:startにdashboardターゲットはありません。--inspectはdevにのみ適用されます)。