flowctl — командная строка агента

flowctl — маленькая утилита без зависимостей, которая идёт в комплекте со скиллом. Она умеет проверять флоу до сохранения, выкатывать изменения и читать логи прогонов — то, что агент делает чаще всего, — одним вызовом вместо ручных GraphQL-запросов.

Установка и окружение

Бинарники лежат в скилле: https://dynapi.ru/cms/agent-skill/cli/. Скачайте файл под свою систему — и это всё, утилите не нужна установка:

Система Файл
Linux flowctl-linux-amd64
Windows flowctl-windows-amd64.exe
macOS (Apple Silicon) flowctl-darwin-arm64
macOS (Intel) flowctl-darwin-amd64

Адрес и ключ задаются переменными окружения один раз за сессию.

Linux и macOS:

export DYNAPI_URL="https://dynapi.ru/cms/graphql"
export DYNAPI_APIKEY="dca_…"

Windows (PowerShell):

$env:DYNAPI_URL = "https://dynapi.ru/cms/graphql"
$env:DYNAPI_APIKEY = "dca_…"

Каждая сетевая команда подхватывает их сама; флаги --url и --key переопределяют окружение, если нужно работать с другим проектом.

Команды

Проверка

Команда Что делает
flowctl validate <flow.json> Локально: разбор документа флоу, инварианты графа, синтаксис Liquid в каждом узле. Ничего не отправляет на сервер.
flowctl dryrun <flow.json> Сухой прогон несохранённого флоу на сервере (dryRunFlow): печать шагов, сработавших условий и ошибок.
flowctl runs <slug> Здоровье живого флоу текстом: сколько раз сработал каждый узел, средняя длительность, последняя ошибка.

Публикация

Команда Что делает
flowctl save <flow.json> Сохранить флоу черновиком. Никогда не публикует.
flowctl publish <slug> Выкатить черновик флоу на основной адрес.
flowctl apply <export.json> Полный импорт экспорта: ручка + флоу + шаблоны + маршруты. --publish — сразу опубликовать.

Проверка после сохранения — на превью-хосте (https://preview-<поддомен>.dynapi.ru): он всегда исполняет черновики, посетители основного адреса их не видят.

Материал сайта

Команда Что делает
flowctl files push <путь…> Загрузить шаблоны и статику с диска (каталог — рекурсивно). --publish — сразу опубликовать.
flowctl route <list|save|publish|delete> Маршруты: список, черновик, публикация, удаление.
flowctl query <list|save|publish> Библиотека запросов.
flowctl subdomain [имя] [--set] Текущий поддомен и адреса; проверка занятости; --set — занять.

Контент

Команда Что делает
flowctl entity <types|schema|items|get|create|update|delete> Типы контента и записи без ручного GraphQL: список типов, схема, страницы записей, создание/правка/удаление.
flowctl media push <файл…> Загрузить файлы в медиатеку; печатает id и url каждого.
flowctl media refs <id> Где файл используется — проверка перед удалением.
flowctl secret <set|list|delete> Секреты проекта для secret://-ссылок во флоу. Значение подаётся на stdin, прочитать сохранённое нельзя.

Пример сессии

# окружение
export DYNAPI_URL="https://dynapi.ru/cms/graphql"
export DYNAPI_APIKEY="dca_…"

# проверить флоу локально и на сервере
flowctl validate katalog.json
flowctl dryrun katalog.json

# сохранить черновиком, проверить на превью, опубликовать
flowctl save katalog.json --slug katalog --route-path /katalog
curl -s https://preview-<поддомен>.dynapi.ru/katalog
flowctl publish katalog

# убедиться, что живой флоу здоров
flowctl runs katalog

Назад: Скилл dynapi-site-dev