mcpField
A
asc-init

asc-init

github.com/tddworks開発584 回インストール5 週間前に更新
リポジトリ

asc-init について

asc-cliでプロジェクトのコンテキストを初期化し、アプリ識別情報と任意の審査連絡先を`.asc/project.json`に保存するコマンドです。アプリ開発者やエージェントが、セッションをまたいで情報を再利用できます。

主な機能

  1. 01アプリIDと名前の保存
  2. 02Xcodeプロジェクトから検出
  3. 03名前によるアプリ検索
  4. 04任意の審査連絡先の保存
  5. 05後続コマンドへの案内を出力

活用シーン

  1. 01アプリプロジェクトのコンテキスト初期化
  2. 02セッション間でアプリ識別情報を再利用
  3. 03審査連絡先情報の準備

インストール

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

$npx skills add https://github.com/tddworks/asc-cli-skills --skill asc-init

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

詳細

asc init — プロジェクトコンテキストの初期化

現在のディレクトリにある .asc/project.json に、アプリ ID、名前、バンドル ID、および任意の審査連絡先情報を保存します。以降のコマンドやエージェントは、毎回 asc apps list を実行する代わりに、このファイルを読み込みます。

コマンド

init — プロジェクトコンテキストを固定
# Direct (no API list call)
asc init --app-id <id> [--pretty]

# By name (case-insensitive search)
asc init --name "My App" [--pretty]

# Auto-detect from *.xcodeproj/project.pbxproj in cwd
asc init [--pretty]

# With review contact info
asc init --app-id <id> \
  --contact-first-name "Jane" \
  --contact-last-name "Smith" \
  --contact-email "[email protected]" \
  --contact-phone "+1-555-0100" \
  [--pretty]

優先順位:--app-id > --name > 自動検出。連絡先フラグは省略可能で、どの検出モードとも組み合わせて指定できます。

保存される内容

./.asc/project.json(設定されていない連絡先フィールドは省略):

{
  "appId":    "1234567890",
  "appName":  "My App",
  "bundleId": "com.example.myapp",
  "contactEmail": "[email protected]",
  "contactFirstName": "Jane",
  "contactLastName": "Smith",
  "contactPhone": "+1-555-0100"
}

JSON 出力

連絡先情報が保存されている場合、出力には連絡先フィールドと updateReviewContact アフォーダンスが含まれます。連絡先情報がない場合は、代わりに setReviewContact アフォーダンスが表示されます。

{
  "data": [
    {
      "affordances": {
        "checkReadiness": "asc versions check-readiness --version-id <id>",
        "listAppInfos":   "asc app-infos list --app-id 1234567890",
        "listBuilds":     "asc builds list --app-id 1234567890",
        "listVersions":   "asc versions list --app-id 1234567890",
        "updateReviewContact": "asc init --app-id 1234567890 --contact-email ... --contact-phone ..."
      },
      "appId":    "1234567890",
      "appName":  "My App",
      "bundleId": "com.example.myapp",
      "contactEmail": "[email protected]",
      "contactFirstName": "Jane",
      "contactLastName": "Smith",
      "contactPhone": "+1-555-0100"
    }
  ]
}

一般的なワークフロー

# 1. Run once per project directory
cd /path/to/MyApp
asc init --pretty

# 2. In subsequent sessions, read the saved context
APP_ID=$(jq -r '.appId' .asc/project.json)

# 3. Use normally — no need for asc apps list
asc versions list --app-id "$APP_ID"
asc builds list   --app-id "$APP_ID"

自動検出のロジック

フラグが指定されていない場合、asc init は現在のディレクトリにある *.xcodeproj/project.pbxproj ファイルを検索し、PRODUCT_BUNDLE_IDENTIFIER の値を抽出します。次に、それらのバンドル ID を App Store Connect のアプリと照合します。

$(PRODUCT_BUNDLE_IDENTIFIER) のような変数参照はスキップされ、リテラル値のみが照合されます。

エラーケース

状況エラー
--name が指定されているが、一致するアプリがないNo app named '…'. Run asc apps list to see available apps.
自動検出:.xcodeproj が見つからないNo Xcode project found. Use --app-id or --name.
自動検出:バンドル ID がどの ASC アプリとも一致しないNo ASC app matched bundle IDs: com.example.app

関連項目

  • 機能の詳細:docs/features/init.md
  • 出力のアフォーダンスに従うと、アプリ ID がわからなくてもバージョン、ビルド、またはアプリ情報を一覧表示できます。

コメント