[package] name = "mnw-cli" version = "0.1.1" edition = "2024" license = "LicenseRef-PolyForm-Noncommercial-1.0.0" [dependencies] # russh defaults to the aws-lc-rs backend (a C crypto library); `ring` is the # pure-Rust alternative it offers, matching the reqwest side below. russh = { version = "0.62", default-features = false, features = ["ring", "flate2", "rsa"] } russh-sftp = "2.1" ratatui = "0.30" crossterm = "0.29" tokio = { version = "1", features = ["full"] } # `rustls-no-provider` rather than `rustls`: the latter is an alias for # `__rustls-aws-lc-rs`, which links a C crypto backend. The provider is ring # (pure Rust), installed process-wide by `crate::tls` before any client is built. reqwest = { version = "0.13", default-features = false, features = ["json", "rustls-no-provider", "query"] } rustls = { version = "0.23", default-features = false, features = ["std", "tls12", "logging", "ring"] } serde = { version = "1", features = ["derive"] } serde_json = "1" rand = "0.10" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } anyhow = "1" bytes = "1" hmac = "0.13.0" sha2 = "0.11.0" hex = "0.4.3" synckit-client = { git = "https://makenot.work/git/max/synckit.git", default-features = false } uuid = "1" [lints.rust] unused = "warn" unreachable_pub = "warn" [lints.clippy] pedantic = { level = "warn", priority = -1 } # Allow-list tuned from a measured breakdown across server/multithreaded/pter # (2026-07-22). These are the high-churn / low-signal pedantic lints; everything # else in `pedantic` stays a warning. Keep this block identical across repos. module_name_repetitions = "allow" # Doc lints. No docs-completeness push is underway. missing_errors_doc = "allow" missing_panics_doc = "allow" doc_markdown = "allow" # Numeric casts. Endemic and mostly intentional in size and byte math. cast_possible_truncation = "allow" cast_sign_loss = "allow" cast_precision_loss = "allow" cast_possible_wrap = "allow" cast_lossless = "allow" # Subjective structure and style nags. High churn, low signal. must_use_candidate = "allow" too_many_lines = "allow" struct_excessive_bools = "allow" similar_names = "allow" items_after_statements = "allow" single_match_else = "allow" # Frequent false-positives in TUI and router-heavy code. match_same_arms = "allow" unnecessary_wraps = "allow" type_complexity = "allow" [dev-dependencies] tempfile = "3"