开源 · CLI · 为 Expo & React Native 团队打造
storepulse 把你管理的所有 iOS·Android 应用的发布状态 —— 版本、审核状态、 灰度比例、测试轨道 —— 汇总到一块终端看板上。从设计上就是只读的, 商店凭据永远不会离开你的电脑。
$ 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) —
为什么
设计即只读
storepulse 不会提交、不会推进、也不会中止任何东西。它只问两家商店 一个问题 ——"我的发布现在处于什么状态?"—— 然后把答案画出来。 没有什么可弄坏的,也没有什么可担心的。
凭据只留在本地
请求从你的电脑直达 Apple 和 Google。没有服务器,没有账号,
没有遥测。密钥只存在于一开始就被 git 忽略的 .env 里。
首先是一个库
核心是一个通过注入凭据来使用的库,CLI 和 Web 看板只是它最早的 两个界面。接下来是消息通知 —— 同一个引擎,更多画面。 实现两个方法,就能接入你自己的数据源。
功能
production / beta / internal)
× 状态(live, in-review, rollout, rejected…)。
2.4.1 50% 意味着一半用户已经拿到了新版本。
2.4.1 LIVE · 2.5.0 REVIEW 并排呈现 ——
这个在两个控制台里都得翻半天才能确认的"中间时刻"。
pnpm demo 一条命令,就能用示例数据渲染出完整看板 ——
一个 API 密钥都不用创建,先试试合不合适。
storepulse serve 让同一块看板在浏览器里打开 ——
同样的设计,自动刷新,默认只绑定 127.0.0.1。
展开行可以看到发布说明和 TestFlight 到期倒计时,标签还能按
OS 和分组筛选。storepulse snapshot 则把看板导出成 JSON。
EAS_TOKEN 和每个应用的
easProjectId,商店里的每个版本就能关联到产出它的
EAS 构建:git 提交、构建配置文件、提交状态,一个不少。
快速上手
$ git clone https://github.com/dioKR/storepulse.git $ cd storepulse && pnpm install $ pnpm demo
应用写进 storepulse.config.json,密钥放进
.env(一个 App Store Connect API 密钥 + 一个 Play
服务账号 —— 都是 5 分钟搞定的一次性配置)。
$ npx storepulse init # 生成两个文件 —— 然后填好即可
路线图