Skip to content

SuperpositionLabs/shatters-client

Repository files navigation

shatters client

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.

Features

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

Getting Started

Prerequisites

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

1. Build the SDK

cd shatters-sdk

# one-time bootstrap
./vcpkg/bootstrap-vcpkg.sh

# configure and build
cmake --preset linux-release
cmake --build build/linux-release

2. Install Client Dependencies

cd ..
npm install

3. Run in Development

# frontend-only dev server
npm run dev

# desktop app with Tauri
npm run tauri dev

4. Production Build

npm run tauri build

The app binary is generated under src-tauri/target/release/.

Development

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 build

License

GPLv3 - see shatters-sdk/LICENSE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages