feat: publish-ready overhaul — lints, tests, docs, CI, fuzzing, mutant testing
- Enable clippy pedantic + nursery lints; fix all warnings - Add config validation (SF, CR, frequency range checks) - Zeroize passphrase intermediates after key derivation - Convert to lib+bin crate for fuzz target accessibility - Replace Vec with VecDeque for O(1) log/bucket rotation - Add TUI minimum terminal size guard Testing: - 145 unit + property tests (was 15) - 6 proptest groups (frame roundtrip, hash, SNR, air time, peer list, padding) - 2 cargo-fuzz targets (gossip frame decode, peer list decode) - cargo-mutants: 0 missed, 241 caught, 54 unviable Documentation: - README with prerequisites, quick start, config reference, architecture - Module-level and item-level rustdoc on all public items - LICENSE (MIT), rustfmt.toml, .gitignore Infrastructure: - GitHub Actions CI (fmt, clippy, test, audit) - cargo-mutants config (.cargo/mutants.toml) - justfile for common tasks
This commit is contained in:
24 files changed
+3049
-564
No files matched your search
+18
@@ -0,0 +1,18 @@
|
||||
//! Peer-to-peer `LoRa` bridge connecting `DongLoRa` USB dongles across the internet.
|
||||
//!
|
||||
//! Uses iroh-gossip for swarm-based packet broadcast and mainline DHT for
|
||||
//! zero-configuration peer discovery. Nodes sharing a passphrase automatically
|
||||
//! discover each other and relay radio packets through a gossip swarm.
|
||||
|
||||
pub mod config;
|
||||
pub mod gossip;
|
||||
pub mod packet;
|
||||
pub mod radio;
|
||||
pub mod rate_limit;
|
||||
pub mod router;
|
||||
pub mod setup;
|
||||
|
||||
// TUI is public only so its types are visible to the binary; not intended for
|
||||
// external consumption.
|
||||
#[doc(hidden)]
|
||||
pub mod tui;
|
||||
Reference in new issue
Block a user