Onboarding live apps without owner questions for what the stores and the code prove: storebound onboard imports the live products and subscriptions with USD / base prices (catalog diff clean), contact values, the App Review contact and demo account (credentials.json, masked), sign-in for review from Apple's review detail and auth code, and the account deletion page from the app's site; App Store keywords count characters (live fields up to 265 bytes accepted); validate accepts the 6.5-inch iPhone set and Play's default-language graphics fallback; Play Reporting API off gives the project's enable link and apps list falls back to local apps; accounts default <profile>; store-only apps (apps add --store --app-id) shown read-only in the desktop (pitfalls 43-52)

This commit is contained in:
CRTkafa 2026-10-13 07:25:01 +08:00
parent d2ce185441
commit e5f148e534
55 changed files with 1648 additions and 158 deletions

View file

@ -53,6 +53,26 @@ catalog", "the reviewer could not sign in", "make store screenshots in 5 languag
update rejected", "put build 42 on TestFlight", "how are our crash rates", "answer the new reviews", "did the new
screenshots help". The matching skill takes over.
## An app that is already live
`storebound init`, then pull what the stores already have instead of typing it in:
```sh
bunx storebound apple listing pull --write && bunx storebound play listing pull --write # texts per language
bunx storebound onboard # the plan: products + prices, contact, review contact, sign-in, deletion page
bunx storebound onboard --write # into storebound.config.ts and .storebound/credentials.json
bunx storebound catalog diff # clean: the config now sells what the stores sell
```
`onboard` is read-only on the stores and never changes a store price. It imports the live one-time products and
subscriptions (usd = the US price; Apple's base territory as an override when it is not the USA; an item on one store
only keeps `platforms`), replaces template contact values (`support@example.com`, example.com URLs) with Play's and App
Store Connect's, puts the App Review contact and a demo account set on App Store Connect into
`.storebound/credentials.json` (never printed), decides "sign-in required for review" from Apple's review detail and the
code, and looks for the account deletion page on the app's own site. What nothing proves is listed as owner questions
at the end, in one batch. An iOS app whose source is not on this machine: `storebound apps add --store apple --app-id
<id> --account <profile>` shows it in the desktop, read-only.
## Coming from fastlane
`storebound import fastlane` turns an existing fastlane setup into storebound files. It only reads (no Ruby is run),