dif CLI

CLI хранит фичефлаги и A/B-тесты Markdown-файлами в репозитории и ставит в Claude Code пять скиллов для их создания и разбора.

  • 114 ★ репозитория
  • Последний коммит
CLI

Расширенный доступ

Почему такой уровень

  • Команда `dif init` создает файлы и скиллы в проекте, а ключ облака лежит в конфиге и не должен попасть в публичный Git.
Все причины и проверки

dif-sh/dif

Установка

Работает в

В терминале, через 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Расширенный доступ441Звезды репозитория

Одиннадцать скиллов для Claude Code и Codex: аудит тестов, очистка git worktree, страницы планов, расшифровка записей экрана и вход через 1Password

СкиллШирокий доступ1,2 тыс.Звезды репозитория

CLI открывает локальный git diff в браузере как просмотр правок в пулл-реквесте GitHub; комментарии копируются промптом для агента

CLIРасширенный доступ3,3 тыс.Звезды репозитория

Набор slash-команд, скиллов и субагентов для Claude Code: ревью, тесты, безопасность, релизы, документация и синхронизация GitHub с Linear

ПлагинШирокий доступ1,3 тыс.Звезды репозитория

Рабочая конфигурация Claude Code: планировщик с ревью по этапам, субагенты и скиллы анализа, рефакторинга и синхронизации документации

СкиллРасширенный доступ914Звезды репозитория

Инструмент отладки для Claude Code: читает уже сохраненные логи сессий и показывает точные пути файлов, диффы, мышление модели и разбивку контекста по категория

CLIРасширенный доступ4 тыс.Звезды репозитория

Коротко о README

Флаг живет в репозитории как файл, проходит ревью и архивируется с решением внутри. Так он не гниет в панели управления, отвязанной от кода.

Бейдж для README

Сообщить о проблеме

Foxx AIdif
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.