Local development setup

Voktty is a pnpm workspace for a Tauri 2 application. The frontend and Rust host are developed together.

Prerequisites

  • Node.js 20 or newer
  • pnpm
  • Rust stable and Cargo
  • Platform prerequisites from the Tauri guide
  • A supported shell for local development

Use pnpm only. Do not substitute npm, npx or yarn in project instructions or scripts.

Install and run

pnpm install
pnpm tauri dev

The Vite frontend can be run independently with pnpm dev when the native host is not required. Native features such as PTY, keychain and filesystem access need the Tauri development process.

Project map

src/                         React application and feature modules
src-tauri/src/               Rust host and Tauri commands
src-tauri/capabilities/      Plugin capability allowlist
docs/                        MkDocs configuration and public site
docs/docs/                    Public MkDocs site source
PROMPTS/                     Agent continuity and operating protocol

Read VOKTTY.md before changing architecture or cross-process behavior. Use Graphify when the generated graph is available, then read the actual files involved.

Frontend conventions

  • Use @/... imports across frontend modules.
  • Keep module logic under src/modules/<area>/.
  • Keep pure logic separate from React and Tauri side effects.
  • Normalize frontend paths to forward slashes.
  • Keep components thin and test boundary helpers.

Rust conventions

  • Keep platform-specific code under the correct cfg branch.
  • Use dirs for home and cache paths.
  • Validate paths and process cwd at the Rust boundary.
  • Keep Tauri commands thin around tested helpers.
  • Preserve cross-platform PTY, Job Object and process-group invariants.