Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rust-cli-tools

A collection of small, dependency-light Rust terminal tools, presented through a single launcher, rustcli.

Tool What it does
fast Internet speed test (download throughput + sparkline)
sysmon System monitor: CPU/MEM/DISK/NET/battery, processes (procman), temperatures (tempmon)
netwatch Live network: per-interface throughput and a connections table with PID mapping
diskmon Disk usage per mount and per-device read/write I/O rates

All tools read Linux /proc and /sys directly and use ratatui for the UI. They target Linux; most require a real terminal (TTY).

Repository layout

This is a Cargo workspace:

rust-cli-tools/
├── Cargo.toml      # workspace manifest
├── rustcli/        # the `rustcli` dispatcher binary
├── fast/
├── sysmon/
├── netwatch/
└── diskmon/

Each tool is an independent crate, so it can be built and installed on its own.

From clone to running

Requirements:

  • Linux (the tools read /proc and /sys).
  • A Rust toolchain new enough for edition 2024 (Rust 1.85+, install via rustup).
  • A real terminal (TTY) for the interactive tools.
  • Network access for fast (it downloads a file to measure speed).
# 1. Clone
git clone https://github.com/bivekk51/rust-cli-tools rust-cli-tools
cd rust-cli-tools

# 2. Build everything (release is recommended)
cargo build --release

# 3. Run a tool through the launcher
./target/release/rustcli sysmon

That's it. The first cargo build --release compiles all five binaries into target/release/.

Build

cargo build --release        # builds every tool + the launcher

Binaries land in target/release/.

Use the launcher

./target/release/rustcli sysmon      # run a tool
./target/release/rustcli netwatch
./target/release/rustcli help        # list tools
./target/release/rustcli --version

Arguments after the tool name are passed straight through to the tool, e.g. rustcli <tool> --help.

Install

Option A — copy the release binaries (no install step, just a symlink to PATH):

cargo build --release
ln -s "$PWD/target/release/rustcli" ~/.local/bin/rustcli
ln -s "$PWD/target/release/sysmon"  ~/.local/bin/sysmon
# repeat for fast / netwatch / diskmon

Option B — cargo install each crate into ~/.cargo/bin:

cargo install --path rustcli
cargo install --path fast
cargo install --path sysmon
cargo install --path netwatch
cargo install --path diskmon

After that, both forms work from anywhere:

rustcli sysmon     # via the launcher
sysmon             # directly

Single-command alias

If you want one short command, symlink the launcher:

ln -s "$(command -v rustcli)" /usr/local/bin/rc
rc diskmon

License

Unlicensed / personal use.

About

Random Linux based Rust CLI tools which i vibecoded with free tokens

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages