xc-dev について
xc-devは、TOML設定で名前付きタスクとプロジェクト変数を定義する、Xcodeプロジェクト向けのRust製タスクランナーです。このスキルは、iOS開発でエージェントがタスクを見つけ、検証し、実行する手順を案内します。
主な機能
- 01TOMLによるプロジェクトタスク定義
- 02コマンド内の変数置換
- 03タスクと変数の確認
- 04設定の検証
- 05プロジェクトとシミュレーター用の組み込み機能
活用シーン
- 01Xcodeプロジェクトのビルドやテスト
- 02設定済みタスクの実行
- 03タスク設定と変数の確認
- 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 つあります。
- 同じ作業をする次の人も、そのタスクを利用できます。
- 変数はすでに設定されています。
{{scheme}}、{{derived_data}}などはすべて正しく解決されるため、改めて調べる必要はありません。
追加するタスク案をユーザーに提示し、編集する前に確認してください。
組み込み動詞(早見表)
| 動詞 | 内容 |
|---|---|
xc-dev :proj init | .xc-dev/ を作成します(xcodebuild で scheme/bundle_id を自動検出) |
xc-dev :list | desc とともにすべてのタスクを一覧表示します |
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 自動化、ログのストリーミング、対話的なデバッグ用です。