Skip to content

odest/tntstack

Repository files navigation

TNTStack

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.

CI Status Release License: MIT Version CLI

Live Demo Docs Platform


TNTStack

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.
  • 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 UI Core - All pages, components, state, and themes live in packages/ui
  • 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/app sets 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

  • Node.js v20 or higher
  • pnpm v8 or higher
  • Rust (latest stable, needed for native builds)

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: If you host your code on GitHub, you must go to your repository settings (Settings > Actions > General) and grant Read and write permissions as well as Allow GitHub Actions to create and approve pull requests for the automated release pipelines to function properly.

πŸ“¦ Overview

Monorepo Structure

apps/
  web/                β†’ Next.js SSR β€” web app, landing page, docs, PWA
  native/             β†’ Next.js (Static) + Tauri 2 β€” desktop & mobile

packages/
  ui/                 β†’ The core: shared pages, components, themes, stores
  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, components, and state 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

Next.js Tauri 2 React
TypeScript Rust
Tailwind CSS shadcn/ui
Fumadocs Turborepo pnpm

⌨️ 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.

πŸ“„ License

MIT

About

The solid stack for building cross-platform apps. Write your code once and build for Web, Desktop, and Mobile.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors