[package]
name = "cyb"
version = "0.1.0"
edition = "2024"
description = "cyb โ immortal robot GUI (Bevy shell)"
license-file = "LICENSE"
repository = "https://github.com/cyberia-to/cyb"
homepage = "https://cyb.ai"
readme = "README.md"
keywords = ["cyber", "cyb", "bevy", "robot"]
categories = ["gui", "multimedia"]
[features]
default = ["desktop"]
desktop = [
"dep:bevy",
"dep:global-hotkey",
"dep:alacritty_terminal",
"dep:sugarloaf",
"dep:tray-icon",
"dep:nu-protocol",
"dep:nu-engine",
"dep:nu-parser",
"dep:nu-command",
"dep:nu-cmd-lang",
"dep:nu-cmd-extra",
"dep:nu-cli",
"dep:nu-std",
"dep:nu-utils",
]
android = ["dep:tao", "dep:android_logger"]
[lib]
name = "cyb"
crate-type = ["cdylib", "lib"]
path = "src/lib.rs"
bin
name = "cyb"
path = "src/main.rs"
required-features = ["desktop"]
[dependencies]
# cyb workspace crates
cyb-core = { path = "../core" }
tape = { package = "cyber-tape", path = "../../tape/impl/rust" }
prysm = { path = "../../prysm" }
# rune โ open-computation language; terminal `rune` command path
rune-ast = { path = "../../rune/rs/ast" }
rune-parse = { path = "../../rune/rs/parse" }
rune-lower = { path = "../../rune/rs/lower" }
rune-interp = { path = "../../rune/rs/interp" }
rune-subject = { path = "../../rune/rs/subject" }
rune-prysm = { path = "../../rune/rs/prysm" }
# Core (all platforms)
wry = { version = "0.53", features = ["transparent"] }
arboard = "3"
futures = "0.3"
futures-lite = "2"
serde = { workspace = true }
serde_json = { workspace = true }
log = "0.4"
chrono = "0.4"
mir = { path = "../../mir", features = ["bevy-plugin"] }
bip39 = { workspace = true, features = ["rand"] }
ureq = { workspace = true }
hmac = "0.12"
sha2 = "0.10"
k256 = { version = "0.13", features = ["arithmetic", "ecdh"] }
bech32 = "0.9"
# Desktop (behind "desktop" feature)
bevy = { workspace = true, optional = true }
global-hotkey = { version = "0.7.0", optional = true }
alacritty_terminal = { version = "0.25.1", optional = true }
sugarloaf = { path = "../../nu/crates/sugarloaf", optional = true }
tray-icon = { version = "0.21", optional = true }
nu-protocol = { path = "../../nu/crates/nu-protocol", optional = true }
nu-engine = { path = "../../nu/crates/nu-engine", optional = true }
nu-parser = { path = "../../nu/crates/nu-parser", optional = true }
nu-command = { path = "../../nu/crates/nu-command", default-features = false, features = ["os"], optional = true }
nu-cmd-lang = { path = "../../nu/crates/nu-cmd-lang", optional = true }
nu-cmd-extra = { path = "../../nu/crates/nu-cmd-extra", optional = true }
nu-cli = { path = "../../nu/crates/nu-cli", optional = true }
nu-std = { path = "../../nu/crates/nu-std", optional = true }
nu-utils = { path = "../../nu/crates/nu-utils", optional = true }
# Android (behind "android" feature)
tao = { version = "0.34", optional = true }
android_logger = { version = "0.14", optional = true }