Публичная галерея и CLI для просмотра, установки и публикации анимированных пиксельных питомцев, которые плавают поверх рабочего стола и реагируют на Codex и другие coding agents.
dif-sh/dif
Feature flags и A/B-тесты хранятся в репозитории как Markdown-файлы, а CLI компилирует их в типизированный TypeScript-клиент.
Open source альтернатива:LaunchDarkly
Optimizely
- Звёзды
- 129
- Форки
- 0
- Открытые issues
- 1
- Последний коммит
- 4 дня назад
Что это?
dif хранит каждый feature flag и эксперимент в отдельном Markdown-файле с YAML frontmatter. Файлы коммитятся в git рядом с кодом, на который влияют. CLI `dif` проверяет их (веса, ссылки на поверхности, атрибуты аудитории и конфликты экспериментов), а затем компилирует активные файлы в типизированный TypeScript-клиент и файл context.json. Runtime SDK не имеет зависимостей и использует детерминированное распределение по вариантам: пользователь получает один и тот же вариант при загрузке разных страниц и на разных устройствах, без базы данных для назначений и сетевых запросов.
Проект предназначен для Next.js, React и SvelteKit; для каждого фреймворка есть отдельный npm-пакет. Флаги и эксперименты используют общий формат файлов: флаг — это эксперимент, доля которого постепенно увеличивается до 100%. CLI позволяет создать заготовку проекта, подготовить эксперименты, проверить назначение варианта для пользователя командой `dif qa` и зафиксировать выводы, которые помогут при проведении следующих экспериментов на той же поверхности.
Аналитика необязательна. Без publishable key флаги вычисляются локально, и данные никуда не отправляются. Подключение dif.sh Cloud добавляет приём событий и статистический анализ, а пользовательские обработчики событий могут пересылать данные в любой пайплайн. В репозитории также есть навыки для Claude Code и файлы с инструкциями для агентов, помогающие создавать эксперименты и подводить их итоги.
Ключевые возможности
- 01Флаги и эксперименты хранятся в Markdown-файлах с frontmatter, которые проходят ревью в pull request.
- 02`dif validate` проверяет веса, ссылки на поверхности, аудитории и конфликты экспериментов.
- 03`dif build` генерирует типизированный TypeScript-клиент и context.json.
- 04Детерминированное распределение по вариантам работает одинаково в Rust CLI и TypeScript SDK.
- 05`dif qa` показывает, какой вариант получит пользователь и почему.
- 06Необязательное подключение к dif.sh Cloud для приёма событий и анализа.
Сценарии использования
- Запуск A/B-тестов на сайте Next.js или SvelteKit без размещённой в облаке панели управления флагами.
- Хранение истории флагов и выводов по экспериментам в git рядом с кодом.
- Возможность для AI-агентов-разработчиков создавать и отключать флаги, редактируя файлы в репозитории.
Быстрый старт
- 1
Установите dif CLI с помощью npm (требуется Node 20 или новее).
npm install -g @dif.sh/cli - 2
Создайте в репозитории каталог dif/, конфигурацию и файлы агента.
dif init - 3
Создайте файл нового experiment, откройте его, задайте status: active и выполните dif build.
dif new home-hero-cta --surface home - 4
Скомпилируйте active experiment в типизированный клиент TypeScript.
dif build
Что важно знать
- Для установки через npm требуется Node 20 или новее; также доступен автономный бинарный файл.
- Сгенерированный клиент добавлен в gitignore, поэтому перед сборкой приложения CI и среда развертывания должны выполнить dif build.
- Пакеты npm SDK поддерживают только ESM и не имеют точки входа require().
- Cloud analytics — необязательная функция, для которой нужен publishable key от dif.sh Cloud.
Темы
Частые вопросы
- Что такое dif?
- Feature flags и A/B-тесты хранятся в репозитории как Markdown-файлы, а CLI компилирует их в типизированный TypeScript-клиент. dif хранит каждый feature flag и эксперимент в отдельном Markdown-файле с YAML frontmatter. Файлы коммитятся в git рядом с кодом, на который влияют. CLI `dif` проверяет их (веса, ссылки на поверхности, атрибуты аудитории и конфликты экспериментов), а затем компилирует активные файлы в типизированный TypeScript-клиент и файл context.json. Runtime SDK не имеет зависимостей и использует детерминированное распределение по вариантам: пользователь получает один и тот же вариант при загрузке разных страниц и на разных устройствах, без базы данных для назначений и сетевых запросов.
- dif можно использовать бесплатно? Какая у него лицензия?
- dif распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- dif всё ещё поддерживается?
- Активно поддерживается. Последний коммит в dif — 16 окт. 2026 г..
- Для чего можно использовать dif?
- Запуск A/B-тестов на сайте Next.js или SvelteKit без размещённой в облаке панели управления флагами. Хранение истории флагов и выводов по экспериментам в git рядом с кодом. Возможность для AI-агентов-разработчиков создавать и отключать флаги, редактируя файлы в репозитории.
- Как установить dif?
- Установите dif CLI с помощью npm (требуется Node 20 или новее).: npm install -g @dif.sh/cli Создайте в репозитории каталог dif/, конфигурацию и файлы агента.: dif init Создайте файл нового experiment, откройте его, задайте status: active и выполните dif build.: dif new home-hero-cta --surface home Скомпилируйте active experiment в типизированный клиент TypeScript.: dif build
- Где скачать dif?
- Исходный код и инструкции по установке — на GitHub: https://github.com/dif-sh/dif
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Навык агента Claude с лицензией MIT, который помогает Claude создавать и редактировать видео с моушн-графикой в коде с помощью Remotion.
Библиотека из более чем 215 бесплатных анимированных и настраиваемых компонентов и фонов для React и Next.js, которые можно установить через shadcn или jsrepo.
Нативная для Next.js headless CMS и фреймворк приложений с бэкендом на TypeScript и настраиваемой админ-панелью на React.
Библиотека анимированных UI-компонентов и эффектов для React и Tailwind CSS, которые можно скопировать в приложения на Next.js или shadcn/ui.
Самостоятельно размещаемая панель для отслеживания рынков акций с графиками в реальном времени, ценовыми оповещениями, списками наблюдения и данными о компаниях на базе Next.js и TradingView.