| Layer | Technology |
|---|---|
| Desktop shell | Tauri 2 |
| Frontend | Vue 3 + TypeScript + Vite |
| UI components | Naive UI |
| State management | Pinia |
| Routing | Vue Router |
| Backend | Rust + rust-matc |
- Rust (stable toolchain)
- Node.js >= 18
- Tauri CLI and platform dependencies: see Tauri prerequisites
- The
rust-matclibrary checked out at../rust-matc
npm install
npm run tauri dev # hot-reload frontend + debug Rust buildnpm run tauri buildOn macOS, to skip code signing for local builds:
APPLE_SIGNING_IDENTITY="" npm run tauri buildOutput: src-tauri/target/release/bundle/
Version is stored in three files that must stay in sync:
package.json->versionsrc-tauri/tauri.conf.json->versionsrc-tauri/Cargo.toml->version
Use the bump script to update all three atomically:
npm run version:set -- 0.2.0npm run version:set -- 0.2.0
git commit -am "release v0.2.0"
git tag v0.2.0
git push origin master v0.2.0Pushing the tag triggers .github/workflows/release.yml, which builds on macOS, Linux, and Windows and creates a draft GitHub Release. Review and publish the draft on GitHub.
See CLAUDE.md for the full project structure, Tauri command reference, and backend architecture notes.