> ## 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

# Projektstruktur

Finden Sie die Rust-Shell, die Startseite, die Release-Skripte und die Grenze zur Web-App.

## Einrichtung und Konfiguration

Lesen Sie vor jedem Schritt [Vor dem Start](https://supastack.dev/de/docs/desktop/before-you-start.md) und [Terminal-Grundlagen](https://supastack.dev/de/docs/desktop/terminal-basics.md). Öffnen Sie den Ordner supastack an seinem Stamm — dem Ordner, der package.json enthält. Ein Desktop-Checkout enthält apps/desktop und seine Release-Skripte; das All-Platforms-Monorepo fügt das Web-Backend und die Mobile-App hinzu. Eine Umgebungsvariable ist eine benannte Einstellung in einer lokalen .env-Datei oder Ihrem Hosting-Dashboard; die Shell liest SUPASTACK_APP_URL als Terminal-Einstellung, nicht aus einer Datei.

1. Öffnen Sie `apps/desktop/src-tauri/src/lib.rs` — jedes native Verhalten lebt in dieser einen Datei.

2. Durchsuchen Sie `apps/desktop/src-tauri/` — Konfiguration, Capabilities und Icons.

3. Führen Sie im Repository-Stammverzeichnis `corepack pnpm --filter @supastack/desktop dev` mit einem erreichbaren Backend aus.

Der Checkout enthält nur die Tauri-Shell: Rust-Quellcode, seine Konfiguration, die Startseite und die Release-Skripte. Produkt-Bildschirme leben in der Web-App, die das Fenster lädt — ein reines Desktop-Checkout hat keine eigenen App-Bildschirme. Lesen Sie AGENTS.md und .ai/PROJECT_CONTEXT.md, bevor Sie Verhalten ändern; die `.ai/`-Spiegeldokumente halten Entscheidungen fest, die aus einer Datei allein nicht ersichtlich sind.

```
apps/desktop/src-tauri/src/    Rust — window, tray, menus, deep links, updater
apps/desktop/src-tauri/        tauri.conf.json, capabilities/, Cargo.toml, icons
apps/desktop/ui/               Boot page (index.html + boot.js) shown while loading
apps/desktop/scripts/          Release preflight + update manifest
docs/                          Runbooks incl. desktop updates
.agents/skills/                Task guides for coding agents
```


## Wohin eine Änderung gehört

Entscheiden Sie vor dem Bearbeiten, welche Seite die Änderung besitzt: Alles, was ein Benutzer als Produkt-UI sieht, gehört zur Web-App; nur Verhalten auf Betriebssystemebene gehört zu Rust.

[Erstellen Sie Ihr erstes Desktop-Feature](https://supastack.dev/de/docs/desktop/first-feature.md)

- Fenster-, Tray-, Menü-, Tastenkürzel- oder Single-Instance-Verhalten → `apps/desktop/src-tauri/src/lib.rs`.
- Eine neue Webview-Berechtigung → `apps/desktop/src-tauri/capabilities/default.json` — nur erweitern, wenn eine native Funktion sie benötigt.
- Bundle-ID, Version, Updater-Endpunkt oder Plugin-Optionen → `apps/desktop/src-tauri/tauri.conf.json`.
- Platzhalter-Produkticons → ersetzen Sie `placeholder-icon.png` und führen Sie das Icons-Skript aus.
- Start-, Lade- oder Offline-Overlay-Verhalten → `apps/desktop/ui/`.
- Jeder Produkt-Bildschirm, jede Einstellung oder jedes Datum → das Web-App-Repository — die Shell forkt niemals Produkt-UI.


## Implementierungsablauf

Für eine native Änderung bearbeiten Sie `lib.rs`, führen `cargo check` und die Rust-Tests aus und testen das Fenster dann auf jedem Ziel-Betriebssystem — Tray-, Tastenkürzel- und Deep-Link-Verhalten unterscheidet sich je nach Plattform. Der Skill `add-a-desktop-capability` in `.agents/skills/` durchläuft dieselbe Reihenfolge.


## Überprüfung und Fehlerbehebung

`cargo check` fängt Compile-Fehler ab und `cargo test` deckt die reine Logik ab. Echte Verifizierung ist das laufende Fenster unter Windows, macOS und Linux — Tray, Tastenkürzel und Deep Links können allein durch Tests nicht bewiesen werden.

```
corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop typecheck
```


## Weiter

[Dein erstes Feature bauen](https://supastack.dev/de/docs/desktop/first-feature.md)
