tauri-v2
Use this skill whenever "tauri" appears in the user's message, or they reference tauri.conf.json, src-tauri, or @tauri-apps packages.
Skill by delexw
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/delexw-tauri-v2
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tauri-v2
What's inside
- Skill name
tauri-v2- Description
- Use this skill whenever "tauri" appears in the user's message, or they reference tauri.conf.json, src-tauri, or @tauri-apps packages. Also use when converting a web app (React, Vue, Svelte, etc.) into a desktop application without Electron. Covers: creating Tauri v2 projects, Rust commands and IPC (invoke/events/channels), permissions and capabilities config, official Tauri plugins (fs, dialog, updater, stronghold, store, etc.), state management, window configuration, building/bundling for macOS/Windows/Linux/mobile, and debugging Tauri-specific errors like blank windows, lifetime errors in commands, or permission denied issues. Do NOT use for Electron, Flutter, Wails, or general Rust development unrelated to Tauri.
- License
- MIT
- Instructions
- 415 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (5)
- SKILL.md
- config.md · references/
- mobile.md · references/
- permissions.md · references/
- plugins.md · references/
SKILL.md (first lines)
# Tauri v2 Development Skill
Tauri v2 lets you build tiny, fast apps for desktop (macOS, Windows, Linux) and mobile (iOS, Android) by combining a web frontend with a Rust backend. Apps use the system's native webview instead of bundling a browser engine, so a minimal app can be under 600KB.
**Default stack in this skill:** React + Vite + TypeScript frontend, Rust backend. Adapt if the user specifies a different framework.
## Quick Reference
- Config file: `src-tauri/tauri.conf.json`
- Rust entry: `src-tauri/src/lib.rs` (or `main.rs`)
- Capabilities: `src-tauri/capabilities/*.json`
- Permissions: `src-tauri/permissions/*.toml`
- JS API: `@tauri-apps/api`
- CLI: `@tauri-apps/cli` (npm) or `tauri-cli` (cargo)
For detailed reference on configuration, plugins, permissions, and mobile setup, see the `references/` directory. Read the relevant file when you need specifics beyond what's covered here.
## Prerequisites
Before creating a Tauri project, ensure these are installed:
**All platforms:** Rust via rustup (`curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh`), Node.js LTS
**macOS:** Xcode or Xcode Command Line Tools (`xcode-select --install`)
**Windows:** Microsoft C++ Build Tools (select "Desktop development with C++"), WebView2 Runtime (pre-installed on Windows 10+), `rustup default stable-msvc`
**Linux (Debian/Ubuntu):**
```bash
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
```
**Mobile (optional):** See `references/mobile.md` for Android Studio / iOS setup.
## Creating a Project
### Scaffolding (recommended)
```bash
npm create tauri-app@latest
# Choose: TypeScript/JavaScript → pnpm/npm → React → TypeScript
cd my-app
npm install
npm run tauri dev
```
This creates a project with `src/` (React frontend) and `src-tauri/` (Rust backend).
### Adding Tauri to an existing project
```bash
npm install -D @tauri-apps/cli@latest
npx tauri init
```
Answer the prompts for app name, dev server URL (e.g. `http://localhost:5173` for Vite), and frontend dist directory (e.g. `../dist`).
## Core Concepts
### Commands — Frontend calls Rust
Commands are the primary way the frontend talks to the backend. Define a Rust function with `#[tauri::command]`, register it, and call it from JS with `invoke`.
**Rust side** (`src-tauri/src/lib.rs`):
```rust
#[tauri::command]
fn greet(name: String) -> String {
format!("Hello, {}!", name)
}
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![greet])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
```
**JS side**:
```typescript
import { invoke } from '@tauri-apps/api/core';
const greeting = await invoke<string>('greet', { name: 'World' });
```
Key rules:
- Command names must be unique across the app
- Rust args are snake_case, JS passes them as camelCase (e.g. `invoke_message` → `{ invokeMessage: '...' }`)
- Use `#[tauri::command(rename_all = "snake_case")]` to keep snake_case on both sides
- Commands can be `async` for non-blocking work
- Return `Result<T, String>` (or custom error types) for error handling — `Err` rejects the JS promise
### Events — Rust notifies the frontend
For fire-and-forget notifications or streaming updates, use the event system:
**Rust emitting:**
```rust
use tauri::{AppHandle, Emitter};
#[tauri::command]
fn start_download(app: AppHandle, url: String) {
app.emit("download-progress", 50).unwrap();
}
```
**JS listening:**
```typescript
import { listen } from '@tauri-apps/api/event';
const unlisten = await listen<number>('download-progress', (event) => {
console.log(`Progress: ${event.payload}%`);
});
// Call unlisten() to stop listening
```
### Channels — High-throughput streamingFrom delexw/claude-code-misc, MIT.
More from delexw/claude-code-misc
- 0.448score
telegram-bot
delexw
Interact with Telegram — read messages from your channel and send messages back.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
adr-author
delexw
Guide writing clear, enforceable Architectural Decision Records (ADRs) that work with AI-powered review systems and human teams alike.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
animejs
delexw
Write correct anime.js v4 animations with the right imports, API patterns, easing, timelines, and advanced features.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
inktui
delexw
Build beautiful CLI apps with Ink (React for terminals), ink-ui components, and create-ink-app scaffolding.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
ladybugdb
delexw
Expert guide for LadybugDB — an embedded, in-process property graph database using openCypher.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
oxfmt
delexw
Run and configure oxfmt — the high-performance JavaScript/TypeScript formatter built on the Oxc compiler stack, ~30x faster than Prettier.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
oxlint
delexw
Run and configure oxlint — the high-performance JavaScript/TypeScript linter built on the Oxc compiler stack.
SkillDFreshness: D★ 2Claude Code +9 - 0.439score
a2a-js-dev
delexw
Build A2A (Agent-to-Agent) protocol applications using the @a2a-js/sdk TypeScript/JavaScript SDK.
SkillDFreshness: D★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Mar 28, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/delexw/claude-code-misc
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from delexw
- 0.448score
telegram-bot
delexw
Interact with Telegram — read messages from your channel and send messages back.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
adr-author
delexw
Guide writing clear, enforceable Architectural Decision Records (ADRs) that work with AI-powered review systems and human teams alike.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
animejs
delexw
Write correct anime.js v4 animations with the right imports, API patterns, easing, timelines, and advanced features.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
inktui
delexw
Build beautiful CLI apps with Ink (React for terminals), ink-ui components, and create-ink-app scaffolding.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
ladybugdb
delexw
Expert guide for LadybugDB — an embedded, in-process property graph database using openCypher.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
oxfmt
delexw
Run and configure oxfmt — the high-performance JavaScript/TypeScript formatter built on the Oxc compiler stack, ~30x faster than Prettier.
SkillDFreshness: D★ 2Claude Code +9
Cite this page
tauri-v2 skill. Agent Mart. https://agentmart.dev/skills/delexw-tauri-v2 (last updated 2026-10-24)