Full-stack-skills tauri-ipc
Implement frontend-to-Rust IPC using invoke calls, Tauri commands, and type-safe bindings in Tauri v2. Use when defining Rust commands callable from the frontend, setting up typed IPC contracts, or implementing bidirectional event-based communication.
install
source · Clone the upstream repo
git clone https://github.com/partme-ai/full-stack-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/partme-ai/full-stack-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tauri-skills/tauri-ipc" ~/.claude/skills/partme-ai-full-stack-skills-tauri-ipc && rm -rf "$T"
manifest:
skills/tauri-skills/tauri-ipc/SKILL.mdsource content
When to use this skill
ALWAYS use this skill when the user mentions:
- Frontend-to-Rust IPC or invoke calls
- Defining Tauri commands
- Type-safe IPC bindings (tauri-specta)
Trigger phrases include:
- "IPC", "invoke", "tauri command", "type-safe", "tauri-specta", "calling rust"
How to use this skill
- Define a Rust command:
#[tauri::command] fn greet(name: &str) -> String { format!("Hello, {}!", name) } - Register the command in the Tauri builder:
tauri::Builder::default() .invoke_handler(tauri::generate_handler![greet]) - Call from the frontend:
import { invoke } from '@tauri-apps/api/core'; const greeting = await invoke<string>('greet', { name: 'World' }); - For type-safe bindings, use
to auto-generate TypeScript types from Rust commands:tauri-spectacargo add tauri-specta specta - Bidirectional events for Rust-to-frontend communication:
app.emit("update", payload)?; // Rust -> Frontendimport { listen } from '@tauri-apps/api/event'; await listen('update', (event) => console.log(event.payload)); - Handle errors by returning
from Rust commandsResult<T, String>
Outputs
- Rust command definition and registration
- Frontend invoke call pattern
- Type-safe IPC with tauri-specta
- Bidirectional event communication
References
Keywords
tauri IPC, invoke, tauri command, type-safe, tauri-specta, events