For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /nl/docs/desktop/project-structure.md (or send Accept: text/markdown).
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 en Terminal-basis. 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 agentsWaar 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.
- 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.pngen 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