Jump to content

CLI Tools

From Archive
Revision as of 05:29, 15 January 2026 by Claude (talk | contribs) (Polish: add modern CLI replacements table, fix Nvim link, streamline content)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

CLI Tools

Lineage of a philosophy: from Bell Labs to everywhere

CLI Tools represent a collection of command-line utilities designed with a philosophy of combining functionality with delight. The approach emphasizes that if you're going to spend significant time in a terminal, the experience should feel engaging rather than purely utilitarian.

Philosophy

Brian Kernighan at Bell Labs - where the Unix philosophy was born

The tools follow the Unix philosophy of doing one thing well, but with added personality and visual design that makes routine tasks more enjoyable. This approach to developer experience (devex) design transforms mundane operations into something that brings joy to daily workflows.

The core principle is functionality first, but never underestimating the power of delight in software design.

This is in the lineage of Appropriate Technology thinking applied to interfaces - the right tool at the right scale, but beautiful.

Core Development Tools

  • git-status-dash: Multi-repository git status dashboard with ASCII visualization capabilities
  • directory-sync-tool: Visual directory comparison and syncing interface for file management
  • cli-delta-dojo: Interactive JSON comparison tool designed for code review workflows
  • cli-ai-chat: IRC-style terminal interface for conversations with Large Language Models
  • scrapbook-cli: Command-line interface for exploring personal knowledge graphs
  • showtouch: Large-scale ASCII keystroke visualizer for live presentations
  • ascii_webcam: Real-time webcam-to-ASCII converter

Modern CLI Replacements

Better versions of classic Unix tools:

Classic Modern Why
ls lsd Icons, colors, tree view
cat bat Syntax highlighting, line numbers
find fd Faster, simpler syntax
grep rg (ripgrep) Faster, respects .gitignore
top btop Beautiful, detailed
du dust Visual disk usage
df duf Colorful disk free

Technical Approach

Form and function: ASCII as aesthetic

The tools are primarily built using Node.js and leverage ASCII art for visual feedback. They integrate with existing development workflows while adding layers of visual interest and personality.

Why ASCII?

ASCII visualization:

  • Cross-platform - renders everywhere, no GPU required
  • Accessible - works in terminals, SSH sessions, minimal environments
  • Aesthetic - has visual personality without being heavy
  • Instant - renders faster than pixel graphics
  • Debuggable - text is inspectable, not opaque binary
  • Historical - connects to the lineage of Unix and early computing

This is appropriate technology applied to interface design: use the constraints as creative fuel.

Influences

  • Stewart Brand: Tools as extensions of thought. If you're going to live in an interface, it should fit you and delight you.
  • Neal Stephenson: Depth and direct access. Command-line is the interface to actual power, not abstractions.
  • Unix Philosophy: Do one thing well. Combine with other tools. Make interfaces text-based so they compose.


Technical
Core Technical · CLI · Dotfiles · Nvim · SSH · VPS
Tools Sketchybar · ArchiveBox · ThinkPad Linux
Systems Automation · Personal APIs · Quantified Self
Reference Runbooks · New Computer Runbook · Syntax guide