dif CLI
CLI хранит фичефлаги и A/B-тесты Markdown-файлами в репозитории и ставит в Claude Code пять скиллов для их создания и разбора.
- 114 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Команда `dif init` создает файлы и скиллы в проекте, а ключ облака лежит в конфиге и не должен попасть в публичный Git.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/difОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Команда `dif init` создает файлы и скиллы в проекте, а ключ облака лежит в конфиге и не должен попасть в публичный Git.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
`dif` превращает каждый флаг и эксперимент в один Markdown-файл рядом с кодом, который он меняет. Файл проходит ревью в pull request, а история правок совпадает с историей Git. Команда `dif init` создает структуру `dif/`, конфиг и файлы для агентов, `dif new` набрасывает эксперимент, `dif validate` проверяет схему, владельцев и ссылки, `dif build` собирает типизированный TypeScript-клиент и `context.json`. Вместе с CLI в `.claude/skills/` ставятся пять скиллов: `dif-generate-surfaces`, `dif-author-experiment`, `dif-conclude-experiment`, `dif-triage-experiments` и `dif-connect-cloud`. Они ведут цикл обычными словами, пока агент запускает команды. В коде флаг читают через `dif()` из `@dif.sh/sdk`. Облако dif.sh Cloud подключается по желанию и дает аналитику.
Для кого. Командам на Next.js, React или SvelteKit, которым нужны флаги и A/B-тесты без панели управления и отдельной подписки.
Подходит, если
- Новую кнопку хотят показать половине мобильных пользователей.
- Эксперимент завершили, и нужно записать решение и архивировать файл.
- Агент должен разобрать все активные эксперименты и по одному PR на каждый поднять, выключить или закрыть.
- Приложение размечают поверхностями экспериментов по маршрутам и страницам.
- Флаги проверяются в CI командой `dif validate`.
Не подходит, если
- Нужна панель с аналитикой без облака: результаты и итоги считает dif.sh Cloud.
- Среда не JavaScript или TypeScript: клиент собирается в TypeScript.
- Хотят CommonJS: пакеты `@dif.sh/sdk`, `@dif.sh/react` и `@dif.sh/svelte` работают только как ESM.
Пример запроса к агенту
Добавь флаг для нового чекаута только для мобильных пользователей и проверь его командой `dif validate`.Ограничения
Результаты экспериментов и итоговые решения считает облако dif.sh Cloud, поэтому скиллы `dif-conclude-experiment` и `dif-triage-experiments` без него неполны. Подключение идет по ключу `dif_pk_live_...`, который нельзя коммитить в публичный репозиторий. Каталог `dif/generated/` не попадает в Git, и в CI перед сборкой приложения нужно выполнять `dif build`, например через `"prebuild": "dif build"`. Клиент и SDK написаны на TypeScript и распространяются только как ESM.
Как отключить. Удалите CLI командой `npm uninstall -g @dif.sh/cli`, затем каталоги `dif/` и `.claude/skills/dif-*` из проектов. Если подключали облако, отзовите ключ в dif.sh Cloud.
Частые вопросы
Нужно ли облако?
Нет, CLI и файлы работают без регистрации. Облако dif.sh Cloud подключается командой `dif connect --key`, оно нужно для аналитики и для скиллов, которые читают результаты.
Что ставит `dif init`?
Структуру `dif/`, конфиг и файлы для агентов, в том числе скиллы Claude Code в `.claude/skills/`, а также `AGENTS.md` и `CLAUDE.md`.
Как поставить без Node.js?
Через Homebrew: `brew install dif-sh/tap/dif`, либо одним бинарником: `curl -fsSL https://dif.sh/install.sh | sh`.
Как выбрать вариант в коде?
Импортируйте сгенерированный клиент и вызовите `dif("home-hero-cta", {...})` с функциями для контроля и вариантов, результат выводится вызовом `cta()`.
Какие команды есть у `dif`?
Восемь: `dif init`, `connect`, `new`, `validate`, `build`, `qa`, `conclude` и `scaffold-audiences`. Команда `dif qa` показывает цепочку назначения варианта для пользователя.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыАудитор-черный ящик запускает готовый CLI, ловит побочные записи на диск и отдает агентам индекс команд с оценкой готовности.
Одиннадцать скиллов для Claude Code и Codex: аудит тестов, очистка git worktree, страницы планов, расшифровка записей экрана и вход через 1Password
CLI открывает локальный git diff в браузере как просмотр правок в пулл-реквесте GitHub; комментарии копируются промптом для агента
Набор slash-команд, скиллов и субагентов для Claude Code: ревью, тесты, безопасность, релизы, документация и синхронизация GitHub с Linear
Рабочая конфигурация Claude Code: планировщик с ревью по этапам, субагенты и скиллы анализа, рефакторинга и синхронизации документации
Инструмент отладки для Claude Code: читает уже сохраненные логи сессий и показывает точные пути файлов, диффы, мышление модели и разбивку контекста по категория
Коротко о README
Флаг живет в репозитории как файл, проходит ревью и архивируется с решением внутри. Так он не гниет в панели управления, отвязанной от кода.