Loading...
Loading...
Cross-platform app toolkit with Rust backend and WebView frontend. Use when building or maintaining Tauri apps, configuring IPC/security, or developing plugins.
npx skill4agent add hairyf/skills tauriThe skill is based on Tauri v2, generated at 2026-01-30.
| Topic | Description | Reference |
|---|---|---|
| Architecture | Core crates, WRY/TAO, tooling, plugins | core-architecture |
| IPC | Events (fire-and-forget) vs Commands (invoke/response), when to use each | core-ipc |
| Process Model | Core process vs WebView processes, security implications | core-process-model |
| Project Structure | src-tauri layout, tauri.conf.json, capabilities, build flow | core-project-structure |
| App Size | Why small, Cargo release profile (LTO, strip, opt-level) | concept-size |
| IPC Patterns | Brownfield (default) vs Isolation (sandbox, encrypt) | concept-ipc-patterns |
| Topic | Description | Reference |
|---|---|---|
| Create Project | create-tauri-app vs tauri init, dev server URL | start-create-project |
| Prerequisites | System deps, Rust, Node, WebView2, mobile (Android/iOS) | start-prerequisites |
| Frontend | Static host model, Vite/Next/Nuxt/SvelteKit/Leptos/Trunk | start-frontend |
| Migrate | Upgrading from Tauri 1.x or 2 beta, migrate command | start-migrate |
| Topic | Description | Reference |
|---|---|---|
| Configuration Files | tauri.conf.json, platform overrides, Cargo.toml, package.json | develop-configuration-files |
| Commands | #[tauri::command], invoke, args, errors, async, State, channels | develop-commands |
| Events and Channels | Emit/listen, global vs webview-specific, streaming with Channel | develop-events-and-channels |
| State Management | app.manage(), State<T> in commands, Mutex | develop-state-management |
| Windows | Creating windows (config vs WebviewWindowBuilder), label, url, visible | develop-windows |
| Icons | tauri icon command, bundle.icon, platform formats | develop-icons |
| Resources | Bundled resources, resolve path, $RESOURCE, fs permissions | develop-resources |
| Sidecar | externalBin, shell plugin, spawn from Rust/JS, permissions | develop-sidecar |
| Debug | dev vs build, Rust console, WebView devtools, RUST_BACKTRACE | develop-debug |
| Tests | Mock runtime, WebDriver E2E, CI | develop-tests |
| Tests Mocking | mockIPC, mockWindows, clearMocks (frontend tests) | develop-tests-mocking |
| Tests WebDriver | tauri-driver, platform drivers, Selenium/WebdriverIO, CI | develop-tests-webdriver |
| Updating Dependencies | npm/Cargo version sync, tauri and plugins | develop-updating-dependencies |
| Plugins Mobile | Android (Kotlin), iOS (Swift), desktop vs mobile impl | develop-plugins-mobile |
| Topic | Description | Reference |
|---|---|---|
| Capabilities | Which permissions apply to which windows; capability files, remote, platforms | security-capabilities |
| Permissions | Allow/deny commands, scopes, permission sets; plugin vs app permissions | security-permissions |
| Scopes | allow/deny per command or global, path/URL patterns | security-scope |
| CSP | Content Security Policy config, script-src, style-src | security-csp |
| HTTP Headers | CORS, COOP, Permissions-Policy for webview responses | security-http-headers |
| Runtime Authority | Core enforces permissions on every invoke; denied = never run | security-runtime-authority |
| Topic | Description | Reference |
|---|---|---|
| Security Lifecycle | Upstream, development, build, runtime; deps, audit, dev server | best-practices-security-lifecycle |
| Writing Plugin Permissions | Autogenerated allow/deny, permission files, default set, scope schema | best-practices-writing-plugin-permissions |
| Topic | Description | Reference |
|---|---|---|
| Plugins | Plugin development, lifecycle hooks, commands, permissions, state | features-plugins |
| Official Plugins Overview | dialog, fs, shell, store, updater, and others; when to use which | features-official-plugins-overview |
| Deep Linking | Custom URL scheme, App/Universal Links, single-instance + argv | features-deep-linking |
| Updater | In-app updates — check, download, install, signing, static/dynamic endpoints | features-updater |
| Topic | Description | Reference |
|---|---|---|
| Packaging | build, bundle, installers (DMG, MSI, AppImage, etc.), signing overview | distribute-packaging |
| Signing | Code signing per platform (macOS, Windows, Linux, Android, iOS) | distribute-signing |
| Pipelines | GitHub Actions (tauri-action), CI signing, CrabNebula Cloud | distribute-pipelines |
| Topic | Description | Reference |
|---|---|---|
| Menus and Tray | Window menu, system tray, Menu/TrayIcon, predefined items | learn-windows-menus-tray |
| Window Customization | Custom titlebar, decorations, data-tauri-drag-region, transparent (macOS) | learn-window-customization |
| Splashscreen | Extra window, visible/hidden main, setup tasks, close when ready | learn-splashscreen |
| Sidecar Node.js | Node app as binary (pkg), externalBin, shell plugin | learn-sidecar-nodejs |
| Using Plugin Permissions | Add plugin, capability, allow commands, default permissions | learn-using-plugin-permissions |
| Capabilities per Window/Platform | Different capabilities per window; platforms array | learn-capabilities-windows-platforms |
| Topic | Description | Reference |
|---|---|---|
| CLI | dev, build, icon, init, migrate, bundle | reference-cli |
| Environment Variables | CI, config depth, signing, Apple/Windows/Linux, hook env | reference-environment-variables |
| WebView Versions | WebView2 (Windows), WKWebView (macOS/iOS), WebKitGTK (Linux) | reference-webview-versions |
| Core Permissions (ACL) | core:default, app, event, window, path, menu, tray, resources | reference-acl-core-permissions |