[workspace]
resolver = "2"
members = ["gdn", "gdn-cli", "gdn-app/src-tauri"]

[workspace.package]
version = "0.0.0"
edition = "2021"

[workspace.dependencies]
anyhow = "1.0.95"
clap = { version = "4.5.27", features = ["derive", "deprecated"] }
directories = "6.0.0"
gdn = { path = "gdn" }
gix = "0.70.0"
serde = { version = "1.0.217", features = ["derive"] }
serde_json = "1.0.137"
tauri = { version = "2.2.5", features = [] }
tauri-build = { version = "2.0.5", features = [] }
tauri-plugin-opener = "2.2.5"

[workspace.lints]
rust.unsafe_code = { level = "forbid", priority = 1 }
# Lint groups
rust.deprecated_safe = "warn"
rust.future_incompatible = "warn"
rust.keyword_idents = "warn"
rust.rust_2018_idioms = "warn"
rust.unused = "warn"
# Individual lints
rust.let_underscore_drop = "warn"
rust.non_local_definitions = "warn"
rust.redundant_imports = "warn"
rust.redundant_lifetimes = "warn"
rust.single_use_lifetimes = "warn"
rust.unit_bindings = "warn"
rust.unused_crate_dependencies = "warn"
rust.unused_import_braces = "warn"
rust.unused_lifetimes = "warn"
rust.unused_qualifications = "warn"
# Clippy
clippy.use_self = "warn"
