@flownix/cli
v0.1.1
Published
Установка и настройка Flownix: скиллы, MCP-сервер и хук репортера токенов
Maintainers
Readme
@flownix/cli
Установка и настройка Flownix для агентов: скиллы, MCP-сервер и хук репортера токенов — одной командой.
npx @flownix/cliВизард из трёх шагов:
- Скиллы — находит установленных агентов (Claude Code, Cursor, Codex, OpenCode,
Windsurf, Gemini CLI, Copilot, Droid, Cline, Kilo, Roo, Qwen), спрашивает, куда ставить,
и раскладывает
<каталог>/<slug>/SKILL.md. Токен для этого шага не нужен. - MCP-сервер — спрашивает токен доступа, проверяет его на сервере и только потом пишет конфиг. Пустой ответ — законный выбор «пока только скиллы».
- Хук репортера токенов — необязательная телеметрия: обработчики
StopиSessionEndвsettings.jsonClaude Code.
Токен берётся в веб-приложении: Настройки → MCP → Создать токен доступа.
Отдельные команды
npx @flownix/cli skills # только скиллы, в найденных агентов
npx @flownix/cli skills --agent claude-code --scope both
npx @flownix/cli mcp --token aiflow_pat_... # только MCP
npx @flownix/cli hook install --token aiflow_pat_...
npx @flownix/cli hook check # установлен ли репортер
npx @flownix/cli hook uninstall
npx @flownix/cli status # что уже стоит на машине| Флаг | Смысл |
|---|---|
| --token <токен> | токен доступа; читается и из FLOWNIX_TOKEN |
| --agent <id,…> | конкретные агенты вместо найденных |
| --scope <s> | скиллы: global (по умолчанию), project, both; хук: user, project |
| --dir <путь> | каталог настроек Claude Code; сильнее CLAUDE_CONFIG_DIR |
| --offline | не спрашивать сервер, поставить копию из пакета |
| --dry-run | показать, что будет сделано, ничего не записывая |
| --yes, -y | без вопросов: найденные агенты, глобальная установка |
| --no-animation | без заставки и анимаций; то же делают NO_COLOR, CI и FLOWNIX_NO_ANIMATION |
Как это выглядит
Вопросы — на @clack/prompts: стрелки и пробел в списке агентов, маска на вводе токена,
спиннер на время сетевых вызовов. Кадры спиннера и заставка — знак Flownix из
бренд-системы: янтарный квадрат течёт по линии в опору.
Вся анимация выключается сама там, где её некому смотреть: не TTY, CI, NO_COLOR,
FLOWNIX_NO_ANIMATION, флаг --no-animation. В этом режиме команды печатают те же строки
обычным текстом, поэтому пакет одинаково пригоден и для пайпа, и для CI.
Что пакет делает с вашими файлами
- Скиллы пишутся только в каталоги, которые вы отметили. Удаляются из них ровно те
каталоги, слаг которых сервер объявил отставленным (переименованные
ai-flow-*) — иначе агент читал бы устаревшую инструкцию, ничем себя не выдав. Чужие скиллы не трогаются. - Конфиг MCP пишется только клиентам с подтверждённым форматом: Claude Code (через
claude mcp add, если CLI на месте) и Cursor. Остальным печатается готовый фрагмент — догадка о чужом формате ломает рабочий конфиг молча. settings.jsonправится разбором, а не текстом: наш обработчик дописывается к чужим спискам,statusLineне трогается вовсе, прежняя версия файла остаётся рядом как.bak.- Любой файл, который не разбирается как JSON, остаётся нетронутым, и пакет говорит об этом.
Источник скиллов
Сначала сервер (GET /api/skills, без токена), при недоступности — копия, вшитая в пакет,
и об этом говорится прямо. Версия пакета ничего не говорит о версии инструкций: скиллы
правятся вместе с продуктом, поэтому держать их в актуальном состоянии — дело скилла
/sync-skills, а не переустановки пакета.
Разработка
npm run bundle # обновить снимок скиллов из pkg/skills/data (запускается и на prepack)
npm test # node --testПубликация — одной командой на каждый вид изменения; каждая поднимает версию, создаёт
коммит и тег cli-vX.Y.Z (префикс свой, чтобы не сталкиваться с тегами продукта) и
публикует:
npm run release:patch # 0.1.0 → 0.1.1
npm run release:minor # 0.1.0 → 0.2.0
npm run release:major # 0.1.0 → 1.0.0Перед подъёмом версии прогоняются тесты (preversion), снимок скиллов пересобирается на
prepack. Если у аккаунта npm включена двухфакторка, код передаётся публикующему шагу:
NPM_CONFIG_OTP=123456 npm run release:patch # код уходит и в publish
npm run release:publish -- --otp=123456 # если версия уже поднятаПакет живёт в монорепозитории Flownix (cli/) и публикуется вручную.
