setting-up-tauri-projects

Setting Up Tauri Projects

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "setting-up-tauri-projects" with this command: npx skills add beshkenadze/claude-code-tauri-skills/beshkenadze-claude-code-tauri-skills-setting-up-tauri-projects

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

  • Microsoft C++ Build Tools: Download from Visual Studio, select "Desktop development with C++"

  • WebView2: Pre-installed on Windows 10 v1803+ (install manually if needed)

  • 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:

  • Project name

  • Bundle identifier (e.g., com.example.app )

  • Frontend language: TypeScript/JavaScript, Rust, or .NET

  • Package manager

  • 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

Template Languages Notes

vanilla JS, TS No framework

react JS, TS Vite-based

vue JS, TS Vite-based

svelte JS, TS Vite-based

solid JS, TS Vite-based

angular TS Angular CLI

preact JS, TS Vite-based

yew Rust Rust WASM frontend

leptos Rust Rust WASM frontend

sycamore Rust Rust WASM frontend

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

setting-up-tauri-projects

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

packaging-tauri-for-linux

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

distributing-tauri-for-android

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

integrating-tauri-rust-frontends

No summary provided by upstream source.

Repository SourceNeeds Review