Skip to main content

Development Setup

Prerequisites

Node.js

Install Node.js v18 or newer. Recommended: use nvm (Linux/macOS) or nvm-windows (Windows).

Use pnpm as the package manager.

Rust

Install the latest stable Rust:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Windows users: visit rustup.rs.

Platform-Specific Dependencies

Windows

Install Visual Studio Build Tools with "Desktop development with C++".

macOS

xcode-select --install

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file \
libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev

Get the Source

git clone https://git.coderkang.top/Tauri/nyaterm.git
cd nyaterm

Install Dependencies

pnpm install

Start Development

pnpm tauri dev

This starts both:

  • Vite dev server (port 1420, HMR port 1421)
  • Tauri application window

Frontend changes hot-reload; Rust changes trigger recompilation.

Production Build

pnpm tauri build

Build artifacts are in src-tauri/target/release/bundle/.

Available Scripts

CommandDescription
pnpm devStart Vite dev server only
pnpm buildTypeScript check + Vite build
pnpm tauri devStart Tauri development mode
pnpm tauri buildBuild for production
pnpm lintRun Biome linting
pnpm formatRun Biome auto-format
pnpm version-syncSync version numbers across files
pnpm --dir docs-site startStart the docs site for all locales
pnpm --dir docs-site start:zhStart the Chinese docs dev server
pnpm --dir docs-site start:enStart the English docs dev server
pnpm --dir docs-site buildBuild the docs site

Docs workflow tips

If you are editing README or files under docs-site/docs/ / docs-site/i18n/en/, it is a good idea to run the docs build so you can verify:

  • both locales still build successfully
  • new pages appear in navigation
  • relative links still resolve correctly

Code Style

The project uses Biome for linting and formatting:

pnpm lint # Check
pnpm format # Auto-format