storebound/docs
2026-10-24 19:49:26 +08:00
..
acceptance acceptance: the app fixture carries the owner's answers (unanswered: [], its own name and copyright; template answers are refused before store writes); macOS results of 0.8.4 (123/123 on Node 20, Node 22, Bun), docs/acceptance.md regenerated 2026-10-14 23:56:57 +08:00
diagrams No hand-written SVG: visx charts, lucide icons, Mermaid journey diagram 2026-10-11 08:49:30 +08:00
drafts apple creative-assets: select Header and Search Results assets once processed (Prepare for Submission), not once approved: Apple reviews an asset only in a review submission, so 0.8.13 waited forever; upload and select in one run with a bounded processing wait; --add-for-review puts unreviewed assets into the draft review submission (never submits); --verify reads every slot back read-only (MCP apple_creative_assets_verify); a rejected file or one that failed processing twice is not re-uploaded, an archived copy is unarchived; fake commits library assets to PREPARE_FOR_SUBMISSION; pitfall 76 rewritten; apple-name check test only looks at name hints 2026-10-19 05:42:53 +07:00
img No hand-written SVG: visx charts, lucide icons, Mermaid journey diagram 2026-10-11 08:49:30 +08:00
research price changes of existing products need --allow-price-changes (play products, play/apple subscriptions, prices import): --yes and flow run --apply --yes confirm creates, first prices and other updates only; without the flag the run writes the rest, names each held change and exits 3 (declined), dry runs mark them owner, flows refuse the flag; lib/price-gate.ts, tests/price-gate.test.ts. CLI wording: console fill leaves what it cannot open or fill to the calling agent's browser tool (console plan / verify) instead of 'yourself'; other 'by hand' output points at the config; do-it-dont-ask test scans cli/ output 2026-10-12 09:38:57 +08:00
acceptance.md acceptance: the app fixture carries the owner's answers (unanswered: [], its own name and copyright; template answers are refused before store writes); macOS results of 0.8.4 (123/123 on Node 20, Node 22, Bun), docs/acceptance.md regenerated 2026-10-14 23:56:57 +08:00
agents-core.md Bypass mode (owner opt-in, default off): storebound settings bypass on|off|status and a one-time question in init; MCP owner_step (owner-only commands, dry run first), owner-only api operations with --yes --confirm, console plans may press buttons.final; every action logged to .storebound/owner-actions.log; docs/bypass.md, agent rules, tests 2026-10-22 02:27:34 +08:00
api-coverage.md api tables: regenerate for the new Play listing calls 2026-10-24 19:49:26 +08:00
api.md README, docs and site: one story (the whole job, no avoidable rejections, the desktop app, your AI, install) 2026-10-13 03:29:59 +08:00
bypass.md Bypass mode (owner opt-in, default off): storebound settings bypass on|off|status and a one-time question in init; MCP owner_step (owner-only commands, dry run first), owner-only api operations with --yes --confirm, console plans may press buttons.final; every action logged to .storebound/owner-actions.log; docs/bypass.md, agent rules, tests 2026-10-22 02:27:34 +08:00
commands.md docs/ship-step.md, pitfall 110 (pipeline exit 7 and double uploads), CHANGELOG Unreleased 2026-10-23 13:13:28 +08:00
console-parity.md store art from the live stores: storebound art pull (App Store screenshot sets and previews per locale and display type from imageAsset.templateUrl at the original size, the App Store icon from the newest build or the public artwork; per Play language icon, feature graphic, phone / 7" / 10" / TV / Wear screenshots as the =s0 originals checked against Play's sha256) into store/renders with pulled.json (sha256, store, URL host, store checksum); upsert (a re-run changes nothing, differing local files kept unless --force, the upload's file of a slot compared: Play .jpg, App Store .png, the App Store icon as a picture); onboard runs it; apple screenshots / previews and play images see unchanged pulled files as the store's own; check: render sources are notes with pulled art; local renders check: pulled files pass, store-empty sets not demanded; art live / thumb / replace; desktop Store art tab: live thumbnails per store, language and set (same / differs / not pulled), Pull from stores, store-only apps read-only, Replace with a file (image_pick, art.replace) in the lightbox and the art editor; boot check store art case; tests/art-pull.test.ts; console parity 76 rows (57 complete, 19 with the reason); store-screenshots skill (pull first for live apps), pitfall 59 2026-10-14 05:25:37 +08:00
desktop-coverage.md desktop coverage entry for shots copy 2026-10-24 12:16:49 +08:00
desktop-release.md desktop dev update channel: every push to main builds dev bundles (<next patch>-dev.<UTC>), the VDS signs and publishes dev/latest.json (newest 5); app channel setting stable|dev, background updater at start / 15 min / resume / channel switch, deferred while in use, no downgrade, autostart rewritten on every start, card shows version and channel 2026-10-23 23:14:08 +08:00
desktop.md desktop: tray menu panels and pinnable context menus 2026-10-24 13:44:08 +08:00
faq.md CLI runs on Node 20+: npx storebound (bunx keeps working) 2026-10-13 04:03:28 +08:00
getting-started.md Windows builds and moved credentials: play build runs gradlew.bat through cmd /c and takes C:/ keystore paths as absolute (pitfall 98); check names credential paths missing on this machine and a keystore the stored password / alias do not open (keytool) (pitfall 99); play / apple build write <out>/latest.json for CI; CI install from a git clone documented 2026-10-22 02:10:52 +08:00
growth.md README, docs and site: one story (the whole job, no avoidable rejections, the desktop app, your AI, install) 2026-10-13 03:29:59 +08:00
HANDOFF.md docs/HANDOFF.md: what is released, the open work (desktop report view in a stash, two worktrees of other sessions, things not verified live), and the rules that matter 2026-10-21 18:10:58 +07:00
idempotency.md apple submit --build <n> (first submission, the resubmit steps; plan table with --json under serve); desktop owner actions to send for review: owner.apple_submit, owner.apple_resubmit, owner.apple_iap_submit, owner.play_production, and the price gate owner actions (owner.prices_play_products / _play_subscriptions / _apple_subscriptions; owner.prices_import passes --allow-price-changes after the dialog); OWNER_ALLOWED_ARGS ties each forbidden flag to its one action, dry runs never carry owner flags, MCP still has no submit or production release; submit dialog text in the host; system.tools androidSdk, project.inspect playRelease, declarations dataDeletion 2026-10-12 12:08:07 +08:00
journey.md README, docs and site: one story (the whole job, no avoidable rejections, the desktop app, your AI, install) 2026-10-13 03:29:59 +08:00
listing-languages.md README, docs and site: one story (the whole job, no avoidable rejections, the desktop app, your AI, install) 2026-10-13 03:29:59 +08:00
mcp.md report: storebound report writes one shareable, self-contained readiness page (.storebound/reports/readiness-<date>.html; --md, --json, --no-open, --offline, --out) from scan, check and validate: a verdict per store (Ready to submit / N blockers / Not checked with the reason), findings per store by severity with guideline, evidence, fix and console button, the owner's compliance questions as a checklist, secrets masked; storebound.dev look, light / dark, print; desktop Checks > Report (same code path, opens through project_reveal) and its Markdown export on the same renderer; read-only MCP tool report 2026-10-18 01:42:03 +08:00
pitfalls.md play managed publishing: console plan/verify play-publish-changes, ready-to-publish items in play status, desktop hint 2026-10-24 11:56:07 +08:00
project.md README, docs and site: one story (the whole job, no avoidable rejections, the desktop app, your AI, install) 2026-10-13 03:29:59 +08:00
README.md README, docs and site: one story (the whole job, no avoidable rejections, the desktop app, your AI, install) 2026-10-13 03:29:59 +08:00
rejections.md README, docs and site: one story (the whole job, no avoidable rejections, the desktop app, your AI, install) 2026-10-13 03:29:59 +08:00
safety.md README, docs and site: one story (the whole job, no avoidable rejections, the desktop app, your AI, install) 2026-10-13 03:29:59 +08:00
ship-step.md upload --pre-check/--evidence, shots copy translate, game-center --locale-map, play games API-disabled hint 2026-10-24 12:16:48 +08:00
site-analytics.md site: first-party, cookieless visit stats (self-hosted Umami at storebound.dev/s/, Do Not Track respected) with events for copy buttons, desktop downloads per OS, the teaser (play, 50 %, complete) and outbound docs / git / npm links; a privacy note in the footer; docs/site-analytics.md and tools/vds/ configs to rebuild the server side; scrub allows a page's public stats website id 2026-10-14 11:11:24 +08:00
skills.md README, docs and site: one story (the whole job, no avoidable rejections, the desktop app, your AI, install) 2026-10-13 03:29:59 +08:00
store-art.md shots: app titles get the weights the templates use (variable axis, used range or static weights; font-weight warning), palette.bg as one colour or a CSS gradient string (validated; contrast guard in shots check), photo backgrounds (palette.image, shots.feature.background) with overlay and cover crop 2026-10-21 03:07:26 +07:00
studios.md One product per machine: the CLI and the desktop app share one version, the store accounts and the app folder list 2026-10-13 06:17:37 +08:00
watch.md watch: ingest sink (--notify ingest) posting events to a push ingest endpoint 2026-10-23 15:30:18 +08:00

storebound docs

The README is the short tour; everything in detail lives here.

Start

  • Getting started: the 5-minute quick start, coming from fastlane, credentials, install for your AI tool
  • The journey: why storebound, how agents use it, every step from setup to Submit (API, console or yours)
  • FAQ

Ship

Agents and safety

Desktop app

Project