Zum Inhalt springen
supastack
Dokumentation durchstöbern
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 /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 agents

Wohin 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.png und 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