Building and Running
Prerequisites
- Node.js 18+
- Rust and the Tauri prerequisites for your OS
Develop
npm install
npm run tauri dev
npm run tauri dev runs the full app (Rust core + frontend); it's the primary dev loop.
Build
npm run tauri build
The packaged app lands in src-tauri/target/release/.
Other commands
npm run dev # frontend only in a browser (no Tauri APIs; limited use)
npm run check # svelte-kit sync + svelte-check (TS/Svelte type checking)
There is no JS test suite or linter configured; run npm run check before considering frontend work done. For
Rust, use cargo build / cargo clippy / cargo test from src-tauri/.
Releasing
Trunk-based development: master is the single long-lived branch. Releasing is just tagging a commit on
master:
git tag vX.Y.Z && git push origin vX.Y.Z
The release workflow builds installers and creates a draft GitHub Release from the tag; the tag is the single
source of truth for the version number (it overwrites src-tauri/tauri.conf.json at build time).
This docs site
docs-site/ is a separate Node project (its own package.json, not merged with the root SvelteKit app). Its API
reference pages are generated, not hand-written; see Using the API and the reference
pages themselves for how.
cd docs-site
npm install
npm run build # regenerates the API reference, then builds the static site
npm start # regenerates the API reference, then runs the dev server
Regenerating the API reference runs a small Rust binary (cargo run --bin gen_docs in src-tauri/), so building
this docs site also requires the Rust toolchain used by the main app.