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

hmcs mod

MOD パッケージの一覧表示、インストール、アンインストールを行います。

クイックスタート

hmcs mod list
hmcs mod install @hmcs/assets @hmcs/elmer
hmcs mod uninstall @hmcs/assets

list

構文

hmcs mod list

引数

このサブコマンドには引数はありません。

成功:

 NAME           VERSION  DESCRIPTION
@hmcs/elmer 1.0.0 Default character model
@hmcs/menu 1.0.0 Context menu

インストール済み MOD がない場合:

(出力なし)

失敗例:

[stderr]
...pnpm ls failed...

動作

  • 設定された mods ディレクトリからインストール済み MOD のメタデータを一覧表示します。
  • 内部的に pnpm -C <mods_dir> ls --parseable -P --depth 0 を使用します。

関連

install

構文

hmcs mod install <package>...

引数

名前必須説明
packageはい1つ以上のパッケージ指定子(例:@hmcs/elmerpkg@version)。

成功:

hmcs mod install @hmcs/assets @hmcs/elmer

失敗例(無効なパッケージ名):

hmcs mod install 'foo;rm -rf /'
[stderr]
invalid package name: contains forbidden characters: foo;rm -rf /

失敗例(pnpm add 失敗):

[stderr]
pnpm add failed with status: ...

動作

  • pnpm を呼び出す前にパッケージ名を検証します。
  • 設定された mods_dir にインストールします。
  • 検証またはインストール失敗時にゼロ以外で終了します。

関連

uninstall

構文

hmcs mod uninstall <package>...

引数

名前必須説明
packageはい1つ以上のインストール済みパッケージ名。

成功:

hmcs mod uninstall @hmcs/assets @hmcs/elmer

失敗例(無効なパッケージ名):

hmcs mod uninstall '../etc/passwd'
[stderr]
invalid package name: contains path traversal: ../etc/passwd

失敗例(pnpm remove 失敗):

[stderr]
pnpm remove failed with status: ...

動作

  • pnpm を呼び出す前にパッケージ名を検証します。
  • 設定された mods_dir からパッケージを削除します。
  • 検証またはアンインストール失敗時にゼロ以外で終了します。

関連

path

構文

hmcs mod path [mods_dir_path]

引数

名前必須説明
mods_dir_pathいいえ新しい mods ディレクトリパス。省略時は現在のパスを表示します。

現在の mods ディレクトリを表示:

hmcs mod path
/Users/alice/.homunculus/mods

mods ディレクトリを変更:

hmcs mod path ~/custom-mods
mods_dir updated to: /Users/alice/custom-mods

失敗例(ディレクトリを作成できない場合):

[stderr]
failed to create directory "/readonly/path": Permission denied

動作

  • 引数なしの場合、~/.homunculus/config.toml から現在の mods_dir を表示します。
  • パス引数がある場合、パスを解決し(~ や相対パスを展開)、ディレクトリが存在しなければ作成し、更新されたパスを config.toml に保存します。
  • ディレクトリの作成や設定の保存に失敗した場合、ゼロ以外で終了します。

関連

update

構文

hmcs mod update [mod_patterns...] [--latest|-L]

引数

名前必須説明
mod_patternsいいえ更新対象の MOD 名パターン。省略時はすべてのインストール済み MOD を更新します。
--latest, -LいいえMOD を最新バージョンに更新します。

すべてのインストール済み MOD を更新:

hmcs mod update

特定の MOD を更新:

hmcs mod update @hmcs/elmer @hmcs/assets

すべての MOD を最新バージョンに更新:

hmcs mod update --latest

特定の MOD を最新バージョンに更新:

hmcs mod update @hmcs/elmer -L

失敗例(pnpm update 失敗):

[stderr]
pnpm update failed with status: ...

動作

  • 設定された mods_dir 内で pnpm update を内部的に使用します。
  • mod_patterns がない場合、すべてのインストール済み MOD を更新します。
  • --latest / -L を指定すると、pnpm update--latest を渡して最新バージョンをインストールします。
  • 更新失敗時にゼロ以外で終了します。

関連