asc-app-wall
asc app-wall — Submit Your App to the App Wall
Adds your app to the community showcase at asccli.app/#app-wall by forking tddworks/asc-cli, adding your entry to homepage/apps.json, and opening a pull request — all in one command.
No ASC authentication required. Only a GitHub token is needed.
Command
asc app-wall submit [options]
| Flag | Required | Description |
|---|---|---|
--developer |
— | Display handle on the card; when omitted, uses iTunes artist name |
--developer-id |
✓* | Apple developer/seller ID — auto-fetches all your App Store apps |
--app-id |
✓* | App Store Connect app ID (repeatable) |
--github |
— | GitHub username |
--x |
— | X/Twitter handle |
--app |
✓* | Specific App Store URL (repeat for multiple) |
--github-token |
— | GitHub token (or set GITHUB_TOKEN / gh auth login) |
✓* At least one of --developer-id, --app-id, or --app is required — without it there are no apps to display on the wall.
Typical Workflow
# 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>"
Two Submission Modes
Mode A — all apps by developer ID (recommended):
asc app-wall submit \
--developer "itshan" \
--developer-id "1725133580" \
--github "hanrw"
Find your Apple developer ID at https://apps.apple.com/us/developer/name/id<NUMBER>.
Mode B — specific App Store URLs:
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"
Both modes can be combined in one command.
JSON Output
{
"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"
}
]
}
What Happens Under the Hood
- Authenticates with GitHub using your token
- Forks
tddworks/asc-cli(idempotent — safe to run multiple times) - Syncs the fork to upstream
main - Fetches current
homepage/apps.jsonfrom your fork - Checks for duplicate (
developerfield) - Creates branch
app-wall/<developer> - Commits updated
apps.jsonto that branch - Opens a PR against
tddworks/asc-cli:main
Error Cases
| Error | Cause | Fix |
|---|---|---|
Provide --developer-id or at least one --app URL |
Neither flag supplied | Add --developer-id or --app |
GitHub token required |
No token found | Pass --github-token, set GITHUB_TOKEN, or run gh auth login |
Developer X is already listed |
Duplicate developer in apps.json |
Entry already submitted; check existing PR |
Timed out waiting for fork |
Fork creation took > 24 seconds | Retry after a moment |
GitHub API error (422) |
Branch already exists | Safe to ignore — command continues |
apps.json Format
The entry added to homepage/apps.json:
{
"developer": "yourhandle",
"developerId": "1234567890",
"github": "yourgithub",
"x": "yourx"
}
Nil fields are omitted automatically. After the PR is merged, fetch-apps-data.js regenerates apps-data.json to pull in your apps from the iTunes API.
See Also
- Full feature doc:
docs/features/app-wall.md - App wall live:
https://asccli.app/#app-wall - Upstream repo:
https://github.com/tddworks/asc-cli