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

CLI

mbc-cqrs-serverless CLI は、新しいプロジェクトのスキャフォールディングや、モジュール、サービス、エンティティのボイラープレートコードの生成を素早く行うためのツールです。フレームワークの規約に従い、一貫性を確保します。

CLIを使用するタイミング

以下の場合にCLIを使用します:

  • 新しい MBC CQRS Serverless プロジェクトを最初から作成する
  • 新しいドメインモジュール(product、order、user など)を追加する
  • 正しい構造でコントローラー、サービス、エンティティ、DTOファイルを生成する
  • ローカル開発サーバーを起動する

CLIが解決する問題

問題解決策
プロジェクト構造を手動で設定するとエラーが発生しやすいmbc new で完全なプロジェクトスケルトンを作成
正しいファイル名やインポートを覚えておく必要があるmbc generate で一貫したボイラープレートを作成
モジュールの登録を忘れやすい生成されたコードはNestJSの規約に従う

インストール

CLIをグローバルにインストール:

npm install -g @mbc-cqrs-serverless/cli

利用可能なコマンド

利用可能なCLIコマンドの一覧を取得するには、次のコマンドを実行します:

mbc -h

出力は次のようになります:

Usage: mbc [options] [command]

Options:
-V, --version output the version number
-h, --help display help for command

Commands:
new|n [name] Generate a new CQRS application using the MBC CQRS
serverless framework
generate|g <schematic> Generate a MBC-cqrs-serverless element
start|s Start application with serverless framework
ui-common|ui [options] add mbc-cqrs-ui-common components to your project
help [command] display help for command

newコマンド

ユースケース: 新しいバックエンドプロジェクトを開始する

シナリオ: 新しいマイクロサービスやAPIバックエンドを開始する際に、すべての依存関係を含む完全なプロジェクト構造が必要な場合。

mbc new [projectName[@version]]

使用例

カレントディレクトリに新しいプロジェクトを作成:

mbc new

特定の名前でプロジェクトを作成:

mbc new my-cqrs-app

特定のバージョンでプロジェクトを作成:

mbc new my-cqrs-app@0.1.45

generateコマンド

ユースケース: 既存のプロジェクトに新しいドメインを追加する

シナリオ: プロジェクトに新しいOrder機能が必要で、APIエンドポイント、ビジネスロジック、データベースエンティティを追加する場合。

解決策: モジュール、コントローラー、サービス、エンティティ、DTOを順番に生成します。

mbc generate <schematic> [name]
# or
mbc g <schematic> [name]

利用可能なSchematic

名前エイリアス説明
modulemoモジュールを作成
controllercoコントローラーを作成
serviceseサービスを作成
entityenエンティティを作成
dtodtoDTOを作成

オプション

オプション説明
-d, --dry-run結果を書き出さずに実行されるアクションを表示
--mode <mode>操作モードを指定: sync または async(デフォルト: async)
--schemaスキーマ生成を有効化(デフォルト: true)
--no-schemaスキーマ生成を無効化

使用例

新しいモジュールを生成:

mbc generate module order
# or
mbc g mo order

コントローラーを生成:

mbc generate controller order
# or
mbc g co order

サービスを生成:

mbc generate service order
# or
mbc g se order

エンティティを生成:

mbc generate entity order
# or
mbc g en order

DTOを生成:

mbc generate dto order
# or
mbc g dto order

ドライラン(ファイルを作成せずにプレビュー):

mbc g mo order --dry-run

startコマンド

ユースケース: ローカル開発サーバーを実行する

シナリオ: AWSにデプロイする前に、APIエンドポイントをローカルでテストしたい場合。

mbc start
# or
mbc s

ui-commonコマンド

ユースケース: フロントエンドに構築済みUIコンポーネントを追加する

シナリオ: フロントエンドを構築中で、標準のMBC CQRS UIコンポーネントライブラリを使用したい場合。

mbc ui-common [options]
# or
mbc ui [options]

このコマンドは、MBC CQRS UI Commonライブラリをプロジェクトに統合し、構築済みのUIコンポーネントとユーティリティを提供します。

設定

CLIは設定ファイルによる設定をサポートしています。プロジェクトルートに.mbcrc.jsonファイルを作成します:

{
"defaultTemplate": "basic",
"region": "ap-northeast-1",
"stage": "dev"
}

設定オプション

オプション説明
defaultTemplate使用するデフォルトのプロジェクトテンプレート
regionデプロイ先のAWSリージョン
stageデプロイステージ(dev, stg, prod)

トラブルシューティング

バージョンが見つからない

mbc new myapp@999.999.999
# Error: Version not found

解決策: 有効なバージョン番号を使用してください。npmレジストリで利用可能なバージョンを確認してください。

ディレクトリが空ではない

mbc new my-project
# Error: Directory not empty

解決策: 新しいディレクトリを使用するか、プロジェクト作成前に既存のファイルを削除してください。

権限エラー

グローバルインストール時に権限エラーが発生した場合:

sudo npm install -g @mbc-cqrs-serverless/cli
# or use npm prefix
npm config set prefix ~/.npm-global
npm install -g @mbc-cqrs-serverless/cli