mcpField
S
se-dev-mod

se-dev-mod

github.com/cometworks開発10128 回インストール4 日前に更新
リポジトリ

se-dev-mod について

Space Engineers version 1 の MOD 開発向けスキルです。開発環境の準備やシェルコマンドの実行、インストール済み MOD のコード検索を支援します。

主な機能

  1. 01MOD 開発環境の準備
  2. 02bash によるコマンド実行
  3. 03MOD のソースコード検索
  4. 04MOD コードのインデックス作成

活用シーン

  1. 01ローカルの MOD 開発環境の準備
  2. 02クラスやメソッドの使用例の検索
  3. 03インストール済み MOD のコード調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cometworks/skills --skill se-dev-mod

インストール後、Claude Code で/se-dev-modを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.python-version
Clean.bat
clean.sh
CommandExecution.md
CommandExecutionDetails.md
common-posix.sh
cs_indexer.py
hierarchy_tree.py
index_mods.py
list_mods.py
mod_paths.py
ModApiWhitelist.txt
ModTemplate.md
Prepare.bat
Prepare.md
prepare.sh
pyproject.toml
search_mods.py
summarize_whitelist.py
Troubleshooting.md
UtilityScripts.md
uv.lock
actions/
bash.md
prepare.md
search.md

詳細

SE Dev Mod スキル

Space Engineers バージョン 1 向けの MOD 開発です。

⚠️ 重大:コマンドは UNIX シェルで実行します。bash 構文を使用してください。Windows では BusyBox、Linux ではネイティブシェルを使用します。

例:

  • ✅ test -f file.txt && echo exists
  • ✅ ls -la | head -10
  • ❌ if exist file.txt (echo exists) - これは動作しません

アクション:

  • prepare:一度だけの準備を実行します(Windows では Prepare.bat、Linux では prepare.sh)
  • bash:BusyBox 経由で UNIX シェルコマンドを実行します
  • search:search_mods.py を使用して MOD コードを検索します

ルーティングの判断

次のパターンを上から順に確認し、最初に一致したものを使用します。

優先度パターン例ルート
1空の呼び出し、または引数なしの呼び出しse-dev-modこのヘルプを表示
2準備に関するキーワードse-dev-mod prepare、se-dev-mod setup、se-dev-mod initprepare
3bash/シェルに関するキーワードse-dev-mod bash、se-dev-mod grep、se-dev-mod catbash
4検索に関するキーワードse-dev-mod search、se-dev-mod find class、se-dev-mod lookupsearch

はじめに

⚠️ 重大:コマンドを実行する前に、コマンドの失敗につながるよくある間違いを避けるため、必ず CommandExecution.md を読んでください。

このフォルダーに Prepare.DONE ファイルがない場合、最初に一度だけの準備手順を実行する必要があります。prepare アクションを参照してください。

必読のドキュメント

  • CommandExecution.md - ⚠️ 最初にお読みください - Windows でのコマンド実行の詳細。Linux では bash 構文を維持し、prepare.sh を使用してください

MOD 開発

Mod API ホワイトリストに一致する名前のみを使用してください:ModApiWhitelist.txt ホワイトリストは、MDK2 の Mdk.Extractor を使用してゲームバージョン 1.208.015 からエクスポートされています。

MOD は Steam Workshop または Mod.IO で公開されますが、ほとんどは Steam Workshop です。 ゲームはワールドの読み込み時に、Mod API ホワイトリストを適用して MOD をコンパイルします。 これは安全性を保証するためのものです。MOD によってゲームが例外でクラッシュする場合はあります。

呼び出すコードを正確に確認するには、se-dev-game-code を使用してください。se-dev-game-book ハンドブックがインストールされている場合は、まずそれを読んで、ゲームシステムの仕組みと関係する型を確認してください。インストールされていない場合は、ゲームコードも検索してください。サーバー側の MOD ロジックについては、同様に se-dev-server-code と se-dev-server-book を使用してください。効率化のため、Mod API ホワイトリストの名前に対応するゲームコード検索に限定してください。

Graphify グラフ

準備時に、ローカル MOD フォルダー(または SE_DEV_MOD_PROJECT_ROOT)用の個別の Graphify グラフを構築します。高速な Rust クラスタリングバックエンド(uv 経由の Python 3.12。自動的にプロビジョニングされます)が利用できる場合、準備時に自動で構築されます。このコーパスは小さいため、いずれの場合もすぐに完了します。高速バックエンドが利用できない場合は、SE_DEV_GRAPHIFY=1 で有効にするまで構築されません。SE_DEV_GRAPHIFY=0 で無効にできます。必要なときに参照してください。通常の検索作業では省略できます。GraphifyPrepare.md で構築し、GraphifyUsage.md でクエリを実行します。

フォルダー構成

  • Data/ — ユーザーごとの永続 MOD データフォルダー(Windows では %USERPROFILE%\.se-dev\mod、Linux では ~/.se-dev/mod)へのジャンクション/シンボリックリンクです。永続的なスキルデータはここに保存されます:
    • Data/mods.json — インストール済み MOD の簡易一覧(workshop_id、path、has_scripts、...)。
    • Data/mod_hashes.json — 変更検出にインデクサーが使用する、MOD ごとの集約 sha1。
    • Data/CodeIndex/ — Tree-sitter C# インデックス全体(カテゴリごとに 1 つの CSV と、階層ツリー)。
  • LocalMods/ — ゲームのローカル MOD フォルダー(Windows では %AppData%\SpaceEngineers\Mods、Linux では Proton の appdata 相当)へのジャンクション/シンボリックリンクです。
  • Steam Workshop のコンテンツは Steam フォルダーから直接読み込みます。スキル内にはコピーもシンボリックリンクも作成しません。 Workshop フォルダーは SE_GAME_ROOT(環境変数)または app id 244850 の Steam レジストリエントリーから解決されます。

参考資料

Mod コードの検索

Steam およびローカルの Mod のソースコードを検索して、例やパターンを確認します。

# Search for patterns
uv run search_mods.py class declaration MyBlock
uv run search_mods.py method usage Update
uv run search_mods.py class children MyGameLogicComponent

# Count results before viewing (useful for large result sets)
uv run search_mods.py class usage Init --count

# Limit number of results
uv run search_mods.py class usage Init --limit 10

検索する前に、インデックスが存在することを確認してください。Data/CodeIndex/ がない場合は、次を実行します。

uv run list_mods.py     # quick inventory (always cheap)
uv run index_mods.py    # full code index (incremental: only changed mods reparsed)

新しいサブスクリプション後の再インデックス作成: Steam Workshop で新しい Mod をサブスクライブしたら、 ワールドで一度読み込んでください(ゲームがダウンロードするため)。その後、上記の 2 つのコマンドを再実行します (または Prepare.bat のみを実行します)。インデクサーは各 Mod の .cs ファイルのハッシュを計算し、前回の実行から ハッシュが変わった Mod のみを再解析するため、再実行は高速です。

詳しい説明については、検索アクションを参照してください。

アクションの参考資料

詳しい手順については、以下を参照してください。

備考

このスキルの元のソース:https://github.com/CometWorks/skills

コメント