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

# Desktop-technologiestack

De technologieën in de Tauri-shell en de rol die elk speelt.

## Voordat je begint

De Desktop-app is bewust dun: een Rust-kern bezit het native venster terwijl een webview je webapp laadt. Alles hieronder is al vastgezet in de checkout — deze pagina legt uit wat elk stuk doet zodat de latere gidsen logisch zijn.

Product-UI, authenticatie, billing en AI leven allemaal in de web-codebase die het venster laadt. Een alleen-Desktop-checkout bevat alleen de shell — daarom is deze stack opzettelijk klein.


## Tauri 2 + de systeem-webview

Tauri 2 rendert de app met de eigen webview van het besturingssysteem — WebView2 op Windows, WebKit op macOS, WebKitGTK op Linux — dus de shell blijft klein en draagt geen meegeleverde browser-runtime. `frontendDist` wijst naar `apps/desktop/ui`, de opstartpagina die wordt getoond terwijl de webapp laadt, dus een koude start rendert nooit een leeg venster.

- [Tauri](https://tauri.app)


## Rust + TypeScript

Het gedrag van de shell is Rust — `src-tauri/src`, editie 2021, minimum Rust 1.90 — gebouwd door cargo. Kleine Node-scripts geschreven in TypeScript behandelen de release-preflight en het updater-manifest.

- [Rust](https://www.rust-lang.org)


## Native functies via plugins

Vensterstatus, single instance, deep links, de globale sneltoets, de tray, starten bij aanmelden, de updater, het openen van externe links, dialogen en procescontrole komen allemaal van `tauri-plugin-*`-crates — de shell voegt geen eigen IPC-commando's toe. Een native capaciteit toevoegen betekent nog een plugin registreren of degene die er al zijn bedraden.


## tauri.conf.json + capabilities

De bundle-identifier `com.supastack.desktop`, de vensterlijst, plugin-opties en het updater-endpoint leven in `src-tauri/tauri.conf.json`. Webview-rechten blijven in `src-tauri/capabilities/default.json` — momenteel `core:default` plus `opener:allow-open-url` voor systeembrowser-links — en worden alleen verbreed wanneer een native functie ze nodig heeft.


## Verificatie-tooling

cargo test dekt de Rust-logica — URL-resolutie, de navigatiepoort, deep-link-mapping, updater-kanalen, zoom en venstervoorkeuren — terwijl `node --check` de opstartpagina valideert en `check:release-config` release-builds bewaakt. CI bouwt alle drie de besturingssystemen.

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


## Volgende

[De shell starten en configureren](https://supastack.dev/nl/docs/desktop/run.md)
