asc-app-wall について
asc-cliのコミュニティ向けアプリ紹介ページに登録するCLI機能です。開発者IDまたは指定したApp Store URLからアプリを取得し、GitHubトークンを使ってフォーク、コミット、プルリクエストを作成します。
主な機能
- 01開発者IDでアプリを登録
- 02指定したApp Store URLで登録
- 03フォークとプルリクエストの作成
- 04開発者の重複確認
- 05JSON形式の登録データを返却
活用シーン
- 01開発者IDに紐づく全アプリの掲載
- 02指定アプリのショーケースへの登録
- 03コミュニティ掲載用プルリクエストの作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tddworks/ asc-cli-skills --skill asc-app-wallインストール後、Claude Code で/asc-app-wallを入力して読み込まれたか確認します。
詳細
asc app-wall — アプリウォールにアプリを申請する
tddworks/asc-cli をフォークし、homepage/apps.json にエントリーを追加してプルリクエストを作成することで、asccli.app/#app-wall のコミュニティショーケースにアプリを追加します。すべてを 1 つのコマンドで実行できます。
ASC 認証は不要です。GitHub トークンのみ必要です。
コマンド
asc app-wall submit [options]
| フラグ | 必須 | 説明 |
|---|---|---|
--developer | — | カードに表示するハンドル名です。省略すると、iTunes のアーティスト名が使用されます |
--developer-id | ✓* | Apple のデベロッパー/販売者 ID です。App Store のアプリをすべて自動取得します |
--app-id | ✓* | App Store Connect のアプリ ID です(複数指定可能) |
--github | — | GitHub のユーザー名です |
--x | — | X/Twitter のハンドル名です |
--app | ✓* | 特定の App Store URL です(複数指定可能) |
--github-token | — | GitHub トークンです(または GITHUB_TOKEN を設定するか、gh auth login を実行します) |
✓* --developer-id、--app-id、--app のいずれか 1 つ以上が必要です。指定しない場合、ウォールに表示するアプリがありません。
一般的なワークフロー
# 1. Authenticate with GitHub (once)
gh auth login
# or: export GITHUB_TOKEN="ghp_..."
# 2. Submit — the CLI handles fork + commit + PR automatically
asc app-wall submit \
--developer "yourhandle" \
--developer-id "1234567890" \
--github "yourgithub" \
--x "yourx" \
--pretty
# 3. Open the PR in your browser (URL is in the output)
open "https://github.com/tddworks/asc-cli/pull/<number>"
2 つの申請方法
方法 A — デベロッパー ID でアプリをすべて申請する(推奨):
asc app-wall submit \
--developer "itshan" \
--developer-id "1725133580" \
--github "hanrw"
Apple デベロッパー ID は https://apps.apple.com/us/developer/name/id<NUMBER> で確認できます。
方法 B — 特定の App Store URL を指定する:
asc app-wall submit \
--developer "itshan" \
--app "https://apps.apple.com/us/app/my-app/id123456789" \
--app "https://apps.apple.com/us/app/other-app/id987654321"
どちらの方法も、1 つのコマンドで組み合わせて使用できます。
JSON 出力
{
"data": [
{
"affordances": {
"openPR": "open https://github.com/tddworks/asc-cli/pull/42"
},
"developer": "itshan",
"id": "42",
"prNumber": 42,
"prUrl": "https://github.com/tddworks/asc-cli/pull/42",
"title": "feat(app-wall): add itshan"
}
]
}
内部で行われる処理
- トークンを使って GitHub に認証します
tddworks/asc-cliをフォークします(冪等なため、複数回実行しても安全です)- フォークを upstream の
mainに同期します - フォークから現在の
homepage/apps.jsonを取得します - 重複(
developerフィールド)を確認します app-wall/<developer>ブランチを作成します- 更新した
apps.jsonをそのブランチにコミットします tddworks/asc-cli:mainを対象にプルリクエストを作成します
エラーケース
| エラー | 原因 | 対処方法 |
|---|---|---|
Provide --developer-id or at least one --app URL | どちらのフラグも指定されていません | --developer-id または --app を追加してください |
GitHub token required | トークンが見つかりません | --github-token を渡すか、GITHUB_TOKEN を設定するか、gh auth login を実行してください |
Developer X is already listed | apps.json に同じ developer が存在します | エントリーはすでに申請されています。既存のプルリクエストを確認してください |
Timed out waiting for fork | フォークの作成に 24 秒以上かかりました | 少し待ってから再試行してください |
GitHub API error (422) | ブランチがすでに存在します | 無視して問題ありません。コマンドは続行されます |
apps.json の形式
homepage/apps.json に追加されるエントリー:
{
"developer": "yourhandle",
"developerId": "1234567890",
"github": "yourgithub",
"x": "yourx"
}
値が nil のフィールドは自動的に省略されます。プルリクエストがマージされると、fetch-apps-data.js が apps-data.json を再生成し、iTunes API からアプリの情報を取得します。
関連項目
- 機能の詳細:
docs/features/app-wall.md - アプリウォール:
https://asccli.app/#app-wall - upstream リポジトリ:
https://github.com/tddworks/asc-cli
コメント
Markdown 対応