---
description: "publish – Neue App-Version bauen und auf dem VPS veröffentlichen. Bumpt die Version automatisch, baut die APK, lädt sie auf den Server hoch, verifiziert QR-Code-Seite + Update-API und committet den Version-Bump."
name: "publish"
agent: agent
tools:
  [
    read,
    search,
    execute/runInTerminal,
    execute/sendToTerminal,
    execute/getTerminalOutput,
    edit,
  ]
---

Lies **zuerst** die Publish-Skill-Datei `.github/skills/publish/SKILL.md` vollständig mit `read_file`.

Führe danach den Publish-Workflow durch:

---

## Schritt 1 – Optionale Vorbereitung

- Lies `app/build.gradle.kts` um den aktuellen Stand zu zeigen (versionCode / versionName).
- Falls der User eine bestimmte `versionName` möchte, nutze den Parameter `-VersionName`.
- Ansonsten: kein Eingriff nötig – das Skript bumpt den versionCode automatisch.

---

## Schritt 2 – Publish-Skript ausführen

```powershell
python ".github/skills/publish/publish-apk.py"
# oder mit explizitem versionName:
python ".github/skills/publish/publish-apk.py" --version-name "2.0"
```

Das Skript erledigt vollautomatisch:

1. versionCode +1 in `app/build.gradle.kts`
2. `./gradlew assembleDebug`
3. APK per SCP auf VPS hochladen
4. `POST /api/admin/version` (kein Container-Neustart)
5. Verifizieren (Homepage + Version-API)
6. `git commit` + `git push`

Verwende `mode=sync` mit `timeout=300000`.

**Voraussetzungen prüfen** (falls Fehler auftreten):

- SSH-Agent: `ssh-add -l`
- Token: `$env:BOLLWERK_ADMIN_TOKEN` muss gesetzt sein

---

## Schritt 3 – Ergebnis berichten

Berichte kurz:

- Neue Version (versionCode + versionName)
- Build-Status (✅ / ❌)
- VPS-Deployment (✅ / ❌)
- Push-Status (✅ / ❌)
- Homepage: `https://bollwerk.online/`
- Version-API: `https://bollwerk.online/api/version`
