This guide describes the project architecture and contribution workflow, we are highly open to any contribution !!
RKIK is a Rust CLI with a reusable library.
src/bin/rkik.rs (clap parsing, text/JSON rendering, color control, continuous modes).src/lib.rs re-exports the public API and organizes modules:
    adapters/: DNS resolver and NTP client (rsntp).domain/ntp.rs: Target, ProbeResult (derive Serialize under the json feature).services/query.rs: pub async fn query_one(...) -> Result<ProbeResult, RkikError>.services/compare.rs: pub async fn compare_many(...) -> Result<Vec<ProbeResult>, RkikError> (parallel via futures::join_all).fmt/json.rs, fmt/text.rs: serialization and terminal rendering (not used by the library’s public API).stats/: min/max/avg rollups.sync/ (feature sync): system time application (Unix only).tokio.clap, console, or process::exit in library functions).thiserror + Result<_, RkikError>.tracing::instrument on I/O boundaries.src/
  bin/rkik.rs        # CLI (flags, colors, formats, loops)
  lib.rs             # API re-exports
  adapters/          # DNS + rsntp
  domain/            # domain types (ProbeResult, Target, ...)
  services/          # query_one / compare_many
  fmt/               # text/json output (CLI-side)
  stats/             # Stats
  sync/              # 'sync' feature (Unix)
--compare is asynchronous and runs all queries in parallel via join_all.query_one.Duration parameter.rustup install stable
rustup default stable
cargo build --release
tests/v1_lib.rs) — tokio::test (+ --features network-tests to talk to real NTP servers).tests/v1_cli.rs) — assert_cmd/predicates.cargo fmt --all -- --check
cargo clippy --all-targets --all-features -D warnings
cargo test, fmt, clippy..deb, .rpm, binaries; cargo publish (source-only).cargo fmt and clippy clean.