Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
dchuk avatar

Setting Up Tauri Projects

  • 208 installs
  • 29 repo stars
  • Updated January 20, 2026
  • dchuk/claude-code-tauri-skills

Create and initialize a Tauri v2 project with create-tauri-app or the CLI, including macOS/Windows/Linux prerequisites and Rust toolchain setup.

About

Walks through scaffolding a new Tauri v2 cross-platform app, covering system prerequisites per OS, Rust toolchain install, and project creation via create-tauri-app or manual CLI init. A developer uses it when starting a Tauri desktop or mobile app and choosing a frontend framework such as React, Vue, Svelte, or a Rust-based UI.

  • Lists per-OS prerequisites (Xcode, MSVC build tools, WebView2, Linux webkit2gtk packages)
  • Supports vanilla JS/TS plus React, Vue, Svelte, Angular, SolidJS, and Rust frontends

Setting Up Tauri Projects by the numbers

  • 208 all-time installs (skills.sh)
  • Ranked #437 of 1,039 Mobile Development skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dchuk/claude-code-tauri-skills --skill setting-up-tauri-projects

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs208
repo stars29
Last updatedJanuary 20, 2026
Repositorydchuk/claude-code-tauri-skills

What it does

Create and initialize a Tauri v2 project with create-tauri-app or the CLI, including macOS/Windows/Linux prerequisites and Rust toolchain setup.

Files

SKILL.mdMarkdownGitHub ↗

Setting Up Tauri Projects

What is Tauri?

Tauri is a framework for building tiny, fast binaries for all major desktop and mobile platforms. It combines any frontend that compiles to HTML/JS/CSS with Rust for the backend.

Key characteristics:

  • Minimal apps can be under 600KB (uses system webview, not bundled browser)
  • Built on Rust for memory, thread, and type safety
  • Supports virtually any frontend framework
  • Cross-platform: Windows, macOS, Linux, iOS, Android

System Prerequisites

macOS

# For desktop + iOS development
# Install Xcode from Mac App Store

# For desktop-only development (lighter option)
xcode-select --install

Windows

1. Microsoft C++ Build Tools: Download from Visual Studio, select "Desktop development with C++" 2. WebView2: Pre-installed on Windows 10 v1803+ (install manually if needed) 3. Rust toolchain:

winget install Rustlang.Rustup
rustup default stable-msvc

Linux

Debian/Ubuntu:

sudo apt update
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file \
  libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev

Arch Linux:

sudo pacman -S webkit2gtk-4.1 base-devel curl wget file openssl \
  appmenu-gtk-module libappindicator-gtk3 librsvg xdotool

Fedora:

sudo dnf install webkit2gtk4.1-devel openssl-devel curl wget file \
  libappindicator-gtk3-devel librsvg2-devel libxdo-devel \
  @development-tools

Rust (All Platforms)

# macOS/Linux
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Windows (PowerShell)
winget install Rustlang.Rustup

Node.js

Required only for JavaScript/TypeScript frontends. Install LTS version from nodejs.org.

Mobile Development (Optional)

Android (all platforms):

# Install Android Studio, then add Rust targets
rustup target add aarch64-linux-android armv7-linux-androideabi \
  i686-linux-android x86_64-linux-android

Set environment variables: JAVA_HOME, ANDROID_HOME, NDK_HOME

iOS (macOS only):

# Requires full Xcode (not just Command Line Tools)
rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim

# Install Cocoapods
brew install cocoapods

Creating a Project

Method 1: create-tauri-app (Recommended)

Interactive scaffolding with framework templates.

# npm
npm create tauri-app@latest

# pnpm
pnpm create tauri-app

# yarn
yarn create tauri-app

# bun
bun create tauri-app

# cargo (no Node.js required)
cargo install create-tauri-app --locked
cargo create-tauri-app

# Shell scripts
sh <(curl https://create.tauri.app/sh)        # Bash
irm https://create.tauri.app/ps | iex         # PowerShell

Prompts you'll see: 1. Project name 2. Bundle identifier (e.g., com.example.app) 3. Frontend language: TypeScript/JavaScript, Rust, or .NET 4. Package manager 5. UI template: vanilla, Vue, Svelte, React, SolidJS, Angular, Preact, Yew, Leptos, Sycamore

After scaffolding:

cd your-project
npm install
npm run tauri dev

Method 2: Manual Setup (Existing Projects)

Add Tauri to an existing frontend project.

# 1. In your existing project, install Tauri CLI
npm install -D @tauri-apps/cli@latest

# 2. Initialize Tauri (creates src-tauri directory)
npx tauri init

tauri init prompts:

  • App name
  • Window title
  • Frontend dev server URL (e.g., http://localhost:5173)
  • Frontend build output directory (e.g., dist)
  • Frontend dev command (e.g., npm run dev)
  • Frontend build command (e.g., npm run build)
# 3. Start development
npx tauri dev

Project Structure

my-tauri-app/
├── package.json           # Frontend dependencies
├── index.html             # Frontend entry point
├── src/                   # Frontend source code
│   └── main.js
└── src-tauri/             # Rust backend
    ├── Cargo.toml         # Rust dependencies
    ├── Cargo.lock
    ├── build.rs           # Tauri build script
    ├── tauri.conf.json    # Main Tauri configuration
    ├── capabilities/      # Permission/capability definitions
    ├── icons/             # App icons (all formats)
    └── src/
        ├── lib.rs         # Main Rust code + mobile entry point
        └── main.rs        # Desktop entry point

Key Files

tauri.conf.json - Primary configuration:

{
  "productName": "my-app",
  "version": "0.1.0",
  "identifier": "com.example.my-app",
  "build": {
    "devUrl": "http://localhost:5173",
    "frontendDist": "../dist"
  },
  "app": {
    "windows": [{ "title": "My App", "width": 800, "height": 600 }]
  }
}

src/lib.rs - Rust application code:

#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
    tauri::Builder::default()
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

src/main.rs - Desktop entry point:

#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]

fn main() {
    app_lib::run();
}

capabilities/ - Define what commands JavaScript can invoke:

{
  "identifier": "main-capability",
  "windows": ["main"],
  "permissions": ["core:default"]
}

Common Commands

# Development with hot reload
npm run tauri dev

# Build production binary
npm run tauri build

# Generate app icons from source image
npm run tauri icon path/to/icon.png

# Add Android target
npm run tauri android init

# Add iOS target
npm run tauri ios init

# Run on Android
npm run tauri android dev

# Run on iOS simulator
npm run tauri ios dev

Quick Reference: Supported Frontend Templates

TemplateLanguagesNotes
vanillaJS, TSNo framework
reactJS, TSVite-based
vueJS, TSVite-based
svelteJS, TSVite-based
solidJS, TSVite-based
angularTSAngular CLI
preactJS, TSVite-based
yewRustRust WASM frontend
leptosRustRust WASM frontend
sycamoreRustRust WASM frontend

Related skills

Mobile Developmentfrontendbackend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.