TOM
HASTJARJANTO

// SOFTWARE ENGINEER // NETHERLANDS

[ ← RETURN ]

Modern CLI Tools Overview

TOM HASTJARJANTO · MODERN-CLI-TOOLS

Modern CLI Tools Overview

Modern CLI tools usually keep the Unix model intact while improving speed, defaults, and usability. Here is a short list of useful tools and simple ways to use them.

File and Directory Tools

  • eza: better ls output with git and tree views.

    eza -la --git
    eza --tree src/app/posts
  • bat: preview files with syntax highlighting.

    bat src/index.tsx
    bat src/app/posts/modern-cli-tools.md
  • fd: simpler and faster file search.

    fd posts src/app
    fd "*.md" src/app/posts
  • zoxide: jump to directories you use often.

    z src
    z posts

Search and Filtering

  • ripgrep (rg): fast text search that respects ignore files.

    rg "frontmatter" src
    rg "Modern CLI Tools" src/app/posts
  • fzf: interactive filtering for command output.

    git branch | fzf
    fd . src | fzf

Data and API Tools

  • jq: work with JSON in the shell.

    cat package.json | jq '.scripts'
    curl -s https://api.github.com/repos/sharkdp/bat | jq '.stargazers_count'
  • yq: query and edit YAML files.

    yq '.services' docker-compose.yml
    yq '.name = "demo-app"' config.yml
  • xh: friendlier HTTP requests from the terminal.

    xh GET https://api.github.com/repos/sharkdp/fd
    xh POST https://httpbin.org/post name=cli-tool kind=demo

Git and Workflow Tools

  • delta: improved git diffs.

    git -c core.pager=delta show
    git -c core.pager=delta diff
  • lazygit: terminal UI for common git operations.

    lazygit
  • just: lightweight command runner for project tasks.

    just build
    just test
  • uv: fast Python package and environment management.

    uv venv
    uv run pytest
  • mise: manage language runtimes and developer tools.

    mise use node@22
    mise install

A good terminal setup usually combines a few of these tools rather than trying to replace everything at once. The most common pattern is fd + rg + fzf for discovery, plus a few language- or workflow-specific tools on top.