Building from source
Inkfinite is a pnpm workspace with Rust crates, a WebAssembly document engine, a Svelte web app, and a Tauri desktop shell.
Requirements
Install Node.js 18 or newer, pnpm, and Rust 1.89. Desktop development also requires the Tauri 2 prerequisites for your operating system.
From the repository root, install JavaScript packages:
pnpm install Add the WebAssembly target and install the wasm-bindgen CLI version used by Cargo.lock:
rustup target add wasm32-unknown-unknown
cargo install wasm-bindgen-cli --version 0.2.126 --locked
pnpm wasm:build Run the applications
Start the documentation site and web editor:
pnpm dev:web Open the printed local URL for the site or its /app route for the editor. Start the desktop app
with:
pnpm tauri dev Workspace commands
Build the CLI with Cargo or create its installable release tree:
cargo build -p inkfinite-cli
cargo xtask dist Generate TypeScript bindings after changing shared Rust types:
pnpm bindings:generate Run the repository checks from the root:
cargo fmt --all -- --check
cargo test --workspace --all-features
cargo clippy --workspace --all-targets --all-features -- -D warnings
pnpm format:check
pnpm test
pnpm check
pnpm lint See Testing for focused package and Playwright commands. See Performance corpus and profiling for native, process, renderer, and browser measurements.