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

公開と配布

MOD は標準的な npm パッケージです。MOD を配布するには、npm レジストリに公開します。ユーザーは公開された MOD を 1 つのコマンドでインストールできます:

hmcs mod install <package-name>

パッケージの命名

警告

npm 上の @hmcs/ スコープは公式 MOD 用に予約されています。このスコープでパッケージを公開しないでください。

独自の MOD を公開する際は、以下の命名規則を使用してください:

  • スコープ付き(推奨) — 自分の npm スコープを使用:@yourname/hmcs-my-mod
  • スコープなしhmcs- プレフィックスを使用:hmcs-my-mod

package.json のパッケージ name はユーザーが hmcs mod install に渡す値です。アセット ID、メニューエントリ、bin コマンドの MOD 名の導出にも使用されます。詳細はアセット IDを参照してください。

公開前の準備

ヒント

公開前にローカルで MOD をテストしてください。ローカルパスからインストールし、アセットの読み込みとスクリプトの実行が正しく動作することを確認します:

hmcs mod install /path/to/your-mod

npm への公開

1. npm にログイン

npm アカウントをお持ちでない場合は、npmjs.com/signup で作成してください。ターミナルから認証します:

npm login

2. package.json の確認

package.json に必要なフィールドがすべて含まれていることを確認してください:

{
"name": "@yourname/hmcs-my-mod",
"version": "1.0.0",
"type": "module",
"description": "A short description of your MOD",
"homunculus": {
"service": "index.ts",
"assets": {}
}
}

主要フィールド:

フィールド必須備考
nameはいnpm 上で一意であること
versionはいSemver
typeはい"module" であること
descriptionはいhmcs mod list に表示される
homunculusはいMOD であることを示す

homunculus フィールドと bin の詳細はパッケージ設定を参照してください。

3. 公開内容の制御

デフォルトでは、npm はプロジェクトディレクトリ内のすべてを公開します。package.jsonfiles フィールドを使って必要なものだけを含めてください:

{
"files": [
"index.ts",
"commands/",
"assets/"
]
}

または .npmignore ファイルを作成して特定のパスを除外することもできます。いずれの方法でも、homunculus.assets で宣言されたすべてのアセットファイルが公開パッケージに含まれていることを確認してください。

4. 公開

スコープ付きパッケージの場合(例:@yourname/hmcs-my-mod):

npm publish --access public

スコープなしパッケージの場合:

npm publish

5. 確認

公開した MOD をインストールして、すべてが正しく動作することを確認します:

hmcs mod install @yourname/hmcs-my-mod

Desktop Homunculus を再起動し、MOD が正しく読み込まれることを確認してください。

公開済み MOD の更新

新しいバージョンを公開するには:

  1. package.jsonversion フィールドを更新
  2. npm publish を実行(スコープ付きパッケージの場合は npm publish --access public

ユーザーは再インストールで更新します:

hmcs mod install @yourname/hmcs-my-mod