open source · cli · built for expo & react native teams
storepulse pulls release status for every iOS & Android app you manage — versions, review states, rollout percentages, test tracks — into a single terminal board. Read-only by design. Your store credentials never leave your machine.
$ storepulse · one board, both stores APP OS PRODUCTION BETA / TESTFLIGHT INTERNAL ───────────────────────────────────────────────────────────────────────────────────────────── Aurora [prod] iOS 2.4.1 LIVE · 2.5.0 REVIEW 2.5.0 LIVE (108) — Android 2.4.1 50% (241) 2.5.0 LIVE (250) 2.5.1 draft (251) Aurora Dev [dev] iOS — 2.6.0 LIVE (12) — Android — — 2.6.0 LIVE (12) Borealis [prod] iOS 1.9.2 LIVE · 1.9.3 REJECTED 1.9.3 LIVE (87) — Android 1.9.2 LIVE (192) 1.10.0 LIVE (200) —
why
Read-only by design
storepulse never submits, promotes, or halts anything. It asks both stores one question — "what state are my releases in?" — and renders the answer. Nothing to break, nothing to fear.
Credentials stay local
Calls go straight from your machine to Apple and Google. No server,
no account, no telemetry. Secrets live in your .env,
which is git-ignored from day one.
A library first
The core is a credential-injected library; the CLI and the web dashboard are just its first surfaces. Notifiers are next — same engine, more screens. Add your own source by implementing two methods.
features
production / beta / internal)
× states (live, in-review, rollout, rejected…).
2.4.1 50% means half your users have it.
2.4.1 LIVE · 2.5.0 REVIEW side by side — the
in-between moment both consoles make you dig for.
pnpm demo renders the full board with sample data —
evaluate the tool before creating a single API key.
storepulse serve opens the same board in your browser —
same design, auto-refreshing, bound to 127.0.0.1 by
default. Rows expand into release notes, dates, and TestFlight
expiry; chips filter by OS and group.
storepulse snapshot exports it as JSON.
EAS_TOKEN and a per-app
easProjectId, and every store version links back to
the EAS build that produced it: commit, build profile, submission
status.
quick start
$ git clone https://github.com/dioKR/storepulse.git $ cd storepulse && pnpm install $ pnpm demo
Apps go in storepulse.config.json; secrets go in
.env (an App Store Connect API key + a Play service
account — both are five-minute, one-time setups).
$ npx storepulse init # scaffolds both files — then fill them in
roadmap