オープンソース · 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 ダッシュボードは その最初の画面にすぎません。次は通知 — 同じエンジンに画面を 増やしていくだけです。メソッドを 2 つ実装すれば、独自のソースも 追加できます。
機能
production / beta / internal)
× 状態(live, in-review, rollout, rejected…)。
2.4.1 50% なら、ユーザーの半分に届いています。
2.4.1 LIVE · 2.5.0 REVIEW を並べて確認できます —
どちらのコンソールでも掘らないと出てこない、あの「あいだの瞬間」です。
npx storepulse demo だけでサンプルデータのボードが
丸ごと描かれます — API キーを 1 つも作る前に、じっくり試せます。
storepulse serve で自動更新されるボードをブラウザでも
見られます。任意のグループは一度に 1 つ表示し、グループがない設定では
セレクターを隠します。アプリカードは iOS と Android の行を分け、最新の
バンドルを配信チャネルの隣に配置します。行を開くとリリースノートや
TestFlight の期限が見え、OS チップでプラットフォーム行を絞り込めます。
デフォルトでは 127.0.0.1 にのみバインドします。
storepulse snapshot はボードを JSON で書き出します。
latestTesterUrl、または provider が
返した正確な versionCode 別 installLinks を登録できます。
storepulse は URL を推測せず、古いビルドで現在のアプリの削除が
必要になる可能性も事前に警告します。
EAS_TOKEN と
アプリごとの easProjectId を設定するだけで、ストアの
各バージョンがそれを生んだ EAS ビルドにつながります:
コミット、ビルドプロファイル、提出ステータスまで。
storepulse check --fail-on rejected,halted でストアの
状態を CI の判定に変えられます。正常・ポリシー違反・収集エラーを
終了コードで区別し、--format json で自動化につなげられます。
クイックスタート
$ npx storepulse demo
クローンもインストールも不要 — Node.js 20.12 以上があれば
動きます。ブラウザ派なら npx storepulse serve --demo
が同じボードを 127.0.0.1:4780 で開きます。
アプリは storepulse.config.json に、シークレットは
.env に(App Store Connect API キーと Play サービス
アカウント — どちらも 5 分で終わる、一度きりのセットアップです)。
$ npx storepulse init # 両方のファイルを生成 — あとは埋めるだけ
ロードマップ