# AI Release Guide (Gitea) Diese Datei ist die verbindliche Anleitung fuer KI-Agenten, um Releases fuer dieses Projekt zu erstellen. ## Zielsystem - Git Host: `https://git.24-music.de` - Repo: `Administrator/Twitch-VOD-Manager` - Default Branch: `main` - Release-Assets muessen auf Gitea liegen, nicht auf GitHub/Codeberg. ## Sicherheitsregeln - Token niemals in Dateien committen. - Token niemals in Logs, README oder Code schreiben. - Nur als Environment Variable nutzen: - PowerShell: ``$env:GITEA_TOKEN=""`` - Wenn Token kompromittiert wirkt: sofort rotieren. ## Voraussetzungen vor Release 1. `origin` muss auf Gitea zeigen: - `https://git.24-music.de/Administrator/Twitch-VOD-Manager.git` 2. Working Tree darf keine ungewollten Aenderungen enthalten. 3. DNS fuer `git.24-music.de` muss auf `159.195.45.29` aufloesen. 4. Die App verwendet Gitea-Updater-URLs: - In `src/main.ts` via `GITEA_*` Konstanten/API. - In `package.json`: - `"build.publish.url": "https://git.24-music.de/Administrator/Twitch-VOD-Manager/releases/download/v${version}/"` ## Standardablauf fuer neues Release Beispiel fuer `4.2.2`. 1. Version setzen: - `npm version 4.2.2 --no-git-tag-version` 2. Build + Schnelltest: - `npm run build` - `npm run test:e2e:update-logic` 3. Windows Installer bauen: - `npx electron-builder --win` 4. Pruefen, dass Dateien existieren: - `release/Twitch-VOD-Manager-Setup-4.2.2.exe` - `release/Twitch-VOD-Manager-Setup-4.2.2.exe.blockmap` - `release/latest.yml` 5. Commit + Tag: - `git add package.json package-lock.json` - `git commit -m "release: 4.2.2"` - `git tag v4.2.2` 6. Push: - `git push origin main` - `git push origin v4.2.2` 7. Release auf Gitea anlegen und Assets hochladen (API): - Endpoint: `POST /api/v1/repos/Administrator/Twitch-VOD-Manager/releases` - Endpoint: `POST /api/v1/repos/Administrator/Twitch-VOD-Manager/releases/{id}/assets?name=` 8. Verifikation: - `GET /api/v1/repos/Administrator/Twitch-VOD-Manager/releases/latest` muss `v4.2.2` liefern. - Download-Links muessen `200` geben: - `/releases/download/v4.2.2/latest.yml` - `/releases/download/v4.2.2/Twitch-VOD-Manager-Setup-4.2.2.exe` ## Verbindliche Asset-Regel Pro aktuellem Release muessen mindestens diese 3 Dateien vorhanden sein: - `Twitch-VOD-Manager-Setup-.exe` - `Twitch-VOD-Manager-Setup-.exe.blockmap` - `latest.yml` Ohne diese Dateien funktioniert der Auto-Updater nicht zuverlaessig. ## Script-Hinweis Es gibt ein Script: `scripts/release_gitea.mjs` (npm: `release:gitea`). - Vor Nutzung sicherstellen, dass: - `GITEA_TOKEN` gesetzt ist. - `origin` korrekt ist. - der Tag existiert oder der Workflow diesen sauber erstellt. Wenn das Script fehlschlaegt, immer auf den manuellen Standardablauf oben zurueckfallen. ## DNS/Netzwerk Fallback (nur wenn lokal noetig) Wenn lokales DNS noch alt cached und Requests fehlschlagen, HTTP-Tests mit erzwungener Aufloesung: - `curl --resolve git.24-music.de:443:159.195.45.29 https://git.24-music.de/api/v1/version` Nur fuer Tests nutzen, nicht als dauerhaften Workaround.