Open Source · MITv0.1.0

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.

Ohne Installation ausführen
npx searvia --help

Benö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 ansehen

Was 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

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

Jeder 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-kompatible Ordner
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

In 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.

.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

Lieber 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.