tauri-plugins_skill

This skill helps you create and configure Tauri plugins across desktop and mobile, including Rust cores, bindings, and platform specifics.

12

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill dchuk/claude-code-tauri-skills --skill tauri-plugins

  • SKILL.md11.2 KB

Overview

This skill guides developers through creating, configuring, and distributing Tauri v2 plugins across desktop and mobile. It covers plugin architecture, Rust crate and JS bindings, mobile implementations for Android and iOS, and permission scoping for safe command execution. Expect practical patterns for lifecycle events, error handling, and platform-specific best practices.

How this skill works

The skill explains how to scaffold a plugin, implement core Rust logic, expose commands as async functions, and publish TypeScript bindings for the webview. It shows how to add optional Android (Kotlin) and iOS (Swift) native modules, wire lifecycle events, and declare permissions and command scopes. Build scripts and configuration examples demonstrate registering and configuring plugins in tauri.conf.json and app code.

When to use it

  • You need reusable native features shared across multiple Tauri apps.
  • You want to expose safe, permissioned commands from Rust to the frontend.
  • You need platform-specific behavior for Android or iOS in the same plugin package.
  • You plan to ship a plugin with both Rust logic and JS/TypeScript bindings.
  • You must restrict plugin capabilities with scoped permissions for security.

Best practices

  • Keep desktop and mobile code separate (desktop.rs, mobile.rs) to avoid platform leakage.
  • Use async for all I/O operations and coroutines on Android for blocking work.
  • Define structured errors with thiserror and implement Serialize to send readable errors to the frontend.
  • Declare explicit permissions and command scopes; validate paths or inputs against scope allows/denies.
  • Clean up FFI resources on iOS and use proper deallocation when returning pointers.

Example use cases

  • Create a filesystem helper plugin that reads files with path-scoped permissions and emits progress events.
  • Implement a camera/photo plugin with Android/iOS permission checks and lifecycle handling.
  • Add a cross-platform encryption plugin: Rust core for crypto, JS bindings for frontend, native helpers for mobile accelerators.
  • Build a background upload plugin that streams progress through Channels and supports mobile-specific networking constraints.

FAQ

Use a Channel parameter in the command signature, send numeric progress values from Rust, and wire a Channel listener in the TypeScript bindings to handle progress updates.

How do I restrict plugin commands to specific paths or actions?

Declare permission TOML files and use CommandScope in command handlers to check scope.allows()/scope.denies() and validate inputs before performing sensitive operations.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
tauri-plugins skill by dchuk/claude-code-tauri-skills | VeilStrat