オープンソース · MITv0.1.0

ターミナルからアプリをリリース

searviaは、TypeScriptで書かれたオープンソースのコマンドラインツールで、App StoreとGoogle Playのリリースに対応しています。ストア掲載情報をコードの隣にプレーンなファイルとして保管し、公開前にチェックし、リリース全体を1つのコマンドで審査に送信します。

インストールせずに実行
npx searvia --help

Node.js 20以降が必要です。アカウントは不要で、お持ちのApp Store Connect APIキーとGoogle Playのサービスアカウントを使用します。

GitHubでリポジトリを見る

できること

  • ストア掲載情報の取得と反映

    両ストアから全言語の名前、サブタイトル、キーワード、説明文、リリースノートをfastlane互換のフォルダにダウンロードし、お使いのエディタで編集して、元に戻して反映できます。

  • オフラインASO監査

    ネットワークに接続せず全言語をチェックします。100バイトのキーワード欄、名前とサブタイトルにすでにある重複語、文字数制限、空欄を確認します。

  • スクリーンショットのアップロード

    言語とデバイスごとにスクリーンショットとアプリプレビューをアップロードします。AppleとGoogleが定める正確なピクセルサイズを事前に確認し、順序も維持します。

  • ビルドのアップロード

    Android App BundleをPlayのトラックに、iOSビルドをApp Store Connectにアップロードし、処理が完了するまで待機します。

  • 1つのコマンドで審査へリリース

    App Storeのバージョンを作成し、ビルドを紐付け、輸出コンプライアンスに回答して提出します。または、段階的ロールアウトでPlayのリリースを昇格します。

  • Searviaとの連携(任意)

    SearviaのAPIキーを使うと、Searviaアプリと同じAPIおよびMCPツールを通じて、キーワード順位、人気度、AIによるメタデータ提案が監査に追加されます。

コマンド

terminal
npx searvia init              # detects fastlane folders and keys
npx searvia pull              # store text → ./fastlane/metadata
npx searvia audit             # offline ASO checks, no keys needed
npx searvia push              # shows the changes; add --yes to apply
npx searvia screenshots upload --yes
npx searvia build upload --ipa App.ipa --yes
npx searvia release --platform ios --ipa App.ipa --yes

ストアに書き込むコマンドはすべて、まず変更内容を表示し、--yes を付けた場合のみ適用します。すべてのオプションは npx searvia <command> --help で確認できます。

使い慣れたファイル形式

fastlane互換のフォルダ
fastlane/metadata/
  en-US/
    name.txt
    subtitle.txt
    keywords.txt
    description.txt
    release_notes.txt
  android/en-US/
    title.txt
    short_description.txt
    full_description.txt
    changelogs/default.txt

CIで使う

キーは環境変数から読み込まれるため、GitHub Actions、GitLab CI、Bitriseで同じコマンドが動きます。監査に失敗すると、ストアに何も届く前にパイプラインが停止します。

.github/workflows/release.yml
jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: 20 }
      - run: npx searvia audit
      - run: npx searvia push
        env:
          ASC_KEY_ID: ${{ secrets.ASC_KEY_ID }}
          ASC_ISSUER_ID: ${{ secrets.ASC_ISSUER_ID }}
          ASC_PRIVATE_KEY: ${{ secrets.ASC_PRIVATE_KEY }}
          PLAY_SERVICE_ACCOUNT: ${{ secrets.PLAY_SERVICE_ACCOUNT }}
          SEARVIA_API_KEY: ${{ secrets.SEARVIA_API_KEY }}  # optional

画面で操作したいですか?

同じリリースフローをSearviaアプリでも利用できます。両ストア対応のリアルタイムチェックリスト、スクリーンショットのアップロード、ビルドの選択、審査への提出に加え、Appleの審査ステータスが変わると通知されます。