A modern, lightweight starter template for building cross-platform desktop applications with Tauri, React, TypeScript, and shadcn/ui.
- 🚀 Tauri 2 - Build smaller, faster, and more secure desktop applications
- ⚛️ React 19 - Latest React with new compiler and improved performance
- 🔷 TypeScript - Type safety out of the box
- 🎨 Tailwind CSS v4 - Utility-first CSS framework
- 🧩 shadcn/ui - Beautiful, accessible component library
- 🌗 Dark Mode - Built-in theme switcher with localStorage persistence
- ⚡ Vite - Lightning-fast HMR and build tool
- 🦀 Rust - Performance and safety for the backend
- 📦 pnpm - Fast, disk space efficient package manager
- 🔍 ESLint - Code quality with antfu's config
- 🎯 Format on Save - Configured for both React and Rust
- 📝 VS Code Ready - Pre-configured settings and extension recommendations
- 🤖 GitHub Actions - CI/CD with multi-platform builds (Windows, macOS, Linux)
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- pnpm (v8 or higher)
- Rust (latest stable)
- System Dependencies for Tauri:
- Windows: Microsoft C++ Build Tools, WebView2
- macOS: Xcode Command Line Tools
- Linux: See Tauri prerequisites
-
Clone the repository
git clone <your-repo-url> cd tauri-react-starter
-
Install dependencies
pnpm install
-
Start development
pnpm tauri dev
pnpm dev # Start Vite dev server
pnpm tauri dev # Start Tauri app in development modepnpm build # Build frontend (React app)
pnpm tauri build # Build Tauri app for productionpnpm typecheck # TypeScript type checking
pnpm lint # Check ESLint issues
pnpm lint:fix # Auto-fix ESLint issues
pnpm lint:rust # Run Clippy on Rust codepnpm format # Format both React and Rust code
pnpm format:rust # Format Rust code only
pnpm format:check # Check formatting without fixingtauri-react-starter/
├── src/ # React frontend
│ ├── components/ # React components
│ │ ├── ui/ # shadcn/ui components
│ │ ├── theme-provider.tsx
│ │ └── theme-toggle.tsx
│ ├── lib/ # Utility functions
│ ├── App.tsx # Main app component
│ ├── App.css # Global styles + Tailwind
│ └── main.tsx # React entry point
├── src-tauri/ # Tauri backend (Rust)
│ ├── src/
│ │ ├── lib.rs # Main Tauri logic
│ │ └── main.rs # Entry point
│ ├── Cargo.toml # Rust dependencies
│ ├── tauri.conf.json # Tauri configuration
│ └── rustfmt.toml # Rust formatting config
├── .vscode/ # VS Code configuration
│ ├── settings.json # Editor settings
│ └── extensions.json # Recommended extensions
├── eslint.config.mjs # ESLint configuration
├── tsconfig.json # TypeScript configuration
├── vite.config.ts # Vite configuration
└── package.json # Node dependencies & scripts
- React 19 - UI library
- TypeScript - Type safety
- Tailwind CSS v4 - Styling
- shadcn/ui - Component library
- Vite - Build tool
- Lucide React - Icon library
- Tauri 2 - Desktop framework
- Rust - System programming language
- ESLint (antfu config) - Linting
- rustfmt - Rust formatting
- Clippy - Rust linting
- pnpm - Package management
Edit src/App.css to customize your theme colors. The starter uses Tailwind v4 with CSS variables for theming.
Edit src-tauri/tauri.conf.json to configure:
- App name and version
- Window size and behavior
- Build targets
- Security settings
The project includes pre-configured settings for:
- Format on save (React & Rust)
- ESLint integration
- Tailwind CSS IntelliSense
- Rust Analyzer
Build standalone installers for your platform:
pnpm tauri buildOutputs:
- Windows:
.exe,.msi, and NSIS installer insrc-tauri/target/release/bundle/ - macOS:
.dmgand.appinsrc-tauri/target/release/bundle/ - Linux:
.deb,.AppImageinsrc-tauri/target/release/bundle/
Note: You can only build for your current platform. For multi-platform builds, use GitHub Actions (see below).
This starter includes professional CI/CD workflows out of the box:
Runs on every push and PR:
- TypeScript type checking
- ESLint linting (React + Rust)
- Format verification
- Build verification
Duration: ~2-3 minutes
Creates multi-platform installers when you push a version tag:
git tag v1.0.0
git push origin v1.0.0Builds for:
- Windows (x64) -
.exe,.msi, NSIS installer - macOS (Intel) -
.dmg,.app - macOS (Apple Silicon) -
.dmg,.app - Linux (x64) -
.deb,.AppImage
All installers are automatically uploaded to a GitHub Release.
Duration: ~10-15 minutes
See .github/workflows/README.md for detailed documentation.
- Visual Studio Code
- Extensions (auto-suggested when you open the project):
- rust-analyzer
- Even Better TOML
- ESLint
- Tailwind CSS IntelliSense
MIT
eggfriedrice
Built with ❤️ using Tauri, React, and shadcn/ui