Naar inhoud gaan
supastack
Blader door de docs
Desktop-appTauri

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

  • 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