tauri-native-api-integration

v2026.09.24

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

GitHub
安装命令
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.

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

未指定

源路径

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

默认分支

main

最新提交

64b580e

Tree SHA

42a1df4