Repository navigation
Development de
| Aufgabe | Befehl |
|---|---|
| Dev-Server + App | npm run tauri dev |
| Frontend-Typecheck/Build |
npm run build (vue-tsc --noEmit + vite build) |
| Rust-Format-Check | cargo fmt --check --manifest-path src-tauri/Cargo.toml |
| Rust-Lint | cargo clippy --all-targets --manifest-path src-tauri/Cargo.toml -- -D warnings |
| Rust-Tests | cargo test --manifest-path src-tauri/Cargo.toml |
| Icons neu generieren | npm run tauri icon app-icon.png |
Verifikation vor Abschluss jeder Änderung: alle vier ausführen —
cargo fmt --check, cargo clippy -D warnings, cargo test, npm run build.
-
Vue —
<script setup lang="ts">, Kompositions-API, PiniadefineStore.tsconfigist strict mitnoUnusedLocals/noUnusedParameters; Code muss kompilierfrei sauber sein. -
Neue Backend-Commands — Funktion in
commands.rsergänzen, inlib.rsregistrieren (tauri::generate_handler!) und einen typisierten Wrapper insrc/lib/ipc.tsanlegen. -
Serde — Modelle nutzen
#[serde(rename_all = "camelCase")](Rustsnake_case↔ TScamelCase). -
i18n — Jeder neue UI-Text bekommt einen Schlüssel in
src/lib/i18n.ts(en und de). Sprache und Design werden übersrc/stores/ui.ts(localStorage) persistiert. Designs sind CSS-Variablen insrc/style.cssunter[data-theme]. -
Admin-Impersonation —
webdav_listakzeptiert optionaltarget_user; das Backend verweigert Nicht-Admins (AppError::Forbidden) und setzt denImpersonate-User-Header inwebdav::list.
Typisierte Wrapper leben in src/lib/ipc.ts. Die maßgebliche Command-Liste
ist die invoke_handler-Registrierung in src-tauri/src/lib.rs. Events:
sync-status (Status-Payload), flutlink:cli-open (URL-String),
sync-folders-changed.
Die Doku liegt in docs/ mit en/- und de/-Ordnern. Beide Sprachversionen
müssen synchron bleiben — aktualisiere beim Ändern einer Seite immer die
Gegenseite und halte den Index in docs/README.md aktuell.
.github/workflows/ führt bei jedem Push/PR Build, Lint und Checks sowie
automatisierte opencode-Reviews aus. Halte cargo clippy -D warnings grün —
die CI behandelt Warnungen als Fehler.
- EN: Home · DE: Startseite
- EN: Getting Started · DE: Erste Schritte
- EN: Install Scripts · DE: Installationsskripte
- EN: Features · DE: Funktionen
- EN: Architecture · DE: Architektur
- EN: Sync Engine · DE: Sync-Engine
- EN: FlutCloud App · DE: FlutCloud-App
- EN: Tray & CLI · DE: Tray & CLI
- EN: Security · DE: Sicherheit
- EN: Development · DE: Entwicklung