As a software developer, having a selection of great command line tools at your disposal is essential. Once you've harnessed the power of the command line, you're more productive; you have the tools necessary to quickly complete common tasks.
The following is a list of command line tools I've cultivated over the years in my career as a Software Engineer; most of which I use on a daily basis, and all of which enable me to be highly efficient and productive.
This list only includes projects that provide native binaries - npm packages such as eslint or prettier, while incredibly useful, aren't included.
General Utilities
zyedidia/eget
Easily install prebuilt binaries from GitHub.
Eget: easy pre-built binary installation
For software maintainers, if you provide prebuilt binaries on GitHub, you can
list eget as a one-line method for users to install your software.
Eget has a number of detection mechanisms and should work out-of-the-box with
most…
micro is a terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the capabilities
of modern terminals. It comes as a single, batteries-included, static binary with no dependencies; you can download and use it right now!
As its name indicates, micro aims to be somewhat of a successor to the nano editor by being easy to install and use
It strives to be enjoyable as a full-time editor for people who prefer to work in a terminal, or those who regularly edit files over SSH.
Here is a picture of micro editing its source code.
.
You can also check out the website for Micro at
stedolan/jq
Command-line JSON processor
jq
jq is a lightweight and flexible command-line JSON processor akin to sed,awk,grep, and friends for JSON data. It's written in portable C and has zero runtime dependencies, allowing you to easily slice, filter, map, and transform structured data.
Documentation
Official Documentation:
Installation
Prebuilt Binaries
Download the latest releases from the to start quickly with Docker.
Building from source
Dependencies
- libtool
- make
- automake
- autoconf
Instructions
git submodule update --init # if building from git to get oniguruma
autoreconf -i # if building from git
./configure --with-oniguruma=builtin
make -j8
make check
sudo make installBuild a statically linked version:
make LDFLAGS=-all-staticIf you're not using the latest git version but instead building a released tarball (available on the release page), skip the autoreconf step, and flex or bison won't…
Do you know C? Want to improve ag?
chmln/sd
Intuitive find & replace CLI (sed alternative)
sd - search & displace
sd is an intuitive find & replace CLI.
The Pitch
Why use it over any existing tools?
Painless regular expressions. sd uses regex syntax that you already know from JavaScript and Python. Forget about dealing with quirks of sed or awk - get productive immediately.
String-literal mode. Non-regex find & replace. No more backslashes or remembering which characters are special and need to be escaped.
Easy to read, easy to write. Find & replace expressions are split up, which makes them easy to read and write. No more messing with unclosed and escaped slashes.
Smart, common-sense defaults. Defaults follow common sense and are tailored for typical daily use.
Comparison to sed
While sed does a whole lot more, sd focuses on doing just one thing and doing it well. Here are some cherry-picked examples where sd shines.
Simpler syntax for replacing all occurrences:
- …
•
•
[English]
[]
[]
Sponsors
A special thank you goes to our biggest
Git integration
bat communicates with git to show modifications with respect to the index
(see left side bar):
charmbracelet/mods
AI on the command line
Mods!
LLM based AI is really good at interpreting the output of commands and
returning the results in CLI friendly text formats like Markdown. Mods is a
simple tool that makes it super easy to use AI on the command line and in your
pipelines. Mods works with
To get started, to give the output some
pizzazz.
What Can It Do?
Mods works by reading standard in and prefacing it with a prompt supplied in
the mods arguments. It sends the input text to an LLM and prints out the
result, optionally asking the LLM to format the response as Markdown. This
gives you a way to "question" the output of a command. Mods will…
Task
Task is a task runner / build tool that aims to be simpler and easier to use than, for example, | |
SOCIAL SHARE CARD GENERATOR