Command line interface Icon

Command line interface

A CLI, or command-line interface, is a console that helps users issue commands to a program.
57 Stories
All Topics


The official GitHub CLI is now in beta

gh brings many of GitHub’s concepts to the terminal. You know, things like pull requests and issues. The tool is still under heavy development and they’re looking for feedback. If you’re an early adopter, this is the perfect time to get involved and let your voice be heard. Oh, and if you’ve been using hub for years already, here’s how the new shiny compares:

gh is a new project for us to explore what an official GitHub CLI tool can look like with a fundamentally different design. While both tools bring GitHub to the terminal, hub behaves as a proxy to git and gh is a standalone tool.

The official GitHub CLI is now in beta

Amazon Web Services

The missing cron CLI for AWS Cloudwatch and Lambda

Do you have an AWS account? Great. Do you want to run cron jobs in the cloud?

Cronyo provides A simple CLI to manage your cron jobs on AWS.

In addition, Cronyo can instantly deploy a couple of super-simple, helpful and secure lambda functions to perform HTTP GET/POST requests for you. So if you need to trigger any webhooks on schedule, an AWS account and Cronyo is all you need :)

Command line interface

A CLI for displaying network utilization by process, connection, and remote host

bandwhich sniffs a given network interface and records IP packet size, cross referencing it with the /proc filesystem on linux or lsof on MacOS. It is responsive to the terminal window size, displaying less info if there is no room for it. It will also attempt to resolve ips to their host name in the background using reverse DNS on a best effort basis.

This looks much better than me fumbling through lsof’s man page for ten minutes and then giving up.

A CLI for displaying network utilization by process, connection, and remote host


Zero-config CLI for TypeScript package development

Despite all the recent hype, setting up a new TypeScript (x React) library can be tough. Between Rollup, Jest, tsconfig, Yarn resolutions, TSLint, and getting VSCode to play nicely….there is just a whole lot of stuff to do (and things to screw up). TSDX is a zero-config CLI that helps you develop, test, and publish modern TypeScript packages with ease–so you can focus on your awesome new library and not waste another afternoon on the configuration.

Vadim Demedes

Building rich command-line interfaces with Ink and React

Could this be the future of writing interactive CLI tools? If you know React you know Ink.

Ink is a library for building and testing command-line applications using React components. Since it acts as a React renderer, you can use everything that React has to offer: hooks, class components, state, context, everything. Ink lets you build interactive and beautiful CLIs in no time.

Building rich command-line interfaces with Ink and React

Klaus Sinani

Qoa – minimal interactive command-line prompts

Lightweight and without any external dependencies qoa enables you to receive various types of user input through a set of intuitive, interactive & verbose command-line prompts. The library utilizes a simple & minimal usage syntax and contains 7 configurable console interfaces, such as plain text, confirmation & password/secret prompts as well as single keypress, quiz & multiple-choice navigable menus.

Qoa – minimal interactive command-line prompts


Git quick statistics

Any git repository contains a tonne of information about commits, contributors, and files. Extracting this information is not always trivial, mostly because of a gadzillion options to a gadzillion git commands – I don’t think there is a single person alive who knows them all. Probably not even Linus Torvalds himself :)

Truth. Clone the repo here and make install or brew install git-quick-stats if you’re on macOS.

Git quick statistics

Daniel Stenberg

Daniel Stenberg is leaving Mozilla

We’ve been chronicling Daniel’s work on #curl for some time now. December 11, 2018 will be Daniel’s final official day at Mozilla. He assures us that his work on curl will continue, saying this in regards to his time dedicated to curl and where he works for his full-time income, “I don’t think my choice of future employer should have to affect that negatively too much, except of course in periods.”

Here are the main points from Daniel (but you should certainly dig into the details):

  1. It’s been five great years, but now it is time for me to move on and try something else.
  2. …lots of the HTTP/2 development and the publication of that was made while I was employed by Mozilla and I fondly participated in that.
  3. …we’re also losing Mozilla as a primary sponsor of the curl project, since that was made up of them allowing me to spend some of my work days on curl and that’s now over.
  4. I will continue to follow and work with HTTP and other internet protocols very closely.
  5. The future is bright but unknown! “I don’t yet know what to do next.”

Command line interface

Run SQL directly on CSV or TSV files

q is a command line tool that allows direct execution of SQL-like queries on CSVs/TSVs (and any other tabular text files). q treats ordinary files as database tables, and supports all SQL constructs, such as WHERE, GROUP BY, JOINs etc. It supports automatic column name and column type detection, and provides full support for multiple encodings.

An example of using q to count distinct values of a specific field (uuid of clicks data)

q -H -t "SELECT COUNT(DISTINCT(uuid)) FROM ./clicks.csv"

Command line interface

A tool for writing Bash pipes with instant live preview

Meet up a.k.a. the Ultimate Plumber:

The main goal of the Ultimate Plumber is to help interactively and incrementally explore textual data in Linux, by making it easier to quickly build complex pipelines, thanks to a fast feedback loop. This is achieved by boosting any typical Linux text-processing utils such as grep, sort, cut, paste, awk, wc, perl, etc., etc., by providing a quick, interactive, scrollable preview of their results.

A tool for writing Bash pipes with instant live preview
0:00 / 0:00