TypeScriptの Nxプラグイン
完全なTypeScript Nx PluginをModel Context Protocol (MCP)サーバー統合で生成します。このジェネレーターは、AIアシスタントによる自動コード生成とプロジェクトスキャフォールディングのためにシームレスに使用できるカスタムジェネレーターを構築する基盤を作成します。
Nxプラグインの生成
Section titled “Nxプラグインの生成”TypeScript Nxプラグインは2つの方法で生成できます:
- インストール Nx Console VSCode Plugin まだインストールしていない場合
- VSCodeでNxコンソールを開く
- クリック
Generate (UI)
"Common Nx Commands"セクションで - 検索
@aws/nx-plugin - ts#nx-plugin
- 必須パラメータを入力
- クリック
Generate
pnpm nx g @aws/nx-plugin:ts#nx-plugin
yarn nx g @aws/nx-plugin:ts#nx-plugin
npx nx g @aws/nx-plugin:ts#nx-plugin
bunx nx g @aws/nx-plugin:ts#nx-plugin
変更されるファイルを確認するためにドライランを実行することもできます
pnpm nx g @aws/nx-plugin:ts#nx-plugin --dry-run
yarn nx g @aws/nx-plugin:ts#nx-plugin --dry-run
npx nx g @aws/nx-plugin:ts#nx-plugin --dry-run
bunx nx g @aws/nx-plugin:ts#nx-plugin --dry-run
パラメータ | 型 | デフォルト | 説明 |
---|---|---|---|
name 必須 | string | - | TypeScript project name |
directory | string | packages | Parent directory where the library is placed. |
subDirectory | string | - | The sub directory the lib is placed in. By default this is the library name. |
ジェネレーターの出力結果
Section titled “ジェネレーターの出力結果”ジェネレーターは以下のプロジェクト構造を作成します:
Directoryyour-plugin/
Directorysrc/
- index.ts プラグインの空のエントリーポイント
Directorymcp-server/
- index.ts サーバーをエクスポート
- server.ts メインMCPサーバー設定
- stdio.ts STDIOトランスポートを使用するMCPサーバーのエントリーポイント
- http.ts ストリーミング可能なHTTPトランスポートを使用するMCPサーバーのエントリーポイント
Directorytools/
- create-workspace-command.ts ワークスペース作成ガイド用ツール
- general-guidance.ts Nxとプラグインのベストプラクティスガイド用ツール
- list-generators.ts 利用可能なジェネレーターをリスト表示するツール
- generator-guide.ts 詳細なジェネレーター情報提供ツール
- utils.ts MCPサーバー用ユーティリティ関数
- generators.json Nxジェネレーター設定(初期状態は空)
- package.json MCPサーバーバイナリを含むパッケージ設定
- tsconfig.json Nx互換のTypeScript設定(CommonJS)
- project.json ビルドとパッケージターゲットを含むNxプロジェクト設定
Nxプラグインの作業方法
Section titled “Nxプラグインの作業方法”ジェネレーターの追加
Section titled “ジェネレーターの追加”プラグインプロジェクトが作成されたら、ts#nx-generator
ジェネレーターを使用して新しいジェネレーターを追加できます:
- インストール Nx Console VSCode Plugin まだインストールしていない場合
- VSCodeでNxコンソールを開く
- クリック
Generate (UI)
"Common Nx Commands"セクションで - 検索
@aws/nx-plugin - ts#nx-generator
- 必須パラメータを入力
- pluginProject: your-plugin
- クリック
Generate
pnpm nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin
yarn nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin
npx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin
bunx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin
変更されるファイルを確認するためにドライランを実行することもできます
pnpm nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-run
yarn nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-run
npx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-run
bunx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-run
これによりプラグインに新しいジェネレーターが追加されます。
MCPサーバーのgenerator-guide
ツールで使用されるため、ジェネレーターの詳細なREADME.md
を作成してください。
プロジェクトターゲット
Section titled “プロジェクトターゲット”生成されたプラグインには重要なビルドターゲットが含まれます:
ビルドターゲット
Section titled “ビルドターゲット”TypeScriptコードをコンパイルしプラグインを使用可能な状態にします:
pnpm nx build your-plugin
yarn nx build your-plugin
npx nx build your-plugin
bunx nx build your-plugin
パッケージターゲット
Section titled “パッケージターゲット”NPM公開用の配布可能パッケージを作成します:
pnpm nx package your-plugin
yarn nx package your-plugin
npx nx package your-plugin
bunx nx package your-plugin
パッケージターゲットには以下が含まれます:
- コンパイル済みJavaScriptファイル
- TypeScript宣言ファイル
- ジェネレーターとエグゼキューター設定ファイル
- ドキュメントとライセンスファイル
MCPサーバー統合
Section titled “MCPサーバー統合”プラグインはts#mcp-server
ジェネレーターを使用してMCPサーバーを設定します。
プラグインに含まれるMCPサーバーはAIアシスタントに以下のツールを提供します:
general-guidance
: Nxとプラグインのベストプラクティスを取得create-workspace-command
: プラグイン使用可能な新規ワークスペース作成方法を学習list-generators
: プラグイン内の利用可能なジェネレーターを一覧表示generator-guide
: スキーマや使用方法を含むジェネレーターの詳細情報を取得
AIアシスタントとの連携設定
Section titled “AIアシスタントとの連携設定”設定ファイル
Section titled “設定ファイル”MCPをサポートするほとんどのAIアシスタントは、同様の設定方法を使用します。MCPサーバーの詳細を記載した設定ファイルを作成または更新する必要があります:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "/path/to/your-mcp-server/stdio.ts"] } }}
ホットリロード
Section titled “ホットリロード”MCPサーバーを開発中は、--watch
フラグを設定することでAIアシスタントが常に最新のツール/リソースを認識するようにできます:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/stdio.ts"] } }}
アシスタント固有の設定
Section titled “アシスタント固有の設定”特定のAIアシスタントでMCPを設定するには、各製品のドキュメントを参照してください:
MCPサーバーのカスタマイズ
Section titled “MCPサーバーのカスタマイズ”server.ts
を修正して追加ツールやドメイン固有リソースを組み込むことで、MCPサーバーを拡張できます。
MCPサーバー開発の詳細はts#mcp-server
ガイドを参照してください。
プラグインの公開
Section titled “プラグインの公開”-
パッケージ情報の更新:
package.json
に適切な名前、バージョン、説明、リポジトリ情報を記載 -
パッケージのビルド:
Terminal window pnpm nx package your-pluginTerminal window yarn nx package your-pluginTerminal window npx nx package your-pluginTerminal window bunx nx package your-plugin -
ローカルテスト: 別ワークスペースにインストールしてテスト可能:
Terminal window npm install /path/to/your/workspace/dist/your-plugin/package
NPMへの公開
Section titled “NPMへの公開”準備が整ったら:
cd dist/your-plugin/packagenpm publish
公開済みプラグインの使用
Section titled “公開済みプラグインの使用”公開後、他のユーザーは以下でプラグインをインストールして使用できます:
pnpm add -w your-plugin-name
yarn add your-plugin-name
npm install --legacy-peer-deps your-plugin-name
bun install your-plugin-name
ジェネレーターの使用:
- インストール Nx Console VSCode Plugin まだインストールしていない場合
- VSCodeでNxコンソールを開く
- クリック
Generate (UI)
"Common Nx Commands"セクションで - 検索
your-plugin-name - your-generator-name
- 必須パラメータを入力
- クリック
Generate
pnpm nx g your-plugin-name:your-generator-name
yarn nx g your-plugin-name:your-generator-name
npx nx g your-plugin-name:your-generator-name
bunx nx g your-plugin-name:your-generator-name
変更されるファイルを確認するためにドライランを実行することもできます
pnpm nx g your-plugin-name:your-generator-name --dry-run
yarn nx g your-plugin-name:your-generator-name --dry-run
npx nx g your-plugin-name:your-generator-name --dry-run
bunx nx g your-plugin-name:your-generator-name --dry-run
公開プラグインを使ったAIアシスタント設定
Section titled “公開プラグインを使ったAIアシスタント設定”公開プラグインのMCPサーバーは以下のように設定できます:
{ "mcpServers": { "aws-nx-mcp": { "command": "npx", "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"] } }}