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 /de/docs/desktop/project-structure.md (or send Accept: text/markdown).
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 und Terminal-Grundlagen. Ö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 agentsWohin 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.
- 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.pngund 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