aboutsummaryrefslogtreecommitdiff
path: root/docs/2026-06-10-modern-cli-tools-evaluation.org
diff options
context:
space:
mode:
Diffstat (limited to 'docs/2026-06-10-modern-cli-tools-evaluation.org')
-rw-r--r--docs/2026-06-10-modern-cli-tools-evaluation.org73
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)