se-dev-mod について
Space Engineers version 1 の MOD 開発向けスキルです。開発環境の準備やシェルコマンドの実行、インストール済み MOD のコード検索を支援します。
主な機能
- 01MOD 開発環境の準備
- 02bash によるコマンド実行
- 03MOD のソースコード検索
- 04MOD コードのインデックス作成
活用シーン
- 01ローカルの MOD 開発環境の準備
- 02クラスやメソッドの使用例の検索
- 03インストール済み MOD のコード調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cometworks/ skills --skill se-dev-modインストール後、Claude Code で/se-dev-modを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.python-versionClean.batclean.shCommandExecution.mdCommandExecutionDetails.mdcommon-posix.shcs_indexer.pyhierarchy_tree.pyindex_mods.pylist_mods.pymod_paths.pyModApiWhitelist.txtModTemplate.mdPrepare.batPrepare.mdprepare.shpyproject.tomlsearch_mods.pysummarize_whitelist.pyTroubleshooting.mdUtilityScripts.mduv.lockactions/bash.mdprepare.mdsearch.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 init | prepare |
| 3 | bash/シェルに関するキーワード | se-dev-mod bash、se-dev-mod grep、se-dev-mod cat | bash |
| 4 | 検索に関するキーワード | se-dev-mod search、se-dev-mod find class、se-dev-mod lookup | search |
はじめに
⚠️ 重大:コマンドを実行する前に、コマンドの失敗につながるよくある間違いを避けるため、必ず 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 Template リポジトリ スクリプトを含む新しい Mod プロジェクトを始めるための Mod テンプレートリポジトリです。ModTemplate.md を参照してください。
- スクリプト Mod 向け Mod API 構造化された Mod API ドキュメントです。
- Keen Software House による Mod API ドキュメント 古い情報の場合があります。
- Mod Development Kit (MDK2) 主に VS2022 向けの Mod 開発ツールです。
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 のみを再解析するため、再実行は高速です。
詳しい説明については、検索アクションを参照してください。
アクションの参考資料
詳しい手順については、以下を参照してください。
- prepare アクション - 初回のみの準備
- bash アクション - busybox を使った UNIX シェルコマンドの実行
- search アクション - 例を探すための Mod コード検索
備考
このスキルの元のソース:https://github.com/CometWorks/skills