asc-init について
asc-cliでプロジェクトのコンテキストを初期化し、アプリ識別情報と任意の審査連絡先を`.asc/project.json`に保存するコマンドです。アプリ開発者やエージェントが、セッションをまたいで情報を再利用できます。
主な機能
- 01アプリIDと名前の保存
- 02Xcodeプロジェクトから検出
- 03名前によるアプリ検索
- 04任意の審査連絡先の保存
- 05後続コマンドへの案内を出力
活用シーン
- 01アプリプロジェクトのコンテキスト初期化
- 02セッション間でアプリ識別情報を再利用
- 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 がわからなくてもバージョン、ビルド、またはアプリ情報を一覧表示できます。
コメント
Markdown 対応