Files
yaak-mountain-loop/DEVELOPMENT.md
2025-06-08 22:49:43 -07:00

1.3 KiB

Developer Setup

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.

Prerequisites

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

Run the App

After bootstrapping, start the app in development mode:

npm start

SQLite Migrations

New migrations can be created from the src-tauri/ directory:

npm run migration

Rerun the app to apply the migrations.

Note: For safety, development builds use a separate database location from production builds.

Lezer Grammer Generation

# Example
lezer-generator components/core/Editor/<LANG>/<LANG>.grammar > components/core/Editor/<LANG>/<LANG>.ts