Development environment
Prerequisites
Section titled “Prerequisites”| Tool | Released requirement or role |
|---|---|
| macOS | 10.15 or later; development and CI are macOS-specific |
| Rust | Package declares minimum 1.77.2, edition 2021 |
| Cargo | Builds and tests the Tauri backend |
| Node.js 24 and npm | Install frontend dependencies and run package scripts |
| Python 3 | Runs the bundled kernel server and its pytest suite |
| Tauri CLI | Major version 2 |
Install the Tauri CLI through Cargo when it is not already available:
cargo install tauri-cli --version "^2"A macOS native compiler/linker is also required. Install Xcode Command Line Tools if Cargo reports missing build tools:
xcode-select --installClone and install
Section titled “Clone and install”git clone https://github.com/beatrice-b-m/molt.gitcd moltnpm ciUse npm and the committed package-lock.json; npm ci is the reproducible install.
Run the complete application
Section titled “Run the complete application”npm run devThat script runs:
cargo tauri devTauri starts the Vite frontend and rebuilds Rust as needed. The configured Vite development server uses port 5173 and requires that port to be available.
You can invoke Tauri directly:
cargo tauri devRun only the frontend
Section titled “Run only the frontend”npm run dev:feThis starts Vite without the Rust commands Molt expects. It is useful for isolated styling work only when Tauri APIs are mocked or the affected view does not invoke them.
Build frontend assets
Section titled “Build frontend assets”npm run buildThis runs the TypeScript project build and Vite production build. Vite emits both the main and settings HTML entry points and targets Safari 14.
Build the application bundle
Section titled “Build the application bundle”npm run build:appThe script sets CI=true and runs cargo tauri build. The source README notes that this avoids an interactive DMG Finder-layout step that can hang in non-GUI shells such as SSH or tmux.
For a normal release build outside that wrapper:
cargo tauri buildDo not apply the fast CI optimization overrides to artifacts intended for users.
Useful environment details
Section titled “Useful environment details”- Vite forwards variables beginning with
VITE_orTAURI_to the frontend. - Debug frontend builds are unminified and include source maps when
TAURI_DEBUGis set. - Cargo uses
git-fetch-with-cli = true. - The custom Cargo
ciprofile inheritsdev, uses no optimization, and raises codegen units for faster checks. The current GitHub CI commands use their default profiles rather than this custom profile.
Verify the first run
Section titled “Verify the first run”- Confirm the main window appears.
- Run
1 + 1in Tab 1. - Open File → Settings….
- Switch to another tab and run an independent variable assignment.
- Quit and confirm no Python kernel processes remain.
Use the full matrix in Testing and quality before committing.
