Google binds its session cookies to the device (Device Bound Session Credentials) and signs out sessions whose cookies look stolen, which can sign the owner out of their real Chrome. The default is now storebound's own profile per store; storebound starts Chrome itself (--user-data-dir, --remote-debugging-port=0, no --enable-automation, navigator.webdriver false) and attaches over CDP. --use-chrome-session google|apple is an explicit opt-in that warns. /signin/rejected is said plainly.
1134 lines
27 KiB
JSON
1134 lines
27 KiB
JSON
{
|
|
"global": [
|
|
"account",
|
|
"config",
|
|
"dry",
|
|
"force-unlock",
|
|
"help",
|
|
"json",
|
|
"only",
|
|
"verbose",
|
|
"yes"
|
|
],
|
|
"commands": {
|
|
"ads": [
|
|
"ios",
|
|
"plist"
|
|
],
|
|
"ads apple": [
|
|
"adgroup",
|
|
"all",
|
|
"bid",
|
|
"by",
|
|
"campaign",
|
|
"csv",
|
|
"daily",
|
|
"days",
|
|
"end",
|
|
"keyword",
|
|
"start"
|
|
],
|
|
"analytics": [
|
|
"days",
|
|
"dir",
|
|
"md",
|
|
"paths",
|
|
"store"
|
|
],
|
|
"api": [
|
|
"all-pages",
|
|
"body",
|
|
"out",
|
|
"param",
|
|
"search",
|
|
"store",
|
|
"upload"
|
|
],
|
|
"apple adhoc": [
|
|
"archive",
|
|
"csv",
|
|
"method",
|
|
"name",
|
|
"out",
|
|
"platform",
|
|
"plist",
|
|
"udid"
|
|
],
|
|
"apple appinfo": [],
|
|
"apple build": [
|
|
"build-number",
|
|
"configuration",
|
|
"keychain",
|
|
"no-install",
|
|
"out",
|
|
"project",
|
|
"scheme",
|
|
"version",
|
|
"workspace"
|
|
],
|
|
"apple bundle": [
|
|
"name"
|
|
],
|
|
"apple cpp": [
|
|
"include-drafts",
|
|
"jobs",
|
|
"name",
|
|
"off",
|
|
"src",
|
|
"variant",
|
|
"write"
|
|
],
|
|
"apple encryption": [
|
|
"build"
|
|
],
|
|
"apple events": [
|
|
"name"
|
|
],
|
|
"apple iap": [],
|
|
"apple iap-review": [],
|
|
"apple iap-submit": [
|
|
"new-version",
|
|
"no-submit",
|
|
"with-version"
|
|
],
|
|
"apple listing": [
|
|
"build",
|
|
"include-drafts",
|
|
"version",
|
|
"write"
|
|
],
|
|
"apple next-build": [],
|
|
"apple offer-codes": [
|
|
"all",
|
|
"base",
|
|
"ceiling",
|
|
"codes",
|
|
"csv",
|
|
"file",
|
|
"floor",
|
|
"no-subscriptions",
|
|
"offline",
|
|
"out",
|
|
"reconvert",
|
|
"source",
|
|
"store",
|
|
"update-bigmac",
|
|
"with-automatic"
|
|
],
|
|
"apple ppo": [
|
|
"experiment",
|
|
"include-drafts",
|
|
"jobs",
|
|
"name",
|
|
"src",
|
|
"traffic",
|
|
"variant",
|
|
"write"
|
|
],
|
|
"apple preorder": [
|
|
"release-date",
|
|
"territories"
|
|
],
|
|
"apple previews": [
|
|
"lang",
|
|
"no-captions",
|
|
"port",
|
|
"poster",
|
|
"seconds",
|
|
"src",
|
|
"target"
|
|
],
|
|
"apple promoted": [
|
|
"enable"
|
|
],
|
|
"apple release": [
|
|
"manual-release",
|
|
"phased",
|
|
"version"
|
|
],
|
|
"apple review-details": [
|
|
"contact-from"
|
|
],
|
|
"apple screenshots": [
|
|
"include-drafts",
|
|
"jobs",
|
|
"src",
|
|
"variant",
|
|
"write"
|
|
],
|
|
"apple signing": [
|
|
"keychain",
|
|
"no-install"
|
|
],
|
|
"apple status": [
|
|
"cancel-submission",
|
|
"timeout",
|
|
"version",
|
|
"wait-review"
|
|
],
|
|
"apple subscriptions": [
|
|
"all",
|
|
"base",
|
|
"ceiling",
|
|
"codes",
|
|
"csv",
|
|
"file",
|
|
"floor",
|
|
"no-subscriptions",
|
|
"offline",
|
|
"out",
|
|
"reconvert",
|
|
"source",
|
|
"store",
|
|
"update-bigmac",
|
|
"with-automatic"
|
|
],
|
|
"apple testflight": [
|
|
"build",
|
|
"csv",
|
|
"group",
|
|
"internal-only",
|
|
"invite",
|
|
"keep",
|
|
"locale",
|
|
"older-than",
|
|
"remove",
|
|
"submit-review",
|
|
"text",
|
|
"timeout",
|
|
"version"
|
|
],
|
|
"apple upload": [
|
|
"build",
|
|
"csv",
|
|
"group",
|
|
"internal-only",
|
|
"invite",
|
|
"keep",
|
|
"locale",
|
|
"no-wait",
|
|
"older-than",
|
|
"remove",
|
|
"submit-review",
|
|
"text",
|
|
"timeout",
|
|
"version",
|
|
"via"
|
|
],
|
|
"apple win-back": [
|
|
"all",
|
|
"base",
|
|
"ceiling",
|
|
"csv",
|
|
"file",
|
|
"floor",
|
|
"no-subscriptions",
|
|
"offline",
|
|
"out",
|
|
"reconvert",
|
|
"source",
|
|
"store",
|
|
"update-bigmac",
|
|
"with-automatic"
|
|
],
|
|
"apps": [
|
|
"icons",
|
|
"store"
|
|
],
|
|
"aso": [
|
|
"competitors",
|
|
"delay",
|
|
"fresh",
|
|
"keywords",
|
|
"limit",
|
|
"locale",
|
|
"no-save",
|
|
"offline",
|
|
"only-keywords",
|
|
"only-terms",
|
|
"storefront",
|
|
"storefronts",
|
|
"term",
|
|
"top",
|
|
"write"
|
|
],
|
|
"catalog": [
|
|
"all",
|
|
"base",
|
|
"ceiling",
|
|
"csv",
|
|
"file",
|
|
"floor",
|
|
"no-subscriptions",
|
|
"offline",
|
|
"out",
|
|
"reconvert",
|
|
"source",
|
|
"store",
|
|
"threshold",
|
|
"update-bigmac",
|
|
"with-automatic",
|
|
"write"
|
|
],
|
|
"check": [
|
|
"aso",
|
|
"capacitor",
|
|
"cordova",
|
|
"cordova-android",
|
|
"cordova-ios",
|
|
"expo",
|
|
"flutter",
|
|
"godot",
|
|
"react-native",
|
|
"storefront",
|
|
"unity"
|
|
],
|
|
"console fill": [
|
|
"cdp",
|
|
"chrome-profile",
|
|
"debug-dump",
|
|
"fresh-profile",
|
|
"profile",
|
|
"start-url",
|
|
"step-timeout",
|
|
"store",
|
|
"use-chrome-session"
|
|
],
|
|
"desktop": [
|
|
"channel",
|
|
"dir",
|
|
"download",
|
|
"format",
|
|
"no-folder"
|
|
],
|
|
"doctor": [
|
|
"dir"
|
|
],
|
|
"flow": [
|
|
"apply",
|
|
"from",
|
|
"resume"
|
|
],
|
|
"health": [
|
|
"apple",
|
|
"days",
|
|
"out",
|
|
"play",
|
|
"weekly"
|
|
],
|
|
"icons": [],
|
|
"import": [
|
|
"dir",
|
|
"out",
|
|
"profile"
|
|
],
|
|
"init": [
|
|
"dir",
|
|
"profile"
|
|
],
|
|
"inspect": [
|
|
"declarations",
|
|
"icon",
|
|
"listing-text",
|
|
"listings",
|
|
"render"
|
|
],
|
|
"install": [
|
|
"agent",
|
|
"command",
|
|
"dir",
|
|
"home",
|
|
"no-mcp",
|
|
"no-skills"
|
|
],
|
|
"listing": [
|
|
"all",
|
|
"force",
|
|
"from",
|
|
"lang",
|
|
"store",
|
|
"to",
|
|
"translate"
|
|
],
|
|
"mcp": [],
|
|
"originality": [
|
|
"against",
|
|
"threshold"
|
|
],
|
|
"play build": [
|
|
"dir",
|
|
"flavor",
|
|
"module",
|
|
"out",
|
|
"version-code",
|
|
"version-name"
|
|
],
|
|
"play data-safety": [
|
|
"csv",
|
|
"force"
|
|
],
|
|
"play images": [
|
|
"include-drafts",
|
|
"src",
|
|
"variant",
|
|
"write"
|
|
],
|
|
"play listing": [
|
|
"include-drafts",
|
|
"write"
|
|
],
|
|
"play next-version-code": [],
|
|
"play products": [],
|
|
"play release": [
|
|
"alpha",
|
|
"beta",
|
|
"fraction",
|
|
"include-drafts",
|
|
"internal",
|
|
"name",
|
|
"production",
|
|
"version-code",
|
|
"write"
|
|
],
|
|
"play rollout": [
|
|
"complete",
|
|
"fraction",
|
|
"halt",
|
|
"resume",
|
|
"track"
|
|
],
|
|
"play share": [
|
|
"aab",
|
|
"apk"
|
|
],
|
|
"play status": [],
|
|
"play subscriptions": [
|
|
"all",
|
|
"base",
|
|
"ceiling",
|
|
"codes",
|
|
"csv",
|
|
"file",
|
|
"floor",
|
|
"no-subscriptions",
|
|
"offline",
|
|
"out",
|
|
"reconvert",
|
|
"source",
|
|
"store",
|
|
"update-bigmac",
|
|
"with-automatic"
|
|
],
|
|
"play upload": [
|
|
"include-drafts",
|
|
"name",
|
|
"status",
|
|
"track",
|
|
"write"
|
|
],
|
|
"prices": [
|
|
"all",
|
|
"base",
|
|
"ceiling",
|
|
"csv",
|
|
"file",
|
|
"floor",
|
|
"no-subscriptions",
|
|
"offline",
|
|
"out",
|
|
"reconvert",
|
|
"source",
|
|
"store",
|
|
"update-bigmac",
|
|
"with-automatic"
|
|
],
|
|
"privacy-manifest": [
|
|
"ios",
|
|
"sdk-dirs"
|
|
],
|
|
"release": [
|
|
"all",
|
|
"app",
|
|
"apple",
|
|
"apply",
|
|
"apps",
|
|
"concurrency",
|
|
"force",
|
|
"merge",
|
|
"no-health",
|
|
"no-validate",
|
|
"offline",
|
|
"out",
|
|
"play",
|
|
"state",
|
|
"stdio",
|
|
"versions",
|
|
"workspace"
|
|
],
|
|
"reports": [
|
|
"csv",
|
|
"date",
|
|
"detail",
|
|
"frequency",
|
|
"month",
|
|
"out",
|
|
"region",
|
|
"type",
|
|
"vendor"
|
|
],
|
|
"revenuecat": [
|
|
"current"
|
|
],
|
|
"reviews": [
|
|
"all",
|
|
"days",
|
|
"dir",
|
|
"file",
|
|
"rating",
|
|
"store",
|
|
"text",
|
|
"unanswered",
|
|
"undo"
|
|
],
|
|
"scan": [
|
|
"against",
|
|
"capacitor",
|
|
"cordova",
|
|
"cordova-android",
|
|
"cordova-ios",
|
|
"dir",
|
|
"expo",
|
|
"flutter",
|
|
"godot",
|
|
"no-declarations",
|
|
"originality",
|
|
"react-native",
|
|
"store",
|
|
"threshold",
|
|
"unity",
|
|
"write"
|
|
],
|
|
"serve": [
|
|
"stdio"
|
|
],
|
|
"shots capture": [
|
|
"concurrency",
|
|
"device",
|
|
"force",
|
|
"keep-booted",
|
|
"lang",
|
|
"only-missing",
|
|
"source",
|
|
"src",
|
|
"variants"
|
|
],
|
|
"shots check": [
|
|
"lang",
|
|
"src",
|
|
"variants"
|
|
],
|
|
"shots fonts": [],
|
|
"shots gallery": [
|
|
"lang",
|
|
"no-variants",
|
|
"out",
|
|
"src"
|
|
],
|
|
"shots jpeg": [
|
|
"lang",
|
|
"q",
|
|
"src",
|
|
"variant",
|
|
"variants"
|
|
],
|
|
"shots record": [
|
|
"concurrency",
|
|
"device",
|
|
"force",
|
|
"keep-booted",
|
|
"lang",
|
|
"no-captions",
|
|
"only-missing",
|
|
"port",
|
|
"seconds",
|
|
"source",
|
|
"src",
|
|
"target",
|
|
"variants"
|
|
],
|
|
"shots render": [
|
|
"concurrency",
|
|
"lang",
|
|
"no-sheet",
|
|
"port",
|
|
"scenes",
|
|
"size",
|
|
"variant",
|
|
"variants"
|
|
],
|
|
"shots video": [
|
|
"lang",
|
|
"no-captions",
|
|
"port",
|
|
"seconds",
|
|
"target"
|
|
],
|
|
"triage": [
|
|
"apple",
|
|
"build",
|
|
"comments",
|
|
"days",
|
|
"issues",
|
|
"play"
|
|
],
|
|
"validate": [
|
|
"apple",
|
|
"capacitor",
|
|
"cordova",
|
|
"cordova-android",
|
|
"cordova-ios",
|
|
"days",
|
|
"expo",
|
|
"flutter",
|
|
"godot",
|
|
"include-drafts",
|
|
"jobs",
|
|
"lang",
|
|
"no-health",
|
|
"no-local",
|
|
"no-scan",
|
|
"out",
|
|
"play",
|
|
"react-native",
|
|
"src",
|
|
"unity",
|
|
"variant",
|
|
"variants",
|
|
"weekly",
|
|
"write"
|
|
],
|
|
"web": [
|
|
"base-url",
|
|
"landing",
|
|
"out",
|
|
"version-code"
|
|
],
|
|
"whats-new": [
|
|
"all",
|
|
"dir",
|
|
"force",
|
|
"hook",
|
|
"lang",
|
|
"languages",
|
|
"since",
|
|
"translate"
|
|
],
|
|
"ws": [
|
|
"aab",
|
|
"adgroup",
|
|
"against",
|
|
"agent",
|
|
"all",
|
|
"all-pages",
|
|
"alpha",
|
|
"apk",
|
|
"app",
|
|
"apple",
|
|
"apply",
|
|
"apps",
|
|
"archive",
|
|
"aso",
|
|
"base",
|
|
"base-url",
|
|
"beta",
|
|
"bid",
|
|
"body",
|
|
"build",
|
|
"build-number",
|
|
"by",
|
|
"campaign",
|
|
"cancel-submission",
|
|
"capacitor",
|
|
"cdp",
|
|
"ceiling",
|
|
"channel",
|
|
"chrome-profile",
|
|
"codes",
|
|
"command",
|
|
"comments",
|
|
"competitors",
|
|
"complete",
|
|
"concurrency",
|
|
"configuration",
|
|
"contact-from",
|
|
"cordova",
|
|
"cordova-android",
|
|
"cordova-ios",
|
|
"csv",
|
|
"current",
|
|
"daily",
|
|
"date",
|
|
"days",
|
|
"debug-dump",
|
|
"declarations",
|
|
"delay",
|
|
"detail",
|
|
"device",
|
|
"dir",
|
|
"download",
|
|
"enable",
|
|
"end",
|
|
"experiment",
|
|
"expo",
|
|
"file",
|
|
"flavor",
|
|
"floor",
|
|
"flutter",
|
|
"force",
|
|
"format",
|
|
"fraction",
|
|
"frequency",
|
|
"fresh",
|
|
"fresh-profile",
|
|
"from",
|
|
"godot",
|
|
"group",
|
|
"halt",
|
|
"home",
|
|
"hook",
|
|
"icon",
|
|
"icons",
|
|
"include-drafts",
|
|
"internal",
|
|
"internal-only",
|
|
"invite",
|
|
"ios",
|
|
"issues",
|
|
"jobs",
|
|
"keep",
|
|
"keep-booted",
|
|
"keychain",
|
|
"keyword",
|
|
"keywords",
|
|
"landing",
|
|
"lang",
|
|
"languages",
|
|
"limit",
|
|
"listing-text",
|
|
"listings",
|
|
"locale",
|
|
"manual-release",
|
|
"md",
|
|
"merge",
|
|
"method",
|
|
"module",
|
|
"month",
|
|
"name",
|
|
"new-version",
|
|
"no-captions",
|
|
"no-declarations",
|
|
"no-folder",
|
|
"no-health",
|
|
"no-install",
|
|
"no-local",
|
|
"no-mcp",
|
|
"no-save",
|
|
"no-scan",
|
|
"no-sheet",
|
|
"no-skills",
|
|
"no-submit",
|
|
"no-subscriptions",
|
|
"no-validate",
|
|
"no-variants",
|
|
"no-wait",
|
|
"off",
|
|
"offline",
|
|
"older-than",
|
|
"only-keywords",
|
|
"only-missing",
|
|
"only-terms",
|
|
"originality",
|
|
"out",
|
|
"param",
|
|
"paths",
|
|
"phased",
|
|
"platform",
|
|
"play",
|
|
"plist",
|
|
"port",
|
|
"poster",
|
|
"production",
|
|
"profile",
|
|
"project",
|
|
"q",
|
|
"rating",
|
|
"react-native",
|
|
"reconvert",
|
|
"region",
|
|
"release-date",
|
|
"remove",
|
|
"render",
|
|
"resume",
|
|
"scenes",
|
|
"scheme",
|
|
"sdk-dirs",
|
|
"search",
|
|
"seconds",
|
|
"since",
|
|
"size",
|
|
"source",
|
|
"src",
|
|
"start",
|
|
"start-url",
|
|
"state",
|
|
"status",
|
|
"stdio",
|
|
"step-timeout",
|
|
"store",
|
|
"storefront",
|
|
"storefronts",
|
|
"submit-review",
|
|
"target",
|
|
"term",
|
|
"territories",
|
|
"text",
|
|
"threshold",
|
|
"timeout",
|
|
"to",
|
|
"top",
|
|
"track",
|
|
"traffic",
|
|
"translate",
|
|
"type",
|
|
"udid",
|
|
"unanswered",
|
|
"undo",
|
|
"unity",
|
|
"update-bigmac",
|
|
"upload",
|
|
"use-chrome-session",
|
|
"variant",
|
|
"variants",
|
|
"vendor",
|
|
"version",
|
|
"version-code",
|
|
"version-name",
|
|
"versions",
|
|
"via",
|
|
"wait-review",
|
|
"weekly",
|
|
"with-automatic",
|
|
"with-version",
|
|
"workspace",
|
|
"write"
|
|
]
|
|
},
|
|
"usage": {
|
|
"ads": [
|
|
"storebound ads scan --ios ios/App [--plist path/to/Info.plist] [--dry] [--json]"
|
|
],
|
|
"ads apple": [
|
|
"storebound ads apple status [--json] token works?, ad accounts and roles (GET /v1/acls), the one used",
|
|
"storebound ads apple campaigns [--all] [--json] App Store campaigns: status, daily budget, countries, adamId",
|
|
"storebound ads apple report [--days 7 | --start YYYY-MM-DD --end YYYY-MM-DD] [--by campaign|keyword] [--campaign <id>]",
|
|
"storebound ads apple bid --keyword <id> --bid <amount> [--campaign <id>] [--adgroup <id>] [--dry] [--yes]",
|
|
"storebound ads apple budget --campaign <id> --daily <amount> [--dry] [--yes]",
|
|
"storebound ads apple pause --campaign <id> [--adgroup <id>] [--dry] [--yes]"
|
|
],
|
|
"analytics": [
|
|
"storebound analytics setup [--dry] App Store: create the ONGOING analytics report request (Admin key; once)",
|
|
"storebound analytics snapshot [--days 28] [--store apple|play] [--dry] -> .storebound/analytics/<date>.json",
|
|
"storebound analytics compare [--days 7] [--paths store,storebound.config.ts] [--md]"
|
|
],
|
|
"api": [
|
|
"storebound api list [--store apple|play] [--search text] [--json]",
|
|
"storebound api coverage [--store apple|play] [--json]",
|
|
"storebound api apple|play <operationId | METHOD path> [--param k=v ...] [--body file.json] [--upload file]",
|
|
"storebound api get apple|play <operationId> ... GET only (what the MCP tool api_get runs)"
|
|
],
|
|
"apple adhoc": [
|
|
"storebound apple adhoc devices [--platform IOS|MAC_OS] [--json] registered devices, UDIDs masked",
|
|
"storebound apple adhoc register [--csv .storebound/devices.csv] [--name n --udid u --platform IOS] [--dry] [--yes]",
|
|
"storebound apple adhoc profile [--name \"<profile name>\"] [--dry] [--yes] IOS_APP_ADHOC profile with every enabled iOS device",
|
|
"storebound apple adhoc options [--method release-testing|ad-hoc] [--out build/ExportOptions.plist] [--dry]",
|
|
"storebound apple adhoc export --archive <App.xcarchive> [--plist build/ExportOptions.plist] [--out build/adhoc] [--dry]"
|
|
],
|
|
"apple appinfo": [
|
|
"storebound apple appinfo [--dry] [--json]"
|
|
],
|
|
"apple build": [
|
|
"storebound apple build [--version 1.2.0] [--build-number N] [--scheme S] [--workspace W | --project P]"
|
|
],
|
|
"apple bundle": [
|
|
"storebound apple bundle [--name \"My App\"] [--dry]"
|
|
],
|
|
"apple cpp": [
|
|
"storebound apple cpp list [--json]",
|
|
"storebound apple cpp create [--name \"...\"] [--dry] [--json] pages missing on App Store Connect + localizations",
|
|
"storebound apple cpp upload --name \"...\" [--only en-US,tr] [--src store/renders] [--dry] screenshots (the page's variant)",
|
|
"storebound apple cpp submit --name \"...\" [--dry] [--yes] into a review submission (the owner's step; asks)",
|
|
"storebound apple cpp visible --name \"...\" [--off] [--dry] [--yes] show / hide an approved page (asks)"
|
|
],
|
|
"apple encryption": [
|
|
"storebound apple encryption [--build 42] [--dry]"
|
|
],
|
|
"apple events": [
|
|
"storebound apple events list [--json]",
|
|
"storebound apple events create [--name \"<reference name>\"] [--dry] [--json] missing events + localizations",
|
|
"storebound apple events upload --name \"...\" [--dry] event card (16:9) + details page (9:16) images per locale",
|
|
"storebound apple events submit --name \"...\" [--dry] [--yes] into a review submission (the owner's step; asks)"
|
|
],
|
|
"apple iap": [
|
|
"storebound apple iap [--dry] [--only id1,id2]"
|
|
],
|
|
"apple iap-review": [
|
|
"storebound apple iap-review [--dry]"
|
|
],
|
|
"apple iap-submit": [
|
|
"storebound apple iap-submit [--only id1,id2] [--with-version] [--new-version] [--no-submit] [--dry] [--yes] [--json]"
|
|
],
|
|
"apple listing": [
|
|
"storebound apple listing --version 1.0.0 [--build 3] [--include-drafts] [--dry] [--json]",
|
|
"storebound apple listing pull [--version x.y.z] [--write] [--json]"
|
|
],
|
|
"apple next-build": [
|
|
"storebound apple next-build -> 42"
|
|
],
|
|
"apple offer-codes": [
|
|
"storebound apple offer-codes [--only id1,id2] [--codes] [--dry] [--yes] [--json]"
|
|
],
|
|
"apple ppo": [
|
|
"storebound apple ppo status [--json]",
|
|
"storebound apple ppo create --variant b[,c] [--name \"...\"] [--traffic 30] [--dry]",
|
|
"storebound apple ppo upload --variant b [--experiment \"...\"] [--only en-US,tr] [--src store/renders] [--dry]",
|
|
"storebound apple ppo start | stop [--experiment \"...\"] [--dry] [--yes]"
|
|
],
|
|
"apple preorder": [
|
|
"storebound apple preorder status [--json]",
|
|
"storebound apple preorder enable --release-date YYYY-MM-DD [--territories USA,DEU] [--dry] [--yes] [--json]",
|
|
"storebound apple preorder end [--territories USA,DEU] [--dry] [--yes] [--json]"
|
|
],
|
|
"apple previews": [
|
|
"storebound apple previews [--src store/renders] [--only en-US,tr] [--poster 5] [--dry]"
|
|
],
|
|
"apple promoted": [
|
|
"storebound apple promoted [--enable] [--dry] [--yes] [--json]"
|
|
],
|
|
"apple release": [
|
|
"storebound apple release --phased on|pause|resume|complete [--version 1.2.0] [--dry] [--yes]",
|
|
"storebound apple release --manual-release [--version 1.2.0] [--yes]"
|
|
],
|
|
"apple review-details": [
|
|
"storebound apple review-details [--contact-from <Apple ID of another app>] [--dry]"
|
|
],
|
|
"apple screenshots": [
|
|
"storebound apple screenshots [--src store/renders] [--only en-US,tr] [--jobs 4] [--variant b] [--dry]"
|
|
],
|
|
"apple signing": [
|
|
"storebound apple signing status [--json] read-only: capabilities, certificates (with / without a",
|
|
"storebound apple signing ensure [--dry] [--yes] [--keychain [path]] [--no-install] [--json]"
|
|
],
|
|
"apple status": [
|
|
"storebound apple status [--json]",
|
|
"storebound apple status --cancel-submission <id> [--yes]",
|
|
"storebound apple status --wait-review [--version 1.2.0] [--timeout 48h]"
|
|
],
|
|
"apple subscriptions": [
|
|
"storebound apple subscriptions [--dry] [--only id1,id2] [--csv store/prices.csv] [--codes] [--yes]"
|
|
],
|
|
"apple testflight": [
|
|
"storebound apple testflight status [--json] groups, testers per group, recent builds + beta states",
|
|
"storebound apple testflight groups [--dry] create the groups of apple.testflight.groups that are missing",
|
|
"storebound apple testflight testers [--csv f] [--group a,b] [--remove] [--invite] [--dry] [--yes]",
|
|
"storebound apple testflight what-to-test --build N [--version x.y.z] [--locale en-US,tr] [--text \"...\"] [--dry]",
|
|
"storebound apple testflight info [--dry] Test Information + Beta App Review contact / notes",
|
|
"storebound apple testflight distribute --build N --group a,b [--version x.y.z] [--internal-only] [--submit-review] [--dry] [--yes]",
|
|
"storebound apple testflight wait --build N [--version x.y.z] [--timeout 60m] [--dry] [--json] until processing ends",
|
|
"storebound apple testflight expire (--keep N | --older-than D) [--version x.y.z] [--dry] [--yes] [--json]"
|
|
],
|
|
"apple upload": [
|
|
"storebound apple upload [<app.ipa>] [--via api|altool] [--no-wait] [--timeout 60m] [--dry] [--yes] [--json]"
|
|
],
|
|
"apple win-back": [
|
|
"storebound apple win-back [--only sub1,sub2] [--dry] [--yes] [--json]"
|
|
],
|
|
"apps": [
|
|
"storebound apps list [--store apple|play] [--icons] [--json] every app the key can see (App Store Connect team /",
|
|
"storebound apps check [--store apple|play] [--json] auth OK / permission missing / key revoked, with the fix"
|
|
],
|
|
"aso": [
|
|
"storebound aso rank [--storefronts us,de=de-DE] [--keywords \"a,b\"] [--only-keywords] [--competitors 3] [--limit 200]",
|
|
"storebound aso competitors [--term <kw>]... [--storefront us,tr] [--only-terms] [--top 10] [--delay 3500] [--no-save] [--dry] [--json]",
|
|
"storebound aso suggest [--locale en-US,tr] [--fresh] [--offline] [--write] [--json]",
|
|
"storebound aso audit [--storefront US] [--json]"
|
|
],
|
|
"catalog": [
|
|
"storebound catalog diff [--store apple|play] [--threshold 10] [--json]",
|
|
"storebound catalog pull [--store apple|play] [--write] [--json]"
|
|
],
|
|
"check": [
|
|
"storebound check everything above",
|
|
"storebound check --aso keyword audit of both listing files (App Store keyword field, Play stuffing); exit 1 on errors"
|
|
],
|
|
"console fill": [
|
|
"storebound console fill lists the forms",
|
|
"storebound console fill <form> --dry [--json] the answers and the step-by-step guidance; opens no browser",
|
|
"storebound console fill <form> [--store apple|play] [--json] [--profile <dir>] [--use-chrome-session google|apple]"
|
|
],
|
|
"desktop": [
|
|
"storebound desktop open the app; in an app folder (storebound.config.*) it adds or selects that",
|
|
"storebound desktop --dir <folder> the same for another folder; --no-folder: just open the app",
|
|
"storebound desktop --download not installed: download the installer for this system into ~/Downloads,"
|
|
],
|
|
"doctor": [
|
|
"storebound doctor [--dir .] [--json]"
|
|
],
|
|
"flow": [
|
|
"storebound flow list [--json] the flows of this project and their steps",
|
|
"storebound flow validate [--json] definitions, sub-flow cycles, commands, variables; exit 1 on a problem",
|
|
"storebound flow run <name> [NAME=value ...] [--dry | --apply] [--from <step> | --resume] [--json]"
|
|
],
|
|
"health": [
|
|
"storebound health [--apple] [--play] [--days 7] [--json]",
|
|
"storebound health --weekly [--out .storebound/health] [--dry] also writes <date>.md (+ <date>.json for the next"
|
|
],
|
|
"icons": [
|
|
"storebound icons [--dry]"
|
|
],
|
|
"import": [
|
|
"storebound import fastlane [--dir <fastlane dir>[,<dir>]] [--out <project folder>] [--profile app|game|subscription-app] [--dry]"
|
|
],
|
|
"init": [
|
|
"storebound init [--dir .] [--profile app|game|subscription-app] [--dry]"
|
|
],
|
|
"inspect": [
|
|
"storebound inspect [--json]",
|
|
"storebound inspect --icon --json the app icon as a data: URL (for the desktop app)",
|
|
"storebound inspect --listings [--json] listing completeness per language on both stores (+ rendered screenshots)",
|
|
"storebound inspect --listing-text --json the listing files as they are (desktop export)",
|
|
"storebound inspect --declarations [--json] Data safety, App Privacy, app info, export compliance and App Review",
|
|
"storebound inspect --render <file> --json one render (relative to the renders folder) as a data: URL"
|
|
],
|
|
"install": [
|
|
"storebound install --agent claude|codex|cursor|copilot|windsurf|gemini|opencode[,...] [--dir .] [--dry]"
|
|
],
|
|
"listing": [
|
|
"storebound listing translate --to de-DE,ja [--from en-US] [--store apple|play] [--translate \"<command>\"] [--force] [--dry] [--json]",
|
|
"storebound listing check [--json] limits, keyword rules, untranslated and draft sections; exit 1 on a problem",
|
|
"storebound listing reviewed --lang de-DE[,ja] | --all [--dry] a human read the draft: remove its marker"
|
|
],
|
|
"originality": [
|
|
"storebound originality [--against <folder>[,<folder>]] [--threshold 0.7] [--json]"
|
|
],
|
|
"play build": [
|
|
"storebound play build [--version-code N] [--version-name 1.2.0] [--flavor prod] [--dir android] [--module app]"
|
|
],
|
|
"play data-safety": [
|
|
"storebound play data-safety [--csv out.csv] [--dry] [--force]"
|
|
],
|
|
"play images": [
|
|
"storebound play images [--dry] [--only en-US,de-DE] [--src store/renders] [--variant b]"
|
|
],
|
|
"play listing": [
|
|
"storebound play listing [--dry] [--json] [--only en-US,de-DE] [--include-drafts]",
|
|
"storebound play listing pull [--write] [--json] live listings -> diff -> (with --write) the Play listing file"
|
|
],
|
|
"play next-version-code": [
|
|
"storebound play next-version-code -> 43"
|
|
],
|
|
"play products": [
|
|
"storebound play products [--dry] [--only id1,id2]"
|
|
],
|
|
"play release": [
|
|
"storebound play release app-release.aab [--internal completed] [--production draft] [--name \"1.0.0 (3)\"] [--dry]",
|
|
"storebound play release --version-code 3 --production draft"
|
|
],
|
|
"play rollout": [
|
|
"storebound play rollout --fraction 0.2 | --halt | --resume [--fraction 0.1] | --complete [--track production] [--dry] [--yes]"
|
|
],
|
|
"play share": [
|
|
"storebound play share --aab app.aab | --apk app.apk [--dry] [--yes] [--json]"
|
|
],
|
|
"play status": [
|
|
"storebound play status [--json]"
|
|
],
|
|
"play subscriptions": [
|
|
"storebound play subscriptions [--dry] [--only id1,id2] [--csv store/prices.csv] [--yes]"
|
|
],
|
|
"play upload": [
|
|
"storebound play upload [<app.aab>] [--track internal|alpha|beta] [--status completed|draft] [--name text] [--dry] [--yes] [--json]"
|
|
],
|
|
"prices": [
|
|
"storebound prices export [--out store/prices.csv] [--store apple|play] [--only ids] [--with-automatic] [--no-subscriptions] [--dry] [--json]",
|
|
"storebound prices import [--csv store/prices.csv] [--store apple|play] [--only ids] [--reconvert] [--all] [--dry] [--yes]",
|
|
"storebound prices ppp [--base <USD>] [...] purchasing power price sheet (prices-ppp.ts)"
|
|
],
|
|
"privacy-manifest": [
|
|
"storebound privacy-manifest --ios ios/App [--sdk-dirs node_modules/@capacitor,node_modules/some-plugin] [--json]"
|
|
],
|
|
"reports": [
|
|
"storebound reports apple-sales [--type SALES] [--frequency DAILY|WEEKLY|MONTHLY|YEARLY] [--date ...] [--vendor N]",
|
|
"storebound reports apple-finance --month YYYY-MM [--detail] [--region ZZ] [--vendor N]",
|
|
"storebound reports play-earnings --month YYYY-MM",
|
|
"storebound reports play-sales --month YYYY-MM"
|
|
],
|
|
"revenuecat": [
|
|
"storebound revenuecat diff [--json] read-only parity report; exit 1 when out of sync",
|
|
"storebound revenuecat sync [--dry] [--yes] [--current] [--json]"
|
|
],
|
|
"reviews": [
|
|
"storebound reviews list [--store apple|play] [--days 14] [--unanswered] [--rating 1,2] [--json]",
|
|
"storebound reviews draft [--store apple|play] [--days 14] [--rating 1,2,3] [--all] [--dir .storebound/replies] [--dry]",
|
|
"storebound reviews send [--dir .storebound/replies] [--dry] [--yes]",
|
|
"storebound reviews drafts [--json] the local drafts with the checks `send` applies (offline)",
|
|
"storebound reviews approve <draft file> [--undo] [--dry] sets approved: true (false) in one draft (local file)",
|
|
"storebound reviews reply <draft file> --text \"...\" [--dry] writes the reply of one draft (local file; approval reset)",
|
|
"storebound reviews send --file <draft file> ... sends that one approved draft only"
|
|
],
|
|
"scan": [
|
|
"storebound scan [--dir <project>] [--config <file>] [--store apple|play] [--json] [--no-declarations]",
|
|
"storebound scan --write also write the detected dataSafety / appPrivacy answers into the config",
|
|
"storebound scan --originality [--against <folders>] [--threshold 0.7] also the 4.3 / Play repetitive content"
|
|
],
|
|
"shots capture": [
|
|
"storebound shots capture [--lang en,tr] [--only hero,shop] [--device phone|tablet] [--source web|ios-sim|android-emu|folder]"
|
|
],
|
|
"shots check": [
|
|
"storebound shots check [--lang en,tr] [--variants] [--json]"
|
|
],
|
|
"shots fonts": [
|
|
"storebound shots fonts [--json] (re-run after editing the copy or the fonts)"
|
|
],
|
|
"shots gallery": [
|
|
"storebound shots gallery [--lang en,tr] [--src store/renders] [--out <file>] [--no-variants] [--json]"
|
|
],
|
|
"shots jpeg": [
|
|
"storebound shots jpeg [--q 92] [--lang en,tr] [--variant b | --variants]"
|
|
],
|
|
"shots record": [
|
|
"storebound shots record [--lang en,tr] [--only intro,combo] [--source web|ios-sim|android-emu|folder] [--dry] [--keep-booted]"
|
|
],
|
|
"shots render": [
|
|
"storebound shots render [--lang en,tr] [--size ios69,play,feature] [--scenes hero,battle] [--variant b | --variants]"
|
|
],
|
|
"shots video": [
|
|
"storebound shots video [--lang en,tr] [--target iphone,ipad,youtube] [--seconds 25] [--no-captions] [--dry]"
|
|
],
|
|
"triage": [
|
|
"storebound triage [--apple] [--play] [--days 14] [--build N] [--issues 10] [--comments 3] [--dry] [--json]"
|
|
],
|
|
"validate": [
|
|
"storebound validate [--apple] [--play] [--json] [--src store/renders] [--no-local] [--no-health] [--no-scan]"
|
|
],
|
|
"web": [
|
|
"storebound web init [--out web] [--landing] [--version-code N] [--dry] [--json]",
|
|
"storebound web check [<domain>] [--json] read-only, no credentials: the live files on https://<domain>"
|
|
],
|
|
"whats-new": [
|
|
"storebound whats-new [--since v1.1.0] [--lang en-US] [--all] [--hook \"text\"] [--dry]",
|
|
"storebound whats-new --languages en-US,de-DE,tr [--dir store/whats-new] [--translate \"<command>\"] [--force] [--dry] [--json]",
|
|
"storebound whats-new check [--dir store/whats-new] [--json] limits per store (Play 500, App Store 4000), untranslated files",
|
|
"storebound whats-new apply [--dir store/whats-new] [--dry] [--json] checked files -> both listing files"
|
|
]
|
|
}
|
|
}
|