| name | new-tauri |
| description | This skill should be used when the user asks to "create a desktop app", "set up a Tauri project", "scaffold a native app", "new tauri app", "build a desktop application", or mentions "tauri", "desktop app", "native app", "cross-platform desktop" in the context of starting a new project. |
Tauri Template Setup
Scaffold a new desktop application from the niskan516/tauri-template repository.
Prerequisites
git installed
bun installed (package manager)
- Rust toolchain installed (
rustup)
- Platform-specific Tauri dependencies (see Tauri prerequisites)
Step 1: Collect Information
Ask the user for all of the following:
| Input | Format | Example | Used In |
|---|
| Project name | kebab-case | my-desktop-app | package.json, directory name |
| App description (short) | One sentence | A tool for managing tasks | tauri.conf.json shortDescription |
| App description (long) | One paragraph | A modern task management... | tauri.conf.json longDescription |
| Author/publisher name | Display name | John Doe | tauri.conf.json, Cargo.toml |
| Bundle identifier | Reverse domain | com.johndoe.my-desktop-app | tauri.conf.json identifier |
| GitHub username | String | johndoe | Updater endpoint, CONTRIBUTING.md |
| GitHub repo name | String | my-desktop-app | Updater endpoint, CONTRIBUTING.md |
| Security contact email | Email | security@example.com | SECURITY.md |
If invoked from the new-project router skill, project name and target directory are already provided.
Step 2: Clone
This template is a standalone repo (not a monorepo subfolder):
TARGET_DIR="<target-directory>/<project-name>"
git clone --depth 1 https://github.com/niskan516/tauri-template.git "$TARGET_DIR"
Step 3: Customize Placeholders
Perform these exact replacements in the target directory:
package.json
| Find | Replace With |
|---|
tauri-app-template | <project-name> |
index.html
| Find | Replace With |
|---|
<title>Tauri + React + Typescript</title> | <title><app-title></title> |
src-tauri/tauri.conf.json
| Find | Replace With |
|---|
tauri-app (productName) | <project-name> |
com.tauri-app.app | <bundle-identifier> |
tauri-app (window title) | <app-title> |
Your Name | <publisher-name> |
A Tauri React template application | <short-description> |
A modern Tauri React template... | <long-description> |
Copyright © 2025 Your Name... | Copyright © <year> <publisher-name>. All rights reserved. |
| Updater endpoint URL | https://github.com/<github-username>/<github-repo>/releases/latest/download/latest.json |
src-tauri/Cargo.toml
| Find | Replace With |
|---|
tauri-app (crate name) | <project-name> with hyphens replaced by underscores |
A Tauri App | <short-description> |
["you"] | ["<publisher-name>"] |
Documentation and CI
| File | Find | Replace With |
|---|
docs/SECURITY.md | YOUR_SECURITY_EMAIL | <security-email> |
docs/CONTRIBUTING.md | Repo URL placeholders | https://github.com/<github-username>/<github-repo> |
.github/workflows/release.yml | Tauri Template App | <app-title> |
Step 4: Clean Up
cd "$TARGET_DIR"
rm -f docs/USING_THIS_TEMPLATE.md
Step 5: Initialize
rm -rf .git
git init
bun install
git add -A
git commit -m "Initial commit from tauri template"
Step 6: Verify
bun run check:all
Report the results to the user. If checks fail, investigate and fix before proceeding.
Post-Setup Reminders
After scaffolding, remind the user to:
- Generate signing keys for auto-updater:
tauri signer generate -w ~/.tauri/<project-name>.key
- Set GitHub Secrets for CI release workflow:
TAURI_PRIVATE_KEY — the generated private key
TAURI_SIGNING_PRIVATE_KEY_PASSWORD — the key password
Tech Stack Summary
The scaffolded project includes:
| Category | Technology |
|---|
| Desktop | Tauri v2, Rust |
| UI | React 19, Tailwind CSS v4, shadcn |
| Router | TanStack Router v1 |
| Build | Vite 7 |
| State | Zustand v5, TanStack Query v5 |
| i18n | Lingui v5 |
| Type bridge | tauri-specta |
| Linting | Biome |
| Git hooks | Lefthook |
| Testing | Vitest + Playwright |