Weave CLI

Драйвер слияния Git и MCP-сервер: сравнивает функции и классы и снимает ложные конфликты от параллельных правок агентов

  • 1 331 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

Широкий доступ

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

  • Меняет способ слияния во всех репозиториях, если включить `weave setup --global`: пишет в `~/.gitconfig` и глобальные атрибуты Git
  • Инструменты `weave_edit` и `weave_land` пишут код на диск и добавляют файлы в индекс по решению агента
  • Команда `weave land --onto` публикует результат в удаленную ветку перемоткой вперед
Все причины и проверки

ataraxy-labs/weave

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/weave

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Меняет способ слияния во всех репозиториях, если включить `weave setup --global`: пишет в `~/.gitconfig` и глобальные атрибуты Git
  • Инструменты `weave_edit` и `weave_land` пишут код на диск и добавляют файлы в индекс по решению агента
  • Команда `weave land --onto` публикует результат в удаленную ветку перемоткой вперед

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Weave подключается к Git как драйвер слияния. Команда `weave setup` прописывает драйвер в конфигурацию и добавляет в `.gitattributes` строки `merge=weave` для каждого расширения, которое понимают грамматики tree-sitter. Дальше вы пользуетесь Git как обычно: `git merge`, `git rebase` и `git cherry-pick` проходят через Weave. Для каждого файла Weave разбирает три версии (общую, вашу и чужую) на сущности: функции, классы, ключи JSON и YAML. Сущности сопоставляются по имени, типу и вложенности, переименования тоже находятся. Если стороны изменили разные сущности, результат собирается без конфликта. Если обе правили одну и ту же, Weave пробует слить внутри нее и оставляет конфликт только при несовместимых правках. Метки конфликта называют сущность и строку `refused_by:` с причиной отказа. Weave понимает 38 языков и форматов. Остальные файлы, бинарники и файлы больше 1 МБ получают обычное построчное слияние. Команды проверки: `weave explain <файл>` показывает конфликт по сущностям, `weave check` сверяет вашу правку с тремя версиями слияния, `weave preview <ветка>` ничего не записывает. Команда `weave land` помечает каждый файл как PROVEN, VERIFIED или REFUSED и принимает только прошедшие проверку. С флагом `--onto origin/main` она еще и публикует результат. Тот же набор доступен агенту через `weave-mcp`.

Для кого. Для разработчиков, у которых несколько агентов (например, в Claude Code) правят один репозиторий в параллельных ветках и Git останавливает слияние на независимых изменениях в одном файле. Полезен и командам без агентов, где часто конфликтуют соседние функции.

Подходит, если

  • Два агента добавили разные функции в один файл, и Git показывает конфликт, хотя правки не пересекаются
  • Вы сливаете много веток агентов подряд и хотите видеть, почему слияние отказалось объединять эту сущность
  • После ручного разбора конфликта нужна проверка: `weave check` ищет потерянные строки, дубликаты, оставшиеся метки и ссылки на исчезнувшие имена
  • Агенту нужно менять код по сущностям: `weave_edit` в MCP заменяет функцию, добавляет ее до или после другой и отклоняет правку, ломающую разбор файла
  • Перед слиянием нужен безопасный просмотр: `weave preview <ветка>` показывает результат по файлам и ничего не записывает

Не подходит, если

  • Файлы на Vue, Svelte, ERB или Haskell: Weave разбирает их, но не берет на себя слияние и оставляет им построчное слияние Git
  • Вам нужны гарантии работы программы: метки PROVEN и VERIFIED описывают проверки слияния отдельных файлов, а не поведение кода и связи между файлами
  • Репозиторий состоит из больших бинарных или не поддержанных форматов: для них Weave ничем не отличается от обычного Git
  • Нужен просмотр вызовов и охвата изменения: для этого автор отсылает к соседнему проекту sem с отдельным MCP-сервером

Пример запроса к агенту

Подключи Weave в этом репозитории, слей ветки feature-auth и feature-dates и покажи, какие файлы разошлись и по какой причине

Ограничения

Weave написан на Rust и ставится через Homebrew или сборкой из исходников; нужны два исполняемых файла, `weave` и `weave-driver`, и без второго в `PATH` `weave setup` завершается ошибкой. Версия 0.5.3 намеренно чаще отказывается, чем 0.5.2: на проверке по реальным слияниям пяти больших репозиториев число случаев, где Git справился, а Weave дал конфликт, выросло с 3 до 86, и автор просит смотреть разбор по репозиториям перед слиянием крупных изменений.

Метки PROVEN и VERIFIED не доказывают работоспособность программы. Блокировки сущностей в слое для нескольких агентов только рекомендательные, а упавший агент не освобождает свои блокировки сам. Счетчики `weave stats` пусты, пока вы не включите `WEAVE_STATS=1`. Лицензия: MIT или Apache-2.0 на выбор.

Как отключить. Команда `weave setup --off` возвращает обычное слияние Git. Записи, добавленные командой `weave setup --global`, лежат в `~/.gitconfig` и `~/.config/git/attributes`, их убирают вручную. MCP-сервер снимается командой `claude mcp remove weave -s user`, исполняемые файлы удаляются через `brew uninstall weave`.

Частые вопросы

Как убрать ложные конфликты Git от параллельных агентов?

Выполните `weave setup` в репозитории. Weave добавит драйвер слияния и правила в `.gitattributes`, после чего `git merge` сам объединит правки в разных функциях одного файла. Конфликт остается, если обе ветки изменили одну сущность несовместимо.

Как подключить Weave к Claude Code как MCP-сервер?

Команда `claude mcp add --scope user weave -- weave-mcp` добавляет сервер для всех проектов. Для другого клиента подойдет блок `{ "mcpServers": { "weave": { "command": "weave-mcp" } } }` в его настройках. Репозиторий сервер определяет по пути первого вызова, по переменной `WEAVE_REPO` или по рабочей папке.

Что делают инструменты weave-mcp?

Их шесть: `weave_preview` просматривает слияние двух веток, `weave_edit` меняет код по сущностям и пишет на диск, `weave_explain` объясняет конфликт, `weave_check` проверяет разрешение, `weave_land` размечает файлы остановленного слияния, `weave_patch` переносит правку в файл, который ушел вперед. Инструменты для живых блокировок включаются переменной `WEAVE_EXPERIMENTAL=1`.

Что значат PROVEN, VERIFIED и REFUSED в weave land?

PROVEN означает, что результат соответствует поддержанным структурным правилам. VERIFIED означает, что файл прошел проверку слияния без структурного доказательства. REFUSED означает, что результат не принят и нужно разобрать найденные замечания. Код выхода 0 означает, что все принято; 1 означает отказ; 2 означает ошибку выполнения.

Как опубликовать результат слияния и проверить его сборкой?

Запустите `weave land --onto origin/main --verify-cmd 'go build ./... && go test ./...'` или вместо своей команды добавьте `--check sem`. Weave сольет целевую ветку, проверит файлы, выполнит проверку и опубликует только перемоткой вперед. Если целевая ветка ушла вперед, он повторит попытку на новой вершине. Флаг `--dry-run` ничего не записывает.

Какие языки поддерживает Weave?

Разбор идет для 38 языков и форматов, среди них TypeScript, JavaScript, Python, Go, Rust, Java, C и C++, Ruby, C#, PHP, Swift, Kotlin, SQL, JSON, YAML и TOML. Остальные файлы получают обычное построчное слияние Git.

Обсуждение

Вопросов и отзывов пока нет.

Локальный шлюз перед git push: ревью, тесты, документация и линтер проходят в отдельной копии, и только после этого ветка уходит в удаленный репозиторий

CLIШирокий доступ8,9 тыс.Звезды репозитория

CLI для git worktree, заточенный под параллельные сессии Claude Code и Codex: команда wt, плагин и хуки автоматизации

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

GitLab MCP на 86 инструментов: задачи, запросы на слияние, пайплайны, вики и файлы, режим только для чтения, локальный и удаленный запуск

MCP-серверШирокий доступ65Звезды репозитория

Lumen

lumen

Lumen показывает git diff и пулл-реквесты GitHub в терминале, а по желанию пишет сообщения коммитов и объясняет правки через выбранную модель

CLIРасширенный доступ2,9 тыс.Звезды репозитория
Выбор редакции

Официальный MCP-сервер GitHub: код, issues, пул-реквесты, Actions и алерты безопасности прямо из агента

MCP-серверШирокий доступ33,9 тыс.Звезды репозитория

Нативный терминал для macOS на базе Ghostty с вертикальными вкладками и уведомлениями, когда агенту нужен ответ

CLIШирокий доступ28,4 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
Weave (эта запись)нет1 331
Worktrunkнет9 396управляет git worktree для параллельных сессий Claude Code и Codex, а слияние правок внутри файла не меняет
Claude Squadнет8 656запускает несколько агентов в отдельных сессиях tmux и worktree, конфликты слияния не разбирает
Foremergeнет521CLI и MCP-сервер

Коротко о README

Главная страница начинается с быстрого старта из пяти команд и разбора проблемы ложных конфликтов. Дальше идут таблицы сравнения с Git и Mergiraf на 31 сценарии и повтор реальных слияний пяти больших репозиториев, затем список языков, установка, режимы `setup`, команды и описание MCP-сервера. В конце перечислены состав проекта по крейтам, шаги алгоритма и ограничения. Отдельный файл SKILL.md учит агента циклу разбора конфликта.

Бейдж для README

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

Foxx AIWeave
Foxx AI

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