{"id":49081113,"url":"https://github.com/codesign-cloud/cdc-tauri-starterkit","last_synced_at":"2026-04-20T13:14:17.614Z","repository":{"id":302770820,"uuid":"1013565685","full_name":"codesign-cloud/cdc-tauri-starterkit","owner":"codesign-cloud","description":"Modern desktop application starter kit built with Tauri, Next.js 15, Tailwind and TypeScript.","archived":false,"fork":false,"pushed_at":"2025-07-13T08:09:32.000Z","size":512,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-13T09:23:08.978Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codesign-cloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-04T05:40:57.000Z","updated_at":"2025-07-13T08:09:35.000Z","dependencies_parsed_at":"2025-07-04T06:40:55.848Z","dependency_job_id":null,"html_url":"https://github.com/codesign-cloud/cdc-tauri-starterkit","commit_stats":null,"previous_names":["codesign-cloud/cdc-tauri-starterkit"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/codesign-cloud/cdc-tauri-starterkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesign-cloud%2Fcdc-tauri-starterkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesign-cloud%2Fcdc-tauri-starterkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesign-cloud%2Fcdc-tauri-starterkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesign-cloud%2Fcdc-tauri-starterkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codesign-cloud","download_url":"https://codeload.github.com/codesign-cloud/cdc-tauri-starterkit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesign-cloud%2Fcdc-tauri-starterkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32048566,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-20T13:14:16.933Z","updated_at":"2026-04-20T13:14:17.608Z","avatar_url":"https://github.com/codesign-cloud.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Tauri + Next.js 15+ Starterkit\n\nA modern, cross-platform desktop application starter kit built with **Tauri**, **Next.js 15+**, **TypeScript**, and **Tailwind CSS**. Features native desktop integration including system tray and native menus.\n\n## ✨ Features\n\n### Core Framework\n- 🖥️ **Cross-platform Desktop App** - Windows, macOS, and Linux support\n- 🦀 **Rust Backend** - High-performance Tauri backend\n- ⚛️ **Next.js 15+** - Latest Next.js with React 19 and *App Router*\n- 🎨 **Tailwind CSS** - Modern utility-first styling framework\n- 🔷 **TypeScript** - Full type safety across frontend and backend\n- 🔄 **Hot Reload** - Fast development experience\n- 📦 **Static Export** - Optimized for desktop distribution\n\n### 🧩 Modular Features (Optional)\n- 🔔 **Notifications** - Native system notifications with permission handling\n- 🔗 **Deep Links** - Custom protocol handling for deep linking\n- 📋 **Clipboard Manager** - Advanced clipboard with history and image support\n- 🖥️ **System Tray** - Minimize to system tray with context menu\n\n\u003e **💡 All features are modular!** Enable only what you need to keep your app lightweight. See [Feature Configuration Guide](FEATURES.md) for details.\n\n## 🖼️ Screenshot\n\n![Application Screenshot](public/screenshot.png)\n\n##### Inter-window comm.\n![Application Screenshot](public/screenshot-iwc.png)\n\n\n## 🏗️ Project Structure\n\n```\ncdc-tauri-starterkit/\n├── public/                   # Static assets\n│   └── screenshot.png        # Application screenshot\n├── scripts/                  # Build and utility scripts\n├── src/                      # Next.js 15+ frontend\n│   ├── app/                  # App Router\n│   │   ├── layout.tsx        # Root layout\n│   │   ├── page.tsx          # Home page\n│   │   └── globals.css       # Global styles\n│   ├── components/           # React components\n│   │   └── TauriDemo.tsx     # Tauri integration demo\n│   └── lib/                  # Utilities and helpers\n│       └── tauri.ts          # Tauri API helpers\n├── src-tauri/                # Rust backend\n│   ├── src/\n│   │   ├── main.rs          # Main application\n│   │   ├── commands.rs      # Tauri commands\n│   │   ├── menu.rs          # Native menus\n│   │   ├── tray.rs          # System tray\n│   │   └── lib.rs           # Library exports\n│   ├── gen/                 # Generated schemas\n│   ├── icons/               # App and tray icons\n│   ├── build.rs             # Build script\n│   ├── Cargo.toml           # Rust dependencies\n│   ├── Cargo.lock           # Rust dependency lock\n│   └── tauri.conf.json      # Tauri configuration\n├── IMPLEMENTATION_PLAN.md    # Development roadmap\n├── SETUP_STATUS.md          # Setup progress tracking\n├── TAURI_BUILD_SETUP.md     # Build configuration guide\n├── next-env.d.ts            # Next.js TypeScript definitions\n├── next.config.js           # Next.js configuration\n├── package.json             # Node.js dependencies\n├── package-lock.json        # Node.js dependency lock\n├── postcss.config.js        # PostCSS configuration\n├── tailwind.config.js       # Tailwind configuration\n└── tsconfig.json            # TypeScript configuration\n```\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- **Node.js** (v18 or higher)\n- **Rust** (latest stable)\n- **System dependencies** for Tauri development\n\n#### Install Rust\n\n**Windows:**\n1. Download and run the installer from [rustup.rs](https://rustup.rs/)\n2. Or use PowerShell:\n   ```powershell\n   Invoke-WebRequest -Uri https://win.rustup.rs/x86_64 -OutFile rustup-init.exe\n   .\\rustup-init.exe\n   ```\n3. Restart your terminal after installation\n\n**macOS/Linux:**\n```bash\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n```\n\n#### Install Tauri CLI\n```bash\nnpm install -g @tauri-apps/cli@next\n```\n\n### Installation\n\n1. **Clone the repository**\n   ```bash\n   git clone \u003cyour-repo-url\u003e\n   cd cdc-tauri-starterkit\n   ```\n\n2. **Install dependencies**\n   ```bash\n   npm install\n   ```\n\n3. **Start development server**\n   ```bash\n   npm run tauri:dev\n   ```\n\n4. **Choose features (optional)**\n   ```bash\n   # Run with specific features\n   npm run tauri:dev -- --features clipboard,notifications\n   \n   # Or build with features\n   npm run tauri:build -- --features deep-links\n   ```\n\n**Windows Notes:**\n- Use **PowerShell** or **Command Prompt** as Administrator for best results\n- If using **Git Bash**, some commands may need to be run in PowerShell\n- Ensure **Windows Defender** or antivirus software isn't blocking Rust compilation\n- The first build may take longer as Rust compiles dependencies\n\n## 📜 Available Scripts\n\n- `npm run tauri:dev` - Start Tauri development mode with no optional features\n- `npm run tauri:dev:feat` - Start Tauri development mode with all features enabled\n- `npm run tauri:build` - Build Tauri application (append `-- --features feature1,feature2` to enable features)\n- `npm run tauri:info` - Show Tauri environment information\n- `npm run dev` - Start Next.js development server\n- `npm run build` - Build Next.js for production\n\n### Feature Examples\n- `npm run tauri:dev -- --features clipboard` - Run with clipboard feature only\n- `npm run tauri:dev -- --features clipboard,notifications` - Run with clipboard and notifications\n- `npm run tauri:build -- --features deep-links` - Build with deep-links feature only\n\n## 🖥️ Native Features\n\n### System Tray\n- **Left Click**: Toggle window visibility\n- **Double Click**: Show and focus window\n- **Right Click**: Open context menu with options:\n  - Show Window\n  - Hide Window\n  - About\n  - Settings\n  - Quit\n\n### Native Menu Bar\n- **File**: New, Open, Save, Save As, Quit\n- **Edit**: Undo, Redo, Cut, Copy, Paste, Select All\n- **View**: Reload, Toggle DevTools, Zoom controls\n- **Window**: Minimize, Hide, Close\n- **Help**: About, Documentation\n\n### Window Behavior\n- **Close Button**: Hides window instead of closing (stays in tray)\n- **Minimize**: Can minimize to tray or taskbar\n- **Focus**: Proper window focusing and activation\n\n## 🧩 Choose Features at Build Time\n\nThis starter kit is **feature-neutral by design**. All optional features are disabled by default, and you choose which features to enable when running or building your application.\n\n### How to Choose Features\n\n**Development with Features:**\n```bash\n# Run with specific features\nnpm run tauri:dev -- --features clipboard,notifications\n\n# Run with all features (equivalent to the old \"full\" preset)\nnpm run tauri:dev:feat\n\n# Run with no features (minimal build)\nnpm run tauri:dev\n```\n\n**Building with Features:**\n```bash\n# Build with specific features\nnpm run tauri:build -- --features clipboard,notifications\n\n# Build with no features (minimal build)\nnpm run tauri:build\n```\n\n**Advanced Cargo Usage:**\n```bash\n# Use cargo directly for more control\ncargo tauri dev --features clipboard,deep-links\ncargo tauri build --features notifications\n```\n\n### Available Features\n\n| Feature | Description | Bundle Impact | Dependencies |\n|---------|-------------|---------------|--------------|\n| `notifications` | Native system notifications | ~200KB | tauri-plugin-notification |\n| `deep-links` | Custom protocol handling | ~150KB | tauri-plugin-deep-link |\n| `clipboard` | Advanced clipboard manager | ~800KB | tauri-plugin-clipboard-manager + image processing |\n| `system-tray` | System tray integration | ~50KB | Built into Tauri |\n\n### Common Feature Combinations\n\n```bash\n# Full build - All features (equivalent to old \"full\" preset)\nnpm run tauri:dev -- --features notifications,deep-links,clipboard,system-tray\n\n# Productivity app - Clipboard + notifications\nnpm run tauri:dev -- --features clipboard,notifications,system-tray\n\n# Web integration app - Deep links + notifications\nnpm run tauri:dev -- --features deep-links,notifications\n\n# Minimal app - No optional features (default)\nnpm run tauri:dev\n```\n\n**Build Examples:**\n```bash\n# Production builds with specific features\nnpm run tauri:build -- --features clipboard,notifications\nnpm run tauri:build -- --features deep-links\nnpm run tauri:build  # minimal build\n```\n\n**📖 For detailed configuration guide, see [FEATURES.md](FEATURES.md)**\n\n## 🔧 Configuration\n\n### Tauri Configuration\nEdit `src-tauri/tauri.conf.json` to customize:\n- Window properties (size, position, decorations)\n- System tray settings\n- Security policies\n- Bundle configuration\n\n### Next.js Configuration\nEdit `next.config.js` to customize:\n- Static export settings\n- Asset handling\n- Build optimization\n\n### Styling\n- **Global styles**: `src/app/globals.css`\n- **Tailwind config**: `tailwind.config.js`\n- **Component styles**: Use Tailwind utility classes\n\n## 🛠️ Development\n\n### Adding Tauri Commands\n1. Add command function in `src-tauri/src/commands.rs`\n2. Register command in `src-tauri/src/main.rs`\n3. Add TypeScript types in `src/lib/tauri.ts`\n4. Use command in React components\n\n### Adding Menu Items\n1. Update menu structure in `src-tauri/src/menu.rs`\n2. Handle menu events in the same file\n3. Register menu in `src-tauri/src/main.rs`\n\n### Adding Tray Features\n1. Update tray menu in `src-tauri/src/tray.rs`\n2. Handle tray events in the same file\n3. Configure tray in `src-tauri/tauri.conf.json`\n\n## 📦 Building for Production\n\n### Development Build\n```bash\nnpm run tauri:dev\n```\n\n### Production Build\n```bash\nnpm run tauri:build\n```\n\nThe built application will be available in `src-tauri/target/release/bundle/`.\n\n### Distribution\n- **Windows**: `.msi` installer and `.exe` executable\n- **macOS**: `.dmg` disk image and `.app` bundle\n- **Linux**: `.deb`, `.rpm`, and `.AppImage` packages\n\n## 🔍 Troubleshooting\n\n### Common Issues\n\n1. **Tauri CLI not found**\n   ```bash\n   npm install -g @tauri-apps/cli@next\n   ```\n\n2. **Rust compilation errors**\n   ```bash\n   rustup update\n   ```\n\n3. **Node.js version issues**\n   - Ensure Node.js v18+ is installed\n   - Use `nvm` to manage Node.js versions\n\n4. **TypeScript errors**\n   - Install dependencies: `npm install`\n   - Restart TypeScript server in your editor\n\n5. **Windows-specific issues**\n   \n   **\"Microsoft Visual C++ 14.0 is required\" error:**\n   ```powershell\n   # Install Visual Studio Build Tools\n   winget install Microsoft.VisualStudio.2022.BuildTools\n   ```\n   \n   **\"link.exe not found\" error:**\n   - Ensure Visual Studio Build Tools are installed with C++ workload\n   - Restart your terminal after installation\n   - Verify installation: `where link.exe`\n   \n   **PowerShell execution policy errors:**\n   ```powershell\n   Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser\n   ```\n   \n   **Path issues with Rust/Cargo:**\n   - Restart your terminal or IDE after Rust installation\n   - Manually add to PATH if needed: `%USERPROFILE%\\.cargo\\bin`\n   \n   **WebView2 runtime missing:**\n   - Download and install [Microsoft Edge WebView2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/)\n   - Or install via command: `winget install Microsoft.EdgeWebView2Runtime`\n\n### System Dependencies\n\n#### Windows\n**Prerequisites:**\n- **Visual Studio Build Tools** or **Visual Studio Community** with C++ development tools\n- **Windows 10 SDK** (usually included with Visual Studio)\n\n**Option 1: Visual Studio Installer**\n1. Download [Visual Studio Community](https://visualstudio.microsoft.com/vs/community/) (free)\n2. During installation, select \"Desktop development with C++\"\n3. Ensure \"Windows 10/11 SDK\" is included\n\n**Option 2: Build Tools Only**\n1. Download [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022)\n2. Install with C++ build tools and Windows SDK\n\n###### Desktop \u0026 Mobile Section:\n- ✅ **Desktop development with C++**\n  - This provides MSVC, Clang, CMake, and MSBuild tools\n  - **This is the main one you need for Tauri!**\n\n##### Individual Components (Click \"Individual components\" tab):\nAfter selecting the C++ workload, also ensure these are selected:\n- ✅ **Windows 11 SDK** (latest version available)\n- ✅ **MSVC v143 - VS 2022 C++ x64/x86 build tools**\n- ✅ **CMake tools for Visual Studio**\n\n\n**Option 3: Using Chocolatey**\n```powershell\n# Install Chocolatey first if not installed\nSet-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))\n\n# Install build tools\nchoco install visualstudio2022buildtools --package-parameters \"--add Microsoft.VisualStudio.Workload.VCTools\"\n```\n\n#### Ubuntu/Debian\n```bash\nsudo apt update\nsudo apt install libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev\n```\n\n#### Fedora\n```bash\nsudo dnf groupinstall \"C Development Tools and Libraries\"\nsudo dnf install webkit2gtk3-devel openssl-devel curl wget libappindicator-gtk3-devel librsvg2-devel\n```\n\n#### macOS\n```bash\nxcode-select --install\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Test thoroughly\n5. Submit a pull request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- [Tauri](https://tauri.app/) - Desktop app framework\n- [Next.js](https://nextjs.org/) - React framework\n- [Tailwind CSS](https://tailwindcss.com/) - CSS framework\n- [TypeScript](https://www.typescriptlang.org/) - Type safety\n\n---\n\n**Happy coding!** 🎉\n\nFor more information, visit the [Tauri documentation](https://tauri.app/v1/guides/) and [Next.js documentation](https://nextjs.org/docs).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodesign-cloud%2Fcdc-tauri-starterkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodesign-cloud%2Fcdc-tauri-starterkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodesign-cloud%2Fcdc-tauri-starterkit/lists"}