Skip to content
ZiYang-xiePublic

About

The App Store for AI Agents — discover, install, and manage 100+ CLI tools

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

34 Commits

Folders and files

Repository files navigation


clihub
App Store is for humans. CliHub is for agents.
Discover, install, and manage 100+ CLI tools. Built for AI agents.

Website

PyPI License Python 3.10+ Tests


💡 The Insight

App stores were built for humans. Buttons, screenshots, star ratings — everything optimized for eyes and thumbs. That made sense when the user was a person browsing on a screen.

But the user is changing. AI agents are becoming the primary way software gets discovered, installed, and orchestrated. And agents don't browse — they query. They don't click — they pipe. They don't read screenshots — they read structured metadata.

The App Store needed a new interface. Not a GUI — a CLI. Not for humans — for agents.

That's CliHub. The App Store redesigned from the ground up for a world where the user is an LLM.

🧑 App Store 🔌 MCP 🤖 CliHub
👤 Built for Humans browsing a GUI Agents via JSON-RPC AI agents calling a CLI
🔍 Discovery Screenshots, ratings, reviews Schemas dumped into every prompt clihub list --json — on demand
📦 Install Click a button Configure server + restart clihub install jq — one command
🧠 Intelligence Store ranks and recommends Agent reads schema Agent reads catalog and decides
💸 Context cost N/A 8,000+ tokens per server 0 tokens until --help
🔗 Composability Apps are siloed One tool per call Unix pipes: curl | jq | grep
🌍 Ecosystem Walled garden Hundreds of servers Open — thousands of tools, 50 years

💡 LLMs are already trained on jq, ffmpeg, curl, and grep. They don't need a new schema — they need a way to find and install the right tool. That's all CliHub does.


⚡ Get Started

pip install clihub-ai

For humans — search, install, use:

clihub search "resize images"      # 🔍 fuzzy search across 104 tools
clihub install imagemagick          # 📦 auto-detects brew/pip/npm/cargo
clihub info jq                      # 📖 metadata, examples, and --help output
clihub list                         # 📋 browse all categories
clihub doctor                       # 🩺 check available package managers

For agents — add --json to any command:

clihub list --json                  # full catalog with descriptions + agent_hints
clihub install jq --json            # {"status": "success", "message": "Installed jq@1.7.1 via brew"}
clihub info ruff --json             # full metadata, install method, example commands

✅ Every response is valid JSON   ✅ Errors go to stderr   ✅ Exit codes: 0 success, 1 error, 2 not found


🧩 Agent Integration

The design is simple: CliHub is a dumb pipe. The agent is the brain.

An agent doesn't need a search algorithm — it is one. CliHub gives it a structured catalog. The agent reads it, picks the right tool, and installs it:

# 📥 Step 1: Read the catalog (87KB — fits in any context window)
$ clihub list --json
[
  {
    "name": "jq",
    "description": "Lightweight command-line JSON processor.",
    "categories": ["data", "json"],
    "agent_hints": {
      "when_to_use": "Parse, filter, or transform JSON data",
      "example_usage": ["jq '.users[] | select(.age > 30)' data.json"]
    },
    "install": {"method": "brew", "package": "jq"}
  },
  ... 103 more tools
]

# 📦 Step 2: Install what it needs
$ clihub install jq --json
{"status": "success", "message": "Installed jq@1.7.1 via brew"}

# 🚀 Step 3: Use it
$ jq '.users[] | .name' data.json

That's the entire integration. Two calls. Done.

🔗 Composable with anything

# Find all installed Python tools
clihub list --installed --json | jq '[.[] | select(.categories[] == "python")]'

# Get example commands for a tool
clihub info ffmpeg --json | jq '.agent_hints.example_usage'

# Check which package managers are missing
clihub doctor --json | jq '[.[] | select(.ok == false) | .check]'

📚 All Commands

Command What it Does
clihub list [--json] 📋 Browse the full tool catalog (104 tools with metadata)
clihub search <query> [--json] 🔍 Fuzzy-search tools by keyword
clihub install <tool> [--json] 📦 Install via auto-detected package manager
clihub info <tool> [--json] 📖 Show metadata, agent hints, and --help output
clihub doctor [--json] 🩺 Check system readiness and available package managers
clihub convert <tool> [--json] ⚙️ Auto-generate a manifest from an installed tool
clihub submit <file> [--json] ✅ Validate a manifest for registry submission

📦 Tool Catalog

104 tools across 17 categories — every one has agent_hints with natural-language descriptions and example commands.

Category Tools Use Case
📊 Data jq, yq, csvkit, xsv, dasel, gron, fx, jless Parse JSON, transform YAML, query CSV
🗄️ Database mycli, pgcli, litecli, iredis, usql MySQL, Postgres, Redis, SQLite clients
🔍 Search & Files ripgrep, fd, fzf, bat, eza, lsd, broot, ranger, nnn Find files, search code, browse directories
🌐 Network httpie, curl, wget, aria2, ngrok, mosh, nmap HTTP requests, downloads, tunneling, scanning
🐍 Python ruff, black, mypy, uv, pipx, poetry Lint, format, type-check, manage packages
💛 JavaScript prettier, eslint, tsx, npm-check-updates Format, lint, run TypeScript, update deps
🛠️ Dev Tools gh, lazygit, gitui, tokei, hyperfine, just, grex, shellcheck Git workflows, benchmarks, task running
🐳 Docker & Cloud lazydocker, k9s, dive, act, awscli, terraform Containers, Kubernetes, CI, infrastructure
🎬 Media ffmpeg, imagemagick, yt-dlp, svgo, gifsicle, asciinema Video, images, downloads, GIFs, recordings
📄 Documents pandoc, glow Convert Markdown/HTML/PDF, render in terminal
✂️ Text sd, choose, sad Find-and-replace, cut columns, batch edits
✏️ Editors neovim, micro, helix Terminal-based text editing
⏱️ Productivity tmux, tldr, zoxide, starship, taskwarrior, watson, nb Sessions, navigation, tasks, time tracking
🚀 Release semantic-release, release-it, commitizen, cookiecutter Versioning, changelogs, project scaffolding
🔒 Security openssl, age, mkcert TLS, encryption, local certificates
💻 System htop, btop, procs, bandwhich, pv, ncdu, dust Processes, bandwidth, disk usage, pipelines
🎉 Fun lolcat, fortune, cmatrix Rainbow text, quotes, Matrix rain

➕ Add Your Tool

Got a CLI tool? Add it to CliHub in 30 seconds:

clihub convert mytool           # ⚙️ auto-detects version, description, license, homepage
vim clihub.yaml                 # ✏️ fill in categories, tags, agent_hints
clihub submit clihub.yaml       # ✅ validates and prints PR-ready JSON

convert pulls metadata from --help, --version, and package managers (brew, pip, npm, cargo). You fill in what makes your tool discoverable to agents — categories, tags, and agent_hints.when_to_use:

name: mytool
version: "2.1.0"
description: "Do something useful from the terminal"
categories: [utilities]
install:
  method: brew
  package: mytool
agent_hints:
  when_to_use: "When you need to do something useful quickly"
  example_usage:
    - "mytool input.txt --output result.json"

Then open a PR. 🎉


🧑‍💻 Development

git clone https://github.com/ZiYang-xie/clihub.git
cd clihub
pip install -e ".[dev]"
pytest                      # unit tests
ruff check src/ tests/      # lint

🤝 Contributing

The easiest way to contribute: clihub convert <tool>, fill in the TODOs, open a PR.

📄 License

MIT © Ziyang Xie


⭐ Star History

If CliHub helps your agent get things done, give it a star — it helps others find it too.

Star History Chart


clihub.net · PyPI · Issues

About

The App Store for AI Agents — discover, install, and manage 100+ CLI tools

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages