> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbitflare.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI

> Используйте OrbitFlare CLI в shell-скриптах, CI/CD и автоматизации с агентами. У каждой команды есть --json для машиночитаемого вывода.

[OrbitFlare CLI](/ru/cli) — один бинарник для RPC-запросов, стриминга gRPC и Jetstream с YAML, шаблонов проектов и управления аккаунтом. Для агентов и автоматизации ключевое — `--json`: каждая команда отдаёт структурированный вывод для `jq`, пайпов, GitHub Actions и cron.

<Tip>
  Для интерактивных AI-потоков в Claude Code, Cursor и других MCP-хостах удобнее [MCP-сервер](/ru/agents/mcp). CLI лучше для shell-автоматизации с детерминированными кодами выхода и парсируемым выводом.
</Tip>

## Установка

```bash theme={null}
cargo install orbitflare           # requires Rust 1.85+
orbitflare --version
```

Полная справка — в [документации CLI](/ru/cli): альтернативная установка, методы auth и все команды.

## Headless-настройка

В неинтерактивных средах (CI, контейнеры, скрипты) аутентификация напрямую API-ключом, без браузера:

```bash theme={null}
orbitflare auth login --x-orbit-key "$ORBITFLARE_API_KEY"
orbitflare config set rpc.url "$ORBITFLARE_RPC_URL"
orbitflare config set grpc.url "$ORBITFLARE_GRPC_URL"
orbitflare config set jetstream.url "$ORBITFLARE_JETSTREAM_URL"
orbitflare ping --json
```

Учётные данные по умолчанию хранятся в связке ключей ОС. В контейнере без keychain задайте `ORBITFLARE_CONFIG_DIR` на доступный для записи путь — CLI упадёт на файловый конфиг.

## JSON-вывод

У любой команды есть `--json`:

```bash theme={null}
$ orbitflare rpc slot --json
{"slot": 312456789}

$ orbitflare rpc balance Gh9ZwEm... --json
{"address": "Gh9ZwEm...", "lamports": 12500000000, "sol": 12.5}
```

Сборка однострочников с `jq`:

```bash theme={null}
# Print just the slot
orbitflare rpc slot --json | jq -r '.slot'

# Alert if balance drops below 1 SOL
SOL=$(orbitflare rpc balance "$WALLET" --json | jq -r '.sol')
if (( $(echo "$SOL < 1" | bc -l) )); then
  echo "Balance low: $SOL SOL"
  exit 1
fi
```

## Стриминг с YAML-конфигами

CLI стримит Jetstream и Yellowstone gRPC по декларативному YAML без кода:

```yaml theme={null}
# pump-trades.yaml
transactions:
  pump_trades:
    account_include:
      - "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"

reconnect:
  initial_delay_ms: 100
  max_delay_ms: 30000
  multiplier: 2.0
  max_retries: 0
```

Запуск (Jetstream или Yellowstone gRPC):

```bash theme={null}
orbitflare jet --config pump-trades.yaml | your-indexer
orbitflare grpc --config pump-trades.yaml | your-indexer
```

<Tip>
  Пусть MCP-агент сгенерирует YAML: инструмент [MCP-сервера](/ru/agents/mcp) `subscribeTransactions` отдаёт готовый конфиг для CLI из текстового описания.
</Tip>

## Паттерны скриптов

### Хвост недавних подписей и обработка

```bash theme={null}
orbitflare rpc history "$WALLET" --limit 50 --json \
  | jq -r '.[].signature' \
  | while read sig; do
      orbitflare rpc tx "$sig" --json > "txs/$sig.json"
    done
```

### CI health check

```yaml theme={null}
# .github/workflows/rpc-health.yml
name: OrbitFlare RPC health
on:
  schedule:
    - cron: '*/15 * * * *'
jobs:
  ping:
    runs-on: ubuntu-latest
    steps:
      - uses: actions-rs/toolchain@v1
        with: { toolchain: stable }
      - run: cargo install orbitflare
      - run: orbitflare auth login --x-orbit-key ${{ secrets.ORBITFLARE_API_KEY }}
      - run: orbitflare config set rpc.url ${{ secrets.ORBITFLARE_RPC_URL }}
      - run: orbitflare ping --json
```

### Шаблон проекта через агента

В CLI есть шаблоны типовых проектов Solana. Агент может показать список и развернуть за один проход:

```bash theme={null}
orbitflare template --list --json
orbitflare template --install solana-copy-trader --dir ./bot
```

## Профили

Переключение между аккаунтами или окружениями без повторного логина:

```bash theme={null}
orbitflare auth login --profile prod --x-orbit-key "$PROD_KEY"
orbitflare auth login --profile dev  --x-orbit-key "$DEV_KEY"

orbitflare auth switch --profile prod
orbitflare auth status --json
```

## Источники

* CLI: [github.com/orbitflare/orbit-cli](https://github.com/orbitflare/orbit-cli)
* Полная справка: [CLI documentation](/ru/cli)
