developing-tauri-plugins

Guides creation of Tauri plugins with Rust crates, JavaScript bindings, and mobile implementations.

Updated Jun 7, 2026
One-click install
npx skills add https://github.com/dt418/better-shot-x --skill developing-tauri-plugins-dt418
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: developing-tauri-plugins
Source: https://github.com/dt418/better-shot-x/tree/main/.agents/skills/developing-tauri-plugins
Command: npx skills add https://github.com/dt418/better-shot-x --skill developing-tauri-plugins-dt418

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building a Tauri plugin requires coordinating Rust crates, TypeScript bindings, permission files, and optional Kotlin/Swift mobile code, which is error-prone without a structured reference. ## Core Features & Use Cases - Plugin Scaffolding: Create new plugins with the Tauri CLI, including optional Android and iOS targets. - Rust Implementation Patterns: Provides templates for lib.rs, commands, desktop/mobile modules, error handling, and lifecycle hooks. - Permissions & Security: Covers permission TOML files, build.rs command registration, and scoped command permissions. - Use Case: You need to expose a native camera or file-system capability to your Tauri app on desktop and Android. Use this Skill to scaffold the plugin, implement the Rust and Kotlin layers, define permissions, and wire up the TypeScript API. ## Quick Start Ask the assistant to scaffold a new Tauri plugin with Android support and generate the Rust commands, permission files, and TypeScript bindings for it.

Frequently Asked Questions about developing-tauri-plugins

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a new Tauri plugin?

Run npx @tauri-apps/cli plugin new my-plugin to scaffold a plugin with a Rust crate and TypeScript bindings. Add --android and --ios flags to include mobile targets, or add them later with tauri plugin android add and tauri plugin ios add.

How do I add permissions to a Tauri plugin?

Define permission TOML files in the permissions/ directory listing allowed commands, and register command names in build.rs using tauri_plugin::Builder. Then reference the permission set in your app's capabilities/default.json file.

Can Tauri plugins run on Android and iOS?

Yes, Tauri plugins support mobile through Kotlin implementations on Android and Swift on iOS. The Rust mobile.rs module calls native code via run_mobile_plugin, and the native side resolves or rejects invocations.

How do Tauri plugin commands communicate with the frontend?

Commands are invoked from TypeScript using invoke with the pattern plugin:name|command. For streaming progress, pass a Channel object whose onmessage callback receives values sent from the Rust side.

Why does my Android Tauri plugin block the UI thread?

Android plugin commands run on the main thread by default, so blocking operations freeze the UI. Wrap blocking work in a Kotlin coroutine using CoroutineScope(Dispatchers.IO) to keep the interface responsive.