OpenStoreShot is a local-first OSS studio for designing, reviewing, validating, and exporting App Store and Google Play store images with a local AI agent in the loop. Codex is the recommended default, but the project format and CLI are agent-neutral.
English · 日本語 · Localization guide
Store screenshots sit between brittle scripts and heavyweight design tools. OpenStoreShot gives indie developers, marketers, and small teams a reproducible workflow:
- Inspect and edit store images in a polished browser studio.
- Ask Codex or another local coding agent to revise
storeshot.project.json, render, validate, and summarize changes. - Upload real app screenshots and place them inside device mockups.
- Browse App Store / Google Play references as high-level inspiration, without copying competitor creative.
- Export deterministic PNG/JPEG assets for iOS and Android.
- Run locally with fixtures and mock image generation. No browser-exposed API keys.
| Studio editor | Reference Gallery | Project JSON |
|---|---|---|
![]() |
![]() |
![]() |
- Manual Studio: slide list, layer panel, canvas preview, inspector, background editing, typography, right-click layer actions, undo/redo, screenshots upload, and export preview.
- Image to Objects: turn uploaded or generated images into an editable image layer, extracted color swatches, and background shape objects for manual polish.
- Reference Gallery: App Store / Google Play adapter interface, fixture mode, live App Store fetching, image proxying, store links, and inspiration-only briefs.
- Agent Workflow: a local request queue plus
.agents/skills/storeshot-designer/SKILL.mdso Codex can edit, validate, render, and report. Other local agents can follow the same project file and CLI commands. - Renderer and Validator: shared schema, deterministic SVG/Sharp rendering, iOS and Android target checks, Google Play feature graphic warnings.
- Internationalization: first UI dictionary layer for 13 launch locales: Japanese, English, Simplified Chinese, Traditional Chinese, Korean, Spanish, French, German, Brazilian Portuguese, Italian, Russian, Indonesian, and Hindi.
- OSS Foundation: CI, contribution guide, issue templates, PR checklist, docs, demo project, and copyright policy.
- App Store iPhone portrait screenshots, including iPhone 6.9-inch portrait.
- App Store iPad portrait screenshots.
- Google Play phone, 7-inch tablet, and 10-inch tablet screenshots.
- Google Play feature graphics at
1024x500. - PNG and JPEG output from the same deterministic project JSON.
Fresh clone to running Studio:
git clone https://github.com/yuga-hashimoto/OpenStoreShot.git
cd OpenStoreShot
corepack enable
pnpm install
pnpm run doctor
pnpm demoOpen http://127.0.0.1:3100.
Requirements: Node.js 20+, pnpm via Corepack, and a modern local browser. No OpenAI or image-generation API key is required.
For the full first-run guide, see docs/QUICKSTART.md. For choosing Codex or another local agent, see docs/AGENT_SETUP.md.
Useful commands:
pnpm validate:demo
pnpm render:demo
pnpm quality
pnpm storeshot export examples/demo-project/storeshot.project.json --platform ios --locale ja-JP
pnpm storeshot export examples/demo-project/storeshot.project.json --platform android --locale ja-JP
pnpm storeshot ref appstore --country jp --feed top-free --limit 50
pnpm storeshot ref play --country jp --category productivity --limit 50OpenStoreShot itself is not a cloud AI product. The intended loop is:
- Open the project in the studio.
- Review the visual output and make small manual edits.
- Add a request from the UI, or ask your local agent directly.
- The agent edits
storeshot.project.jsonand local assets. - The agent runs validation/render/export and reports the result.
- Reopen the studio to inspect the updated images.
OpenStoreShot does not require an image generation API key. Placeholder generation is local and deterministic for demos, tests, and CI. Real asset generation should happen through the local agent workflow or other local tools chosen by the user.
pnpm run doctor detects supported local agent CLIs on PATH and marks Codex as recommended when available. Other local agents can still use the same project file and commands.
apps/web Next.js Studio UI
packages/core schema, targets, validation, guardrails
packages/renderer deterministic PNG/JPEG renderer
packages/store-fetch App Store / Google Play adapters and fixtures
packages/imagegen local placeholder provider and prompt guardrails
packages/cli storeshot CLI
examples/demo-project fictional demo project and safe assets
docs requirements, architecture, specs, policies
.agents/skills Codex workflow skill
storeshot.project.json is the durable project format. The studio previews it, the CLI renders it, validators inspect it, and local agents edit it.
Reference apps are shown for analysis only. OpenStoreShot should extract high-level patterns such as:
- headline length
- slide role
- device framing
- color mood
- information hierarchy
Do not copy competitor screenshots, logos, UI, characters, proprietary visual treatments, or exact compositions. See COPYRIGHT_AND_REFERENCE_POLICY.md.
The initial UI language switcher supports:
ja-JP, en, zh-CN, zh-TW, ko, es, fr, de, pt-BR, it, ru, id, hi
See docs/I18N.md to add or improve translations.
pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm e2eOpenStoreShot learns from these projects without copying their code or assets:
ParthJadhav/app-store-screenshots: Codex-friendly screenshot project workflow.YUZU-Hub/appscreen: browser editor UX, background/text/device controls, export ergonomics.fastlane/fastlane: deterministic automation, CI-minded snapshot/frame workflows.facundoolano/google-play-scraper: replaceable Google Play metadata adapter pattern.
See docs/REFERENCE_OSS_AUDIT.md and docs/STORE_IMAGE_PLAYBOOK.md.
Read CONTRIBUTING.md. Good first contribution areas include:
- additional locale dictionaries
- better device frame presets
- Google Play adapter hardening
- more store target validations
- renderer typography fidelity
- accessibility and keyboard editing polish
MIT. See LICENSE.


