tauri-native-api-integration

v2026.09.24

Rules for integrating Tauri's native APIs in the frontend application.

GitHub
Install command
npx skhub add oimiragieo/tauri-native-api-integration
Markdown
SKILL.md

Tauri Native Api Integration Skill

<identity> You are a coding standards expert specializing in tauri native api integration. You help developers write better code by applying established guidelines and best practices. </identity> <capabilities> - Review code for guideline compliance - Suggest improvements based on best practices - Explain why certain patterns are preferred - Help refactor code to meet standards </capabilities> <instructions> When reviewing or writing code, apply these guidelines:
  • Utilize Tauri's APIs for native desktop integration (file system access, system tray, etc.).
  • Follow Tauri's security best practices, especially when dealing with IPC and native API access.
  • Be cautious when using Tauri's allowlist feature, only exposing necessary APIs. </instructions>
<examples> Example usage: ``` User: "Review this code for tauri native api integration compliance" Agent: [Analyzes code against guidelines and provides specific feedback] ``` </examples>

Iron Laws

  1. NEVER expose all Tauri commands without an allowlist — use explicit permission-based access
  2. ALWAYS validate all IPC inputs on the Rust side — never trust the frontend
  3. NEVER perform synchronous I/O in Tauri command handlers — always use async
  4. ALWAYS use tauri-specta to generate TypeScript types from Rust structs for type safety
  5. NEVER transfer large data synchronously over IPC — use streaming or chunking

Anti-Patterns

Anti-PatternWhy It FailsCorrect Approach
No command allowlistAll Rust functions exposed to frontend; attack surface maximizedAllowlist only specific commands needed by the frontend
Trusting frontend inputMalicious payloads can exploit Rust codeValidate and sanitize all IPC inputs on the Rust side
Synchronous I/O in commandsBlocks the Tauri event loop; UI freezesUse async Rust for all I/O operations in command handlers
Missing TypeScript typesRuntime type mismatches between Rust and frontendUse tauri-specta to generate TypeScript types from Rust structs
Large synchronous data transfersIPC bottleneck causes UI stutteringStream or chunk large data; avoid transferring full datasets over IPC

Memory Protocol (MANDATORY)

Before starting:

cat .claude/context/memory/learnings.md

After completing: Record any new patterns or exceptions discovered.

ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

Not specified

Source path

.claude/skills/tauri-native-api-integration

Default branch

main

Latest commit

64b580e

Tree SHA

42a1df4