TNTStack

Quick Start

Get your cross-platform monorepo up and running in minutes.

Prerequisites

You need these installed on your machine:

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

Platform Dependencies

Native apps require platform-specific tools: Xcode (macOS/iOS), Android Studio + NDK (Android), or C++ Build Tools (Windows). Follow the Tauri Prerequisites for your OS.

1. Scaffolding

The official CLI initializes the workspace, renaming identifiers, and setting up the monorepo structure.

npm create @tntstack/app@latest
pnpm create @tntstack/app@latest
bunx @tntstack/create-app
yarn create @tntstack/app

CLI Options

The CLI is interactive by default, but you can pass flags to skip prompts:

FlagDescriptionDefault
-n, --name <name>Project name(prompted)
-g, --github-user <user>GitHub username or orgyour-github-username
-i, --identifier <id>App identifier (reverse-domain)com.<name>.app
-v, --app-version <ver>Initial version0.1.0
--no-installSkip dependency installation(false)

Example:

npm create @tntstack/app@latest --name <your-project-name> --github-user <your-github-username> --no-install

2. Local Development

cd <your-project-name>

Install dependencies

If you skipped this during scaffolding

pnpm install

Start all apps

pnpm dev

The web development server starts at http://localhost:3000 and the native desktop app in parallel.

Selective Development

If you only want to work on one platform:

PlatformCommand
Webpnpm web dev
Desktoppnpm tauri dev
Androidpnpm tauri android dev
iOSpnpm tauri ios dev

3. CI/CD & Repository Settings

TNTStack uses Release Please for automated versioning and changelog generation. If you host your code on GitHub, you must grant specific permissions for the release bot and enforce a linear git history.

Step A: Workflow Permissions

  1. Go to your repository Settings > Actions > General.
  2. Scroll down to Workflow permissions.
  3. Select Read and write permissions.
  4. Check Allow GitHub Actions to create and approve pull requests.

Step B: Enforce Squash Merging

Without a linear git history, the release bot will fail to parse your commits and break the automated release cycle.

  1. Go to your repository Settings > General.
  2. Scroll down to the Pull Requests section.
  3. Uncheck Allow merge commits and Allow rebase merging.
  4. Check only Allow squash merging.
  5. Under the "Default commit message" dropdown for squash merging, strictly select Pull request title.

Without these settings, the automated release PRs will either lack permission to run or fail due to a tangled commit history.

On this page