Skip to main content

max / makenotwork

2.9 KB · 76 lines History Blame Raw
1 [package]
2 name = "mnw-cli"
3 version = "0.1.3"
4 edition = "2024"
5 license = "LicenseRef-PolyForm-Noncommercial-1.0.0"
6
7 [dependencies]
8 # russh defaults to the aws-lc-rs backend (a C crypto library); `ring` is the
9 # pure-Rust alternative it offers, matching the reqwest side below.
10 russh = { version = "0.62", default-features = false, features = ["ring", "flate2", "rsa"] }
11 russh-sftp = "2.1"
12 ratatui = "0.30"
13 crossterm = "0.29"
14 # The family's design system. `makeover` holds the themes and resolves a
15 # selection; `makeover-tui` is the terminal renderer, and its `theme` feature is
16 # the intents-to-ratatui-colours mapping. No colour is named in this crate.
17 makeover = "3.0"
18 makeover-tui = { version = "0.36.0", features = ["theme"] }
19 tokio = { version = "1", features = ["full"] }
20 # `rustls-no-provider` rather than `rustls`: the latter is an alias for
21 # `__rustls-aws-lc-rs`, which links a C crypto backend. The provider is ring
22 # (pure Rust), installed process-wide by `crate::tls` before any client is built.
23 reqwest = { version = "0.13", default-features = false, features = ["json", "rustls-no-provider", "query"] }
24 rustls = { version = "0.23", default-features = false, features = ["std", "tls12", "logging", "ring"] }
25 serde = { version = "1", features = ["derive"] }
26 serde_json = "1"
27 rand = "0.10"
28 tracing = "0.1"
29 tracing-subscriber = { version = "0.3", features = ["env-filter"] }
30 anyhow = "1"
31 bytes = "1"
32
33 # The git-over-SSH command grammar, shared with the server's git_ssh door so
34 # the two SSH doors cannot drift apart the way their hand-written parsers did.
35 git-command = { path = "../shared/git-command" }
36 hmac = "0.13.0"
37 sha2 = "0.11.0"
38 hex = "0.4.3"
39 synckit-client = { git = "https://makenot.work/git/max/synckit.git", version = "0.9", default-features = false }
40 uuid = "1"
41
42 [lints.rust]
43 unused = "warn"
44 unreachable_pub = "warn"
45
46 [lints.clippy]
47 pedantic = { level = "warn", priority = -1 }
48 # Allow-list tuned from a measured breakdown across server/multithreaded/pter
49 # (2026-07-22). These are the high-churn / low-signal pedantic lints; everything
50 # else in `pedantic` stays a warning. Keep this block identical across repos.
51 module_name_repetitions = "allow"
52 # Doc lints. No docs-completeness push is underway.
53 missing_errors_doc = "allow"
54 missing_panics_doc = "allow"
55 doc_markdown = "allow"
56 # Numeric casts. Endemic and mostly intentional in size and byte math.
57 cast_possible_truncation = "allow"
58 cast_sign_loss = "allow"
59 cast_precision_loss = "allow"
60 cast_possible_wrap = "allow"
61 cast_lossless = "allow"
62 # Subjective structure and style nags. High churn, low signal.
63 must_use_candidate = "allow"
64 too_many_lines = "allow"
65 struct_excessive_bools = "allow"
66 similar_names = "allow"
67 items_after_statements = "allow"
68 single_match_else = "allow"
69 # Frequent false-positives in TUI and router-heavy code.
70 match_same_arms = "allow"
71 unnecessary_wraps = "allow"
72 type_complexity = "allow"
73
74 [dev-dependencies]
75 tempfile = "3"
76