Command Line Tools for Productive Programmers

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • nnn

    n³ The unorthodox terminal file manager

  • Yeah it comes in the base distribution https://github.com/jarun/nnn/blob/master/plugins/autojump

    But - if you're happy with ranger, i'm not sure it's worth the switch - they're very similar. nnn is quite a bit faster than ranger but other than that, i think ranger has more community support.

  • dotfiles

  • The integration is pretty decent in vim, i have it configured to open a window overlay on n (requires neovim) https://github.com/craigjperry2/dotfiles/blob/main/dotfiles/...

    That said, i don't find myself using that as much. Usually i'm in the shell when i invoke nnn - i might open a file in vim from nnn though.

    In vim, i typically lean on fzf.vim more often - usually i know something about the next file i want to open so it just feels more direct.

  • 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.

    WorkOS logo
  • gdu

    Fast disk usage analyzer with console interface written in Go

  • starship

    ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!

  • powerlevel10k looks interesting with that builtin configuration wizard. I use https://starship.rs

    You have to configure it yourself, but it works on bash, fish and zsh.

  • lf

    Terminal file manager

  • There's a broot alternative called lf that opens files in $EDITOR

    https://github.com/gokcehan/lf

  • entr

    Run arbitrary commands when files change

  • I can't sing the praises enough of entr. Just check out its man page: http://eradman.com/entrproject/

    entr lets you watch files and re-run a command any time they change. Whenever I'm working on a script, or go tests, or whatever test-like thing I'm doing that's not in its own bloated test harness, I reach for entr. Great software, does what it's supposed to every time.

  • shell-scripts

    Collection of various shell scripts and utilitites (by swarminglogic)

  • I didn't know of entr, or inotify at the time. Years ago, I wrote a script that did mostly that, but I've found myself to instead rely on a script to rerun things based on global hotkeys. It scratches a different itch, but in case you want to check it out [0]

    In short, you set up a global hotkey to trigger the rerun of a "key"-ed command. Then you can quickly run a command, which can be rerun with that hotkey.

    [0]: https://github.com/swarminglogic/shell-scripts/blob/master/r...

  • 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.

    InfluxDB logo
  • rerun

    Restarts an app when the filesystem changes. Uses growl and FSEventStream if on OS X. (by alexch)

  • gron

    Make JSON greppable!

  • watchexec

    Executes commands in response to file modifications

  • There is also `watchexec` [1]. However I don't know how it compares to `entr` or other inotify clients.

    [1] : https://github.com/watchexec/watchexec

  • ranger-autojump

    The combined magic of autojump, ranger and zsh

  • I very much like nnn because it's lightweight, but does it have autojump integration[0]? It's the only single reason I am still using ranger.

    0: https://github.com/fdw/ranger-autojump

  • murex

    A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)

  • There'll always be multiple ways to skin the proverbial cat.

    Shameless plug but I'd written my own $SHELL callewd `murex` as I kept running into pain points with Bash as a DevOps engineer. The shell doesn't have `tree` inbuilt but it does have FZF-like navigation built in.

    https://github.com/lmorg/murex

    I've been using it as my primary shell for a few years now and I'm not going to pretend that it isn't BETA it does work. However it's not POSIX and some of the design decisions might rub people the wrong way (given how opinionated peoples work-flows are). But if you're curious then check it out.

  • fx

    Terminal JSON viewer & processor

  • js anonymous functions are valid inputs to the tool.

    when the transformation turns to be more complex than exptected I can just copy and paste what I've made so far into a nodejs script.

    you can also configure a .fxrc file to automatically import npm packages that you might find useful, shortcuts, or your personal functions.

    [1] https://github.com/antonmedv/fx

    On a similar note, zsh-history-substring-search has become something I look for everywhere.

    https://github.com/zsh-users/zsh-history-substring-search

  • up

    Ultimate Plumber is a tool for writing Linux pipes with instant live preview (by akavel)

  • SaaSHub

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

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts