← 一覧に戻る

build-ios-apps-on-claude-code

GitHub ↗ JavaScript 最終push: 2026/6/15 16:14

WIP(現在進行中)

Work In Progress

このプロジェクトで現在進行中の作業と、過去のスナップショットを記録する。

現在の状況

build-ios-apps プラグイン(v0.2.0)が完成し、ユーザースコープで常駐インストール済み。

  • プラグイン本体: build-ios-apps/(9スキル + agent + ios-test コマンド + XcodeBuildMCP)
  • claude plugin validate ✔、marketplace.json 検証 ✔、コミット済み(ff20cd4
  • 環境OK: Xcode 26.5 選択済み、simctl 動作、iPhone 17 Booted
  • 実アプリ(7channel-ios)で build→launch→screenshot まで実地確認済み

次にやること:

  • 新しい Claude Code セッションで /build-ios-apps:ios-test を実際に使ってみる(/help でコマンド表示・引数動作の確認)
  • 問題なければ完成。気になれば XcodeBuildMCP のバージョン固定を検討

未決事項:

  • ios-test が command として正しく登録されているか(details では Skills 欄に出る)は実セッションで要確認
  • xcodebuildmcp@latest 固定するか(将来のツール名変更リスク)

過去のWIPアーカイブ

(新しい「現在の状況」を書く前に、古いものをここに追記でアーカイブする。新しいものが上)

2026-06-15 14:01 時点のスナップショット

(雛形作成直後。作業前のためプレースホルダのみ)

ROADMAP(計画)

ロードマップ

今週

  • Codex Build iOS Apps プラグインを Claude Code 用に移植(9スキル+agent+MCP)
  • ローカル marketplace 経由でユーザースコープ常駐インストール
  • /build-ios-apps:ios-test コマンド新設(自動検出で簡単化)
  • 実アプリ(7channel-ios)でビルド→起動→スクショ実地検証
  • 新セッションで /build-ios-apps:ios-test を実際に回し、/help でのコマンド表示・引数動作を確認

今月

(今月中にやりたいこと)

今四半期

(今四半期の目標)

いつか

  • .mcp.jsonxcodebuildmcp@latest をバージョン固定するか検討(再現性 vs 最新追従)
  • UIタップ・ログ確認など ios-debugger-agent の対話フローを実アプリで詰める
  • SwiftUI系スキル(refactor / ui-patterns 等)を実コードで試す

DECISIONS(意思決定)

意思決定記録

このプロジェクトで下した重要な意思決定を記録する。 最新が上に来る。


2026-06-15: MCP server key を XcodeBuildMCP にする

背景: Codex 版スキル本文のツール名が mcp__XcodeBuildMCP__* 形式。Claude Code のツール名は mcp__<server-key>__<tool> で、server-key は .mcp.json のキーで決まる。

決定: .mcp.json のサーバーキーを XcodeBuildMCP(大文字)にした。

理由: これで tool prefix が Codex と完全一致し、スキル本文のツール名(prefix部分)を書き換えずに済む。残る差分は各ツールの実名(list_sims 等)だけで、そこは実機検証して修正した。

2026-06-15: ツール名は推測せず実機検証して実名に合わせる

背景: 移植指示書も「Skill 本文中の MCP ツール名が一番危険」と警告。Codex 版は古い可能性。

決定: XcodeBuildMCP を stdio で起動して tools/list を取得し(v2.6.2)、実名・スキーマを確認してから ios-debugger-agent を書き直した。

理由: 実際に session-set-defaultssession_set_defaultsdescribe_uisnapshot_ui の改名、ログ系ツールの廃止などズレが多数あった。推測のまま固定すると動かない。

2026-06-15: 配布はローカル marketplace 経由でユーザースコープ常駐

背景: /plugin UI は「マーケットプレイスを追加しないとプラグインを認識しない」。単体ローカルプラグインを毎回 --plugin-dir で渡すのは面倒。

決定: リポジトリルートに .claude-plugin/marketplace.json を置き、claude plugin marketplace addinstall でユーザースコープ常駐させた。

理由: どのプロジェクトディレクトリで claude を起動しても自動で読み込まれる。ローカルディレクトリ参照なので編集も即反映。

2026-06-15: 簡単な入口として ios-test コマンドを新設

背景: 「iOSシミュレーターで〇〇のテストしたい」だけで使いたい。毎回 workspace/scheme/simulator を指定するのは面倒(特に 7channel のようにアプリが子フォルダ+Pods構成のとき)。

決定: commands/ios-test.md/build-ios-apps:ios-test <自然言語>)を追加。自動検出ヒューリスティック(Pods・依存スキーム除外、サブフォルダ再帰検出、Booted無ければ既定機を自動起動)を内蔵。同じ知見を ios-debugger-agent スキルにも反映。

理由: スキル直叩きより認知負荷が低く、自然文の意図だけで build→launch→操作検証→報告まで一気通貫にできる。

DEVLOG(作業ログ)

開発日誌

このプロジェクトでの作業を時系列で記録する。 最新のエントリが上に来る。


2026-06-15

16:13 - Build iOS Apps プラグインの Claude Code 移植

やったこと:

  • OpenAI Codex の Build iOS Apps プラグイン(openai/plugins)を git clone し、Claude Code 用ローカルプラグイン build-ios-apps/ として移植
    • .codex-plugin/plugin.json.claude-plugin/plugin.json に変換
    • 9スキル全部移植(ios-debugger-agent / swiftui-view-refactor ほか)。各スキルの Codex 固有 agents/openai.yaml は削除
    • Claude ネイティブ agent agents/ios-debugger.md を新規作成
    • .mcp.json で XcodeBuildMCP を接続(server key を XcodeBuildMCP にして tool prefix を Codex と一致)
    • README(出典明記)+ MIT LICENSE 追加
  • XcodeBuildMCP を実際に stdio で起動してツール一覧を実機検証(v2.6.2、全51ツール)。Codex 版の古いツール名を修正:
    • session-set-defaultssession_set_defaultsdescribe_uisnapshot_ui、座標タップ → elementRef
    • start_sim_log_cap/stop_sim_log_cap は現バージョンに存在せず → ログは build_run_sim/launch_app_sim の結果に含まれる旨に修正
  • ios-simulator-browser(Codex in-app browser前提)と ios-ettrace-performance(write_stdin)の Codex固有記述を Claude Code 向けに修正
  • ローカル marketplace 定義(リポジトリルートの .claude-plugin/marketplace.json)を作り、CLIで build-ios-apps-local を追加→プラグインをユーザースコープでインストール(全プロジェクトで常駐)
  • 簡単化のため /build-ios-apps:ios-test <自然言語> コマンドを新設。workspace/scheme/simulator を自動検出(Pods・依存スキーム除外、サブフォルダ構成対応、Booted無ければ自動起動)→ build_run_sim → 操作検証 → 報告
  • 環境整備: xcode-select の向き先が CommandLineTools だったため Xcode 26.5 に切替(Yがsudo実行)
  • 実地検証: 7channel-operation/7channel-ios(CocoaPods+Firebase+広告SDK+Realm の実アプリ)を iPhone 17 シミュレータで build→install→launch→screenshot まで成功(BUILD SUCCEEDED、起動画面描画確認)

詰まったこと / 気づき:

  • claude plugin update はローカルディレクトリ型マーケットプレイスでは "not found" になるが正常。作業ディレクトリを直接参照するライブ方式なので編集即反映(marketplace update だけ通ればOK)
  • claude plugin details は command を Skills 欄にまとめて表示する(ios-test がスキル扱いで出る)

次回やること:

  • 新セッションで /build-ios-apps:ios-test を実際に回して、/help でコマンドとして正しく出るか・引数が効くかを確認
  • .mcp.jsonxcodebuildmcp@latest をバージョン固定するか検討(再現性)

最近のコミット

README

build-ios-apps-on-claude-code

概要

(記入予定)

セットアップ

(記入予定)

使い方

(記入予定)