Open Source · v0.1 on PyPI

The App Store
for AI Agents

Software users are shifting from humans to AI agents. The App Store was built for humans. CliHub is built for what comes next.

Try It Live → $  pip install clihub-ai
~/projects/my-app
# Agent discovers tools by searching the registry
$ clihub search "resize images batch"
2 tools found · sorted by relevance
imagemagick Create, edit, compose digital images ★ 4.7 58k
ffmpeg The Swiss Army knife of multimedia ★ 4.8 67k
 
# One command to install, agent-ready immediately
$ clihub install imagemagick
Installed imagemagick (v7.1.1) via brew
Permissions: local-read, local-write
 
# The protocol is --help. That's it.
$ magick --help
Usage: magick [options] input output
The Paradigm Shift

The user is no longer human.

GUI apps were built for people who click buttons. AI agents don't have eyes or hands — they have stdin, stdout, and --help.

🧑 GUI Apps 🔧 MCP 🤖 CLI (--help)
Agent-usable? No — needs a human Yes, with schema Yes, natively
Context cost N/A 8k–15k tokens / server 0 tokens until --help
Discovery Manual browsing Schema in every prompt On-demand: clihub search
LLM familiarity Can’t use at all Needs schema learning Trained on billions of examples
Composability Copy-paste between apps Single-tool calls Unix pipes: curl | jq | csv
Error handling Dialog boxes Custom per server Exit codes + stderr
Automation Fragile screen scraping Build & maintain server Already on PATH
Structured output Screenshots JSON-RPC responses --json on every command

The App Store gave humans an app for everything. CliHub gives agents a tool for everything. GUI apps need screens, clicks, and humans in the loop. CLI tools need nothing but a shell — and LLMs were trained on billions of shell commands. They already know git, curl, jq. No schema. No learning curve. The software paradigm has shifted.

For Agents & Humans

Search. Install. Explore. Go.

Seven commands. That's the entire CLI. Both AI agents and humans are first-class citizens.

clihub --tour
# Search with natural language
$ clihub search "convert PDF to markdown"
 
1 tool found
pandoc Universal document converter ★ 4.7 41k
 
# Agents use --json for structured output
$ clihub search "json processing" --json
[{"name":"jq","rating":4.9,"install":"brew"}, ...]
# Auto-detects the right package manager
$ clihub install pandoc
 
Installed pandoc (v3.6.1) via brew
Permissions: local-read, local-write
 
# Immediately available on PATH
$ pandoc --help
pandoc [OPTIONS] [FILES]
Convert between document formats...
# Get full metadata + --help output for any tool
$ clihub info jq
 
┌──────────────────── jq ────────────────────┐
│ jq v1.7.1 │
│ Lightweight command-line JSON processor │
│ Install: brew install jq
│ When to use: Parse, filter, or │
│ transform JSON data │
└───────────────────────────────────────────┘
# Browse the full registry by category
$ clihub list --category data
 
data (6 tools)
jq Lightweight JSON processor ★ 4.9
yq YAML/JSON/XML/CSV processor ★ 4.7
csvkit CSV toolkit ★ 4.5
xsv Fast CSV toolkit (Rust) ★ 4.6
dasel Multi-format data query ★ 4.4
gron Make JSON greppable ★ 4.5
 
# Or check what's already on your system
$ clihub list --installed
Search tools with natural language. Fuzzy matches against name, description, and tags. Use --json for structured output.

The protocol is --help.
That's it.

No JSON-RPC. No schema injection. No server to maintain. A bundled registry, --json on every command, and exit codes that work.

{ "name": "jq", "version": "1.7.1", "description": "Lightweight command-line JSON processor", "author": "Stephen Dolan", "homepage": "https://jqlang.github.io/jq/", "categories": ["data", "json"], "install": { "method": "brew", "package": "jq", "binary_name": "jq" }, "agent_hints": { "when_to_use": "Parse, filter, or transform JSON data", "example_usage": [ "cat data.json | jq '.users[]'", "jq -r '.items[].name' file.json" ] }, "rating": 4.9, "verified": true }
$ clihub --json search "json processing" [ { "name": "jq", "version": "1.7.1", "description": "Lightweight command-line JSON processor...", "install_method": "brew", "rating": 4.9, "installed": true }, { "name": "gron", "version": "0.7.1", "description": "Make JSON greppable...", "install_method": "brew", "rating": 4.5, "installed": false } ] # Exit code 0 = results found # Exit code 2 = no results
Marketplace

100+ tools. All agent-ready.

Battle-tested CLI tools from the open-source ecosystem. Every tool verified, rated, and self-documenting via --help.

Add Your Tool

Any CLI tool. Three commands.

Already have a CLI tool on your system? Convert it to a CliHub registry entry automatically.

1

Convert — auto-detect metadata

Point clihub convert at any binary on your PATH. It detects version, description, author, license, and install method automatically.

$ clihub convert jq
Detected jq v1.7.1 (brew)
Generated clihub.yaml
2

Edit — fill in agent hints

Open clihub.yaml and fill in the TODOs: categories, tags, and agent_hints so AI agents know when and how to use your tool.

categories: ["data", "json"]
tags: ["json", "filter", "transform"]
agent_hints:
  when_to_use: "Parse, filter, or transform JSON data"
  example_usage:
    - "cat data.json | jq '.users[]'"
3

Submit — validate and open a PR

Validates your manifest (name format, description length, required fields) and outputs PR-ready JSON. Then open a pull request.

$ clihub submit clihub.yaml
Name format valid
Description: 10-200 chars
Categories provided
No duplicate in registry
 
JSON ready. Open a PR to clihub-ai/clihub
Already have a tool on GitHub? You can also edit src/clihub/data/registry.json directly and submit a PR. Each entry is a JSON object with name, description, install method, and agent_hints. See the contributing guide for details.

Humans got the App Store.
Agents get CliHub.

100+ tools. Zero tokens wasted. Self-documenting. The software user has changed. The store should too.

$ pip install clihub-ai click to copy
or: pipx install clihub-ai · Requires Python 3.10+
Star on GitHub Read the Docs →