Skip to content

Turn a desktop toolbox into your own software.

PocketArk is a reusable desktop app base framework (Tauri 2 + Vue 3 + TypeScript + Tailwind 4). Windows, tray, navigation, theming, SQLite, settings, logging, errors, HTTP and auto-update are done; you only write the tools.

Recommended path

Capability matrix

search / filter
CapabilityFrontend entryRustWhat it does
IPC@/core/ipcgenerate_handlerType-safe command calls; never call invoke directly
Event bus@/core/eventsevents.rsTyped events with a shared prefix
Logging@/core/loggerlogUnified logs across both runtimes
Errors@/core/errorserror.rsAppError normalization + global toasts
Database@/core/dbdb.rsDrizzle (kdb) + CRUD + scoped migrations
HTTP@/core/httphttp.rsreqwest, no CORS; streaming download + proxy
Theme@/core/themeset_window_appearanceLight/dark/system + accent + font scale
Plugin registry@/core/pluginsplugins/mod.rsFrontend & backend auto-registration at build time
Updater@/core/updaterupdater.rstauri-plugin-updater + static manifest
Notifications@/core/notifytauri-plugin-notificationPermission request + settings toggle
Autostart@/core/autostarttauri-plugin-autostartThe OS is the source of truth
TransactionsrunInTransactiondb.rsBatch in one transaction; roll back on failure
Backup / restore / resetsettings → 数据db.rsAuto-restart after restore or reset
Settings import/export@/core/settings-transferfiles.rsExport JSON; import applies after restart
Diagnostics@/core/diagnosticsdiagnostics.rsEnvironment info + recent logs
Single instancetauri-plugin-single-instanceFocus the window and forward args on relaunch
In-app shortcuts@/core/shortcutsregisterShortcut('mod+k', fn)
Global shortcuts@/core/global-shortcuttauri-plugin-global-shortcutSettings-driven; focus the main window
Search / command palette@/core/searchCmd/Ctrl+K aggregates nav and tools
Taskbar progress / badge@/core/taskbarTauri Window APIProgress 0–100 / Dock badge
Background tasks@/core/taskstasks.rsCancel tokens + task:// progress events
Open content@/core/open-withopen.rsUnified CLI / deep-link / drop dispatch
Multi-window@/core/windowscapabilities/windows.jsonopenAppWindow(), label win-*
Native app menu@/core/events (app://menu)menu.rsmacOS menubar / Windows window menu
Platform detection@/core/platform.tsisMac: styling and modifier-key differences

Keep reading