-
Notifications
You must be signed in to change notification settings - Fork 0
22 Getting Started and Developer Guide
Target Audience: Core Contributors, Integration Engineers, Application Developers
Repository:github.com/irshadali5/siar
SIAR is developed in modern Rust (2021 Edition, pinned to rust-version = "1.91").
SIAR includes a hermetic Nix environment (flake.nix, shell.nix) providing compiler toolchains and all native GUI/audio libraries (GTK3, WebKit2GTK, ALSA, OpenSSL, CMake):
# Enter the fully provisioned dev environment
nix develop
# Or build binaries directly
nix build .#siar-cli
nix build .#siar-desktop
nix build .#siar-emergency-node
# Run Nix check suite
nix flake check# 1. Install Rust via rustup (Rust 1.91.0 or newer required)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup update stable
rustup component add clippy rustfmt
# 2. Clone the repository
git clone https://github.com/irshadali5/siar.git
cd siarThe workspace contains 33 crates and 4 applications configured under a single root Cargo.toml:
# Check compilation across all crates, targets, and tests
cargo check --workspace --tests
# Build optimized release binaries
cargo build --release --workspace
# Run complete automated test suite
cargo test --workspace
# Run multi-node end-to-end integration test
cargo test -p siar-messaging --test end_to_end# Launch native desktop interface
cargo run --bin siar-desktop# Run headless background repeater daemon
cargo run --bin siar-emergency-node# Launch interactive CLI node
cargo run --bin siar-cliTo compile the Android native library across ABIs and assemble the APK:
# Run automated multi-ABI build script
cd apps/android
./build-native.sh
# Assemble Android APK via Gradle
./gradlew assembleDebugBefore submitting pull requests, verify adherence to codebase standards:
# Run clippy lints
cargo clippy --workspace --all-targets -- -D warnings
# Check code formatting
cargo fmt --all -- --check
# Check dependency licenses and vulnerabilities
cargo deny checkSIAR — Survivable Identity & Autonomous Routing
Open Source Mesh & DTN Communications Platform | Dual Licensed under MIT / Apache-2.0 / Commercial
Documentation Index • GitHub Repository • System Specifications
- 04-Autonomous-Routing-and-Policy-Engine
- 05-Proximity-and-Hardware-Transports
- 06-Delay-Tolerant-Networking-and-Bundle-Forwarding
- 07-Battery-Aware-Scheduling-and-Emergency-Mesh
- 08-Offline-Event-Log-and-Outbox-Engine
- 09-Robust-Blob-Storage-and-Chunk-Transfers
- 10-Crash-Recovery-and-Data-Portability
- 11-Realtime-Audio-Video-Calling-Architecture
- 12-Cross-Platform-Client-Architecture
- 13-Messaging-Timeline-Composer-and-Inbox
- 14-Contacts-Groups-and-Security-Center
- 15-Nearby-Discovery-and-Out-of-Band-Pairing
- 16-Notifications-Presence-and-Background-Lifecycle
- 17-Local-Knowledge-Retrieval-and-Search
- 25-Design-System-Tokens-and-Responsive-Layouts
- 26-UI-UX-Performance-Testing-and-Quality-Gates
- 18-Protocol-Extensions-and-WASM-Plugins
- 19-Headless-Daemons-and-Embedded-Nodes
- 20-C-ABI-FFI-and-Native-Language-Bindings
- 21-Testing-Fuzzing-and-Network-Diagnostics
- 22-Getting-Started-and-Developer-Guide
- 23-Off-Grid-Survival-and-Field-Operations-Guide
- 24-System-Comparison-and-Benchmarking