snowstorm/main.rs
1//! # PROJECT SNOWSTORM
2//!
3//! The Tauri/Rust component of Snowstorm contains most of the business and lifecycle logic of the main Snowstorm
4//! app / client. It is intended to handle all use-cases, behavior as a client, volunteer, and
5//! exit. Crucially, it is tauri-specific. There is another rust codebase underneath, the Snowstorm
6//! SDK, which is not tauri-specific.
7//!
8//! It contains adapters to handle all cross platform behavior to be able to interact with all
9//! major platforms.
10//!
11//! In the context of tauri, there's a complementary typescript / SolidJS / tailwind codebase which
12//! is primarily the frontend (living under `src/ui/*`). That code contains all cross-platform front-end specific logic.
13//! However, this rust tauri code is intended to be able to run standalone without the UI as well; and also to be able to
14//! run as a CLI.
15//!
16//! ## Folder Structure
17//! - Snowstorm rust tauri mostly lives under `src/tauri/*`
18//! - Most of the actual rust code lives under `src/tauri/src/*`
19//! - The rest of the files are build scripts or json tauri configs.
20//!
21//! ## SDK Dependency
22//! - The main Snowstorm SDK lives under `/src/lib/sdk/*`. This is a separate cargo workspace
23//! submodule.
24//!
25//! Author: @keroserene
26//!
27//! Copyright: ©Snowstorm 2026+
28
29// Prevents additional console window on Windows in release, DO NOT REMOVE!!
30#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
31
32/// Entry point. Starts the Snowstorm SDK.
33fn main() {
34 snowstorm_lib::run()
35}