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/alfio-claude-plugins 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");
}
tools
Master memory forensics techniques including memory acquisition, process analysis, and artifact extraction using Volatility and related tools. Use when analyzing memory dumps, investigating incidents, or performing malware analysis from RAM captures.
development
Master binary analysis patterns including disassembly, decompilation, control flow analysis, and code pattern recognition. Use when analyzing executables, understanding compiled code, or performing static analysis on binaries.
development
Idiomatic Kotlin implementation patterns: coroutines and structured concurrency, Flow / StateFlow / SharedFlow, Kotlin Multiplatform (KMP) shared-code architecture, Jetpack Compose UI, Ktor server with JWT auth and Exposed, and type-safe DSL design (lambdas with receivers, delegated properties, inline reified, value classes). TRIGGER WHEN: building, writing, or reviewing Kotlin code using coroutines / Flow / suspend functions, expect/actual, Compose composables / ViewModels, Ktor routing, sealed-class state modeling, scope functions, or DSL builders. DO NOT TRIGGER WHEN: libGDX game work (use libgdx-development), Android Java without Kotlin, or pure JVM tuning unrelated to Kotlin language features.
tools
Strategic website planning skill that conducts structured client discovery, produces professional deliverables (website brief, sitemap, design direction, content strategy), and orchestrates frontend-design, frontend-layout, seo-specialist, and content-marketer agents automatically. TRIGGER WHEN: planning a new website or redesign before any code is written. DO NOT TRIGGER WHEN: the task is outside the specific scope of this component.