{"openapi":"3.1.0","info":{"title":"whichcli API","version":"1.0.0","description":"AI agent registry for curated CLI tools, skills, bundles, and install commands.","contact":{"url":"https://github.com/sangjinsu/whichcli"},"license":{"name":"MIT"}},"servers":[{"url":"https://whichcli.dev/api/v1"}],"paths":{"/tools":{"get":{"operationId":"searchTools","summary":"Search and list CLI tools and skills","description":"Search by query (hybrid keyword + semantic) or list all tools with filters. Returns paginated results.","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"Search query (hybrid keyword + semantic search)"},{"name":"type","in":"query","schema":{"type":"string","enum":["cli","skill"]},"description":"Filter by tool type"},{"name":"category","in":"query","schema":{"type":"string"},"description":"Filter by category (search, git, devops, file, shell, monitor, network, ai, database, editor, security, container, testing, build, productivity)"},{"name":"pm","in":"query","schema":{"type":"string"},"description":"Filter by package manager (brew, apt, npm, cargo, go-install, pip, winget, npx-skills)"},{"name":"os","in":"query","schema":{"type":"string","enum":["mac","linux","windows"]},"description":"Filter by supported OS"},{"name":"ai","in":"query","schema":{"type":"string","enum":["true"]},"description":"Filter AI-agent-compatible tools only"},{"name":"sort","in":"query","schema":{"type":"string","enum":["stars","recent","name"],"default":"stars"},"description":"Sort order"},{"name":"limit","in":"query","schema":{"type":"integer","default":20,"maximum":50},"description":"Results per page"},{"name":"offset","in":"query","schema":{"type":"integer","default":0},"description":"Pagination offset"}],"responses":{"200":{"description":"Tool list","content":{"application/json":{"schema":{"type":"object","properties":{"tools":{"type":"array","items":{"$ref":"#/components/schemas/ToolSummary"}},"total":{"type":"integer"},"query":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/tools/{slug}":{"get":{"operationId":"getTool","summary":"Get tool details with install commands","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"Tool slug (e.g. ripgrep, fzf)"}],"responses":{"200":{"description":"Tool detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolDetail"}}}},"404":{"description":"Tool not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/bundles":{"get":{"operationId":"listBundles","summary":"List all tool bundles","description":"Returns CLI tool bundles and skill bundles with their tool lists.","responses":{"200":{"description":"Bundle list","content":{"application/json":{"schema":{"type":"object","properties":{"bundles":{"type":"array","items":{"$ref":"#/components/schemas/BundleSummary"}},"total":{"type":"integer"}}}}}}}}},"/bundles/{slug}":{"get":{"operationId":"getBundle","summary":"Get bundle details with full tool list","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"Bundle slug"}],"responses":{"200":{"description":"Bundle detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleDetail"}}}},"404":{"description":"Bundle not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/bundles/{slug}/install":{"get":{"operationId":"getBundleInstallCommand","summary":"Get install command for a bundle","description":"Returns a single install command string for the specified package manager.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"Bundle slug"},{"name":"pm","in":"query","schema":{"type":"string","default":"brew"},"description":"Package manager (brew, apt, npm, cargo, go-install, pip, npx-skills)"}],"responses":{"200":{"description":"Install command","content":{"application/json":{"schema":{"type":"object","properties":{"bundle":{"type":"string"},"packageManager":{"type":"string"},"command":{"type":"string","description":"Ready-to-run install command (e.g. 'brew install ripgrep fd bat')"},"toolCount":{"type":"integer"},"missing":{"type":"array","items":{"type":"string"},"description":"Tools not available via this package manager"}}}}}},"404":{"description":"Bundle not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"ToolSummary":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string"},"descriptionEn":{"type":"string"},"category":{"type":"string"},"type":{"type":"string","enum":["cli","skill"]},"githubUrl":{"type":"string","format":"uri"},"githubStars":{"type":"integer"},"tags":{"type":"array","items":{"type":"string"}},"aiAgentCompatible":{"type":"boolean"}}},"ToolDetail":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string"},"descriptionEn":{"type":"string"},"category":{"type":"string"},"type":{"type":"string","enum":["cli","skill"]},"githubUrl":{"type":"string","format":"uri"},"githubStars":{"type":"integer"},"tags":{"type":"array","items":{"type":"string"}},"aliases":{"type":"array","items":{"type":"string"}},"aiAgentCompatible":{"type":"boolean"},"installCommands":{"type":"array","items":{"type":"object","properties":{"packageManager":{"type":"string"},"os":{"type":"string"},"command":{"type":"string"}}}}}},"BundleSummary":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string"},"descriptionEn":{"type":"string"},"type":{"type":"string","enum":["cli","skill"]},"targetWorkflow":{"type":"string"},"toolCount":{"type":"integer"},"tools":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"type":{"type":"string"}}}}}},"BundleDetail":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string"},"descriptionEn":{"type":"string"},"type":{"type":"string","enum":["cli","skill"]},"targetWorkflow":{"type":"string"},"tools":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string"},"descriptionEn":{"type":"string"},"category":{"type":"string"},"type":{"type":"string","enum":["cli","skill"]},"githubStars":{"type":"integer"},"aiAgentCompatible":{"type":"boolean"},"installCommands":{"type":"array","items":{"type":"object","properties":{"packageManager":{"type":"string"},"os":{"type":"string"},"command":{"type":"string"}}}}}}}}},"Error":{"type":"object","properties":{"error":{"type":"string"}}}}}}