plugins/tauri-development/skills/tauri/SKILL.md
Unified Tauri 2 development knowledge base covering core patterns, desktop, and mobile. TRIGGER WHEN: working with Tauri commands, IPC, plugins, project setup, OAuth, CI/CD, window management, shell plugin, desktop bundling, platform WebViews, mobile environment setup, emulator/ADB, mobile plugins, IAP, and store deployment. DO NOT TRIGGER WHEN: the task is outside the specific scope of this component.
npx skillsauth add acaprino/anvil-toolset tauriInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Index for Tauri 2 patterns -- core, desktop, mobile. Each section points to a focused reference; the references hold gotchas and link out to canonical docs at v2.tauri.app.
| Task | Command |
|------|---------|
| New project | npm create tauri-app@latest |
| Add plugin | npm run tauri add <plugin-name> |
| Dev (desktop) | cargo tauri dev |
| Build (desktop) | cargo tauri build |
| Info / sanity check | cargo tauri info |
| Init Android / iOS | npm run tauri android init / ios init |
| Dev mobile | npm run tauri android dev / ios dev |
| Build APK / AAB | npm run tauri android build --apk / --aab |
| Build IPA | npm run tauri ios build |
setup.md -- prerequisites (Rust, Node, Vite gotchas)rust-patterns.md -- commands, state, channels, events, error handlingfrontend-patterns.md -- invoke, channels, listeners, capabilitiesplugins-core.md -- universal plugins (fs, http, store, sql, deep-link, ...)window-management.md -- multi-window, frameless, tray, menus, global shortcutsshell-plugin.md -- spawn child processes, sidecar binaries, scoped commandsbuild-deploy-desktop.md -- bundling, code signing, notarization, auto-updaterplatform-webviews.md -- WebView2 / WKWebView / WebKitGTK differences and floorsauthentication.md -- OAuth/PKCE via system browserci-cd.md -- provider-agnostic pipeline patternssetup-mobile.md -- Android SDK + iOS Xcode tooling, pinned versions (AGP 8.11.0 / Gradle 8.14.3 / Kotlin 1.9.25), Gradle 9.0 readinessplugins-mobile.md -- biometric, barcode, haptics, NFC, geolocation, Android safe-area workaroundauthentication-mobile.md -- deep-link OAuth, Apple Sign-In, Firebase callbackiap.md -- in-app purchases (Google Play + App Store)testing.md -- emulator, ADB, logcat, WebView debugging (happy path)debugging-mobile.md -- iOS Web Inspector, Rust backtrace extraction, store crash logs, troubleshooting decision treesmobile-stale-builds.md -- the Cargo rerun-if-changed gap that ships stale frontends in APKs; build.rs walk pattern + Gradle safety netbuild-deploy-mobile.md -- signing, store builds, NDK / 16KB / RustWebViewClient gotchasci-cd-mobile.md -- mobile signing in CI, store uploaddistribution-android.md -- Play Console submission, keystore, Play App Signing, common rejectionsdistribution-ios.md -- App Store Connect, certificates and provisioning, Info.plist usage descriptions, TestFlight, App Privacyhigh-frequency-ui.md -- streaming/trading UI composition (atomic state, virtualization, rust-lld)ipc-streaming.md -- Channel-vs-emit benchmarks, rkyv zero-copy, backpressuremy-app/
+-- src/ # Frontend (React/Vue/Svelte/...)
+-- src-tauri/
| +-- Cargo.toml
| +-- tauri.conf.json # Main config
| +-- src/
| | +-- main.rs # Desktop entry (don't modify)
| | +-- lib.rs # All your code + mobile entry
| +-- capabilities/
| | +-- default.json # Permissions
| +-- gen/
| +-- android/ # Generated Android project
| +-- apple/ # Generated Xcode project
// tauri.conf.json
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "MyApp",
"identifier": "com.company.myapp",
"build": {
"devUrl": "http://localhost:5173",
"frontendDist": "../dist"
}
}
// capabilities/default.json
{ "identifier": "default", "windows": ["main"], "permissions": ["core:default"] }
// src-tauri/src/lib.rs
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_opener::init())
.invoke_handler(tauri::generate_handler![])
.run(tauri::generate_context!())
.expect("error");
}
development
Unified web frontend knowledge base covering CSS architecture, UX psychology, UI components, distinctive aesthetics, and interface design generation. TRIGGER WHEN: working on web styling, design systems, component decisions, responsive strategy, distinctive frontend aesthetics, or exploring multiple interface designs. DO NOT TRIGGER WHEN: the task is purely backend or unrelated to web frontend.
development
Coordinate parallel code reviews across multiple quality dimensions with finding deduplication, severity calibration, and consolidated reporting. Use this skill when organizing multi-reviewer code reviews, calibrating finding severity, or consolidating review results.
tools
Knowledge base for the codebase-mapper plugin. Provides writing guidelines, tone rules, and diagram conventions for generating human-readable project guides. Referenced by all codebase-mapper agents during document generation. TRIGGER WHEN: referenced by codebase-mapper pipeline agents (codebase-explorer, overview-writer, tech-writer, flow-writer, onboarding-writer, ops-writer, config-writer, guide-reviewer) during document generation. DO NOT TRIGGER WHEN: outside the /map-codebase pipeline (general documentation work should use docs:readme-craft or codebase-mapper:docs-create).
tools
Progressive Web App knowledge base for 2025-2026: Web App Manifest, Service Workers (Workbox 7, Serwist), Web Push (VAPID, RFC 8030/8291/8292, Declarative Push for Safari 18.4+), install flows (beforeinstallprompt, Window Controls Overlay), OPFS storage, Project Fugu, Core Web Vitals (INP < 200ms), security (HTTPS, CSP, COOP/COEP), and distribution (Bubblewrap, PWA Builder MSIX, Capacitor). TRIGGER WHEN: building, auditing, or debugging PWAs, including manifest, service worker, Web Push, install flow, OPFS, Background Sync, Wake Lock, vite-plugin-pwa, Next.js Serwist, @angular/pwa, @vite-pwa/nuxt, Bubblewrap, TWA, PWA Builder, or Capacitor wrapping. DO NOT TRIGGER WHEN: the task is generic frontend styling (use frontend), React performance (use react-development:review-react), cross-platform security unrelated to PWA (use platform-engineering), Tauri or Electron wrappers (use tauri-development), or GA4 / analytics (use digital-marketing).