
onlycli/onlycli
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Превратите любую спецификацию 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:
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →