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 MCPサーバーエントリーポイント
- server.ts メイン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 TypeScript設定(Nx互換性のため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サーバーを設定します。
プラグインにはAIアシスタント向けの完全なMCPサーバーが含まれます:
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/index.ts"] } }}
ホットリロード
Section titled “ホットリロード”MCPサーバーを開発中に--watch
フラグを設定すると、AIアシスタントが常に最新のツール/リソースを認識するようになります:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/index.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"] } }}