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