mcpField
X
xc-dev

xc-dev

github.com/yjmeqt開発0412 回インストール8 週間前に更新
リポジトリ

xc-dev について

xc-devは、TOML設定で名前付きタスクとプロジェクト変数を定義する、Xcodeプロジェクト向けのRust製タスクランナーです。このスキルは、iOS開発でエージェントがタスクを見つけ、検証し、実行する手順を案内します。

主な機能

  1. 01TOMLによるプロジェクトタスク定義
  2. 02コマンド内の変数置換
  3. 03タスクと変数の確認
  4. 04設定の検証
  5. 05プロジェクトとシミュレーター用の組み込み機能

活用シーン

  1. 01Xcodeプロジェクトのビルドやテスト
  2. 02設定済みタスクの実行
  3. 03タスク設定と変数の確認
  4. 04プロジェクトのDerivedDataの削除

インストール

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

$npx skills add https://github.com/yjmeqt/xc-dev --skill xc-dev

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

詳細

xc-dev

xc-dev は、Xcode プロジェクト向けの Rust タスクランナーです。.xc-dev/project.toml、 .xc-dev/simulator.toml、.xc-dev/tasks.toml を読み込み、名前付きタスク(build、run、 test、test-package、…)を実行します。実行時には {{scheme}} / {{bundle_id}} / {{sim_id}} / {{derived_data}} / {{git_branch}} が置換されます。

このスキルを使う場合

以下のすべてに該当する場合に有効化してください。

  • ユーザーが iOS / Xcode の作業(ビルド、実行、テスト、インストール、起動、アーカイブ、ログのストリーミング、DerivedData のクリーンアップなど)を行っています。
  • cwd から上位のどこかにプロジェクトの .xc-dev/ ディレクトリがあります(ls -d .xc-dev 2>/dev/null を実行するか、上位ディレクトリをたどってください。既存の tasks.toml が決め手となります)。

以下の場合はこのスキルを使わず、一般的な Xcode ツールを使用してください。

  • プロジェクトに .xc-dev/ がなく、ユーザーもセットアップを求めていない場合。

最初にタスクを確認

タスク名を決めつける前に、一覧を表示してください。

xc-dev               # bare form is shorthand for `xc-dev :list`
xc-dev :list

変数(scheme、bundle id、sim id、derived data のパス、git branch など)を確認するには:

xc-dev :get scheme
xc-dev :get bundle_id
xc-dev :get sim_id
xc-dev :get derived_data
xc-dev :get sim.ipad.id      # qualified, non-default sim
xc-dev :get git_branch

設定と各タスクの変数参照を検証するには:

xc-dev :doctor

タスクの実行

xc-dev build
xc-dev build Release           # positional override of `args = ["config=Debug"]`
xc-dev test-package Networking
xc-dev -v build                # echo expanded command to stderr (handy for debugging)

終了コード:

  • 0 — 成功
  • 1 — タスクエラー(設定が無効、コマンドの失敗、変数が未解決など)
  • 2 — CLI の解析エラー(組み込みコマンドが不明、フラグの値が不足など)

必要なタスクが存在しない場合

自分で xcodebuild の呼び出しを組み立てるより、.xc-dev/tasks.toml にタスクを追加することを優先してください。理由は 2 つあります。

  1. 同じ作業をする次の人も、そのタスクを利用できます。
  2. 変数はすでに設定されています。{{scheme}}、{{derived_data}} などはすべて正しく解決されるため、改めて調べる必要はありません。

追加するタスク案をユーザーに提示し、編集する前に確認してください。

組み込み動詞(早見表)

動詞内容
xc-dev :proj init.xc-dev/ を作成します(xcodebuild で scheme/bundle_id を自動検出)
xc-dev :listdesc とともにすべてのタスクを一覧表示します
xc-dev :get <key>1 つの変数を表示します
xc-dev :doctor設定、各タスクの変数、depends を検証します
xc-dev :cleanドライラン:このプロジェクトのローカルとシステムの DerivedData を一覧表示します
xc-dev :clean --yesそれらを削除します(ルート配下の Packages も含みます。*.noindex は除外します)
xc-dev :sim bakeシミュレーターの UDID を解決し、simulator.toml に書き込みます

よくあるパターン

デフォルトのシミュレーターを起動してアプリを起動する:

xc-dev run     # if the user has set up the example `run` task
# else manually:
xcrun simctl boot $(xc-dev :get sim_id) 2>/dev/null || true
xcrun simctl install $(xc-dev :get sim_id) $(xc-dev :get app_path)
xcrun simctl launch $(xc-dev :get sim_id) $(xc-dev :get bundle_id)

ビルドで生成されたアプリのバンドルを調べる:

ls "$(xc-dev :get app_path)"

ワークツリーごとの DerivedData:

{{derived_data}} のデフォルトは {{xc_dev_dir}}/DerivedData です。そのため、各 git ワークツリーは独自のビルドキャッシュを持ち、互いに競合しません。

DerivedData をクリーンアップする(ローカルとシステム):

組み込み機能を優先してください。ローカルの DerivedData だけを rm -rf で削除したり、フォルダー名を頼りに ~/Library/Developer/Xcode/DerivedData を手作業で調べたりしないでください。

xc-dev :clean          # dry-run
xc-dev :clean --yes    # delete local {{derived_data}} + system entries whose
                       # info.plist WorkspacePath is under this project root
                       # (main .xcodeproj and Packages/*)

プロジェクトに clean タスクがある場合は、:clean(および任意で sim-delete)を呼び出す xc-dev clean を優先してください。シミュレーターの削除は :clean に含まれません。

リファレンスドキュメント

このスキルだけでは情報が足りない場合は、以下をユーザーに案内してください。

  • crates/xc-dev/docs/tasks.md — Task DSL の完全なリファレンス
  • crates/xc-dev/docs/variables.md — すべての組み込み変数と解決順序
  • crates/xc-dev/docs/config.md — TOML スキーマ
  • crates/xc-dev/docs/examples.md — タスクレシピの例

他のスキルとの関係

  • xcodebuildmcp-cli — xc-dev では対応していない UI 自動化、ログのストリーミング、対話的なデバッグ用です。

コメント