> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Code-Signierung

Signiere Installer, damit macOS und Windows deine Nutzer nicht mehr warnen.

## Schritt-für-Schritt für Einsteiger

Voraussetzungen: Schließen Sie die lokale Desktop-Einrichtung ab, einschließlich Rust und der Betriebssystem-Build-Tools. Stoppen Sie den Tauri-Entwicklungsprozess, bevor Sie ein Installationsprogramm erstellen. Lassen Sie das Web-Backend laufen. Führen Sie jede Prüfung unten im Repository-Stammverzeichnis aus und warten Sie, bis sie abgeschlossen ist, bevor Sie die nächste ausführen. Die gefilterten Paketbefehle funktionieren beim Checkout nur für Desktops und für alle Plattformen.

Kurze Begriffe: Ein Arbeitsbereich umfasst die einzelnen Benutzer, Daten und Einstellungen eines Teams. Der Server ist das vertrauenswürdige Backend; Halten Sie Anbieterschlüssel aus Browser- und Telefoncodes fern. Eine Migration ist eine versionierte Datenbankänderung, die Tabellen erstellt oder aktualisiert. Ein KI-Modell ist der Motor, der antwortet; Der Modellkatalog ist die Liste der verfügbaren Modell-IDs und Preise des Servers. Ein Anbieter ist ein externer Dienst wie ein KI-, E-Mail- oder Abrechnungsdienst. Eine Berechtigung ist eine Bewilligung, die einem Arbeitsbereich die Nutzung einer Funktion ermöglicht. Ein Webhook ist eine Nachricht, die ein Dienst an den URL eines anderen Dienstes sendet.

1. Bitten Sie Ihren Codierungsagenten in einer lokalen Zweigstelle, `apps/desktop/src-tauri/tauri.conf.json` zu überprüfen und die Produktkennung, den App-Namen, die Symbole und das Backend URL auf Werte festzulegen, die Ihnen gehören. Verwenden Sie für Release-Builds ein öffentliches HTTPS-Backend URL.

2. Führen Sie im Repository-Stammverzeichnis die folgenden Desktop-Paketprüfungen aus. Legen Sie vor check:release-config SUPASTACK_APP_URL in diesem Terminal mithilfe des Betriebssystembefehls im lokalen Desktop-Setup fest. Das öffentliche HTTPS-Backend muss ausgeführt werden und die App-ID muss Ihre eigene sein.

3. Bei einem erfolgreichen Build wird kein Installationsprogramm signiert, notariell beglaubigt oder veröffentlicht. Wenn Rust oder eine Systembibliothek fehlt, beenden Sie die lokale Desktop-Einrichtung.

Beginnen Sie für benutzerdefinierten Code mit dem bereitgestellten `prompts/README.md` und kopieren Sie die nächstgelegene Eingabeaufforderung: `prompts/new-app-screen.md` für einen App-Bildschirm oder `prompts/new-landing-page.md` für eine öffentliche Seite. Geben Sie Ihrem Programmieragenten für Server-, Datenbank- oder Anbieterarbeiten die Aufgabe dieses Handbuchs und bitten Sie ihn, `AGENTS.md`, `.ai/PROJECT_CONTEXT.md` und passende `.ai/`-Spiegel zu lesen; Überprüfen Sie die hier genannten genauen Quelldateien. Listen Sie Dateien auf und prüfen Sie sie vor der Bearbeitung. Bewahren Sie den Arbeitsbereichseigentum und die Nur-Server-Geheimnisse. und zeige dir den Unterschied. Teilen Sie ihm das gewünschte Verhalten, Eingabe- und Ausgabefelder, zulässige Rollen, erwartete Erfolge und Fehler sowie das Testkonto, den Anbieter oder das Gerät mit. Beispielwerte verwenden; Fügen Sie niemals ein echtes Geheimnis ein.

[Bevor Sie beginnen](https://supastack.dev/de/docs/web/before-you-start.md)

[Terminal-Grundlagen](https://supastack.dev/de/docs/web/terminal-basics.md)

[Lokales Desktop-Setup](https://supastack.dev/de/docs/desktop/ship-in-5-minutes.md)

[Agentenaufforderungen und Projektspeicher](https://supastack.dev/de/docs/web/agents.md)

```
corepack pnpm --filter @supastack/desktop typecheck
corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop check:release-config
corepack pnpm --filter @supastack/desktop build
```


## Produktshell konfigurieren

Prüfe `src-tauri/tauri.conf.json`, Cargo-Metadaten, Capabilities und Plattformkennungen. Ersetze App-Symbole im gemeinsamen Asset-Prozess und setze die gewünschte Backend-URL zur Build-Zeit oder zur Laufzeit. Die gehostete Web-App muss bereits bereitgestellt und erreichbar sein.


## Prüfschranke für den nativen Build ausführen

Diese Paketbefehle führen Rust-Typprüfungen und -Tests durch, validieren Release-Einstellungen und erstellen das Tauri-Installationsprogramm. Die Konfiguration der Signatur und Verteilung hängt von der Zielplattform und Ihrem Konto/Ihren Zertifikaten ab. Speichern Sie das Signaturmaterial nicht in der Quelle.

```
corepack pnpm --filter @supastack/desktop typecheck
corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop check:release-config
corepack pnpm --filter @supastack/desktop build
```


## Installer auf dem Zielbetriebssystem prüfen

Prüfen Sie saubere Installation, Start, Erreichbarkeit des Backends, Anmeldung, Menüs/Tray, Hotkey-Registrierung, zweite Instanz, Deep Links, Offline-Wiederholung und Deinstallation. Prüfen Sie jedes unterstützte Betriebssystem separat. Ein lokaler Build belegt keine signierte oder notarisierte kommerzielle Verteilung; Signaturkonfiguration, Update-Feed und Release-Automatisierung sind nicht enthalten.

[Checkliste für die native Akzeptanz](https://supastack.dev/de/docs/desktop/run.md)

[Das gemeinsame Backend bereitstellen](https://supastack.dev/de/docs/web/deployment.md)


## Einrichtung und Konfiguration

1. Unsignierte Installer installieren auf der eigenen Maschine problemlos, lösen aber Gatekeeper- und SmartScreen-Warnungen bei allen anderen aus — signiere, bevor du auslieferst.

2. Unter macOS trittst du dem Apple Developer Program für ein Developer-ID-Zertifikat bei, ergänzt dann die Signier- und Notarisierungs-Config unter dem bundle-Abschnitt von src-tauri/tauri.conf.json und fütterst Tauri aus deinem CI-Secret-Store mit seiner dokumentierten Signier-Env (APPLE_CERTIFICATE, APPLE_CERTIFICATE_PASSWORD, APPLE_SIGNING_IDENTITY plus die Notarisierungs-Credentials APPLE_API_KEY / APPLE_API_ISSUER).

3. Unter Windows konfigurierst du die Windows-Signierung des Bundles — einen Zertifikat-Thumbprint oder einen eigenen signtool-Befehl — wobei das Zertifikat ebenfalls über den Secret-Store deines Runners kommt.

```
# tauri.conf.json ships unsigned today:
#   "bundle": { "active": true, "targets": "all", "icon": [...] }
# Add signing under bundle > macOS / bundle > windows
# and keep every certificate and password in your secret store,
# never in the repo.
# Auto-updater & release channels (stable / beta via {{channel}}):
# SUPASTACK_UPDATER_ENDPOINT=https://releases.example.com/{{channel}}/{{target}}/{{arch}}/{{current_version}}
# SUPASTACK_UPDATER_PUBKEY=…
# SUPASTACK_UPDATE_CHANNEL=stable
```


## Implementierungsablauf

Stelle Zertifikate über deinen eigenen Secret-Store bereit und injiziere sie zur Build-Zeit als Umgebungsvariablen — ein ins Repo committetes Zertifikat ist ein zu widerrufendes Zertifikat.

Backe die produktive SUPASTACK_APP_URL in denselben Release-Build, damit installierte Shells auf die deployte App zeigen.


## Überprüfung und Fehlerbehebung

Verifiziere, indem du das erzeugte Artefakt auf einer fremden Maschine installierst: keine Gatekeeper- oder SmartScreen-Warnung, die App startet und der Sign-in persistiert. Ein grüner tauri build ohne den signierten Installations-Test ist kein Release-Nachweis.

Weiter: Die Deployment-Checkliste im Web-Tab deckt die serverseitigen Launch-Gates ab.


Wenn du die Einrichtung fortsetzen möchtest, lies [Bereitstellungs-Checkliste](https://supastack.dev/de/docs/web/deployment.md).


## Weiter

[Bereitstellungs-Checkliste](https://supastack.dev/de/docs/web/deployment.md)
