Skip to content

Development Setup

Prerequisites

RequirementPurpose
macOSPrimary target platform
BunJavaScript runtime and package manager
RustTauri backend compilation
Xcode Command Line ToolsmacOS system libraries

Getting Started

bash
git clone https://github.com/markbrutx/Tabby.git
cd Tabby
bun install

Development Modes

Full App (Tauri + Frontend)

bash
bun run tauri dev

This starts both the Vite dev server and the Tauri Rust backend. Terminal panes use real PTY sessions.

Frontend Only

bash
bun run dev

Runs only the web frontend. A mock transport simulates terminal behavior in the browser, useful for UI work without compiling Rust.

Available Scripts

CommandDescription
bun run devFrontend dev server (mock transport)
bun run tauri devFull desktop app with hot reload
bun run buildFrontend production bundle
bun run tauri buildDesktop app bundle (.app / .dmg)
bun run lintESLint + DTO boundary check
bun run typecheckTypeScript strict mode check
bun run testVitest unit/integration tests
bun run test:e2ePlaywright E2E tests
bun run test:rustRust fmt + clippy + tests
bun run verifyFrontend lint + typecheck + tests
bun run verify:allFull verification (frontend + Rust)
bun run docs:devDocumentation site dev server
bun run docs:buildBuild documentation site

Rust Development

The Rust workspace lives under src-tauri/:

bash
cd src-tauri

# Check compilation
cargo check --workspace

# Format code
cargo fmt --all

# Lint
cargo clippy --workspace --all-targets --all-features -- -D warnings

# Run tests
cargo test --workspace

Testing

Unit & Integration Tests

bash
bun run test           # Run once
bun run test:watch     # Watch mode

E2E Tests

bash
bun run test:e2e           # Headless
bun run test:e2e:headed    # With browser visible

Rust Tests

bash
cd src-tauri && cargo test --workspace

Tips

  • Use tmux for long-running dev sessions to avoid orphaned processes
  • Never run multiple Tabby instances simultaneously
  • The bun run dev mode is the fastest iteration loop for UI changes
  • Rust changes require bun run tauri dev to take effect

Released under the MIT License.