Skip to content

agmmnn/tauri-ui

Repository files navigation

crab tauri-ui

tauri-ui

Create modern Tauri desktop apps with shadcn/ui and a desktop-first default setup.

create-tauri-ui scaffolds the frontend with the upstream shadcn CLI, generates the native shell with create-tauri-app, and merges the result into a Tauri-ready project. The goal is to stay close to upstream tools without maintaining a large local template tree.

Features

  • 🧱 Upstream-first scaffolding: uses the shadcn CLI for the frontend and create-tauri-app for the native shell
  • 🖥️ Desktop defaults out of the box: window sizing, startup flash prevention, external link guarding, overscroll prevention, and desktop-style selection behavior
  • 🔋 Built-in batteries: optional starter dashboard, Rust invoke example, desktop release workflow, and a dev-only debug panel
  • 🧭 Framework-aware adapters: tuned for vite, next, start, react-router, and astro
  • 🧹 Low-maintenance generator design: no large local template tree, just a small asset and patch surface

Quick Start

Primary commands:

bun create tauri-ui my-app

# direct binary command

bunx create-tauri-ui@latest my-app

Then run the generated app:

cd my-app
bun install
bun run tauri dev
Detailed Commands

Generate a Vite app with defaults:

npm create tauri-ui@latest my-app -- --template vite --yes

Generate a Next.js app without the starter dashboard or workflow:

npm create tauri-ui@latest my-app -- --template next --yes --no-starter --no-workflow

Generate an Astro app with a custom identifier:

bun create tauri-ui my-app --template astro --identifier com.example.astroapp --yes

Batteries Included 🔋

Core setup

  • shadcn frontend (upstream)
  • merged src-tauri native layer
  • framework adapters (vite, next, start, react-router, astro)

Desktop defaults

  • centered 1400x918 window
  • no startup flash (delayed show)
  • external links open in system browser
  • no overscroll / rubber-band scrolling
  • desktop-style selection (select-none + opt-in)

Dev tools

  • built-in debug panel
    (invokes, events, logs, paths, webview info)

Assets

  • included app-icon.png

Optional

  • starter dashboard (dashboard-01)
  • Rust invoke example
  • GitHub Actions release workflow

How It Works

prompts -> shadcn init -> create-tauri-app (temp) -> merge src-tauri -> apply framework patches -> add batteries

This project avoids shipping full local project templates. It keeps a small local surface of assets and patch logic, and lets the upstream CLIs do the heavy lifting.

Monorepo

This repository is a monorepo. The CLI package lives at packages/create-tauri-ui. For the full package documentation, examples, CLI options, and development notes, see packages/create-tauri-ui/README.md.

License

MIT

About

🦀 Create modern Tauri desktop apps in just a few simple steps with shadcn/ui. React, Next.js, Sveltekit.

Topics

Resources

Stars

Watchers

Forks

Packages