Tauri v2 + SolidJS desktop client for end-to-end encrypted messaging.
Features Getting Started Development License
Desktop client for Shatters, built with Tauri v2 (Rust backend) and SolidJS (TypeScript frontend). Integrates the C++ SDK through a Rust FFI bridge.
| Feature | Description |
|---|---|
| Cross-platform Desktop | Native shell with Tauri v2 for Linux/Windows/macOS builds |
| Encrypted Messaging UI | Contacts, chat, login, and settings views for secure messaging workflows |
| SDK Bridge | Rust bridge crate (src-tauri/bridge/) that links against shatters-sdk |
| Fast Frontend Iteration | Vite + SolidJS development workflow with instant rebuilds |
| Tool | Version | Notes |
|---|---|---|
| Rust | >= 1.75 | Install with rustup |
| Node.js | >= 18 | Includes npm for frontend dependencies |
| C++ compiler | GCC 13+ or Clang 17+ | Needed to compile shatters-sdk |
| CMake | >= 3.25 | Build system for the SDK |
| Ninja | any | Recommended generator on Linux |
cd shatters-sdk
# one-time bootstrap
./vcpkg/bootstrap-vcpkg.sh
# configure and build
cmake --preset linux-release
cmake --build build/linux-releasecd ..
npm install# frontend-only dev server
npm run dev
# desktop app with Tauri
npm run tauri devnpm run tauri buildThe app binary is generated under src-tauri/target/release/.
Set SDK paths when your environment does not auto-discover headers and libraries:
export SHATTERS_SDK_INCLUDE="$(pwd)/shatters-sdk/include"
export SHATTERS_SDK_LIB="$(pwd)/shatters-sdk/build/linux-release"Useful commands:
npm run dev
npm run build
npm run tauri dev
npm run tauri buildGPLv3 - see shatters-sdk/LICENSE.