Foremerge CLI
CLI и MCP-сервер: параллельные агенты заранее заявляют, что будут менять, и видят конфликты намерений до кода
- 521 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Установка через `curl ... | sh` запускает скрипт с сайта foremerge.com, а `foremerge setup` добавляет MCP-запись и скилл в настройки клиентов
- Foremerge сам запускает зарегистрированные команды проверки в вашем репозитории, поэтому регистрируйте только быстрые и безопасные
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/foremergeОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Установка через `curl ... | sh` запускает скрипт с сайта foremerge.com, а `foremerge setup` добавляет MCP-запись и скилл в настройки клиентов
- Foremerge сам запускает зарегистрированные команды проверки в вашем репозитории, поэтому регистрируйте только быстрые и безопасные
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Foremerge помогает нескольким кодирующим агентам работать над одним репозиторием в отдельных git worktree и не ломать работу друг друга. Git сравнивает текст и замечает, когда два агента правят одно место файла. Допустим, один агент переводит все вызовы на `StripePaymentService`, а другой добавляет PayPal в старый `PaymentService`. Строки не пересекаются, и слияние пройдет. В итоге работа с PayPal застрянет на классе, который больше никто не вызывает. Перед правкой каждый агент публикует намерение: вид области (`symbol`, `api`, `schema`, `config`, `file` и другие), ключ и операцию, например `replace` или `extend`. Намерения лежат в базе SQLite внутри каталога `.git`, поэтому их видят все агенты на компьютере: Claude Code, Codex, Cursor. Детектор конфликтов работает без модели и на одних и тех же входных данных дает один и тот же ответ. Работа идет от намерения к принятию. Агент заявляет и захватывает область, правит код и публикует набор изменений ChangeSet. Затем Foremerge сам запускает проверки, заданные командой `foremerge checks set`, и принимает изменения. В комплекте есть короткая команда `fmg`, режим `--json` и MCP-сервер `foremerge mcp`.
Для кого. Для разработчиков, которые запускают нескольких агентов параллельно в разных worktree и хотят узнавать о столкновении замыслов до слияния.
Подходит, если
- Два или три агента работают над одним репозиторием в отдельных worktree
- Одна задача заменяет компонент, а другая его расширяет, и git при слиянии промолчит
- План нужно проверить до начала работы командой `foremerge conflicts check`
- Нужен журнал принятых изменений: у каждой записи есть агент, модель, результат проверки и цепочка событий с хешами
Не подходит, если
- Вы работаете с одним агентом: координировать некого
- Агенты работают на разных машинах: координация между компьютерами за рамками проекта
- Нужны жесткие блокировки файлов: Foremerge только предупреждает
- Нужен зрелый стабильный интерфейс: проект на версии 0.5.1, публичные схемы еще могут меняться
Пример запроса к агенту
Перед правкой опубликуй намерение заменить PaymentService на StripePaymentService и проверь, не работает ли кто-то из других агентов над тем же.Ограничения
Foremerge остается MVP до версии 1.0: публичные схемы могут измениться, опубликованных результатов бенчмарков пока нет. Координация работает на одном компьютере. База лежит в `<git-common-dir>/foremerge/state.sqlite3`, и размещение этого файла в сети не дает распределенной безопасности.
Готовые бинарники есть для macOS, Linux и Windows. Пакет npm пока выходит для macOS и Linux с glibc, а на Windows бинарник берут со страницы релизов. Для сборки из исходников нужен Rust 1.85 или новее, для примеров из инструкции нужны свежий Git и `jq`.
Foremerge не делает merge, rebase, cherry-pick и push. Он показывает пересечения, ведет журнал и запускает проверки. Цепочка событий с хешами выдает вмешательство в журнал, но личность автора записи не подтверждает.
Как отключить. Удалите MCP-запись `foremerge` и файл скилла из настроек клиентов, для которых запускали `foremerge setup`. Затем удалите бинарник `foremerge` (по умолчанию он лежит в `~/.local/bin`) и каталог `foremerge` внутри git-каталога репозитория.
Частые вопросы
Чем Foremerge отличается от git?
Git ловит пересечения строк. Foremerge сравнивает заявленные намерения: если один агент заменяет `PaymentService`, а другой его расширяет, предупреждение приходит до кода, даже когда файлы разные.
Как поставить Foremerge?
На macOS и Linux подойдет `curl -fsSL https://foremerge.com/install.sh | sh` или `npm install -g foremerge`. Установщик кладет в `~/.local/bin` команды `foremerge` и `fmg`. Затем в репозитории выполните `foremerge init`.
Блокирует ли Foremerge файлы или агентов?
Нет. Предупреждения рекомендательны, поэтому один упавший агент не остановит остальных. Решение о конфликте вы записываете командой `foremerge assess record`.
Использует ли Foremerge модель для поиска конфликтов?
Нет. Детектор сравнивает объявленные области и операции, поэтому формулировка плана на результат не влияет. «Объединить платежи на Stripe» и «Заменить PaymentService на Stripe» дают один вердикт.
Как подключить Foremerge к Claude Code, Codex и Cursor?
Выполните `foremerge setup all` либо `foremerge setup claude`, `foremerge setup codex`, `foremerge setup cursor` для одного клиента. Команда ставит скилл и MCP-запись и не трогает чужие настройки. Проверить результат помогает `foremerge doctor --client all`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыНабор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода
Matt Pocock skills: скиллы Мэтта Покока для инженеров
Skills For Real Engineers
Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура
Правила для Claude Code по мотивам Карпаты
Karpathy-Inspired Claude Code Guidelines
Четыре принципа в одном CLAUDE.md против типичных ошибок LLM в коде: допущения, переусложнение, лишние правки
Плагин и скилл, который заставляет агента писать минимум кода: сначала повторное использование, stdlib и нативные возможности
Набор GitHub для разработки от спецификации: CLI specify ставит в проект команды и скиллы для агента, от принципов до реализации
Набор скиллов Гэрри Тана, превращающий Claude Code в виртуальную команду: продукт, архитектура, дизайн, ревью, QA и выпуск
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Foremerge (эта запись) | нет | 521 | |
| Weave | нет | 1 331 | драйвер слияния git, убирающий ложные конфликты уже после правок |
| Worktrunk | нет | 9 420 | команда `wt` для создания и ведения git worktree под параллельных агентов |
| Claude Squad | нет | 8 656 | терминальное приложение, которое запускает несколько сессий агентов |
Коротко о README
Ядро проекта написано на Rust и опирается на локальное хранилище SQLite, git CLI и запуск проверок по заданному argv. В репозитории лежат сценарии бенчмарков в `benchmarks/scenarios`, записанная сессия `examples/terminal-session.txt` и записи архитектурных решений в `docs/adr`.