Console pages as absolute deep links: cli/lib/console-links.ts builds the URL of every App Store Connect / Play Console page from apple.appId, play.developerId and play.appId (app list / developer chooser when unknown); every plain 'App Store Connect > ...' / 'Play Console > ...' direction in cli/ and templates/ now carries it, validate / scan / declarations / release plan JSON carry url, the desktop shows an Open button; tests/console-links.test.ts guards it; AGENTS rule 11, pitfall 71

This commit is contained in:
CRTkafa 2026-10-15 19:55:37 +08:00
parent f898d642d0
commit e500e88e40
50 changed files with 381 additions and 92 deletions

View file

@ -1,6 +1,6 @@
# Example Game · App Store "App Privacy" answers
App Store Connect > your app > App Privacy. **Web UI only, there is no API.** Fill it from this table, then press
App Store Connect > your app > App Privacy (https://appstoreconnect.apple.com/apps, then the app; `storebound console plan apple-app-privacy` gives the deep link). **Web UI only, there is no API.** Fill it from this table, then press
**Publish** at the top of the App Privacy page (saving alone does not publish it, and review checks the published one).
Keep it consistent with the privacy policy and the Play Data safety answers (`dataSafety` in `storebound.config.ts`).

View file

@ -2,7 +2,7 @@
Answers for a typical single-player free-to-play game with ads (mediation) and in-app purchases, no accounts, no chat,
no user-generated content, general audience 13+. Change what does not match your game. Everything marked **UI** has no
API: Play Console > your app > Policy and programs > **App content** (or Dashboard > "Set up your app"), and App Store
API: Play Console > your app > Policy and programs > **App content** (https://play.google.com/console, then the app; `storebound console plan` gives deep links) (or Dashboard > "Set up your app"), and App Store
Connect for Apple. Data safety (Play) has an API: `storebound play data-safety`.
## Google Play · App content (UI)
@ -51,7 +51,7 @@ Expected: PEGI 3, ESRB Everyone, USK 0, IARC 3+. Apple age rating 4+ (all conten
## App Store (UI-only parts)
- App record: App Store Connect > Apps > + > New App (platform, name, primary language, bundle id, SKU). No API.
- App record: App Store Connect > Apps > + > New App (https://appstoreconnect.apple.com/apps) (platform, name, primary language, bundle id, SKU). No API.
- App Privacy: `app-privacy.md`, then **Publish**.
- Export compliance (export-compliance skill): `ITSAppUsesNonExemptEncryption = NO` in Info.plist only if true (HTTPS / OS encryption only) so
every build skips the question.

View file

@ -1,6 +1,6 @@
# Example App · App Store "App Privacy" answers
App Store Connect > your app > App Privacy. **Web UI only, there is no API.** Fill it from this table, then press
App Store Connect > your app > App Privacy (https://appstoreconnect.apple.com/apps, then the app; `storebound console plan apple-app-privacy` gives the deep link). **Web UI only, there is no API.** Fill it from this table, then press
**Publish** (saving alone does not publish it). Keep it consistent with the privacy policy and the Play Data safety
answers (`dataSafety` in `storebound.config.ts`). **Edit to match your app.**

View file

@ -3,7 +3,7 @@
Starting answers for a typical **utility / productivity app**: an optional account (email + password, or sign in
with a provider), an analytics SDK acting as your processor, data synced to your own backend, no ads, no chat with
strangers, general audience. **Edit every line to match your app**: these are your statements to the stores. Everything
marked **UI** has no API: Play Console > your app > Policy and programs > **App content**, and App Store Connect for
marked **UI** has no API: Play Console > your app > Policy and programs > **App content** (https://play.google.com/console), and App Store Connect for
Apple. Data safety (Play) has an API: `storebound play data-safety`.
## Google Play · App content (UI)
@ -48,7 +48,7 @@ content publicly.
## App Store (UI-only parts)
- App record: App Store Connect > Apps > + > New App. No API.
- App record: App Store Connect > Apps > + > New App (https://appstoreconnect.apple.com/apps). No API.
- App Privacy: `app-privacy.md`, then **Publish**.
- App Review information: `storebound apple review-details` sends the contact, the demo account (from
`.storebound/credentials.json`, masked in the log) and the notes.

View file

@ -1,6 +1,6 @@
# Example App · App Store "App Privacy" answers
App Store Connect > your app > App Privacy. **Web UI only, there is no API.** Fill it from this table, then press
App Store Connect > your app > App Privacy (https://appstoreconnect.apple.com/apps, then the app; `storebound console plan apple-app-privacy` gives the deep link). **Web UI only, there is no API.** Fill it from this table, then press
**Publish** (saving alone does not publish it). Keep it consistent with the privacy policy and the Play Data safety
answers (`dataSafety` in `storebound.config.ts`). **Edit to match your app.**

View file

@ -3,7 +3,7 @@
Starting answers for a typical **subscription app**: auto-renewable subscriptions (free trial on the yearly plan), an account (email + password, or sign in
with a provider), an analytics SDK acting as your processor, data synced to your own backend, no ads, no chat with
strangers, general audience. **Edit every line to match your app**: these are your statements to the stores. Everything
marked **UI** has no API: Play Console > your app > Policy and programs > **App content**, and App Store Connect for
marked **UI** has no API: Play Console > your app > Policy and programs > **App content** (https://play.google.com/console), and App Store Connect for
Apple. Data safety (Play) has an API: `storebound play data-safety`.
## Google Play · App content (UI)
@ -48,7 +48,7 @@ content publicly.
## App Store (UI-only parts)
- App record: App Store Connect > Apps > + > New App. No API.
- App record: App Store Connect > Apps > + > New App (https://appstoreconnect.apple.com/apps). No API.
- App Privacy: `app-privacy.md`, then **Publish**.
- App Review information: `storebound apple review-details` sends the contact, the demo account (from
`.storebound/credentials.json`, masked in the log) and the notes.