README is a short front page (about 120 lines) with one real visual per section; every former section moved unchanged into docs/*.md with a docs/README.md index (journey, rejections, getting-started, commands, growth, studios, store-art, listing-languages, api, skills, mcp, safety, faq, project). The site tells the same story on one page: the teaser in the hero, real CLI output as text, the desktop app as a section with light/dark captures of eight screens and the per-system downloads (desktop/latest.json); /desktop/ redirects to /#download. New capture tools: tools/site-desktop-shots.ts (fixture-mode desktop frames) and tools/site-term-shots.ts (real CLI output as text and WebP). tests/docs-links.test.ts checks README, docs and site links resolve.
2.2 KiB
2.2 KiB
Every endpoint
The commands above cover the journey. For anything else, storebound api calls every operation of the App Store
Connect API (1303 operations, OpenAPI 4.5.1) and of the Google Play Developer APIs (Android Publisher v3: 145,
Play Developer Reporting v1beta1: 25), generated from the official specs pinned in specs/ (source URLs, dates and
SHA-256 in specs/SOURCES.json). Same credentials, same retries on 429 / 5xx (Retry-After honoured), JSON:API
documents on the Apple side.
storebound api list --store apple --search "customerReviews" # find an operation
storebound api apple apps_getCollection --param 'filter[bundleId]=com.example.app'
storebound api apple GET /v1/apps/123/appStoreVersions --all-pages # METHOD path works too
storebound api play reviews.list --param packageName=com.example.app --all-pages --json
storebound api play POST /v1beta1/apps/com.example.app/crashRateMetricSet:query --body query.json
storebound api coverage # counts per API and resource, what commands wrap
- GET runs right away (so do the Reporting API
:querycalls and other POSTs that only read). - Every write is a dry run by default: it prints the exact request (method, URL, body; the credential is never
shown) and is only sent with
--yesfrom an interactive terminal. - Owner-only operations (submit, release, delete, cancel, refunds, prices, testers and users, review replies,
product page tests, Play
edits.commit, app signing; the list is incli/api/gate.ts) also ask you to type the operation id before anything is sent. - Agents read, never write: MCP has one tool for this,
api_get(GET operations only). Under MCP or the desktop app no write goes out, whatever the flags. - Small on purpose: one table row per operation plus generic helpers (
cli/api/), typed from the rows (path and required parameters, JSON:API request and response shapes).bun tools/gen-api.tsregenerates the tables and docs/api-coverage.md (every operation, its gate and the commands that already call it); CI fails when they are stale.