mcpField
S
se-dev-script

se-dev-script

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

se-dev-script について

se-dev-scriptは、Space Engineers 1のProgrammable Blockスクリプト開発向けスキルです。セットアップ、シェルコマンド、スクリプト検索を提供し、ローカルとSteam Workshopのスクリプトを索引化して、例やAPIの使い方を探せます。

主な機能

  1. 01開発準備の実行
  2. 02BusyBox経由のUnixシェルコマンド実行
  3. 03ローカルおよびWorkshopスクリプトの検索
  4. 04増分更新可能なC#コード索引
  5. 05PB APIホワイトリストに沿った開発

活用シーン

  1. 01スクリプト開発環境の準備
  2. 02スクリプト内のクラスやメソッドの例を検索
  3. 03スクリプト購読後のコード索引更新

インストール

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

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

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

同梱ファイル

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

.python-version
Clean.bat
clean.sh
CommandExecution.md
CommandExecutionDetails.md
common-posix.sh
cs_indexer.py
hierarchy_tree.py
index_scripts.py
list_scripts.py
PBApiWhitelist.txt
Prepare.bat
Prepare.md
prepare.sh
pyproject.toml
script_paths.py
ScriptDev.md
ScriptMerge.md
ScriptTemplate.md
search_scripts.py
summarize_whitelist.py
Troubleshooting.md
UtilityScripts.md
uv.lock
actions/
bash.md
prepare.md
search.md

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

SE Dev Script スキル

Space Engineers バージョン 1 向けのゲーム内スクリプト(プログラマブルブロック、略して PB)の開発です。

⚠️ 重要:コマンドは 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_scripts.py を使用してスクリプトコードを検索します

ルーティングの判定

次のパターンを順番に確認してください。最初に一致したものが適用されます。

優先度パターン例ルート
1空または引数なしの呼び出しse-dev-scriptこのヘルプを表示
2prepare キーワードse-dev-script prepare、se-dev-script setup、se-dev-script initprepare
3bash/shell キーワードse-dev-script bash、se-dev-script grep、se-dev-script catbash
4search キーワードse-dev-script search、se-dev-script find class、se-dev-script lookupsearch

はじめに

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

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

必読ドキュメント

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

スクリプト開発

PB API の許可リストにある名前のみを使用してください:PBApiWhitelist.txt 許可リストは、MDK2 の Mdk.Extractor を使用して、ゲームバージョン 1.208.015 からエクスポートされています。

ゲーム内(PB)スクリプトは Steam Workshop または Mod.IO で公開されており、その大半は前者で公開されています。 ゲーム内(PB)スクリプトは、PB またはワールドの読み込み時(PB にスクリプトが読み込まれている場合)にゲームによってコンパイルされ、PB スクリプト API の許可リストが適用されます。これにより安全性が保証されます。 例外はすべて捕捉され、ゲームによってスクリプトが停止されるため、スクリプトがゲームをクラッシュさせることはありません。 ただし、プレイヤーまたはサーバー管理者がリソース使用量の制限を設定していない場合、スクリプトによってゲームの動作が遅くなることがあります。

プレイヤーがスクリプトを読み込む際、ソースコードのサイズは 100,000 バイトに制限されます。ScriptDev プラグインを使用すると、テスト用にローカルファイルからオフライン(ローカル)ゲームへ、これより大きなスクリプトを読み込めます。そのため、ソースコードを圧縮せずにテストでき、詳細な例外トレースバックを取得する際に便利です。

呼び出すコードを正確に確認するには、se-dev-game-code を使用してください。se-dev-game-book ハンドブックがインストールされている場合は、まずそれを読み、ゲームシステムの仕組みと関係する型を確認してください。インストールされていない場合は、その情報もゲームコードから検索してください。効率化のため、PB API の許可リストにある名前に対応するゲームコードの検索に限定してください。

Graphify グラフ

準備時に、ローカルの PB スクリプトフォルダー(または SE_DEV_SCRIPT_PROJECT_ROOT)用の個別の Graphify グラフが構築されます。高速な Rust クラスタリングバックエンドを利用できる場合(uv 経由の Python 3.12。自動的にセットアップされます)、準備時にグラフが自動的に構築されます。このコーパスは小さいため、どちらの場合も処理はすぐに完了します。高速バックエンドが利用できない場合は、SE_DEV_GRAPHIFY=1 を指定して任意で有効化できます。SE_DEV_GRAPHIFY=0 を指定すると無効になります。通常の検索作業では使用せず、必要に応じて参照してください。GraphifyPrepare.md で構築し、GraphifyUsage.md でクエリを実行します。

フォルダー構成

  • Data/ — ユーザーごとの永続スクリプトデータフォルダー(Windows では %USERPROFILE%\.se-dev\script、Linux では ~/.se-dev/script)へのジャンクション/シンボリックリンクです。永続的なスキルデータはここに保存されます。
    • Data/scripts.json — インストール済みのすべての PB スクリプトの簡易一覧です。
    • Data/script_hashes.json — インデクサーが変更を検出するために使用する、スクリプトごとの集約 sha1 です。
    • Data/CodeIndex/ — Tree-sitter による C# の完全なインデックスです(カテゴリごとに 1 つの CSV と、階層ツリーを含みます)。
  • LocalScripts/ — ゲームのローカルスクリプトフォルダー(Windows では %AppData%\SpaceEngineers\IngameScripts\local、Linux では Proton の同等の appdata フォルダー)へのジャンクション/シンボリックリンクです。 ゲームのローカル PB スクリプトフォルダーです。
  • Steam Workshop のコンテンツは Steam フォルダーから直接読み込まれます。スキル内にコピーまたはシンボリックリンクされることはありません。 PB スクリプトは、各数値名の Workshop フォルダー内にトップレベルの Script.cs ファイルがあるかどうかで検出されます。Workshop フォルダーは、SE_GAME_ROOT (環境変数)または app id 244850 の Steam レジストリエントリから特定されます。

参考資料

スクリプトコード検索

Steam およびローカルの PB スクリプトのソースコードを検索して、例やパターンを探します。

# Search for patterns
uv run search_scripts.py class declaration Program
uv run search_scripts.py method usage Main
uv run search_scripts.py class children MyGridProgram

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

# Limit number of results
uv run search_scripts.py class usage GridTerminalSystem --limit 30

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

uv run list_scripts.py     # quick inventory (always cheap)
uv run index_scripts.py    # full code index (incremental: only changed scripts reparsed)

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

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

アクションの参考資料

次の詳細な手順に従ってください。

備考

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

コメント