StorageView is a single desktop application. The React UI is embedded in the Tauri WebView and all filesystem operations run in the Rust backend through Tauri commands. There is no separate backend server and no HTTP API.
Common to all platforms:
- Node.js 20 or later
- Rust stable toolchain
Windows:
- Microsoft Visual Studio C++ Build Tools (MSVC)
- WebView2 Runtime (preinstalled on Windows 10/11)
macOS:
- Xcode Command Line Tools (
xcode-select --install)
Linux (Debian/Ubuntu):
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-devnpm install
npm run tauri devThis single command builds the Rust backend, starts the embedded UI with hot reload and opens the desktop window.
npm test
npm run build
cargo fmt --all --check
cargo clippy --all-targets -- -D warningsRun the cargo commands inside src-tauri.
npm run tauri buildBundles are written under src-tauri/target/release/bundle/, depending on the platform the build runs on:
- Windows: NSIS installer (
nsis/StorageView_<version>_x64-setup.exe) and MSI package (msi/) - macOS: application bundle (
macos/StorageView.app) and disk image (dmg/), built as a universal binary for Apple Silicon and Intel - Linux:
deb/,rpm/andappimage/packages
On Windows the installer is produced by the NSIS bundler configured in src-tauri/tauri.conf.json. It installs per user, uses the StorageView icon and shows the license during installation. If a signing certificate is configured, the executable and the installer are signed automatically. See CODE_SIGNING.md.
Before a release, set the same version in:
package.jsonsrc-tauri/Cargo.tomlsrc-tauri/tauri.conf.json
Record the changes in CHANGELOG.md.
Two workflows live in .github/workflows/:
ci.ymlruns tests, the frontend build,cargo fmtandcargo clippyon Windows, macOS and Linux on every push and pull request.release.ymlbuilds the installers for all three platforms and creates a draft GitHub release when a version tag is pushed.
To publish a release:
git tag v0.1.0
git push origin v0.1.0From a single v* tag the release workflow builds in parallel on Windows, macOS and Linux: the Windows NSIS installer and MSI (signed when signing secrets are configured), the macOS universal .dmg and the Linux .deb, .rpm and .AppImage packages. All artifacts are uploaded to a single draft release, which is left for manual review before publishing.
- Update versions and
CHANGELOG.md. - Verify
npm test,npm run buildandcargo clippypass. - Build the installer locally and smoke-test it.
- Push the version tag.
- Review and publish the draft GitHub release.