[package] name = "mnw-cli" version = "0.1.1" edition = "2024" [dependencies] russh = "0.62" russh-sftp = "2.1" ratatui = "0.30" crossterm = "0.29" tokio = { version = "1", features = ["full"] } reqwest = { version = "0.13", default-features = false, features = ["json", "rustls", "query"] } 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 = { path = "../../synckit/synckit-client", 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"