tntstack
The solid stack for building cross-platform apps. Write your code once and build for Web, Desktop, and Mobile.
TNTStack
The solid stack for building cross-platform apps.
Write your code once and build for Web, Desktop, and Mobile.
Powered by Tauri and Next.js in a single monorepo.
TNTStack is a starting point for building cross-platform apps. It covers Web, Desktop (Windows, macOS, Linux), and Mobile (Android, iOS) from the same shared UI, themes, and logic. Run the CLI, scaffold your project, and start building.
๐ก Philosophy
- Unified - One codebase, every platform. Web and native share the same pages, components, and state through
packages/coreandpackages/ui. - Ready - 40+ themes, 10 languages, CI/CD, and a scaffolding CLI out of the box.
- Portable - Run
npm create @tntstack/app, brand your project, and own the code. No lock-in. - Strict - End-to-end TypeScript, shared lint rules, and automated releases keep things solid.
โจ Features
- Cross-Platform - Single codebase deploys to web, desktop, and mobile
- Shared Architecture - Design system primitives in
packages/ui, business logic and pages inpackages/core - 40+ Themes - Light and dark variants of 40+ color schemes, plus custom theming support
- 10 Languages - Type-safe i18n works with both SSR (web) and static export (native)
- PWA - Offline support, precaching, and runtime caching strategies for the web app
- Landing Page - Pre-built, SEO-optimized marketing pages designed to pitch your product
- Docs Page - Integrated, MDX-powered documentation architecture ready for your technical guides
- Scaffolding CLI -
npm create @tntstack/appsets up a branded, configured project - Turborepo - Dependency-aware builds and caching
- TypeScript - Strict, end-to-end type safety with shared configs
- CI/CD - GitHub Actions + Release Please for automated builds and versioning
๐ Quick Start
Prerequisites
[!NOTE] Building native apps requires additional platform-specific tools (e.g., Xcode, Android Studio, C++ Build Tools). See our Docs or Tauri's Prerequisites Guide for details.
Create a New Project
npm create @tntstack/app@latest
Using other package managers
pnpm create @tntstack/app@latest
yarn create @tntstack/app
npx @tntstack/create-app
bunx @tntstack/create-app
The CLI configures your project name, identifiers, and versions. It can also initialize git and install dependencies for you.
Start Developing
cd <your-project-name>
# Run this only if you skipped dependency installation during scaffolding
pnpm install
pnpm dev
This starts both the web app (http://localhost:3000) and the native desktop app in parallel.
[!IMPORTANT] GitHub Actions & Release Please: For the automated release pipelines and changelog generation to function properly, you must configure the following repository settings:
- Workflow Permissions (Settings > Actions > General): Grant Read and write permissions and check Allow GitHub Actions to create and approve pull requests.
- Pull Request Merging (Settings > General): To maintain the required linear git history for the release bot, uncheck
Allow merge commitsandAllow rebase merging. Leave onlyAllow squash mergingchecked, and set the default commit message toPull request title.
๐ฆ Overview
Monorepo Structure
apps/
web/ โ Next.js SSR โ web app, landing page, docs, PWA
native/ โ Next.js (Static) + Tauri 2 โ desktop & mobile
packages/
core/ โ Business logic: pages, stores, hooks, providers, config
ui/ โ Design system: shadcn/ui primitives, themes, styles
i18n/ โ 10-language type-safe translations (SSR & static)
cli/ โ Scaffolding tool (npm create @tntstack/app)
eslint-config/ โ Shared ESLint rules (Flat Config)
typescript-config/ โ Shared TypeScript configs
Both web and native import pages, layouts, and state from packages/core, and design system primitives from packages/ui. The web app runs with SSR and PWA support. The native app uses a static HTML export served by Tauri's Rust backend.
Supported Platforms
| Platform | Status | Links |
|---|---|---|
| ๐ Web | โ Available | Live Demo |
| ๐ฑ PWA | โ Available | Live Demo |
| ๐ช Windows | โ Available | Download Demo |
| ๐ macOS | โ Available | Download Demo |
| ๐ง Linux | โ Available | Download Demo |
| ๐ค Android | โ Available | Download Demo |
| ๐ฑ iOS | โ Available | Download Demo |
๐ ๏ธ Tech Stack
โจ๏ธ Core Commands
pnpm dev # Start all apps in dev mode
pnpm build # Build everything
pnpm lint # Lint all packages
pnpm check-types # TypeScript validation across all workspaces
pnpm web dev # Web app only
pnpm tauri dev # Desktop app only
pnpm tauri android dev # Android app
pnpm tauri ios dev # iOS app
pnpm shadcn add # Add shadcn/ui components to packages/ui
pnpm clean # Clean all build outputs
๐ Documentation
For setup guides, architecture, theming, i18n, deployment and more, see Documentation
๐ค Contributing
See CONTRIBUTING.md.