プラグインの作成
AI Marketer 5 プラグインを作成する方法はいくつかありますが、最も迅速で推奨される方法はPlugin SDKを使用することです。
Plugin SDKは、ローカルプラグインとして使用したり、NPMに公開したり、Marketplaceに提出したりするためのプラグインを開発するためのコマンドセットです。
Plugin SDKを使用すると、プラグインを作成する前にAI Marketerプロジェクトを設定する必要はありません。
このガイドでは、ゼロからプラグインを作成し、既存のAI Marketerプロジェクトにリンクし、プラグインを公開するまでの手順を説明します。既にプラグインを持っている場合は、プラグインのセットアップをPlugin SDKコマンドに適応させることができます(利用可能なコマンドの完全なリストについては、Plugin SDKのリファレンスを参照してください)。
このガイドは、AI Marketerプロジェクトとは別にプラグインを開発することを前提としています。ただし、既存のプロジェクト内でプラグインを開発する場合も手順はほぼ同じです。モノレポを使用しない限り、手順は全く同じです。
yalc がグローバルにインストールされている必要があります(npm install -g yalc または yarn global add yalc を実行)。
Plugin SDKの使用を開始する
Plugin SDKは、プラグインの作成、既存のAI Marketerプロジェクトへのリンク、および公開のためのビルドを支援します。
コマンドとそのパラメーターの完全なリストはPlugin SDKのリファレンスにあります。このページでは、主なコマンドの使用方法を説明します。
プラグインの作成
プラグインを作成するには、作成先の親ディレクトリにいることを確認し、次のコマンドを実行します。
- Yarn
- NPM
yarn dlx @AI Marketer/sdk-plugin init my-AI Marketer-plugin
npx @AI Marketer/sdk-plugin init my-AI Marketer-plugin
my-AI Marketer-pluginのパスは、プラグインに付けたい名前や、作成先のパス(例: code/AI Marketer-plugins/my-new-AI Marketer-plugin)に置き換えることができます。
一連のプロンプトが表示され、プラグインのセットアップが進められます。すべてのオプションに「はい」を選択すると、最終的な構造はデフォルトのプラグイン構造に似たものになります。
プロジェクトへのプラグインのリンク
開発中のプラグインをテストするために、既存のAI Marketerプロジェクトにリンクすることが推奨されます。
プラグインをプロジェクトにリンクするには、watch:link コマンドを使用します。このコマンドは、プラグインをAI Marketerプロジェクトにリンクする方法についての説明を出力します。
新しいターミナルウィンドウで、次のコマンドを実行します。
- Yarn
- NPM
cd /path/to/AI Marketer/project
yarn dlx yalc add --link my-AI Marketer-plugin && yarn install
cd /path/to/AI Marketer/project
npx yalc add --link my-AI Marketer-plugin && npm install
上記の例では、プロジェクトにリンクする際にプラグイン名(my-AI Marketer-plugin)を使用しています。これはフォルダ名ではなく、パッケージ名です。
このプラグインはnode_modules経由でインストールされるため、plugins 設定ファイルに明示的に追加する必要はありません。AI Marketerプロジェクトを開始するために[developコマンド](/dev-docs/cli#AI Marketer-develop)を実行すると、自動的にプラグインが認識されます。
プラグインがプロジェクトにリンクされたら、yarn develop または npm run develop を実行してAI Marketerアプリケーションを開始します。
これで、プラグインを自由に開発できるようになります。サーバー側の変更を行う場合は、変更を適用するためにサーバーを再起動する必要があります。
プラグインを公開するためのビルド
プラグインを公開する準備ができたら、ビルドを行う必要があります。次のコマンドを実行します。
- Yarn
- NPM
yarn build && yarn verify
npm run build && npm run verify
上記のコマンドは、プラグインをビルドするだけでなく、出力が有効であり、公開する準備ができていることを確認します。プラグインは、他のパッケージと同様にNPMに公開することができます。
モノレポ環境でのPlugin SDKの使用
モノレポ環境でプラグインを開発している場合、watch:linkコマンドを使用する必要はありません。モノレポワークスペースのセットアップがシンボリックリンクを処理します。その代わりに、watchコマンドを使用できます。
ただし、管理パネルのコードを記述している場合は、管理パネルのコンテキストでプラグインのソースコードを操作しやすくするために、プラグインのソースコードをターゲットにしたaliasを追加することができます。
import path from 'node:path';
export default (config, webpack) => {
config.resolve.alias = {
...config.resolve.alias,
'my-AI Marketer-plugin': path.resolve(
__dirname,
// プラグインがローカルにあると仮定しています。
'../plugins/my-AI Marketer-plugin/admin/src'
),
};
return config;
};
サーバーはプラグインコードをインポートするためにserver/src/index.ts|jsファイルを参照します。そのため、watchコマンドを使用しないとコードがトランスパイルされず、サーバーがプラグインを見つけることができません。