Skip to main content

Prerequisites

Use Rust 1.97.1 or later with the 2024 edition toolchain, Bun 1.3.14 or later, LLVM 22.1.8 or later, and Ninja 1.13.2 or later.
Install MSVC C/C++ build tools for native dependencies.

Start development

bun dev launches the Next.js UI and Tauri app. It builds koharu-canvas for WASM, then watches koharu-canvas and koharu-rasterizer and regenerates packages/bridge/src/wasm. Turbopack refreshes the browser client after successful rebuilds.

Check the affected component

Run the smallest relevant debug check or focused test once. For example:
For frontend work, use the package’s focused test or typecheck command. Repository formatting checks are available through bun run check; bun run lint runs frontend linting.
Do not run full suites, non-debug profiles, or end-to-end tests by default. Run them only when explicitly requested.

Regenerate IPC bindings

Rust command signatures and Specta types are authoritative:
Do not hand-edit packages/bridge/src/protocol.ts.

Build an executable

When you need a release executable, bun run build invokes tauri build --no-bundle and writes to target/release. Installer packaging belongs to the release workflow.

Work on the documentation

Preview Mintlify and maintain the English, Japanese, and Chinese documentation.