diff options
Diffstat (limited to 'docs/2026-06-10-modern-cli-tools-evaluation.org')
| -rw-r--r-- | docs/2026-06-10-modern-cli-tools-evaluation.org | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/docs/2026-06-10-modern-cli-tools-evaluation.org b/docs/2026-06-10-modern-cli-tools-evaluation.org new file mode 100644 index 0000000..29031ad --- /dev/null +++ b/docs/2026-06-10-modern-cli-tools-evaluation.org @@ -0,0 +1,73 @@ +#+TITLE: Modern CLI Tool Replacements — 2026 Evaluation +#+DATE: 2026-06-10 +#+DESCRIPTION: Survey of modern Unix-tool replacements; what to adopt, what to skip. Adoption decisions pending. + +* Current state +Arch + Hyprland/foot/zsh, Emacs-centric. Already adopted: eza, zoxide, ripgrep, fd, +duf, difftastic, fzf, plus btop (installed already — counts as adopted). bat is in +the repos but not installed. Nothing in the adopted set has been superseded as of +mid-2026; no replacements recommended there. + +* Candidates +| tool | replaces | verdict | why | packaging | +|------------+-----------------+-----------+-------------------------------------------------------------+---------------| +| bat | cat/less-ish | adopt | syntax-highlit file views, git diff gutter, fzf previews | extra 0.26.1 | +| dust | du | adopt | instant visual tree of what's eating disk | extra 1.2.4 | +| dua-cli | du/ncdu | optional | interactive variant of the same job; dust covers most of it | extra 2.34.0 | +| hyperfine | time loops | adopt | statistical benchmarking with warmup; ideal for scripts | extra 1.20.0 | +| tealdeer | man (lookup) | adopt | <15ms tldr pages; active releases into 2026 | extra 1.8.1 | +| doggo | dig/dog | adopt | DoH/DoT/DoQ, table output; dog itself is dead (2020) | extra 1.1.7 | +| xh | curl/httpie | optional | httpie syntax, single fast binary; only if you do API work | extra 0.25.3 | +| jless | less+jq viewing | optional | great JSON pager; upstream quiet since ~2023 (fx is active) | extra 0.9.0 | +| sd | sed (simple) | optional | sane find/replace syntax; stable but low-activity upstream | extra 1.1.0 | +| bottom | top | skip | btop already installed and more polished | extra 0.12.3 | +| procs | ps | skip | maintained, but btop + pgrep covers it | extra 0.14.11 | +| yazi | ranger/mc | skip | excellent and very active, but dired owns this workflow | extra 26.5.6 | +| broot | tree/cd-nav | skip | overlaps dired + zoxide + eza --tree | extra 1.57.0 | +| gping | ping | skip | a graph adds little over ping/mtr | extra 1.20.1 | +| choose | cut/awk fields | skip | tiny win; awk muscle memory already there | extra 1.3.7 | +| television | fzf | skip | active and interesting, but no reason to leave fzf | extra 0.15.7 | +| ouch | tar/unzip/etc. | optional | one verb for all archive formats; small quality-of-life win | extra 0.8.0 | + +* Top recommendations +- bat — the one gap in the current stack. Highlighted file views with line numbers + and git markers, and it slots straight into fzf preview windows and as a + MANPAGER/git pager. sharkdp maintains it actively (0.26.x, 2026). Works fine in + foot; set BAT_THEME to match the dupre palette once. +- dust — answers "what filled this disk" in one command with a proportional tree, + where du -sh * | sort needs piping and rereading. Complements duf (filesystems) + exactly: duf for mounts, dust for directories. +- hyperfine — statistically sound benchmarking (warmup runs, outlier detection, + comparison mode). Directly useful for timing archsetup script changes and shell + startup (hyperfine 'zsh -i -c exit'). +- tealdeer — tldr pages with ~15ms startup, so it's actually faster than recalling + a flag. Active through 2026 (1.8.1, fixes landing Jan 2026). Pairs with man + rather than replacing it. +- doggo — dig with readable output plus DoH/DoT/DoQ support, useful when debugging + resolution across wireguard/tailscale where the resolver path is the question. + The Rust "dog" it descends from is unmaintained since 2020; doggo is the live one. + +* Skip list +- bottom/procs — btop is already installed and covers both niches better. +- yazi — superb tool, wrong user: file management lives in dired. (If ever adopted, + previews work in foot via sixel.) +- broot — tree navigation already covered by zoxide + dired + eza --tree. +- gping — novelty over ping/mtr, no daily win. +- choose — not enough over cut/awk to earn a new habit. +- television — fzf is adopted, deeply integrated (zoxide, shell widgets), and still + the ecosystem default; no migration payoff. +- jless — fine to install ad hoc, but upstream is quiescent; fx (v39, active) is the + better bet if JSON browsing becomes frequent. +- sd — works and is stable, but Emacs query-replace + sed cover the use case. + +* Sources +- https://github.com/tealdeer-rs/tealdeer +- https://github.com/mr-karan/doggo +- https://github.com/ogham/dog +- https://github.com/aristocratos/btop +- https://github.com/chmln/sd +- https://github.com/PaulJuliusMartinez/jless +- https://github.com/alexpasmantier/television +- https://itsfoss.com/rust-alternative-cli-tools/ +- https://sumguy.com/btop-vs-htop-vs-bottom-top-replacements/ +- Local verification: pacman -Si on all candidates (all in Arch extra, 2026-06-10) |
