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-pluginyarn nx g @aws/nx-plugin:ts#nx-pluginnpx nx g @aws/nx-plugin:ts#nx-pluginbunx nx g @aws/nx-plugin:ts#nx-plugin変更されるファイルを確認するためにドライランを実行することもできます
pnpm nx g @aws/nx-plugin:ts#nx-plugin --dry-runyarn nx g @aws/nx-plugin:ts#nx-plugin --dry-runnpx nx g @aws/nx-plugin:ts#nx-plugin --dry-runbunx 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-pluginyarn nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-pluginnpx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-pluginbunx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin変更されるファイルを確認するためにドライランを実行することもできます
pnpm nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-runyarn nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-runnpx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-runbunx 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-pluginyarn nx build your-pluginnpx nx build your-pluginbunx nx build your-pluginパッケージターゲット
Section titled “パッケージターゲット”NPM公開用の配布可能パッケージを作成します:
pnpm nx package your-pluginyarn nx package your-pluginnpx nx package your-pluginbunx 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-nameyarn add your-plugin-namenpm install --legacy-peer-deps your-plugin-namebun 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-nameyarn nx g your-plugin-name:your-generator-namenpx nx g your-plugin-name:your-generator-namebunx nx g your-plugin-name:your-generator-name変更されるファイルを確認するためにドライランを実行することもできます
pnpm nx g your-plugin-name:your-generator-name --dry-runyarn nx g your-plugin-name:your-generator-name --dry-runnpx nx g your-plugin-name:your-generator-name --dry-runbunx 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"] } }}