App-Releases direkt aus dem Terminal veröffentlichen
searvia ist ein in TypeScript geschriebenes Open-Source-Kommandozeilentool für Releases im App Store und bei Google Play. Es speichert deine Store-Einträge als einfache Dateien neben deinem Code, prüft sie vor der Veröffentlichung und sendet das gesamte Release mit einem Befehl zur Prüfung.
npx searvia --helpBenötigt Node.js 20 oder neuer. Kein Konto erforderlich; es verwendet deinen eigenen App-Store-Connect-API-Schlüssel und dein Google-Play-Dienstkonto.
Repository auf GitHub ansehenWas es kann
Store-Einträge abrufen und hochladen
Lade Name, Untertitel, Keywords, Beschreibungen und Release Notes jeder Sprache aus beiden Stores in fastlane-kompatible Ordner herunter, bearbeite sie in deinem Editor und lade sie wieder hoch.
Offline-ASO-Audit
Prüft jede Sprache ohne Netzwerkzugriff: das Keyword-Feld mit 100 Byte, bereits in Name und Untertitel enthaltene Wiederholungen, Zeichenlimits und leere Felder.
Screenshot-Upload
Lädt Screenshots und App-Vorschauen pro Sprache und Gerät hoch, prüft vorab die exakten Pixelgrößen von Apple und Google und behält die Reihenfolge bei.
Build-Upload
Lädt das Android App Bundle in einen Play-Track und den iOS-Build zu App Store Connect hoch und wartet, bis die Verarbeitung abgeschlossen ist.
Release zur Prüfung mit einem Befehl
Erstellt die App-Store-Version, fügt den Build hinzu, beantwortet die Exportvorschriften und reicht sie ein, oder befördert ein Play-Release mit gestaffeltem Rollout.
Optionale Searvia-Verbindung
Mit einem Searvia-API-Schlüssel ergänzt es das Audit um Keyword-Rankings, Popularität und KI-Metadatenvorschläge, über dieselbe API und dieselben MCP-Tools wie die Searvia-App.
Befehle
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 --yesJeder Befehl, der in einen Store schreibt, zeigt zuerst die Änderungen an und wendet sie nur mit --yes an. Führe npx searvia <command> --help aus, um alle Optionen zu sehen.
Dateien, die du schon kennst
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.txtIn der CI verwenden
Schlüssel kommen aus Umgebungsvariablen, sodass dieselben Befehle in GitHub Actions, GitLab CI oder Bitrise laufen. Ein fehlgeschlagenes Audit stoppt die Pipeline, bevor etwas den Store erreicht.
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 }} # optionalLieber mit Oberfläche?
Derselbe Release-Ablauf steht in der Searvia-App zur Verfügung: eine Live-Checkliste für beide Stores, Screenshot-Uploads, Build-Auswahl und Einreichung zur Prüfung, mit Benachrichtigungen bei Änderungen des Apple-Prüfstatus.