lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

commit 653936410c7993662fea1e49453937ca79c4036f
Author: triesap <tyson@radroots.org>
Date:   Sun,  2 Aug 2026 17:58:51 +0000

build(core): establish the Rust workspace

- add domain, application, storage, Nostr, and FFI crates
- pin the Rust 1.97 toolchain and edition 2024 workspace
- establish the UniFFI bindgen tool package skeleton
- verify all crate and desktop test inventories remain green

Diffstat:
Acrates/studio_application/Cargo.toml | 10++++++++++
Acrates/studio_application/src/lib.rs | 9+++++++++
Acrates/studio_domain/Cargo.toml | 10++++++++++
Acrates/studio_domain/src/lib.rs | 9+++++++++
Acrates/studio_ffi/Cargo.toml | 10++++++++++
Acrates/studio_ffi/src/lib.rs | 9+++++++++
Acrates/studio_nostr/Cargo.toml | 10++++++++++
Acrates/studio_nostr/src/lib.rs | 9+++++++++
Acrates/studio_storage/Cargo.toml | 10++++++++++
Acrates/studio_storage/src/lib.rs | 9+++++++++
Acrates/studio_uniffi_bindgen/Cargo.toml | 11+++++++++++
Acrates/studio_uniffi_bindgen/src/main.rs | 11+++++++++++
Aimports/studio_workspace/Cargo.toml | 24++++++++++++++++++++++++
13 files changed, 141 insertions(+), 0 deletions(-)

diff --git a/crates/studio_application/Cargo.toml b/crates/studio_application/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "radroots-studio-application" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +repository.workspace = true + +[lints] +workspace = true diff --git a/crates/studio_application/src/lib.rs b/crates/studio_application/src/lib.rs @@ -0,0 +1,9 @@ +#![doc = "Radroots Studio application runtime."] + +#[cfg(test)] +mod tests { + #[test] + fn crate_is_available_to_the_workspace() { + assert_eq!(env!("CARGO_PKG_NAME"), "radroots-studio-application"); + } +} diff --git a/crates/studio_domain/Cargo.toml b/crates/studio_domain/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "radroots-studio-domain" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +repository.workspace = true + +[lints] +workspace = true diff --git a/crates/studio_domain/src/lib.rs b/crates/studio_domain/src/lib.rs @@ -0,0 +1,9 @@ +#![doc = "Radroots Studio Nostr account domain types."] + +#[cfg(test)] +mod tests { + #[test] + fn crate_is_available_to_the_workspace() { + assert_eq!(env!("CARGO_PKG_NAME"), "radroots-studio-domain"); + } +} diff --git a/crates/studio_ffi/Cargo.toml b/crates/studio_ffi/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "radroots-studio-ffi" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +repository.workspace = true + +[lints] +workspace = true diff --git a/crates/studio_ffi/src/lib.rs b/crates/studio_ffi/src/lib.rs @@ -0,0 +1,9 @@ +#![doc = "Radroots Studio `UniFFI` boundary."] + +#[cfg(test)] +mod tests { + #[test] + fn crate_is_available_to_the_workspace() { + assert_eq!(env!("CARGO_PKG_NAME"), "radroots-studio-ffi"); + } +} diff --git a/crates/studio_nostr/Cargo.toml b/crates/studio_nostr/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "radroots-studio-nostr" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +repository.workspace = true + +[lints] +workspace = true diff --git a/crates/studio_nostr/src/lib.rs b/crates/studio_nostr/src/lib.rs @@ -0,0 +1,9 @@ +#![doc = "Radroots Studio Nostr protocol adapters."] + +#[cfg(test)] +mod tests { + #[test] + fn crate_is_available_to_the_workspace() { + assert_eq!(env!("CARGO_PKG_NAME"), "radroots-studio-nostr"); + } +} diff --git a/crates/studio_storage/Cargo.toml b/crates/studio_storage/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "radroots-studio-storage" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +repository.workspace = true + +[lints] +workspace = true diff --git a/crates/studio_storage/src/lib.rs b/crates/studio_storage/src/lib.rs @@ -0,0 +1,9 @@ +#![doc = "Radroots Studio persistence adapters."] + +#[cfg(test)] +mod tests { + #[test] + fn crate_is_available_to_the_workspace() { + assert_eq!(env!("CARGO_PKG_NAME"), "radroots-studio-storage"); + } +} diff --git a/crates/studio_uniffi_bindgen/Cargo.toml b/crates/studio_uniffi_bindgen/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "radroots-studio-uniffi-bindgen" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +repository.workspace = true +publish = false + +[lints] +workspace = true diff --git a/crates/studio_uniffi_bindgen/src/main.rs b/crates/studio_uniffi_bindgen/src/main.rs @@ -0,0 +1,11 @@ +#![doc = "Pinned `UniFFI` binding generator entry point."] + +fn main() {} + +#[cfg(test)] +mod tests { + #[test] + fn tool_is_available_to_the_workspace() { + assert_eq!(env!("CARGO_PKG_NAME"), "radroots-studio-uniffi-bindgen"); + } +} diff --git a/imports/studio_workspace/Cargo.toml b/imports/studio_workspace/Cargo.toml @@ -0,0 +1,24 @@ +[workspace] +members = [ + "crates/application", + "crates/domain", + "crates/ffi", + "crates/nostr", + "crates/storage", + "tools/uniffi-bindgen", +] +resolver = "3" + +[workspace.package] +version = "0.1.0-alpha.0" +edition = "2024" +rust-version = "1.97" +license = "GPL-3.0-only" +repository = "https://github.com/radroots/studio_app" + +[workspace.lints.rust] +unsafe_code = "forbid" + +[workspace.lints.clippy] +all = "deny" +pedantic = "deny"