← ClaudeAtlas

desktop-developmentlisted

Use when building, packaging, signing or updating desktop applications for Windows or Linux, including .NET, WPF, WinUI, Electron, Tauri, Qt, GTK, installers, services or daemons
rkaliev/eng-kit · ★ 0 · AI & Automation · score 72
Install: claude install-skill rkaliev/eng-kit
# Desktop development Desktop apps live on machines you don't manage: different OS versions, locales, permissions, antivirus, proxies, no admin rights. They are updated in place, so a bad release sits on disk until the next update succeeds. Platform details: - `references/windows.md`: .NET, MSIX/installers, signing, services. - `references/linux.md`: packaging, XDG, systemd, distributions. ## Always - **Follow the existing stack and structure**, for example MVVM in WPF/WinUI, the main/renderer split in Electron, the Rust core plus web UI in Tauri. New windows copy an existing window's pattern. - **Keep the UI thread free.** Do I/O, device access and heavy computation off the UI thread; marshal results back. Every long operation gets progress and cancellation. - **Paths and files:** - use platform APIs for app data, config, cache and logs, never hard-coded paths or the install directory (it's often read-only); - handle long paths, spaces, non-ASCII user names and network drives; - write atomically (write a temp file, then rename). - **Processes and IPC:** pass argument arrays, not shell strings. Validate messages between processes (the Electron preload bridge exposes a minimal API, with `contextIsolation` on and `nodeIntegration` off). Enforce a single instance where needed. - **Security:** - never ship secrets in the app; - store credentials in the OS store (Windows Credential Manager/DPAPI, libsecret/KWallet); - validate update payloads with signatures; - r