- aso competitors: top apps per keyword from the iTunes Search API (name, developer, rating count, release / update dates, localized genre), coverage gaps (words of 2+ developers), new entrants vs the last snapshot (.storebound/aso/competitors/) - aso suggest: candidates from own text, competitor names, localized category names and Apple Ads keyword suggestions (POST /v1/suggestions/keywords/query, relative 0-100 popularity, only with credentials); 100-byte keyword field per locale as a diff, --write marks it a draft that check --aso and aso audit report - aso audit: check --aso, free keyword room, rank trend arrows, gaps, Play short description / density, App Store conversion, PPO / Play experiment ideas, next 3 actions - MCP: read-only aso_competitors, aso_suggest, aso_audit; desktop ASO card (visx rank chart) - docs: README, aso-basics, store-pitfalls (Search API order, no Play search API), CHANGELOG; demo-app listing files; tests on recorded Search API and mocked Ads answers |
||
|---|---|---|
| .. | ||
| store | ||
| web | ||
| .gitignore | ||
| README.md | ||
| serve.ts | ||
| storebound.config.ts | ||
Tidy Lists (demo app)
A tiny fictional list app made only to show storebound's app profile and the app screenshot style (calm
gradient, a clean device frame, headline + subline, no sparkles or badges). One static page with sample data and the
switches a real app needs for store captures: lang and screen (lists, list, share, account). The ids and
URLs in storebound.config.ts are placeholders; nothing here talks to a store.
From this folder (needs Bun, ffmpeg, and Playwright's Chromium or Google Chrome):
bun serve.ts & # the app on http://127.0.0.1:8741
bun ../../cli/index.ts shots capture # raw frames: 2 languages x phone + tablet
bun ../../cli/index.ts shots fonts # Inter subset for the copy
bun ../../cli/index.ts shots render --size ios69,play,feature
bun ../../cli/index.ts shots gallery # store/renders/index.html
bun ../../cli/index.ts check # profile checks: delete-account URL, demo account, terms URL
bun ../../cli/index.ts play data-safety --dry # the Data safety CSV Play imports, from dataSafety in the config
bun ../../cli/index.ts aso audit # offline ASO report over store/appstore.md + store/listing.md
bun ../../cli/index.ts aso suggest --offline # keyword field proposals as a diff (nothing written)
bun ../../cli/index.ts scan (offline rejection-risk scan) finds four things that are true for a fictional app and
are accepted on purpose in scan.ignore of the config, each with its reason: no App Review demo account and no Play
App access credentials (there is no backend to sign in to), the com.example package name (the repo placeholder,
never uploaded), and no Play developer account type (there is no account). A real app with accounts must fix the first
two (review-access skill), pick its own package name and set play.accountType.
Everything it writes (store/shots/frames, store/renders, .storebound) is gitignored.