Yaak is a combined Node.js and Rust monorepo. It is a Tauri project, so uses Rust and HTML/CSS/JS for the main application but there is also a plugin system powered by a Node.js sidecar that communicates to the app over gRPC.
Because of the moving parts, there are a few setup steps required before development can begin.
Make sure you have the following tools installed:
Check the installations with the following commands:
node -v
npm -v
rustc --version
Install the NPM dependencies:
npm install
Run the bootstrap
command to do some initial setup:
npm run bootstrap
NOTE: Run with YAAK_PLUGINS_DIR=<Path to yaakapp/plugins>
to re-build bundled plugins
After bootstrapping, start the app in development mode:
npm start
NOTE: If working on bundled plugins, run with YAAK_PLUGINS_DIR=<Path to yaakapp/plugins>
New migrations can be created from the src-tauri/
directory:
cd src-tauri
sqlx migrate add migration-name
Run the app to apply the migrations.
If nothing happens, try cargo clean
and run the app again.
Note: Development builds use a separate database location from production builds.