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

# Projectstructuur

Vind de Rust-shell, de opstartpagina, de release-scripts en de grens met de webapp.

## Setup en configuratie

Lees voor elke stap [Voordat je begint](https://supastack.dev/nl/docs/desktop/before-you-start.md) en [Terminal-basis](https://supastack.dev/nl/docs/desktop/terminal-basics.md). Open de map supastack bij zijn root — de map die package.json bevat. Een Desktop-checkout bevat apps/desktop en zijn release-scripts; de All Platforms-monorepo voegt de Web-backend en de mobiele app toe. Een omgevingsvariabele is een benoemde instelling opgeslagen in een lokaal .env-bestand of je hostingdashboard; de shell leest SUPASTACK_APP_URL als terminalinstelling, niet uit een bestand.

1. Open `apps/desktop/src-tauri/src/lib.rs` — al het native gedrag leeft in dit ene bestand.

2. Verken `apps/desktop/src-tauri/` — configuratie, capabilities en iconen.

3. Voer vanuit de repository-root `corepack pnpm --filter @supastack/desktop dev` uit met een bereikbare backend.

De checkout bevat alleen de Tauri-shell: Rust-bron, zijn configuratie, de opstartpagina en de release-scripts. Productschermen leven in de webapp die het venster laadt — een alleen-Desktop-checkout heeft geen eigen appschermen. Lees AGENTS.md en .ai/PROJECT_CONTEXT.md voordat je gedrag wijzigt; de `.ai/`-spiegeldocumenten leggen beslissingen vast die uit een bestand alleen niet zichtbaar zijn.

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


## Waar een wijziging thuishoort

Beslis voor het bewerken welke kant de wijziging bezit: alles wat een gebruiker als product-UI ziet hoort bij de webapp; alleen OS-niveaugedrag hoort bij Rust.

[Bouw je eerste desktop-feature](https://supastack.dev/nl/docs/desktop/first-feature.md)

- Venster-, tray-, menu-, sneltoets- of single-instance-gedrag → `apps/desktop/src-tauri/src/lib.rs`.
- Een nieuw webview-recht → `apps/desktop/src-tauri/capabilities/default.json` — verbreed alleen wanneer een native functie het nodig heeft.
- Bundle-identifier, versie, updater-endpoint of plugin-opties → `apps/desktop/src-tauri/tauri.conf.json`.
- Placeholder-producticonen → vervang `placeholder-icon.png` en voer het iconenscript uit.
- Opstart-, laad- of offline-overlaygedrag → `apps/desktop/ui/`.
- Elk productscherm, -instelling of -gegeven → de webapp-repository — de shell forkt nooit product-UI.


## Implementatieworkflow

Voor een native wijziging bewerk je `lib.rs`, voer je `cargo check` en de Rust-tests uit, en oefen je het venster vervolgens op elk doel-OS — tray-, sneltoets- en deep-link-gedrag verschilt per platform. De skill `add-a-desktop-capability` in `.agents/skills/` loopt dezelfde volgorde.


## Verificatie en probleemoplossing

`cargo check` vangt compileerfouten en `cargo test` dekt de pure logica. Echte verificatie is het draaiende venster op Windows, macOS en Linux — tray, sneltoets en deep links kunnen niet door tests alleen bewezen worden.

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


## Volgende

[Bouw je eerste feature](https://supastack.dev/nl/docs/desktop/first-feature.md)
