dif.sh
Git-ориентированная платформа для управления флагами функций и A/B-тестированием, использующая Markdown-файлы и CLI для управления экспериментами непосредственно в кодовой базе проекта.
Git-ориентированная платформа для управления флагами функций и A/B-тестированием, использующая Markdown-файлы и CLI для управления экспериментами непосредственно в кодовой базе проекта.
Назначение продукта и его официальное позиционирование
dif.sh — это ориентированная на разработчиков платформа для экспериментов, которая хранит флаги функций, A/B-тесты и развертывания в виде Markdown-файлов в репозитории проекта. Такой подход позволяет командам управлять всем жизненным циклом флага функции с помощью стандартных инструментов контроля версий.
Система интегрируется с существующими рабочими процессами Git, позволяя использовать pull-запросы для утверждения экспериментов и сохранять постоянную версионную историю всех изменений. Она включает CLI, который автоматизирует создание, проверку и завершение тестов, одновременно генерируя типизированный клиент для использования в продакшене.
Используя локальный процесс сборки, инструмент обнаруживает потенциальные коллизии экспериментов до того, как они попадут в продакшен. Он также генерирует файлы контекста, специально разработанные для того, чтобы помочь ИИ-агентам кодирования понимать текущее экспериментальное состояние кодовой базы.
Сценарии, подтверждённые официальными источниками
Команды могут определять варианты, гипотезы и метрики в Markdown-файлах для запуска и отслеживания экспериментов вместе со своим кодом.
Предоставление агентам кодирования сгенерированного файла контекста, чтобы они понимали активные эксперименты и предыдущие наработки во время разработки.
Описанный в документации процесс, если он доступен
Запустите команду init для настройки локальной структуры папок, включая каталоги экспериментов и поверхностей внутри репозитория.
Используйте CLI для подготовки нового теста, который автоматически извлекает исторический контекст из лога соответствующей поверхности для формирования гипотезы.
Выполните проверки валидации, чтобы убедиться в правильности конфигураций, и используйте команду QA для локального предварительного просмотра конкретных вариантов.
Запустите команду сборки для генерации типизированного клиента и разрешения конфликтов групп исключения перед отправкой кода в продакшен.
Завершите тест, заархивировав файл, подготовив блок принятия решения и обновив лог обучения поверхности для использования в будущем.
Платформа рассматривает флаги функций и эксперименты как артефакты кода, используя Markdown-файлы для конфигурации и Git для контроля версий. Этот подход разработан таким образом, чтобы журнал аудита и процесс утверждения оставались в рамках существующих рабочих процессов разработчиков, таких как pull-запросы, устраняя необходимость в отдельной базе данных или внешней панели управления.
В процессе сборки инструмент разрешает граф исключений, чтобы гарантировать, что ни один пользователь не попадет в два конфликтующих эксперимента одновременно. Если конфликт обнаружен, сборка в среде непрерывной интеграции завершается ошибкой, что помогает предотвратить попадание логических коллизий в рабочее приложение.
Проверки на собственных материалах и рабочих процессах
Какие источники и когда были проверены
Ответы на основе карточки продукта с проверенными источниками
Система использует группы исключения, определенные в метаданных файлов, и проверяет наличие коллизий на этапе сборки, прерывая сборку, если пользователь может попасть в два конфликтующих теста.
Данные клиентов не хранятся и не фиксируются в репозитории; вместо этого атрибуты аудитории объявляются в конфигурации, а значения передаются во время выполнения из контекста пользователя приложения.
Поверхности выступают в качестве хранилища институциональной памяти, содержащего markdown-файлы с записями о предыдущих выводах и «подводных камнях» для конкретных экранов или функций.
Каждая сборка заново генерирует файл контекста с активными флагами и недавними выводами, который ИИ-агенты могут прочитать в начале сессии для понимания текущего состояния экспериментов.
Нет, основная функциональность работает через CLI и локальные файлы, хотя доступен дополнительный облачный уровень для команд, которым нужна централизованная аналитика и визуализация доверительных интервалов.