Rust CLI

Open-source Rust projects categorized as CLI

Top 23 Rust CLI Projects

  • bat

    A cat(1) clone with wings.

    Project mention: Hired: A Modern Take on 'Ed' | news.ycombinator.com | 2024-02-13

    That’s the same as bat:[1] one of the features is syntax highlighting. Kind of unexpected to find a concatenation program… which also does that.

    [1] https://github.com/sharkdp/bat

  • ripgrep

    ripgrep recursively searches directories for a regex pattern while respecting your gitignore

    Project mention: Code Search Is Hard | news.ycombinator.com | 2024-04-10

    Basic code searching skills seems like something new developers are never explicitly taught, but which is an absolutely crucial skill to build early on.

    I guess the knowledge progression I would recommend would look something kind this:

    - Learning about Ctrl+F, which works basically everywhere.

    - Transitioning to ripgrep https://github.com/BurntSushi/ripgrep - I wouldn't even call this optional, it's truly an incredible and very discoverable tool. Requires keeping a terminal open, but that's a good thing for a newbie!

    - Optional, but highly recommended: Learning one of the powerhouse command line editors. Teenage me recommended Emacs; current me recommends vanilla vim, purely because some flavor of it is installed almost everywhere. This is so that you can grep around and edit in the same window.

    - In the same vein, moving back from ripgrep and learning about good old fashioned grep, with a few flags rg uses by default: `grep -r` for recursive search, `grep -ri` for case insensitive recursive search, and `grep -ril` for case insensitive recursive "just show me which files this string is found in" search. Some others too, season to taste.

    - Finally hitting the wall with what ripgrep can do for you and switching to an actual indexed, dedicated code search tool.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • fd

    A simple, fast and user-friendly alternative to 'find'

    Project mention: Level Up Your Dev Workflow: Conquer Web Development with a Blazing Fast Neovim Setup (Part 1) | dev.to | 2024-03-16

    ripgrep: A super-fast file searcher. You can install it using your system's package manager (e.g., brew install ripgrep on macOS). fd: Another blazing-fast file finder. Installation instructions can be found here: https://github.com/sharkdp/fd

  • hyperfine

    A command-line benchmarking tool

    Project mention: Bun - The One Tool for All Your JavaScript/Typescript Project's Needs? | dev.to | 2024-04-02

    And then I used hyperfine to run the benchmarks on my MacBook Pro 14 M2 Max, and here are the results:

  • zoxide

    A smarter cd command. Supports all major shells.

    Project mention: Say good bye to cd and hello Zoxide - the better and smarter cd command | dev.to | 2024-04-14
  • spotify-tui

    Spotify for the terminal written in Rust 🚀

    Project mention: Tell HN: My Favorite Tools | news.ycombinator.com | 2023-12-24
  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • asciinema

    Terminal session recorder 📹

    Project mention: Asciinema 3.0 will be rewritten in Rust | news.ycombinator.com | 2024-02-07

    Incorrect link. Just goes to the list of open requests.

    Here is a ticket which mentor the rust rewrite, perhaps this was what was intended: https://github.com/asciinema/asciinema/pull/579

  • hurl

    Hurl, run and test HTTP requests with plain text.

    Project mention: Bruno | news.ycombinator.com | 2024-03-09

    I tried Hurl after Insomnia went the way of Postman. The highlights you list were the strong drivers for testing it out. Where Hurl fell short was composing requests. Example: X.hurl response has authToken. Y.hurl uses authToken. Z.hurl uses authToken. There's no import ability[1], so you've got to use other tooling to copy X.hurl into Y.hurl and Z.hurl.

    Ultimately settled on Bruno. It's backed by readable text files[2] as well. The CLI works for scripting. And the GUI is familiar enough that I've managed to convert Postman holdouts at my dayjob.

    [1]: https://github.com/Orange-OpenSource/hurl/issues/1723

    [2]: https://docs.usebruno.com/bru-language-samples.html

  • gping

    Ping, but with a graph

    Project mention: Free Tech Tools and Resources - Hardware Monitor, Offboarding Script, WiFi Scanner & More | /r/SysAdminBlogs | 2023-10-25

    gping is a souped-up version of the traditional ping utility that graphs network latency for multiple hosts as well as execution time for commands, with the option of custom colors. Our thanks for the suggestion go to fudgecakekistan.

  • xsv

    A fast CSV command line toolkit written in Rust.

    Project mention: Show HN: TextQuery – Query and Visualize Your CSV Data in Minutes | news.ycombinator.com | 2024-04-02

    I realize it's not really that comparable since these tools don't support SQL, but a more fully functioned CLI tool is - https://github.com/BurntSushi/xsv

    They are both fairly good

  • tokei

    Count your code, quickly.

    Project mention: XAMPPRocky/tokei: Count your code, quickly | news.ycombinator.com | 2024-04-09
  • onefetch

    Command-line Git information tool

    Project mention: Neofetch for Git Repositories | news.ycombinator.com | 2024-03-24
  • bottom

    Yet another cross-platform graphical process/system monitor.

    Project mention: Nvtop: Linux Task Monitor for Nvidia, AMD and Intel GPUs | news.ycombinator.com | 2024-03-12
  • Bandwhich

    Terminal bandwidth utilization tool

    Project mention: Bandwhich: A CLI utility for displaying current network utilizations | news.ycombinator.com | 2023-09-20
  • genact

    🌀 A nonsense activity generator

    Project mention: I'm not in a hurry, let's make it fun | /r/linuxmemes | 2023-05-05
  • bore

    🕳 bore is a simple CLI tool for making tunnels to localhost

    Project mention: I have an extra pi4 I’m mailing to my parents to create a cloud drive for their home since they’re privacy sensitive. What’s the easiest way to make the pi read/writeable from their iPhones at home? | /r/selfhosted | 2023-12-09

    Could look into pre-configuring something like https://github.com/ekzhang/bore

  • gitoxide

    An idiomatic, lean, fast & safe pure Rust implementation of Git

    Project mention: [Gitoxide in October] The first security issue and usable `gix status` | /r/rust | 2023-11-23
  • ratatui

    Rust library that's all about cooking up terminal user interfaces (TUIs)

    Project mention: Fast memory vulnerabilities, written in 100% safe Rust | news.ycombinator.com | 2024-02-20

    > If someone plopped me in front of a rust codebase I'd be at the mercy of the manual for quite a long time.

    This is not a representative sample of Rust. That's explicitly triggering edge cases which requires abuse of syntax you wouldn't normally see.

    Check out this for something more realistic that anyone should understand https://github.com/ratatui-org/ratatui/blob/main/examples/ca...

  • ffsend

    :mailbox_with_mail: Easily and securely share files from the command line. A fully featured Firefox Send client.

  • jj

    A Git-compatible VCS that is both simple and powerful

    Project mention: Why Don't I Like Git More? | news.ycombinator.com | 2024-04-05
  • grex

    A command-line tool and Rust library with Python bindings for generating regular expressions from user-provided test cases

    Project mention: grex 1.0.0 - Generate regular expressions from user-provided test cases | /r/Python | 2023-08-31
  • websocat

    Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions

    Project mention: Show HN: ScaleSocket – Turn any script into a multiplayer WebSocket server | news.ycombinator.com | 2023-09-20

    It's similar to running netcat in server mode, wrapping a script. It's even closer to doing that using websocat [1], whereby one does not have to do the websocket header juggling.

    The main difference is that while netcat or websocat will spawn a new process for each connecting client, ScaleSocket has a concept of rooms (channels). For a room, a process is spawned once only. All clients connecting to the same room are routed to the same process. This is not straight forward to do using the forementioned tools.

    There's a small comparison page [2] where I have mentioned some alternative tools.

    [1] https://github.com/vi/websocat

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-04-14.

Rust CLI related posts

Index

What are some of the best open-source CLI projects in Rust? This list will help you:

Project Stars
1 bat 46,217
2 ripgrep 44,594
3 fd 31,392
4 hyperfine 19,777
5 zoxide 18,117
6 spotify-tui 16,515
7 navi 14,283
8 asciinema 13,121
9 hurl 10,743
10 gping 10,257
11 xsv 10,046
12 tokei 9,877
13 onefetch 8,964
14 bottom 8,760
15 Bandwhich 8,622
16 genact 8,500
17 bore 7,942
18 gitoxide 7,871
19 ratatui 7,429
20 ffsend 6,819
21 jj 6,532
22 grex 6,498
23 websocat 6,469
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com