OO

onlycli/onlycli

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

50 stars 8 forks Качество 49 Тренд 13MIT

Превратите любую спецификацию OpenAPI в нативный бинарный CLI. Нет MCP, нет раздувания, нет зависимости от времени выполнения, только CLI.

Обзор

Каждая конечная точка в API GitHub REST (1 107 операций) становится командой CLI с флагами, текстом справки и завершением оболочки. Или скачать предварительно построенный двоичный файл из выпусков. Вот так. Каждая операция в спецификации теперь является командой CLI. Предварительно созданные CLI из живых публичных спецификаций: Подробные записи: vs Stainless · vs Restish · vs curl/HTTPie Сервер GitHub MCP загружается в каждую подсказку. Три услуги потребляют на холостом ходу. В масштабе, то есть в чистой схеме над головой. 1. Создайте двоичный код один раз из спецификации 2. Агент вызывает ./cli - помогает обнаружить команды () 3. Агент запускает ./cli repos get -owner x -repo y и читает stdout Стабильные имена команд, предсказуемые флаги, структурированный вывод JSON. Ни MCP-сервера, ни впрыска схемы, ни управления соединением. Смотрите полный анализ затрат.

Обзор (машинный перевод)

** Превратите любую спецификацию OpenAPI в полный CLI. Одна команда. Один двоичный. Токенов в 35 раз меньше, чем MCP.

Каждая конечная точка в API GitHub REST (1 107 операций) становится командой CLI с флагами, текстом справки и завершением оболочки.

##Установка

Или скачать предварительно построенный двоичный файл из выпусков.

Быстрый старт

Вот так. Каждая операция в спецификации теперь является командой CLI.

Что вы получаете

Каждое сгенерированное судно CLI имеет:

Способность | Как [скрыто] [скрыто] Каждая конечная точка как команда | Сгруппированная по тегу, названная по операцииId | Все параметры как --flags | Путь, запрос, заголовок и запрос полей тела | | 7 выходных форматов | --format json\|yaml\|table\|csv\|pretty\|jsonl\|raw | Проекция поля --transform "#.name" через GJSON [править] [править] [править] --page-limit N Auto-detects Link, cursor, offset, page-number | [5] для SSE и NDJSON ответов --data @payload.json или --data @- --data @- [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]]] | Аутентификация OAuth2 | Поток устройств (интерактивный) + учетные данные клиентов (CI) | Многопрофильная конфигурация | config set staging.token xxx && --profile staging

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

OnlyCLI

Turn any OpenAPI spec into a complete CLI. One command. One binary. 35x fewer tokens than MCP.

Every endpoint in the GitHub REST API (1,107 operations) becomes a typed CLI command with flags, help text, and shell completion.

Install

go install github.com/onlycli/onlycli/cmd/onlycli@latest

Or download a pre-built binary from Releases.

Quick Start

# 1. Generate -- point at any OpenAPI 3.x spec (local file or URL)
onlycli generate \
  --spec https://raw.githubusercontent.com/swagger-api/swagger-petstore/master/src/main/resources/openapi.yaml \
  --name petstore --out ./petstore-cli

# 2. Build
cd petstore-cli && go mod tidy && go build -o petstore .

# 3. Use
./petstore pet find-pets-by-status --status available --format table
./petstore --help

That’s it. Every operation in the spec is now a CLI command.

What You Get

Every generated CLI ships with:

Capability How
Every endpoint as a command Grouped by tag, named by operationId
All parameters as --flags Path, query, header, and request body fields
7 output formats --format json|yaml|table|csv|pretty|jsonl|raw
Field projection --transform "#.name" via GJSON
Go template output --template '{{.login}}'
Auto-pagination --page-limit N auto-detects Link, cursor, offset, page-number
Streaming --stream for SSE and NDJSON responses
File input --data @payload.json or --data @- for stdin
OAuth2 authentication Device flow (interactive) + client credentials (CI)
Multi-profile config config set staging.token xxx && --profile staging
Retry with backoff --max-retries 3 for transient 429/5xx errors
Dry-run mode --dry-run prints the request without sending
HTTP/2 + gzip Modern transport, automatic content decompression
Shell completion completion bash|zsh|fish|powershell with enum hints
Cross-platform Linux, macOS, Windows; amd64, arm64

Examples

Pre-generated CLIs from live public specs:

Example Source Spec Groups Commands
petstore Swagger Petstore 3 19
github GitHub REST API 43 1,107

Regenerate them yourself:

Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →