The New Terminal

Modern Unix Tools

Classic commands, reimagined in Rust & Go

The beloved Unix toolkit is being rewritten for the modern era. These tools honor the Unix philosophy while delivering blazing performance, beautiful output, and sensible defaults. Welcome to the future of the terminal.

๐Ÿš€

10x Faster

Written in Rust and Go, these tools leverage parallelism, SIMD, and modern hardware to dramatically outperform their predecessors.

๐ŸŽจ

Beautiful Output

Syntax highlighting, colors, icons, and thoughtful formatting make output instantly readable and a joy to work with.

๐Ÿ”’

Memory Safe

Rust's ownership model eliminates buffer overflows, use-after-free, and data races at compile time.

โšก

Smart Defaults

Sensible behavior out of the box. Respects .gitignore, human-readable sizes, and modern conventions.

๐Ÿ“

Files & Navigation

List, find, and navigate your filesystem

zoxide

replaces cd
Rust

A smarter cd command that learns your habits. Jump to frequently used directories with partial matches.

Example
# Jump to best match
z projects

# Interactive selection
zi

# Add to shell
eval "$(zoxide init zsh)"
brew install zoxide or cargo install zoxide
View on GitHub โ†’

broot

replaces tree
Rust

An interactive tree view with fuzzy search. Navigate large directories, preview files, and perform operations without leaving.

Example
# Launch interactive tree
br

# Show sizes
br -s

# Search files
br -f pattern
brew install broot or cargo install broot
View on GitHub โ†’

dust

replaces du
Rust

A more intuitive du. Visual representation of disk usage with colors and automatic depth limiting.

Example
# Analyze current directory
dust

# Limit depth
dust -d 2

# Reverse order
dust -r
brew install dust or cargo install du-dust
View on GitHub โ†’

lsd

replaces ls
Rust

LSDeluxeโ€”another modern ls with colors, icons, tree view, and more. Alternative to eza with slightly different aesthetics.

Example
# List with all features
lsd -la

# Tree view
lsd --tree

# Sort by size
lsd -lS
brew install lsd or cargo install lsd
View on GitHub โ†’
๐Ÿ“Š

System Monitoring

Watch your system resources in style

procs

replaces ps
Rust

A modern replacement for ps. Colorful output, tree view, Docker awareness, and pager support by default.

Example
# List all processes
procs

# Tree view
procs --tree

# Watch mode
procs --watch
brew install procs or cargo install procs
View on GitHub โ†’

bandwhich

replaces nethogs
Rust

Network utilization by process. See which processes are consuming bandwidth, with remote addresses and connection information.

Example
# Monitor bandwidth (needs sudo)
sudo bandwhich

# Show raw mode
sudo bandwhich --raw
brew install bandwhich or cargo install bandwhich
View on GitHub โ†’

hyperfine

replaces time
Rust

A command-line benchmarking tool. Statistical analysis, warmup runs, export to various formats, and comparison between multiple commands.

Example
# Benchmark a command
hyperfine 'rg pattern'

# Compare commands
hyperfine 'grep -r pattern' 'rg pattern'

# With warmup
hyperfine --warmup 3 'cargo build'
brew install hyperfine or cargo install hyperfine
View on GitHub โ†’

tokei

replaces cloc
Rust

Count lines of code quickly. Extremely fast, supports many languages, and provides detailed breakdowns by file type.

Example
# Count lines in current dir
tokei

# Specific directory
tokei src/

# Exclude directories
tokei --exclude node_modules
brew install tokei or cargo install tokei
View on GitHub โ†’
๐ŸŒฟ

Git & Diff Tools

Better diffs and Git workflows

lazygit

enhances git
Go Popular

A simple terminal UI for Git. Stage chunks interactively, browse history, manage branches, and handle conflicts visually. Git without memorizing flags.

Example
# Launch lazygit
lazygit

# In a specific repo
lazygit -p /path/to/repo

# With custom config
lazygit -ucf ~/.config/lazygit/config.yml
brew install lazygit or go install github.com/jesseduffield/lazygit@latest
View on GitHub โ†’

gitui

enhances git
Rust

Blazing fast terminal UI for Git. Similar to lazygit but written in Rust for maximum performance. Excellent for large repositories.

Example
# Launch gitui
gitui

# With custom key bindings
gitui -t ~/.config/gitui/theme.ron
brew install gitui or cargo install gitui
View on GitHub โ†’

gh

GitHub CLI
Go Official

GitHub's official CLI. Create PRs, manage issues, trigger workflows, and browse repos without leaving the terminal. Essential for GitHub users.

Example
# Create a PR
gh pr create

# View PR status
gh pr status

# Clone and enter repo
gh repo clone owner/repo
brew install gh
View on GitHub โ†’

difftastic

replaces diff
Rust

A structural diff tool that understands syntax. Compares files based on their AST, not just text, leading to more meaningful diffs for code.

Example
# Compare files
difft old.rs new.rs

# Use as git diff
git config --global diff.external difft

# Side by side
difft --display side-by-side old.py new.py
brew install difftastic or cargo install difftastic
View on GitHub โ†’
๐Ÿš

Shell & Prompt

Modern shells and beautiful prompts

Zellij

replaces tmux/screen
Rust

A modern terminal multiplexer. Intuitive UI, WebAssembly plugin system, and sensible defaults. No more memorizing obscure key combinations.

Example
# Start zellij
zellij

# With layout
zellij --layout default

# Attach to session
zellij attach my-session
brew install zellij or cargo install zellij
View on GitHub โ†’

Atuin

replaces shell history
Rust

Magical shell history. Sync history across machines, full-text search with fuzzy finding, and analytics on your command usage. Never lose a command again.

Example
# Search history
atuin search docker

# Interactive history (Ctrl+R)
# Syncs automatically

# Stats about your usage
atuin stats
brew install atuin or cargo install atuin
View on GitHub โ†’
๐Ÿงฐ

Utilities

Helpful tools for everyday tasks

tldr

replaces man
Rust (tealdeer)

Simplified, community-driven man pages. See practical examples immediately instead of wading through verbose documentation. The tealdeer client is written in Rust.

Example
# Quick help for tar
tldr tar

# Update local cache
tldr --update

# List all pages
tldr --list
brew install tealdeer or cargo install tealdeer
View on GitHub โ†’

just

replaces make
Rust

A handy command runner. Like make but focused on running commands rather than building. No tabs-vs-spaces issues, better syntax, and cross-platform.

Example
# justfile
build:
    cargo build --release

test:
    cargo test

deploy: build test
    ./deploy.sh
brew install just or cargo install just
View on GitHub โ†’

xh

replaces curl/httpie
Rust

Friendly HTTP client. HTTPie-compatible syntax with Rust performance. Colorized output, intuitive syntax for headers and data, and built-in JSON support.

Example
# GET request
xh httpbin.org/get

# POST JSON
xh POST api.example.com/users name=John

# With headers
xh GET api.example.com Authorization:token
brew install xh or cargo install xh
View on GitHub โ†’

yazi

replaces file managers
Rust

Blazing fast terminal file manager. Async I/O, image preview, extensive customization, and Vim-like keybindings. Navigate your filesystem at the speed of thought.

Example
# Launch yazi
yazi

# Start in directory
yazi /path/to/dir

# With custom config
yazi --config ~/.config/yazi
brew install yazi or cargo install yazi-fm
View on GitHub โ†’
๐ŸŒ

Networking

Modern network tools and diagnostics

dog

replaces dig
Rust

A command-line DNS client. Colorful output, supports DNS-over-TLS and DNS-over-HTTPS, and provides modern formatting for DNS queries.

Example
# Query A records
dog example.com

# Query MX records
dog example.com MX

# Use DoH
dog example.com --https @cloudflare
brew install dog or cargo install dog
View on GitHub โ†’

gping

replaces ping
Rust

Ping with a graph. Visualize ping times over time in your terminal. Great for monitoring network stability and comparing multiple hosts.

Example
# Ping with graph
gping google.com

# Multiple hosts
gping google.com cloudflare.com

# Custom interval
gping -n 0.5 8.8.8.8
brew install gping or cargo install gping
View on GitHub โ†’

miniserve

replaces python -m http.server
Rust

A tiny HTTP server for quick file sharing. Colored output, QR code for mobile access, upload support, and directory listings. Zero config needed.

Example
# Serve current directory
miniserve .

# With upload support
miniserve --upload-files .

# Show QR code
miniserve --qrcode .
brew install miniserve or cargo install miniserve
View on GitHub โ†’

Quick Install All Essentials

Get started with the most popular modern tools in one command:

# Install via Homebrew
brew install eza bat ripgrep fd dust bottom sd git-delta fzf zoxide starship

Let Caro Help You Navigate

Not sure which command to use? Caro understands both classic Unix and modern tools. Ask in natural language and get the right commandโ€”whether it's grep or ripgrep.