NYC

tauri

SKILL.md

Tauri lets you build desktop (and mobile) apps with a Rust Core process and a frontend running in the OS WebView. Use these skills when scaffolding projects, wiring commands and events, configuring capabilities and permissions, or authoring plugins.

The skill is based on Tauri v2, generated at 2026-01-30.

Core References

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

Start

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

Develop

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

Security

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

Best Practices

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

Features

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

Distribute

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

Learn

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

Reference

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
Weekly Installs
56
Repository
hairyf/skills
First Seen
Feb 2, 2026
Installed on
claude-code54
cursor51
opencode17
codex17
github-copilot16
gemini-cli16