A curated list of cross-platform CLI tools that are especially suitable for AI agent workflows.
This is not a generic CLI collection. Every tool here earns its place by being composable, scriptable, and reliable under automation.
A tool must meet most of the following to be listed:
- Cross-platform — works on macOS, Linux, and Windows
- CLI-first — the command line is a real interface, not an afterthought
- Composable — stdin/stdout friendly, easy to chain
- Scriptable — deterministic flags, no interactive prompts required
- Structured output — JSON or machine-readable when possible
- Actively maintained — still evolving and usable today
- Agent-suitable — useful as a building block in agent systems
- Document Conversion
- Network & API
- Structured Data Processing
- Search & Discovery
- Platform & Workspace
- Storage & Sync
- Media Processing
- Database
- Environment & Runtime
- Browser Automation
- Security & Encryption
- Task Running
- Text Processing
- Git & Version Control
- Analysis & Profiling
- AI & LLM
| Tool | Description |
|---|---|
| pandoc | Universal document converter. Handles dozens of formats (Markdown, HTML, LaTeX, DOCX, PDF, EPUB). JSON AST output enables programmatic document manipulation. |
| typst | Modern typesetting system. Far simpler syntax than LaTeX — an LLM can generate Typst markup reliably. Fast Rust binary, compiles to PDF/PNG/SVG. |
| Tool | Description |
|---|---|
| curl | The universal data transfer tool. Supports every protocol an agent might need. --json flag, -w for structured response metadata. Pre-installed almost everywhere. |
Why not wget? curl covers everything wget does for agent use. One tool, no redundancy.
| Tool | Description |
|---|---|
| jq | The JSON processor. Filter, map, and transform any JSON from the command line. Core building block — every API response and config file passes through jq. |
| yq | jq-like processor for YAML, JSON, XML, CSV, TOML, HCL, and properties. Single Go binary. Covers the non-JSON structured data that agents constantly encounter. |
| duckdb | In-process SQL engine. Query CSV, Parquet, and JSON files directly — no server, no setup. Agents can run analytical SQL against any local data. |
| miller | Like awk/sed/cut for name-indexed data. Streams CSV, TSV, JSON with format conversion in a single command. Single Go binary. Complements duckdb for streaming pipeline use. |
| fq | jq for binary formats. Decode and inspect media files, archives, executables, and network captures as structured JSON. Irreplaceable capability. |
| jc | Converts traditional CLI output to JSON. ps aux | jc --ps gives structured data. Bridges the gap between legacy text-based tools and structured agent consumption. |
| Tool | Description |
|---|---|
| ripgrep | Fastest recursive search. First-class Windows/macOS/Linux support. --json flag provides structured output per match — ideal for programmatic consumption. |
| fd | Fast, simple find replacement. Sane defaults (respects .gitignore), regex by default, -x/-X for command execution on results. |
| Tool | Description |
|---|---|
| gh | GitHub CLI. Repos, PRs, issues, actions, releases, and raw API access. --json on most commands with built-in --jq filtering. |
| glab | GitLab CLI. MRs, issues, pipelines, releases. JSON output supported. The GitLab counterpart to gh. |
| dws (钉钉) | DingTalk Workspace CLI. Unifies 15+ DingTalk capabilities (contacts, calendar, tasks, approvals, attendance, messaging) into one CLI. Structured JSON output. Pre-built agent skills for Claude Code, Cursor, and Windsurf. |
| lark-cli (飞书) | Official Lark/Feishu CLI. 200+ commands covering Messenger, Docs, Base, Sheets, Calendar, Mail, Tasks, and Meetings. JSON default output with ndjson/CSV/table options. Ships 19 AI Agent Skills. Explicitly designed for agent workflows. |
| ncm-cli (网易云音乐) | NetEase Cloud Music CLI. Search, playback control, playlist management, and daily recommendations via terminal. Integrated with OpenClaw/ClawHub as agent skills. |
| meitu-cli (美图) | Meitu AI imaging CLI. 8 AI skills: video motion transfer, image editing/generation, super-resolution, AI outfit changing, image-to-video, intelligent resizing, and cutout. Available on ClawHub. |
| obsidian | Obsidian CLI (v1.12+). Create, read, search notes and query tasks/tags/links/properties from the terminal. Official obsidian-skills repo provides 5 skills for Claude Code. |
| googleworkspace/cli | Google Workspace CLI, explicitly built for humans and AI agents. Structured JSON output across Gmail, Drive, Calendar, Docs, and more. |
| aws | AWS CLI. JSON/YAML/table output modes, JMESPath --query filtering. Covers every AWS service. |
| gcloud | Google Cloud CLI. --format=json, --filter, --flatten for structured output. |
| az | Azure CLI. JSON output by default, JMESPath --query filtering. |
| supabase | Supabase CLI. Manage Postgres migrations, run local dev stack, deploy Edge Functions, generate TypeScript types from schema. Global -o json/yaml/toml flag applies to all commands. |
| stripe | Stripe CLI. Trigger API calls, forward webhooks locally, tail event logs. --format json for structured output on resource commands, pipeable to jq. |
| vercel | Vercel CLI. Deploy projects, manage env vars, domains, and deployments. vercel api for raw authenticated REST calls returning JSON. Includes vercel mcp for MCP client setup. |
| wrangler | Cloudflare Workers CLI. Develop, configure, and deploy Workers, KV, D1, R2, and Pages. --json flag on select commands; being expanded incrementally. |
| shopify | Shopify CLI. Initialize, build, and deploy Shopify apps, extensions, Functions, and themes. --json flag on theme commands returns structured deployment metadata. |
| netlify | Netlify CLI. Deploy sites, manage env vars, run local dev servers. --json flag on deploy and env commands for structured output. |
| Tool | Description |
|---|---|
| rclone | Manages files across 70+ cloud storage backends (S3, GCS, Azure Blob, Dropbox, etc.). rclone cat and rclone rcat for stdin/stdout streaming. Single Go binary. |
| Tool | Description |
|---|---|
| ffmpeg | Audio, video, and subtitle processing. ffprobe -print_format json gives structured media metadata. Agents can transcode, extract, split, and analyze any media. |
| imagemagick | Image processing for 200+ formats. Resize, crop, convert, compose, annotate. identify outputs structured metadata. stdin/stdout via - notation. |
| Tool | Description |
|---|---|
| sqlite3 | Zero-setup database CLI. .mode json for structured output. Agents can create, query, and manage databases instantly — no server, no config. |
DuckDB (listed under Structured Data) also serves as a powerful analytical database.
| Tool | Description |
|---|---|
| uv | Extremely fast Python package and project manager. uv run --with package script.py creates isolated environments in milliseconds. Replaces pip, venv, pipx, poetry. |
| mise | Polyglot tool version manager and task runner. Ensures correct versions of Node, Python, Ruby, Go, etc. --json output on many commands. |
| docker | Containerized execution environments. Agents can run untrusted code safely, build reproducible setups. --format '{{json .}}' on inspect commands. |
| nushell | Shell where everything is structured data. Pipelines pass tables and records, not text strings. Built-in format conversions (JSON, CSV, YAML, TOML). Changes the agent-shell contract entirely. |
| Tool | Description |
|---|---|
| playwright | Cross-browser automation for Chromium, Firefox, and WebKit. playwright screenshot, playwright pdf from CLI. codegen generates scripts from interactions. |
| Tool | Description |
|---|---|
| age | Modern file encryption. No config, no keyring, no options bloat. echo "secret" | age -r <key> — composable by design. The antithesis of GPG's complexity. |
| Tool | Description |
|---|---|
| just | Command runner without build-system baggage. just --list --list-format json lets agents discover available project tasks. Simpler and more predictable than make. |
| Tool | Description |
|---|---|
| sd | Intuitive find & replace. Uses regex syntax directly — no sed escaping nightmares. Agents generate sd commands more reliably than sed. |
| Tool | Description |
|---|---|
| git | Distributed version control. --porcelain=v2 for machine-parseable status. --no-pager and GIT_TERMINAL_PROMPT=0 for non-interactive agent use. |
| Tool | Description |
|---|---|
| hyperfine | Command-line benchmarking. --export-json gives structured timing results. Agents can measure and compare performance with statistical rigor. |
| tokei | Fast code statistics. --output json gives language breakdown, line counts, and file counts. Agents can quickly assess codebase composition. |
| Tool | Description |
|---|---|
| ollama | Run LLMs locally. ollama run model "prompt" with --format json for structured output. OpenAI-compatible API. No API keys, no network required. |
- Clear, stable command surface
- Machine-friendly output (JSON when possible)
- Composable stdin/stdout behavior
- Explicit flags instead of interactive prompts
- Predictable failure modes
- Minimal hidden state
Good agent tools are not just powerful. They are legible, composable, and reliable under automation.
This list includes tools that provide atomic capabilities — document conversion, data transformation, search, remote access, media processing, environment setup.
It excludes:
- GUI-first tools with thin CLI wrappers
- Platform-specific utilities without cross-platform paths
- Abandoned or unmaintained projects
- CLIs that require interactive prompts to function
- Redundant tools when a clearly better option exists
- End-user products (we list building blocks, not finished applications)
See CONTRIBUTING.md for guidelines.